// copyright 2009 serverside.su
var money       = "&euro;";
var kc_z        = 1.4;
var kc_r        = 48;
var kc_e        = 1;
var kc_y        = 52;
var oking      = 0;

var min_ip        = 3;
var vps_min_ip    = 1;
var dedic_min_ip  = 3;
var ip_price      = 1.5;

var dedic_os = ['Centos 5.2 x64', 'Centos 5.2 x64', 'Debian Lenny x64', 'Debian lenny x64', 'Gentoo 2008.0 x64', 'Gentoo 2008.0 x64', 'Fedora 10 i386', 'Fedora 10 x64', 'FreeBSD 7 i386', 'FreeBSD 7 x64'];
var vps_os   = ['Centos 5.4 x64', 'Debian 5 x64', 'Suse Linux x64', 'Gentoo 2008 x64', 'Fedora 10 x64'];

var win_os = {
	'windows 2003 x64 std': {
		price: 7
	},
	
};

var min_month     = 1;

var cpanel_vps_price = 16;
var cpanel_dedic_price = 35;

var hypervm_setup_price = 20;
var nginx_setup_price = 20;

var serv_type = null;

var direct_admin_price = 15;

var isplite_price = 5;
var isppro_price = 10;

function loadend() {
	document.getElementById('ip_monoprice').innerHTML = ip_price + money;
	document.getElementById('cpanel_vps').checked = false;
	document.getElementById('cpanel_dedic').checked = false;
	document.getElementById('no_cpanel').checked = true;
	document.getElementById('cpanel_vps_price').innerHTML = cpanel_vps_price + money;
	document.getElementById('cpanel_dedic_price').innerHTML = cpanel_dedic_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();
}


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);
	if ( document.getElementById('panel').value == 'direct' ) {
		price += direct_admin_price;
	}
	if ( document.getElementById('panel').value == 'cpanel' ) {
		price += cpanel_vps_price;
	}
	if ( document.getElementById('panel').value == 'isplite' ) {
		price += isplite_price;
	}
	if ( document.getElementById('panel').value == 'isppro' ) {
		price += isppro_price;
	}
	price = price * month;
	if ( serv_type == 0 ) {
		if ( document.getElementById('cpanel_vps').checked ) {
			price += cpanel_vps_price;
		} else if ( document.getElementById('cpanel_dedic').checked ) {
			price += cpanel_dedic_price;
		}
//		if ( document.getElementById('nginx').checked == true ) {
//			price = price + nginx_setup_price;
//		}
//		if ( document.getElementById('hypervm').checked == true ) {
//			price = price + hypervm_setup_price;
//		}
		var os = document.getElementById('os').value;
		if ( (/^win/).test(os)) {
			price += win_os[os].price;
		}
	}
	price = (Math.round((price) * 100))/100;
	document.getElementById('price_e').value = price;
	summ_z = (Math.round((price * kc_z) * 100))/100;
	document.getElementById('price_z').value = summ_z;
	summ_e = (Math.round((price * kc_e) * 100))/100;
	summ_r = (Math.round((price * kc_r) *100))/100;
	document.getElementById('price_r').value = summ_r;
	summ_y = (Math.round((price * kc_y) * 100))/100;
	document.getElementById('price_y').value = summ_y;
	document.getElementById('price_hint').innerHTML = "<span class='black' style='font-size:20px'>" + summ_z + "</span>WMZ / <span class='black' style='font-size:24px'>" + summ_e + "</span>WME / <span class='black' style='font-size:20px'>" + summ_r + "</span>WMR / <nobr>Яndex: <span class='black' style='font-size:20px'>" + summ_y + "</span>р.</nobr>";
}
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;
	var os = null;
	if ( type > 0 ) {
		os = vps_os;
		min_ip = vps_min_ip;
		document.getElementById('cpanel_license').style.display = 'none';
//		document.getElementById('hypervm_setup').style.display = 'none';
//		document.getElementById('nginx_setup').style.display = 'none';
	} else {
		os = dedic_os;
		min_ip = dedic_min_ip;
		document.getElementById('cpanel_license').style.display = 'block';
//		document.getElementById('hypervm_setup').style.display = 'block';
//		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 + ' €', 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 = "Отправить инвойс";
}