﻿var money       = " usd";
var oking      = 0;

var min_ip        = 1;
var vps_min_ip    = 1;
var dedic_min_ip  = 1;
var ip_price      = 2;

var dedic_os = ['Centos 5.3 i386', 'Centos 5.3 x64', 'Debian Lenny i386', 'Debian lenny x64', 'Gentoo 2008.0 i386', 'Gentoo 2008.0 x64', 'Fedora 10 i386', 'Fedora 10 x64', 'FreeBSD 7 i386', 'FreeBSD 7 x64'];
var vps_os   = ['Centos 5.3 i386', 'Debian Lenny i386', 'Gentoo 2008.0 i386', 'Windows 2003 std', 'Windows 2003 ent'];

var win_os = {
	'windows 2003 std': {
		price: 25
	},
	'windows 2003 ent': {
		price: 25
	}
};

var min_month     = 1;

var da_vps_price = 7;
var da_dedic_price = 16;

var hypervm_setup_price = 20;
var nginx_setup_price = 20;

var serv_type = null;
var da_price = null;



function digit(input)
{
	while ( /\D/.test(input) ) {
		input = input.replace(/\D/,'');
	}
	while ( input.substring(0,1) == "0") {
		input = input.substring(1);
	}
	if ( input == '' ) {
		input = 0;
	}
	return input;
}
function calc_price()
{
	document.getElementById('month').value = digit(document.getElementById('month').value);
	month = document.getElementById('month').value * 1;
	document.getElementById('didip').value = digit(document.getElementById('didip').value);
	didip = document.getElementById('didip').value * 1;
	document.getElementById('inst_price').value = digit(document.getElementById('inst_price').value);
	price = document.getElementById('inst_price').value * 1;
	price = price * 1;
	price = price + (didip * ip_price - ip_price);
	if ( serv_type == 0 ) {
		var da_price = da_dedic_price;
		if ( document.getElementById('da').checked ) {
			price += da_price;
		}
		var os = document.getElementById('os').value;
		if ( (/^win/).test(os)) {
			price += win_os[os].price;
		}
	}
	if ( serv_type == 1 ) {
		da_price = da_vps_price;
		if ( document.getElementById('da').checked ) {
			price += da_price;
		}
	}
	price = price * month;
	if ( serv_type == 0 ) {
		if ( document.getElementById('nginx').checked == true ) {
			var price = price + nginx_setup_price;
		}
		if ( document.getElementById('hypervm').checked == true ) {
			var price = price + hypervm_setup_price;
		}
	}
	if ( serv_type == 1 ) {
		if ( document.getElementById('nginx').checked == true ) {
			var price = price + nginx_setup_price;
		}
		if ( document.getElementById('hypervm').checked == true ) {
			var price = price + hypervm_setup_price;
		}
	}
	price = (Math.round((price) * 100))/100;
	document.getElementById('price_hint').innerHTML = "<span class='black' style='font-size:20px'>" + price + "</span>WMZ</nobr>";
	document.getElementById('to_pay').value = price;

}
function calc_cor()
{
	mes();
	if ( document.getElementById('didip').value < min_ip ) {
		document.getElementById('didip').value = min_ip;
	}
	calc_price();
}
function build_plan(name, type, price)
{
	serv_type = type;
	document.getElementById('calc').style.display = 'block';
	document.getElementById('month').value = min_month;
	document.getElementById('inst_price').value = price;
	document.getElementById('plan_name').value = name;
	
	document.getElementById('hypervm_price').innerHTML = hypervm_setup_price + money;
	document.getElementById('nginx_price').innerHTML = nginx_setup_price + money;
	var os = null;
	if ( type > 0 ) {
		os = vps_os;
		min_ip = vps_min_ip;
		da_price = da_vps_price;
		
		document.getElementById('da_price').innerHTML = da_price + money;
		document.getElementById('da_license_type').innerHTML = 'для vps, ';
		document.getElementById('da_license').style.display = 'block';
		document.getElementById('hypervm_setup').style.display = 'none';
		document.getElementById('nginx_setup').style.display = 'block';
	} else {
		os = dedic_os;
		min_ip = dedic_min_ip;
		da_price = da_dedic_price;
		document.getElementById('da_price').innerHTML = da_price + money;
		document.getElementById('da_license_type').innerHTML = 'для выделенного сервера, ';
		document.getElementById('da_license').style.display = 'block';
		document.getElementById('hypervm_setup').style.display = 'none';
		document.getElementById('nginx_setup').style.display = 'block';
	}
	
	os_dd = document.getElementById('os');
	os_dd.length = 0;
	var n = os.length;
	for(var i=0;i<n;i++) {
		var newoption = new Option(os[i], os[i], false, false);
		os_dd.options[i]=newoption;
	}
	if ( type == 0 ) {
		for ( q in win_os ) {
			var newoption = new Option(q + ' - ' + win_os[q].price + ' ' + money + ' в месяц', q, false, false);
			os_dd.options[i]=newoption;
			i+=1;
		}
	}
	document.getElementById('didip').value = min_ip;
	calc_cor();
}
function mes()
{
	var email = document.getElementById('m_soap').value;
	if ( (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email) ) {
	 	document.getElementById('ok_soap').innerHTML = "ok";
		document.getElementById('m_soap').className = "in_calc";
		oking = 1;
		do_ok();
		calc_price();
	} else {
		document.getElementById('ok_soap').innerHTML = " ";
		document.getElementById('m_soap').className = "in_calc reg";
		document.getElementById('submit').disabled = true;
		document.getElementById('submit').style.color = "#aaa";
		document.getElementById('submit').value = "Пожалуйста, укажите email";
		oking = 0;
	}
}
function do_ok() {
	document.getElementById('submit').disabled = false;
	document.getElementById('submit').style.color = "#333";
	document.getElementById('submit').value = "Отправить заказ";
}

function loadend() {
	document.getElementById('ip_monoprice').innerHTML = ip_price + money;
	document.getElementById('da').checked = false;
	document.getElementById('da_price').innerHTML = da_price + money;
	document.getElementById('hypervm_price').innerHTML = hypervm_setup_price + money;
	document.getElementById('nginx_price').innerHTML = nginx_setup_price + money;
	document.getElementById('didip_hint').innerHTML = "Минимум " + min_ip + " адрес";
	document.getElementById('month_hint').innerHTML = "От " + min_month + " месяцев";
	calc_cor();
}