// copyright 2008 serverside.su
var money       = "&euro;";
var kc_z        = 1.55;
var kc_r        = 53.5;
var kc_e        = 1;
var kc_y        = 55.5;

var one_price_1 = 0.0025;
var space_1     = 512;

var one_price_2 = 0.0018;
var space_2     = 1024;

var one_price_3 = 0.0013;
var space_3     = 2048;

var one_price_4 = 0.0015;
var space_4     = 4096;

var max_ip        = 200;
var ip_price      = 0.05;
var max_base      = 100;
var base_price    = 0.1;
var vipsupp_price = 10;
var max_vipsupp   = 12;
var vipserv_price = 1.5;
var min_month     = 3;
var month_1       = 12;
var dc_1          = 10;
var month_2       = 24;
var dc_2          = 20;
var month_3       = 36;
var dc_3          = 30;

var name_p1    = '"Минима"';
var price_p1   = 13.25;
var space_p1   = 512;
var ip_p1      = 1;
var base_p1    = 1;
var vipsupp_p1 = 0;
var month_p1   = 12;

var name_p2    = '"Проект"';
var price_p2   = 25;
var space_p2   = 1024;
var ip_p2      = 5;
var base_p2    = 5;
var vipsupp_p2 = 0;
var month_p2   = 12;

var name_p3    = '"Портал"';
var price_p3   = 45;
var space_p3   = 2048;
var ip_p3      = 10;
var base_p3    = 10;
var vipsupp_p3 = 0;
var month_p3   = 12;
var oking      = 0;

function loadend() {
	document.getElementById('monoprice').innerHTML = one_price_1;
	document.getElementById('space_hint').innerHTML = "От " + space_1 + " Мб до " + (space_4/1000) + " Гб&nbsp;&nbsp;( " + one_price_1 + " " + money + " ... " + one_price_4 + " " + money + " / Мб )";
	document.getElementById('ip_hint').innerHTML = " ";
	document.getElementById('ip_price').innerHTML = ip_price + " " + money + " ежемесячно";
	document.getElementById('base_hint').innerHTML = "";
	document.getElementById('base_price').innerHTML = base_price + " " + money + " ежемесячно";
	document.getElementById('vipsupp_price').innerHTML = vipsupp_price + " " + money;
	document.getElementById('vipsupp_hint').innerHTML = "Перенос и настройка сайтов инженером. До " + max_vipsupp + " часов.";
	document.getElementById('vipserv_price').innerHTML = " +" + vipserv_price + " " + money + " ежемесячно";
	document.getElementById('vipserv_price').checked = true;
	document.getElementById('money').innerHTML = " "+ money;
	document.getElementById('month_hint').innerHTML = "Теперь только от 1 года";
	document.getElementById('dc_hint').innerHTML = month_1 + " мес -" + dc_1 + "%, " + month_2 + " мес -" + dc_2 + "%, " + month_3 + " мес -" + dc_3 + "%";
	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('space').value = digit(document.getElementById('space').value);
	space = document.getElementById('space').value;
	document.getElementById('didip').value = digit(document.getElementById('didip').value);
	didip = document.getElementById('didip').value;
	document.getElementById('base').value = digit(document.getElementById('base').value);
	bases = document.getElementById('base').value;
	document.getElementById('vipsupp').value = digit(document.getElementById('vipsupp').value);
	vipsupp = document.getElementById('vipsupp').value;
	document.getElementById('month').value = digit(document.getElementById('month').value);
	month = document.getElementById('month').value;
	if ( document.getElementById('domen').value.length < 3 )
	{
		document.getElementById('submit').value = "Не указано доменное имя";
		document.getElementById('domen').className = "in_calc reg";
		document.getElementById('submit').disabled = true;
		document.getElementById('submit').style.color = "#aaa";
	} else {
		document.getElementById('submit').value = "Пожалуйста, укажите email";
		document.getElementById('domen').className = "in_calc";
		document.getElementById('name_soap').style.display = 'block';
		if ( oking == 1 ) {
			do_ok();
		}
	}
	dc = 0;
	//tls_value = document.getElementById('tls_select').options[document.getElementById('tls_select').selectedIndex].getAttribute('price') - 0;
	tls_value = document.getElementById('tls_select').options[document.getElementById('tls_select').selectedIndex].value - 0;
	if ( document.getElementById('month').value > (month_1 - 1) ) {
		dc = dc_1;
	}
	if ( document.getElementById('month').value > (month_2 - 1) ) {
		dc = dc_2;
	}
	if ( document.getElementById('month').value > (month_3 - 1) ) {
		dc = dc_3;
	}
	document.getElementById('dc').value = dc;
	if ( space >= space_1 && space < space_2 ) {
		var k = (one_price_1 - one_price_2)/(space_1 - space_2);
		var b = one_price_1 - k * space_1;
		one_price = (k * space + b);
	}
	if ( space >= space_2 && space < space_3 ) {
		var k = (one_price_2 - one_price_3)/(space_2 - space_3);
		var b = one_price_2 - k * space_2;
		one_price = (k * space + b);
	}
	if ( space >= space_3 && space < space_4 ) {
		var k = (one_price_3 - one_price_4)/(space_3 - space_4);
		var b = one_price_3 - k * space_3;
		one_price = (k * space + b);
	}
	if ( space >= space_4 ) {
		one_price = one_price_4;
	}
	//alert(one_price);
	price = space * one_price;
	price = price + (didip * ip_price);
	price = price + (bases * base_price);
	
	if ( document.getElementById('vipserv').checked == true ) {
		price = price + vipserv_price;
	}
	price = price * month;
	if ( dc > 0 ) {
		price = price - (price * dc/100);
	}
	if ( document.getElementById('domen_action').value == 1 ) {
		var tls_hint = document.getElementById('tls_select').options[document.getElementById('tls_select').selectedIndex].text;
		document.getElementById('tls_hint').innerHTML = "Доменное имя в зоне <b>." + tls_hint + "</b> - " + tls_value + money + " в год. <a href='http://www.domaintools.com' target='_blank'> Проверить домен</a>";
		tls_month = month;
		if ( month < 12 ) {
			tls_month = 12;
		}
		tls_price = tls_value * tls_month/12;
		price = price + tls_price;
	} else {
		document.getElementById('tls_hint').innerHTML = "Доменное имя для парковки на наш сервер";
	}
	price = price + (vipsupp * vipsupp_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>";
	document.getElementById('monoprice').innerHTML = (Math.round(one_price * 1000))/1000;
}
function calc_cor()
{
	mes();
	if ( document.getElementById('space').value < space_1) {
		document.getElementById('space').value = space_1;
	}
	if ( document.getElementById('space').value > space_4 ) {
		document.getElementById('space').value = space_4;
	}
	if ( document.getElementById('didip').value > max_ip ) {
		document.getElementById('didip').value = max_ip;
	}
	if ( document.getElementById('base').value > max_base ) {
		document.getElementById('base').value = max_base;
	}
	if ( document.getElementById('vipsupp').value > max_vipsupp ) {
		document.getElementById('vipsupp').value = max_vipsupp;
	}
	if ( document.getElementById('month').value < min_month ) {
		document.getElementById('month').value = min_month;
	}
	calc_price();
	if ( document.getElementById('submit').disabled == false ) {
		document.getElementById('submit').style.color = "#333";
		document.getElementById('submit').value = "Выслать инвойс на оплату";
	}
}
function plan1()
{
	document.getElementById('space').value = space_p1;
	document.getElementById('didip').value = ip_p1;
	document.getElementById('base').value = base_p1;
	document.getElementById('vipsupp').value = vipsupp_p1;
	document.getElementById('month').value = month_p1;
	calc_cor();
	document.getElementById('calc').style.display = 'block';
}
function plan2()
{
	document.getElementById('space').value = space_p2;
	document.getElementById('didip').value = ip_p2;
	document.getElementById('base').value = base_p2;
	document.getElementById('vipsupp').value = vipsupp_p2;
	document.getElementById('month').value = month_p2;
	calc_cor();
	document.getElementById('calc').style.display = 'block';
}
function plan3()
{
	document.getElementById('space').value = space_p3;
	document.getElementById('didip').value = ip_p3;
	document.getElementById('base').value = base_p3;
	document.getElementById('vipsupp').value = vipsupp_p3;
	document.getElementById('month').value = month_p3;
	calc_cor();
	document.getElementById('calc').style.display = 'block';
}
function plan4()
{
	calc_cor();
	document.getElementById('calc').style.display = 'block';
	document.getElementById('vipsupp').value = 0;
}
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 = "Отправить инвойс";
}