function isInteger(val) {
		var digits = "1234567890";
		for (var i=0; i < val.length; i++) {
			if (digits.indexOf(val.charAt(i)) == -1) { 
				return false; 
			}
		}
		return true;
	}

function getInt(str,i,minlength,maxlength) {
	for (x=maxlength; x>=minlength; x--) {
		var token = str.substring(i,i+x);
		if (isInteger(token)) {
			return token;
		}
	}
	return null;
}


function getDateFromFormat(val) {
		val = val+"";
		var format = "dd/MM/yyyy"+"";
		var i_val = 0;
		var i_format = 0;
		var c = "";
		var token = "";
		var token2= "";
		var x,y;
		var year  = 0;
		var month = 0;
		var date  = 0;
		var bYearProvided = false;
		while (i_format < format.length) {
			// Get next token from format string
			c = format.charAt(i_format);
			token = "";
			while ((format.charAt(i_format) == c) && (i_format < format.length)) {
				token += format.charAt(i_format);
				i_format++;
			}

			// Extract contents of value based on format token
			if (token=="yyyy" || token=="yy" || token=="y") {
				if (token=="yyyy") { x=4;y=4; }// 4-digit year
				if (token=="yy")   { x=2;y=2; }// 2-digit year
				if (token=="y")    { x=2;y=4; }// 2-or-4-digit year
				year = getInt(val,i_val,x,y);
				bYearProvided = true;
				if (year == null) {
					return 0;
					//Default to current year
				}
				if (year.length != token.length){
					return 0;
				}
				i_val += year.length;
			}
			else if (token=="MMM") { // Month name
				month = 0;
				for (var i=0; i<MONTH_NAMES.length; i++) {
					var month_name = MONTH_NAMES[i];
					if (val.substring(i_val,i_val+month_name.length).toLowerCase() == month_name.toLowerCase()) {
						month = i+1;
						if (month>12) { month -= 12; }
						i_val += month_name.length;
						break;
					}
				}
				if (month == 0) { return 0; }
				if ((month < 1) || (month>12)) {
					return 0
				}
			}
			else if (token=="MM" || token=="M") {
				x=token.length; y=2;
				month = getInt(val,i_val,x,y);
				if (month == null) { return 0; }
				if ((month < 1) || (month > 12)) { return 0; }
				i_val += month.length;
			}
			else if (token=="dd" || token=="d") {
				x=token.length; y=2;
				date = getInt(val,i_val,x,y);
				if (date == null) { return 0; }
				if ((date < 1) || (date>31)) { return 0; }
				i_val += date.length;
			}
			else {
				if (val.substring(i_val,i_val+token.length) != token) {
					return 0;
				}
				else {
					i_val += token.length;
				}
			}
		}
		// If there are any trailing characters left in the value, it doesn't match
		if (i_val != val.length) {
			return 0;
		}
		// Is date valid for month?
		if (month == 2) {
			// Check for leap year
			if ( ( (year%4 == 0)&&(year%100 != 0) ) || (year%400 == 0) ) { // leap year
				if (date > 29){ return false; }
			}
			else {
				if (date > 28) { return false; }
			}
		}
		if ((month==4)||(month==6)||(month==9)||(month==11)) {
			if (date > 30) { return false; }
		}
		//JS dates uses 0 based months.
		month = month - 1;
		if (bYearProvided==false) {
			//Default to current
			var dCurrent = new Date();
			year = dCurrent.getFullYear();
		}

		var lYear = parseInt(year);
		if (lYear<=20) {
			year = 2000 + lYear;
		}
		else if (lYear >=21 && lYear<=99) {
			year = 1900 + lYear;
		}
		var newdate = new Date(year,month,date,0,0,0);
		return newdate;
}



function handleHttpResponse()
{
	if (http.readyState == 4) {
		var result = trimStr(http.responseText);
		var f = document.forms['cautare'];
		var fsubmit = document.getElementById('fsubmit');
		if (result=="11111") {
			fsubmit.src = "static/css/images/btn_cautare_noua_bg.gif";
			f.page.value="6";
			var tmp = new Date();
			f.submit();
		}
		else {
			var msg = "";
			if (result.charAt(0)=="0") {
				var temp = document.getElementById('from');
				msg += "Градът/летището на тръгване ("+temp.value+") не валиден. моля изберете друг!\n";
				temp.value="";
			}
			if (result.charAt(1)=="0") {
				var temp = document.getElementById('to');
				msg += "Градът/летището на пристигане ("+temp.value+") не е валиден. моля изберете друг!\n";
				temp.value="";
			}
			var l1 = document.getElementById('linie1');
			var l1v = l1.value;
			if (!f.action.match(/index\.php\?tip_caut=o/)) {

				var l2 = document.getElementById('linie2');
				var l2v = l2.value;
				var l3 = document.getElementById('linie3');
				var l3v = l3.value;
			}


			if (result.charAt(2)=="0") {
				msg += "Избор 1 за авиокомпания  не е валиден: не съществува нито една авиокомпания с код "+l1.value+"!\n";
				l1.value = "";
			}

			if (!f.action.match(/index\.php\?tip_caut=o/)) {
				if (result.charAt(3)=="0" || (l2v==l1v && result.charAt(2)=="0")) {
					msg += "Избор 2 за авиокомпания  не е валиден: не съществува нито една авиокомпания с код "+l2.value+"!\n";
					l2.value = "";
				}
				if (result.charAt(4)=="0" || (l3v==l2v && result.charAt(3)=="0") || (l3v==l1v && result.charAt(2)=="0")) {
					var l3 = document.getElementById('linie3');
					msg += "Избор 3 за авиокомпания  не е валиден: не съществува нито една авиокомпания с код "+l3.value+"!\n";
					l3.value = "";
				}
			}

			if (msg!="") {
				fsubmit.src = "static/css/images/btn_cautare_noua_bg.gif";
				alert (msg);
			} else {
				f.page.value="[page]";
				f.page.value="4";
				f.submit();
			}
		}
	}
}



function verAero() {

	var f = document.forms['cautare'];
	var from = document.getElementById('from').value;
	var to = document.getElementById('to').value;
	var l1 = document.getElementById('linie1').value;


	if (!f.action.match(/index\.php\?tip_caut=o/)) {
		var l2 = document.getElementById('linie2').value;
		var l3 = document.getElementById('linie3').value;
	}

	var x = f.To.value.split("(");
	if (x[1] != null) {
	  	x = x[1].split(")");
	  	var cs = x[0];
	}
	else {
	  	var cs = f.To.value;
	}


	var xx = f.From.value.split("(");
	if (xx[1] != null) {
	  	xx = xx[1].split(")");
	  	var frmval = xx[0];
	}
	else {
	  	var frmval = f.From.value;
	}

	var uri = url + 'From='+escape(frmval)+'&To='+escape(cs);

	if (l1.length) uri += '&l1='+escape(l1);
	if (!f.action.match(/index\.php\?tip_caut=o/))
	{
		if (l2.length) uri += '&l2='+escape(l2);
		if (l3.length) uri += '&l3='+escape(l3);
	}

	http.open("GET", uri, true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null);

}


//pentru selectia de aeroport
function setCamp(camp, val) {
	var ob = document.getElementById(camp);
	ob.value=trimStr(val);
}




/* ----------------------------------------  MULTILEG -----------------------------------*/


function showHideAddMultilegButton() {
	if (multileg_sections_ids.length >= multileg_max_sections_no) {
		document.getElementById('multileg_add_flight').style.display = 'none';
	}
	else {
		document.getElementById('multileg_add_flight').style.display = 'block';
	}
}

function correctMultilegFligtsSectionsNo() {
	var sections_no = $('#flights_sections').find('div.multileg_flight_no');
	$.each(sections_no, function(key, value) { 
	  $(value).html('полет ' + (key+1)); 
	});
}

function getNewMultilegSectionFlightNo() {
	var sections_no = $('#flights_sections').find('div.multileg_flight_no');
	return (sections_no.size() + 1);
}

function removeMultiLegSection(remove_id) {
	var answer = confirm("Сигурни ли сте, искате да премахнете този раздел?");
	if (answer) {
		var new_multileg_sections_ids = new Array();
		$.each(multileg_sections_ids, function(index, sections_id) { 
  		if (sections_id != remove_id) {
  			new_multileg_sections_ids.push(sections_id);
  		}
		});
		multileg_sections_ids = new_multileg_sections_ids;
		$("#multileg"+ remove_id +"").remove();
		showHideAddMultilegButton();
		correctMultilegFligtsSectionsNo();
	}
	else {
		return false;
	}
}

var httpmultileg = getHTTPObject();

function showMultilegFlightSection() {
	if (http.readyState == 4) {
		var new_section = http.responseText;
 		$("#flights_sections").append( new_section );
	    multileg_sections_ids.push(last_multileg_section_id);
	    showHideAddMultilegButton();
	}
}

function addMultilegFlightSection() {
	last_multileg_section_id += 1;
	var last_date_id = multileg_sections_ids[multileg_sections_ids.length-1];
	var last_depdate = document.forms['cautare'].elements['EF_DepartureDate'+last_date_id].value;
	if (getDateFromFormat(last_depdate) == 0 || last_depdate=='' ) {
		last_depdate = gdta_min;
	}
	var last_return = document.forms['cautare'].elements['EF_To'+last_date_id].value;
	var uri_multileg = 'ajax?cmd=add_multileg_section&lang=bg&id=' + last_multileg_section_id + '&flightno=' + getNewMultilegSectionFlightNo() + '&departure_date='+ last_depdate + '&return=' + last_return;
	http.open("GET", uri_multileg, true);
	http.onreadystatechange = showMultilegFlightSection;
	http.send(null);
}

function handleMultilegAirlinesValidationResponse() {
	if (http.readyState == 4) {
		//0 => toate sunt coduri ok
		//1 => exista oras/aeroport invalid
		//2 => exista mai multe rezultate pentru informatiile introduse => pagina intermediara
		//3 => mai mult de o legatura cu aceeasi "sursa-destinatie"
		//4 => mai mult de 4 orase diferite
		var result = trimStr(http.responseText);
		var f = document.forms['cautare'];
		var fsubmit = document.getElementById('fsubmit');
		if (result=="0") {
			f.page.value="6";
			var tmp = new Date();
			f.submit();
		}
		else if (result=="1") {
			alert( "един или повече градове/летища са невалидни. Моля, поправете!");
			return false;
		}
		else if (result=="3") {
			alert( "заминаване - пристигане трябва да бъде уникален.");
			return false;
		}
		else if (result=="4") {
			alert( "можете да добавите до 4 различни градове.");
			return false;
		}
		else {
			f.page.value="4";
			f.submit();
		}
	}
}

function verMultiLegAero(airlines_list_from, airlines_list_to){
	var uri = sec_url + 'flight_type=multileg&From='+escape(airlines_list_from)+'&To='+escape(airlines_list_to);
	http.open("GET", uri, true);
	http.onreadystatechange = handleMultilegAirlinesValidationResponse;
	http.send(null);
}


function getDateDiffInDays(date_min, date_max) {
	//date_min : "10/10/2006"; date_max : "15/10/2006";  -> return 5
	var one_day = 1000*60*60*24; 
	var x = date_min.split("/");     
	var y = date_max.split("/");
	var date1 = new Date(x[2],(x[1]-1),x[0]);
	var date2 = new Date(y[2],(y[1]-1),y[0])
	var month1 = x[1]-1;
	var month2 = y[1]-1;
	return Math.ceil((date2.getTime()-date1.getTime())/(one_day)); 
}


function applyEpowerValidation(arr_dep_date, arr_dep_time, arr_sections_no) {
	var duplicated_no = 0;
	var used_date = '';
	var one_day = 1000*60*60*24;
	
	var time_err = new Array();
	
	for (i = 0; i < arr_dep_date.length; i++) {
		if (arr_dep_date[i] != used_date) {
			used_date = arr_dep_date[i];
			duplicated_no = 1;
		}
		else {
			duplicated_no++;
		}
		if (duplicated_no > 3) {
			return "можете да добавите до 3 полета на същия ден."
		}
		
		if ((i+1) < arr_dep_date.length) {
			//calculate dii in days between current date and next section date
			days_diff = getDateDiffInDays(arr_dep_date[i], arr_dep_date[i+1]);
			//if days no <=1  => time mut be selected
			if (days_diff < 2) {
				if (arr_dep_time[i] == '00:01' && time_err.indexOf("полет " + arr_sections_no[i]) == -1) {
					time_err.push("полет " + arr_sections_no[i]);
					
				}
				if (arr_dep_time[i+1] == '00:01' && time_err.indexOf("полет " + arr_sections_no[i+1]) == -1) {
					time_err.push("полет " + arr_sections_no[i+1]);
				}
			}
		}
		
		
	}
	
	if (time_err.length == 0) {
		return '';
	}
	
	return 'Изберете време на излитане за ' + time_err.join(', ');
	
}


function validateMultiLeg(){
	var mesaj = '';
	var f = document.forms['cautare'];
	//Zborurile nu au fost introduse in ordine cronologica. Va rugam sa verificati
	var airlines_from = new Array();
	var airlines_to = new Array();
	//datele
	var temp = gdta_min;
	temp = temp.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	var mindta = new Date(temp[2], temp[1], temp[0]);
	
	temp = gdta_max;
	temp = temp.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	var maxdta = new Date(temp[2], temp[1], temp[0]);
	
	var new_min_date = mindta;
	
	var err_departure_city_aero = new Array();
	var err_arrival_city_aero = new Array();
	var err_departure_date = new Array();
	var arr_dep_date = new Array();
	var arr_dep_time = new Array();
	var arr_sections_no = new Array();
	
	var sections_no = multileg_sections_ids.length;
	var ind = 0;
	
	for (i in multileg_sections_ids) {
		//from
		var id = multileg_sections_ids[i];
		var fromval = trimStr(document.getElementById('ef_from' + id).value);
		var x = fromval.split("(");
		if (x[1] == null) {
			x[0] = fromval;
		}
		else {
			x = x[1].split(")");
		}
		fromval = x[0];
		//to
		var toval = trimStr(document.getElementById('ef_to' + multileg_sections_ids[i]).value);
		var y = toval.split("(");
		if (y[1] == null) {
				y[0] = toval;
		}
		else {
			y = y[1].split(")");
		}
		toval = y[0];
		if (!(fromval.length>=3 && isAlphanumeric(fromval, 1))) {
			err_departure_city_aero.push('полет ' + multileg_sections_ids[i]);
			//mesaj += 'Mоля изберете града или летището на тръгване (минимум 3 букви) за номер на полета ' + multileg_sections_ids[i] + '.\n';
		}
		if (!(toval.length>=3 && isAlphanumeric(toval, 1))) {
			err_arrival_city_aero.push('полет ' + multileg_sections_ids[i])
			//mesaj += 'Моля изберете града или летището на пристигане (минимум 3 букви) за номер на полета ' + multileg_sections_ids[i] + '.\n';
		}
		
		airlines_from.push(fromval);
		airlines_to.push(toval);
		
		//data de plecare
		var depdate = document.cautare.elements['EF_DepartureDate'+id].value;
		var temp = depdate.split("/");
		if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
		temp[1] --;
		var depdta = new Date(temp[2], temp[1], temp[0]);
		//depdta = depdta.getTime()/1000;
		if (getDateFromFormat(depdate) == 0 || depdate=='' || depdta<mindta || depdta > maxdta) {
			err_departure_date.push('полет ' + multileg_sections_ids[i]);
			//mesaj += "дата на тръгване за номер на полета " + id + " е невалиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от "+gdta_max+".\n";
		}
		else if (depdta < new_min_date) {
			mesaj += 'полети, които не по са били добавени в хронологичен ред. Моля, поправете!';
			alert(mesaj);
			return false;
		}
		else {
			new_min_date = depdta;
		}
		arr_dep_date[ind] = depdate;
		arr_dep_time[ind] = document.cautare.elements['EF_DepartureTime'+id].value;
		arr_sections_no[ind] = id;
		ind++;	
	}
	
	//errors
	if (err_departure_city_aero.length > 0) {
		mesaj += 'Mоля изберете града или летището на тръгване (минимум 3 букви) за ' + err_departure_city_aero.join(', ') + '.\n';
	}
	if (err_arrival_city_aero.length > 0) {
		mesaj += 'Моля изберете града или летището на пристигане (минимум 3 букви) за ' + err_arrival_city_aero.join(', ') + '.\n';
	}
	if (err_departure_date.length > 0) {
		mesaj += "невалиден датата на отпътуване за " + err_departure_date.join(', ') + ". Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от "+gdta_max+".\n";
	}
	
	//apply Epower validations
	if (sections_no > 3) {
		msg_err = applyEpowerValidation(arr_dep_date, arr_dep_time, arr_sections_no);
		mesaj += msg_err;
	}
	
	
	
	if (mesaj == '') {
		airlines_list_from = airlines_from.join('|');
		airlines_list_to = airlines_to.join('|');
		verMultiLegAero(airlines_list_from, airlines_list_to);
		return false;
	} 
	else {
		mesaj = "Внимание!\n"+mesaj;
		alert(mesaj);
		return false;
	}
}


/* ----------------------------------------  END MULTILEG -----------------------------------*/



//validare form
function verCautare() {

	var mesaj = "";
	var f = document.forms['cautare'];
	var fsubmit = document.getElementById('fsubmit');
	fsubmit.src = "static/css/images/btn_wait_bg.gif";
	
	if (f.elements.oneway[2] != undefined) {
		if (f.elements.oneway[2].checked == true) {
			validateMultiLeg();
			return false; 
		}
	}
	
	
	f.From.value = trimStr(f.From.value);
	f.To.value = trimStr(f.To.value);

	//FROM
	if ( f.From.value != ''  ) {
		var x = f.From.value.split("(");
		if (x[1] == null) {
			x[0] = f.From.value;
		}
		else {
			x = x[1].split(")");
		}
		var fromval = x[0];
	}
	else {
		var fromval = '';
	}

	//TO
	if (f.To.value == "Въведете град/летище"){
		var cs = '';
	}
	else {
		if ( f.To.value != ''  ) {
			var x = f.To.value.split("(");
			if (x[1] == null) {
				x[0] = f.To.value;
			}
			else {
				x = x[1].split(")");
			}
			var cs = x[0];
		}
		else {
			var cs = '';
		}
	}

	//sursa OK?
	if (!(fromval.length>=3 && isAlphanumeric(fromval, 1))) {
		mesaj += 'Mоля изберете града или летището на тръгване (минимум 3 букви).\n';
	}

	//destinatia OK?
	if (!(cs.length>=3 && isAlphanumeric(cs, 1))) {
		mesaj += 'Моля изберете града или летището на пристигане (минимум 3 букви).\n';
	}

	//sursa != destinatie ?
	if (fromval ==cs && fromval.length) {
		mesaj += 'Градът на пристигане  трябва да е различен от града на тръгване!\n';
	}

	//datele
	var temp = gdta_min;
	temp = temp.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	var mindta = new Date(temp[2], temp[1], temp[0]);
	temp = gdta_max;
	temp = temp.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	var maxdta = new Date(temp[2], temp[1], temp[0]);

	//data de plecare
	var temp = f.elements.DepartureDate.value.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	var depdta = new Date(temp[2], temp[1], temp[0]);


	//depdta = depdta.getTime()/1000;
	if (getDateFromFormat(f.elements.DepartureDate.value) == 0) {
		mesaj += "Дата на заминаване не е валиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от  "+gdta_max+".\n";
	}
	else if (f.elements.DepartureDate.value=='' || depdta<mindta || depdta>maxdta) {
		mesaj += "Дата на заминаване не е валиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от  "+gdta_max+".\n";
	}


	//data de sosire
	if (f.elements.oneway[0].checked==true) {

		//data de plecare
		temp = f.elements.ArrivalDate.value.split("/");
		if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
		temp[1] --;
		var arrdta = new Date(temp[2], temp[1], temp[0]);

		//arrdta = arrdta.getTime()/1000;
		if (getDateFromFormat(f.elements.ArrivalDate.value) == 0) {
			mesaj += "Дата на пристигане не е валиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от  "+gdta_max+".\n";
		}
		else if (f.elements.ArrivalDate.value=='' || arrdta<mindta || arrdta>maxdta) {
			mesaj += "Дата на пристигане не е валиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от "+gdta_min+" и не по-късно от  "+gdta_max+".\n";
		} else {
			var nrz = (arrdta-depdta)/(24*60*60*1000);
			if (nrz<0) {
				mesaj += "Дата на пристигане не е валиден! Датата трябва да е във формат дд/мм/гггг, не по-рано от датата на тръгване.\n";
			}
		}
	}
	else {
		f.elements.ArrivalDate.value = '';
	}


	//form ok?
	if (mesaj=="") {
		verAero();
		return false;
	}
	else {
		fsubmit.src = "static/css/images/btn_cauta_bg.gif";
		mesaj = "Внимание!\n"+mesaj;
		alert(mesaj);
		return false;
	}
}







function skimbaDta(dta1, dta2) {
	var temp = dta1.value.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	odta1 = new Date(temp[2], temp[1], temp[0]);
	temp = dta2.value.split("/");
	if (temp[1].length>1 && temp[1].charAt(0)=="0") temp[1] = temp[1].charAt(1);
	temp[1] --;
	odta2 = new Date(temp[2], temp[1], temp[0]);
	if (odta2<odta1) {
		dta2.value = dta1.value;
	}
}


// pasagerii
function calcADT () {

	//adults
	var adt = document.getElementById("ADT");
	var nr_adt = adt.options.length;

	//children first
	var sel = document.getElementById("CHD");
	var old_inf = sel.value;
	while (sel.options.length>0) {
		sel.remove( 0 );
	}
	var nr_chd = nr_max - adt.value;
	for (var i=0;i<=nr_chd; i++ ) {
		if (i==old_inf) ind = true;
		else ind = false;
		var elem = new Option(i,i, false, ind);
		sel.options[i] = elem;
	}
	calcINF();
}







function calcCHD () {

	//adults
	var chd = document.getElementById("CHD");
	var nr_chd = chd.options.length;

	//children first
	var sel = document.getElementById("ADT");
	var old_inf = sel.value;
	while (sel.options.length>0) {
		sel.remove( 0 );
	}
	var nr_adt = nr_max - chd.value;
	for (var i=0;i<=nr_adt; i++ ) {
		if (i==old_inf) ind = true;
		else ind = false;
		var elem = new Option(i,i, false, ind);
		sel.options[i] = elem;
	}

	calcINF();
}

function calcINF() {

	//adults
	var ind = false;
	var adt = document.getElementById("ADT");
	var nr_adt = adt.options.length;
	var sel = document.getElementById("INF");
	var old_inf = sel.value;
	while (sel.options.length>0) {
		sel.remove( 0 );
	}
	var nr_inf = adt.value;
	for (var i=0;i<=nr_inf; i++ ) {
		if (i==old_inf) ind = true;
		else ind = false;
		var elem = new Option(i,i, false, ind);
		sel.options[i] = elem;
	}
}


var http = getHTTPObject();



function update_categs(categ) {
	var arr_categ= new Array('ADT','CHD','INF','YTH','SEN','STU','SEA');
	for (i=0; i<7; i++)
	{
		if ( (arr_categ[i] != categ) && !(((categ == 'ADT') || (categ == 'CHD') || (categ == 'INF')) && (i<3)))
		{
			document.getElementById(arr_categ[i]).selectedIndex=0;
		}
	}

	calcINF();
	calcCHD();
}