var groups	= new Array;
var group	= 0;
var price   = 0;
var stazh	= 0;


function ClearList(obj, str)
{
	var length = obj.length;
	for ( var i = (length-1); i >= 0; i-- ) {
		obj.options[i] = null;
	}
    if ( str != '' ) {
		obj.options[0] = new Option(str, '');
    }
}
    
function ChangeModel()
{
	vals	= GetVals();
	obj		= document.search.seria;
	groups	= new Array;
	if ( vals != '' ) {		
		ClearList(obj, "выберите модель");
		arr	= vals.split('*');
		for ( var i = 0; i < arr.length; i++ ) {
			strs	= arr[i].split('|');
			var value = strs[0];
			var seria = strs[1];
			seria	= seria.split(';');
			obj.options[i+1] = new Option(seria[0]);
			obj.options[i+1].value = value;
			groups[i] = seria[1];
		}
	}
	else {
		ClearList(obj, "выберите марку");
	}
	return true;
}

function SetGroup(a_list)
{	
	var ind = a_list.selectedIndex - 1;

	group = groups[ind]; //alert(group);
}

function IsNumber(a_val)
{
	r = new RegExp("^[0-9]+$");
	return ( r.test(a_val) );
}

function GetFields()
{ 	
	err   = "";
	obj   = null;
	if ( !document.search.make.value ) {
		err = "Выберите марку";
		obj = document.search.make;
	}
	else if ( !document.search.seria.value ) {
		err = "Выберите модель";
		obj = document.search.seria;
	}
	else if ( !IsNumber(document.search.price.value) ) {
		err = "Цена должна состоять только из цифр, без пробелов и букв";
		obj = document.search.price;
	}
	
	if ( obj ) {
		alert(err);
		obj.focus();
		return false;
	}
	
	price = parseInt(document.search.price.value);
	
	return true;
}

function Notify(a_make, a_seria, a_price, a_res1, a_res2)
{
	var file = "/insur/calc/kasko/result?make=" + a_make + "&seria=" + a_seria + "&price=" + a_price + "&res1=" + a_res1 + "&res2=" + a_res2;
	
	try {
		doc = new XMLHttpRequest();
		doc.open("GET", file, true);
		doc.send(null);	
	 }
	 catch ( e ) {
    	if ( document.implementation && document.implementation.createDocument ) {
    		doc = document.implementation.createDocument("", "", null);
    	}
    	else {
    		doc = new ActiveXObject("Microsoft.XMLDOM");
    	} 
		doc.load(file);	
  	}
}

function Calculate()
{
	if ( GetFields() == false ) {
		return false;
	}
	
	if ( !group ) {
		alert("internal error");
		group = 1;
	}
	var ind = group - 1;
	
	var r1 = new Array(6.70, 5.63, 5.23, 5.46, 4.92);
	var r2 = new Array(1.50, 1.27, 1.47, 1.24, 1.48);
	
	var k = .90 * .90 * parseFloat(document.search.stazh.value);
	 
	
	var res1 = parseInt(price * (r1[ind] / 100) * k);
	var res2 = parseInt(price * (r2[ind] / 100) * k);
	
	var make = document.search.make.options[document.search.make.selectedIndex].text;
	var model = document.search.seria.options[document.search.seria.selectedIndex].text;
	
	document.getElementById("r1").innerHTML = res1;
	document.getElementById("r2").innerHTML = res1 + res2;
	document.getElementById("result").style.display = "block";
	document.getElementById("angebot").href="/insur/anketa/kasko/?make=" + make + "&model=" + model + "&price=" + document.search.price.value;
	
	Notify(make, model, document.search.price.value, res1, res1 + res2);
	
	return false;
}


