/* auto.delfi.lv javascript library */
/* (i wish) based on DOM, ECMAscript compatible */

/* toggle_all - iesleedz/izsleedz visus padotaas formas checkbox, var uzlikt limitu. */
function toggle_all(key, form_id, limit) {
	var form = document.getElementById(form_id);

	// indikatorlauka staavoklis
	var state = (key.checked===false) ? false : true;
	// ja formas checkbox skaits paarsniedz limitu, njemam tikai limitu
	var checkboxes = Array();
	
	for (var i=0; i<form.length; i++) {
		if (form.elements[i].type=='checkbox' && form.elements[i]!=key) {
			checkboxes[checkboxes.length] = i;
		}
	}
	var checkbox_count = (checkboxes.length>limit) ? limit : checkboxes.length;
	for ( i=0; i<checkbox_count; i++) {
		var num = checkboxes[i];
		form.elements[num].checked=state;
	}
}

/* compare_models()  - nosuuta formas datus uz modelju saliidzinaashanu.*/
function compare_models (form, limit) {
	// nosakaam ieziimeeto modelju skaitu
	var skaits = 0;
	for (var i=0; i<form.length; i++) {
		if ( (form.elements[i].type=='checkbox') && (form.elements[i].checked!==false) && (form.elements[i].className!='select_all') ) {
			skaits++;
		}
	}
	if (skaits>3) {
		alert("Jusu iezimeto apaksmodelu skaits parsniedz trīs. Ludzu samaziniet izveleto apaksmodelu skaitu.");
		return false;
	} else {
		return true;
	}

}

var timeout;

function imgplayer_move() {
	var num = 0;
	var imgplayer_obj = document.getElementById('imgplayer_img');
	if (imgplayer_images[imgplayer_images_count-1][0]==imgplayer_obj.src) { // peedeejais atteels
		imgplayer_obj.src = imgplayer_images[0][0];
		imgplayer_obj.width = imgplayer_images[0][1];
		imgplayer_obj.height = imgplayer_images[0][2];
		document.getElementById('imgplayer_actual_img').innerHTML = '1';
	} else {
		for (var i=0; i<imgplayer_images_count; i++) {
			if (imgplayer_images[i][0]==imgplayer_obj.src) {
				num = i;
			}
		}
		num = num+1;
		document.getElementById('imgplayer_actual_img').innerHTML = num+1;
		imgplayer_obj.src = imgplayer_images[num][0];
		imgplayer_obj.width = imgplayer_images[num][1];
		imgplayer_obj.height = imgplayer_images[num][2];
	}
}

function imgplayer_start() {
	var button = document.getElementById('imgplayer_play_btn');
	button.src = 'files/images/imgplayer/pause.gif';
	var link = document.getElementById('imgplayer_btn_link');
	link.href = "javascript:imgplayer_stop();";
	imgplayer_move();
	timeout = setTimeout("imgplayer_start()", 2500);
}

function imgplayer_stop() {
	if (timeout!==null) {
		clearTimeout(timeout);
		var button = document.getElementById('imgplayer_play_btn');
		button.src = 'files/images/imgplayer/play.gif';
		var link = document.getElementById('imgplayer_btn_link');
		link.href = "javascript:imgplayer_start();";
	}
}

function imgplayer_forward() {
	imgplayer_stop();
	imgplayer_move();
}

function imgplayer_back() {
	imgplayer_stop();
	var num = 0;
	var imgplayer_obj = document.getElementById('imgplayer_img');
	if (imgplayer_images[0][0]==imgplayer_obj.src) { // pirmais atteels
		imgplayer_obj.src = imgplayer_images[imgplayer_images_count-1][0];
		imgplayer_obj.width = imgplayer_images[imgplayer_images_count-1][1];
		imgplayer_obj.height = imgplayer_images[imgplayer_images_count-1][2];
		document.getElementById('imgplayer_actual_img').innerHTML = imgplayer_images_count;
	} else {
		for (var i=0; i<imgplayer_images_count; i++) {
			if (imgplayer_images[i][0]==imgplayer_obj.src) {
				num = i;
			}
		}
		num = num-1;
		document.getElementById('imgplayer_actual_img').innerHTML = num+1;

		imgplayer_obj.src = imgplayer_images[num][0];
		imgplayer_obj.width = imgplayer_images[num][1];
		imgplayer_obj.height = imgplayer_images[num][2];
	}
}

var add_field_counter = 1; //coz we got one allreadee

function add_field(div_id, element_type, element_name, label_text) {
	if (element_type=="file") {
		// elementa numurs
		add_field_counter++;
		
		// label elements
		var label = document.createElement("label");
		label.setAttribute("for", element_name + "_" + add_field_counter);
		label.innerHTML = add_field_counter + ". " + label_text; // there should go something like "tell your pants-size NOW!"
		
		// ievades elements
		var input = document.createElement("input");
		input.setAttribute("type", "file");
		input.setAttribute("name", "images[]");
		input.setAttribute("size", "15");
		
		// br beigaas
		var br = document.createElement("br");
		
		// pieliekam visu klaat konteinerim (galvenais netraapiit garaam)
		var div = document.getElementById(div_id);
		div.appendChild( input );
		div.appendChild( br );
	}
}

function calc_hilite() {
	document.getElementById('calc').style.borderColor = '#e4272c';
}

function calc_normal() {
	document.getElementById('calc').style.borderColor = '#a0a0a0';
}

// izsauc uzklikshkjinot uz cenas
function calc_blink() {
	setTimeout(calc_hilite, 250);
	setTimeout(calc_normal, 550);
}

function calc_input(cena, paterins, degviela, tests) {
	document.getElementById('calc_cena').value=cena;
	document.getElementById('calc_paterins').value=paterins;
	for (var i=0; i< document.getElementById('calc_degvielas_tips').options.length; i++) {
		if (document.getElementById('calc_degvielas_tips').options[i].value==degviela) {
			document.getElementById('calc_degvielas_tips').options[i].selected = true;
		}
	}
	// 3x blink - pagaidaam atsleegts
	calc_blink();
}

function calc_no_results() {
	document.getElementById('calc_kom_maksa').innerHTML = '-';
	document.getElementById('calc_iemaksa').innerHTML = '-';
	document.getElementById('calc_maksajums').innerHTML = '-';
	document.getElementById('calc_kopa').innerHTML = '-';
}

function isNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	for (var i = 0; i < sText.length && IsNumber === true; i++)  { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function isEmpty(sText) {
	if (sText.length<1) {
		return true;
	} else {
		return false;
	}
}

function get_radio_value(radioObj) {
	if(!radioObj) {
		return null;
	}
	var radioLength = radioObj.length;
	if(radioLength === undefined) {
		if(radioObj.checked) {
			return radioObj.value;
		} else {
			return null;
		}
	}
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return null;
}

function change_lease_type(lease_type) {
	if (lease_type=='1') {
		document.getElementById('calc_atl_vertiba').value = 0;
		document.getElementById('calc_atl_vertiba').disabled = true;
	} else {
		document.getElementById('calc_atl_vertiba').value = 35;
		document.getElementById('calc_atl_vertiba').disabled = false;
	}
}

function change_kasko_type(kasko_type) {

	// ja juridiska persona, diseiblojam vecumu, ja nee - eneiblojam
	if (kasko_type=='1') {
		document.getElementById('calc_vecums').disabled = true;
	} else {
		document.getElementById('calc_vecums').disabled = false;
	}
}

function calc_ulate(form) {
	// vispirms valideejam
	
	// 1. dalja - dati liizingam
	
	var cena = document.getElementById('calc_cena').value;
	var procenti = document.getElementById('calc_procenti').value;
	var termins = document.getElementById('calc_termins').value;
	var prieksapmaksa = document.getElementById('calc_prieksapmaksa').value;
	var atl_vertiba = document.getElementById('calc_atl_vertiba').value;

	if ( !isNumeric( cena ) || isEmpty( cena ) ) {
		calc_no_results();
	} else {
		var la = document.getElementById('calc_cena').value;
		var ir = document.getElementById('calc_procenti').value;
		ir = ir/100;
		var ly = document.getElementById('calc_termins').value;
		var fp = document.getElementById('calc_prieksapmaksa').value;
		fp = fp/100;
		var rv = document.getElementById('calc_atl_vertiba').value;
		rv = rv/100;
		var bcc = Math.max(50, (la/1.18)*1.5/100);
		var bcc_total = Math.round(bcc*1.18, 2);
		var fp_total = Math.round(la*fp, 2);
		var ttt = (((la/1.18-(la/1.18)*fp)-((la/1.18)*rv)/Math.pow(1+ir/12, ly*12))/(((1-1/Math.pow(1+ir/12, ly*12)))/(ir/12)))*1.18;
		var total_monthly = Math.round(((ttt/1.18+((la/1.18)*fp)/(ly*12))+(((la/1.18)*fp)/(ly*12)*(-1)))*1.18, 2);
		var total_amount = Math.round(bcc_total+fp_total+(ly*12*total_monthly), 2);
		document.getElementById('calc_kom_maksa').innerHTML = Math.round(bcc_total);
		document.getElementById('calc_iemaksa').innerHTML = Math.round(fp_total);
		document.getElementById('calc_maksajums').innerHTML = Math.round(total_monthly);
		document.getElementById('calc_lizings').innerHTML = Math.round(total_monthly);
		document.getElementById('calc_kopa').innerHTML = Math.round(total_amount);
		document.getElementById('calc_atl_eur').innerHTML = Math.round(la*rv);
	}
	

	// 2. dalja - dati kasko
	var pers_tips = get_radio_value(document.forms['calc_f'].calc_pers_tips);
	var vecums = document.forms['calc_f'].calc_vecums.options[document.forms['calc_f'].calc_vecums.selectedIndex].value;
	var regions = document.getElementById('calc_regions').value;
	var pasrisks = document.getElementById('calc_pasrisks').value;
	// reekjinaam kasko
	if (pers_tips===0) { // fiziska
		var koef = 1.16;
		if (vecums===0) { // zem 26
			koef = 1.16;
		} else { // virs 26
			koef = 1;
		}
		document.getElementById('calc_kasko').innerHTML = Math.round(cena*4.70*koef/100);
	} else { // juridiska
		document.getElementById('calc_kasko').innerHTML = Math.round(cena*4.70/100);
	}
	if (isNumeric(document.getElementById('calc_kasko').innerHTML)) {
		document.getElementById('calc_kasko_menesim').innerHTML = Math.round(document.getElementById('calc_kasko').innerHTML/12);
	}



	// 3. dalja - degviela
	var paterins = document.getElementById('calc_paterins').value;
	var kilometri = document.getElementById('calc_kilometri').value;
	

	// reekjinaam degvielu
	if (!isEmpty(kilometri) && !isEmpty(paterins)) {
		var degvielas_cena = document.forms['calc_f'].calc_degvielas_tips.options[document.forms['calc_f'].calc_degvielas_tips.selectedIndex].value;
		document.getElementById('calc_degviela').innerHTML = Math.round(degvielas_cena * kilometri * paterins/100);
	} else {
		document.getElementById('calc_degviela').innerHTML = "-";
	}
	
	// sareekjinaam cik kopaa
	var kopa = 0;
	if (document.getElementById('calc_degviela').innerHTML!='-') {
		kopa += parseInt(document.getElementById('calc_degviela').innerHTML, 10);
	}
	if (document.getElementById('calc_kasko_menesim').innerHTML!='-') {
		kopa += parseInt(document.getElementById('calc_kasko_menesim').innerHTML, 10);
	}
	if (document.getElementById('calc_lizings').innerHTML!='-') {
		kopa += parseInt(document.getElementById('calc_lizings').innerHTML, 10);
	}
	document.getElementById('calc_menesi').innerHTML = (kopa===0) ? '-': kopa;
	
}


// funkcija pieliek modeljus ja ir izveeleets razhotaajs
function set_producer(producer_id) {
	var models_selector = document.getElementById('c_model');
	models_selector.options.length=0;
	//var models_count = length(chooser_data[producer_id]);
	var mas = chooser_data[producer_id];
	var n=0;
	for (var i in mas) {
		if (mas[i]['title']!='') {
			var opt = new Option(mas[i]['title'], i);
				models_selector.options[n]=opt;
			n++
		}
	}
}

// izveeles otrais solis - paraada submodelus
function set_model(model_id) {
	var submodels_selector = document.getElementById('c_submodel');
	submodels_selector.options.length=0;
	//var models_count = length(chooser_data[producer_id]);
	var mas = chooser_data[document.getElementById('c_producer').value][model_id]['items'];
	var n=0;
	for (var i in mas) {
		if (mas[i]!='') {
			var opt = new Option(mas[i], i);
			//opt.onclick = function() {window.location = document.URL+'&c[]='+this.value;}
			//window.location = document.URL+'&c[]='+this.value;
				submodels_selector.options[n]=opt;
			n++
		}
	}
}


/* AJAX interakcija mekleetaajam */
function createXMLHttp() {
	if (typeof XMLHttpRequest != 'undefined') {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var avers = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"];
		for (var i = avers.length -1; i >= 0; i--) {
			try {
				httpObj = new ActiveXObject(avers[i]);
				return httpObj;
			} catch(e) {
			}
		}
	}
	throw new Error('XMLHttp (AJAX) not supported');
}

var hRequest = null;

onStateChange = function() {
	try {
		if ( hRequest.readyState == 4 )  {
			if ( hRequest.status == 200 ) {
				document.getElementById('search_found_prognosis').innerHTML = hRequest.responseText;
			}
		}
	}
	catch(e){
		alert(e);
	}
}

function search_get_preview() {
	// savaacam veertiibas no formas
	var marka = document.forms['search_f'].marka.options[document.forms['search_f'].marka.selectedIndex].value;
	var virsbuve = document.forms['search_f'].virsbuve.options[document.forms['search_f'].virsbuve.selectedIndex].value;
	var klase = document.forms['search_f'].klase.options[document.forms['search_f'].klase.selectedIndex].value;
	var degvielas_tips = document.forms['search_f'].degvielas_tips.options[document.forms['search_f'].degvielas_tips.selectedIndex].value;
	var cena_no = document.forms['search_f'].cena_no.options[document.forms['search_f'].cena_no.selectedIndex].value;
	var cena_lidz = document.forms['search_f'].cena_lidz.options[document.forms['search_f'].cena_lidz.selectedIndex].value;
	var motora_tilpums_no = document.forms['search_f'].motora_tilpums_no.options[document.forms['search_f'].motora_tilpums_no.selectedIndex].value;
	var motora_tilpums_lidz = document.forms['search_f'].motora_tilpums_lidz.options[document.forms['search_f'].motora_tilpums_lidz.selectedIndex].value;
	var jauda_no = document.forms['search_f'].jauda_no.options[document.forms['search_f'].jauda_no.selectedIndex].value;
	var jauda_lidz = document.forms['search_f'].jauda_lidz.options[document.forms['search_f'].jauda_lidz.selectedIndex].value;
/*
	var paterins_pilseta_no = document.forms['search_f'].paterins_pilseta_no.options[document.forms['search_f'].paterins_pilseta_no.selectedIndex].value;
	var paterins_pilseta_lidz = document.forms['search_f'].paterins_pilseta_lidz.options[document.forms['search_f'].paterins_pilseta_lidz.selectedIndex].value;
	var paterins_arpus_no = document.forms['search_f'].paterins_arpus_no.options[document.forms['search_f'].paterins_arpus_no.selectedIndex].value;
	var paterins_arpus_lidz = document.forms['search_f'].paterins_arpus_lidz.options[document.forms['search_f'].paterins_arpus_lidz.selectedIndex].value;
*/	
	var paterins_jauktais_no = document.forms['search_f'].paterins_jauktais_no.options[document.forms['search_f'].paterins_jauktais_no.selectedIndex].value;
	var paterins_jauktais_lidz = document.forms['search_f'].paterins_jauktais_lidz.options[document.forms['search_f'].paterins_jauktais_lidz.selectedIndex].value;
	var paatrinajums_no = document.forms['search_f'].paatrinajums_no.options[document.forms['search_f'].paatrinajums_no.selectedIndex].value;
	var paatrinajums_lidz = document.forms['search_f'].paatrinajums_lidz.options[document.forms['search_f'].paatrinajums_lidz.selectedIndex].value;
	var cilindru_skaits = document.forms['search_f'].cilindru_skaits.options[document.forms['search_f'].cilindru_skaits.selectedIndex].value;
	var piedzina = document.forms['search_f'].piedzina.options[document.forms['search_f'].piedzina.selectedIndex].value;
	var atrumkarba = document.forms['search_f'].atrumkarba.options[document.forms['search_f'].atrumkarba.selectedIndex].value;
	var vietu_skaits = document.forms['search_f'].vietu_skaits.options[document.forms['search_f'].vietu_skaits.selectedIndex].value;
	var menesa_maksajums_no = document.forms['search_f'].menesa_maksajums_no.options[document.forms['search_f'].menesa_maksajums_no.selectedIndex].value;
	var menesa_maksajums_lidz = document.forms['search_f'].menesa_maksajums_lidz.options[document.forms['search_f'].menesa_maksajums_lidz.selectedIndex].value;
	var durvju_skaits = document.forms['search_f'].durvju_skaits.options[document.forms['search_f'].durvju_skaits.selectedIndex].value;

	var data = 'marka='+marka+'&'+'virsbuve='+virsbuve+'&'+'klase='+klase+'&'+'degvielas_tips='+degvielas_tips+'&'+'cena_no='+cena_no+'&'+'cena_lidz='+cena_lidz+'&'+'motora_tilpums_no='+motora_tilpums_no+'&'+'motora_tilpums_lidz='+motora_tilpums_lidz+'&'+'jauda_no='+jauda_no+'&'+'jauda_lidz='+jauda_lidz+'&'+'paterins_jauktais_no='+paterins_jauktais_no+'&'+'paterins_jauktais_lidz='+paterins_jauktais_lidz+'&'+'paatrinajums_no='+paatrinajums_no+'&'+'paatrinajums_lidz='+paatrinajums_lidz+'&'+'cilindru_skaits='+cilindru_skaits+'&'+'piedzina='+piedzina+'&'+'atrumkarba='+atrumkarba+'&'+'vietu_skaits='+vietu_skaits+'&'+'menesa_maksajums_no='+menesa_maksajums_no+'&'+'menesa_maksajums_lidz='+menesa_maksajums_lidz+'&'+'durvju_skaits='+durvju_skaits;
/*
	var data = 'marka='+marka+'&'+'virsbuve='+virsbuve+'&'+'klase='+klase+'&'+'degvielas_tips='+degvielas_tips+'&'+'cena_no='+cena_no+'&'+'cena_lidz='+cena_lidz+'&'+'motora_tilpums_no='+motora_tilpums_no+'&'+'motora_tilpums_lidz='+motora_tilpums_lidz+'&'+'jauda_no='+jauda_no+'&'+'jauda_lidz='+jauda_lidz+'&'+'paterins_pilseta_no='+paterins_pilseta_no+'&'+'paterins_pilseta_lidz='+paterins_pilseta_lidz+'&'+'paterins_arpus_no='+paterins_arpus_no+'&'+'paterins_arpus_lidz='+paterins_arpus_lidz+'&'+'paterins_jauktais_no='+paterins_jauktais_no+'&'+'paterins_jauktais_lidz='+paterins_jauktais_lidz+'&'+'paatrinajums_no='+paatrinajums_no+'&'+'paatrinajums_lidz='+paatrinajums_lidz+'&'+'cilindru_skaits='+cilindru_skaits+'&'+'piedzina='+piedzina+'&'+'atrumkarba='+atrumkarba+'&'+'vietu_skaits='+vietu_skaits+'&'+'menesa_maksajums_no='+menesa_maksajums_no+'&'+'menesa_maksajums_lidz='+menesa_maksajums_lidz+'&'+'durvju_skaits='+durvju_skaits;
*/		
	hRequest = new createXMLHttp();
	hRequest.onreadystatechange = onStateChange;
	url = 'ajax.php';
	hRequest.open('POST', url, true);
	hRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset:UTF-8');
	hRequest.send(data);
}