var today_				= formatDate(new Date(), DATE_STANDAR_FORMAT);
var SEPARATOR_CHR		= ';';
var SEPARATOR2_CHR		= '.';
var NONE_VALUE			= -1;

function touch_hotels(f, hfName){
	var items = f[hfName +"_items"];
	var sel_str, sel_val;
	
	var area_	= eval((!f['Area'].disabled)?getFval(f, "Area", "s"):getFval(f, "dinArea", "s"));
	var start_	= eval((!f['Start'].disabled)?getFval(f, "Start", "s"):getFval(f, "dinStart", "s"));

//		alert('--->>area=' +area_ +', start=' +start_);
	
	f[hfName].options.length = 1;
	
	for(i=0;i <items.length; i++){
		var parts = items[i].value.split(",");
		
		sel_str = parts[1];
		
		var parts_1 = parts[0].split(".");
		
		sel_val	= parts_1[parts_1.length -2] +"." +parts_1[parts_1.length -1];
/*
		if(i <20){
			alert('--->>' +items[i].value);
			alert('--->>((' +area_ +' ==' +eval(parts_1[0]) +') || (' +start_ +' ==' +eval(parts_1[parts_1.length -3]) +'))=' +((area_ ==eval(parts_1[0])) || (start_ ==eval(parts_1[parts_1.length -2]))));
		}
*/						
		if(((area_ ==-1) || (area_ ==eval(parts_1[0]))) && ((start_ ==-1) || (start_ ==eval(parts_1[parts_1.length -3]))))
			f[hfName].options[f[hfName].length] = new Option(sel_str, sel_val);
	}
	
	if(f[hfName].length >1) f[hfName].options[1].selected = true;
}

function touch_hotels_light(f, hfName){
	var items = f[hfName].options;
	var sel_str, sel_val;
	
	var province_	= -1;
	var area_		= eval((!f['Area'].disabled)?getFval(f, "Area", "s").split(SEPARATOR_CHR)[0]:getFval(f, "dinArea", "s").split(SEPARATOR_CHR)[0]);
	var start_		= eval((!f['Start'].disabled)?getFval(f, "Start", "s").split(SEPARATOR_CHR)[0]:getFval(f, "dinStart", "s").split(SEPARATOR_CHR)[0]);

//		alert('--->>area=' +area_ +', start=' +start_);
	
	changeEnable(((area_!=NONE_VALUE) || (start_!=NONE_VALUE)), hfName);
	changeVisibility(((area_==NONE_VALUE) && (start_==NONE_VALUE)), hfName);
	
	changeEnable(((area_==NONE_VALUE) && (start_==NONE_VALUE)), 'din' +hfName);
	changeVisibility(((area_!=NONE_VALUE) || (start_!=NONE_VALUE)), 'din' +hfName);

	f['din' +hfName].options.length = 1;
	
	"province.city.area.category.hotel_code.hotel"

	var parts;
		
	if((area_ !=NONE_VALUE) || (start_ !=NONE_VALUE)){
		if(area_ !=NONE_VALUE){
			parts = (!f['Area'].disabled)?getFval(f, "Area", "s").split(SEPARATOR_CHR):getFval(f, "dinArea", "s").split(SEPARATOR_CHR);
			
			province_	= parts[0];
			area_		= (parts[1] !=0)?parts[1]:-1;
		}
					
		for(i=1;i <items.length; i++){
			var parts = items[i].value.split(SEPARATOR2_CHR);
			
			cprov_	= eval(parts[0]);
			carea_	= eval(parts[parts.length -4]);
			cstart_	= eval(parts[parts.length -3]);
/*
			if(i <5){
				alert('--->>' +items[i].value);
				alert('--->>((' +area_ +' ==' +eval(parts[0]) +') || (' +start_ +' ==' +eval(parts[parts.length -3]) +'))=' +((area_ ==eval(parts[0])) || (start_ ==eval(parts[parts.length -2]))));
			}
*/
			if(((province_ ==NONE_VALUE) || (province_ ==cprov_)) && ((area_ ==NONE_VALUE) || (area_ ==carea_)) && ((start_ ==NONE_VALUE) || (start_ ==cstart_))){
				sel_str = parts[parts.length -1];
				sel_val	= items[i].value;
			
				f['din' +hfName].options[f['din' +hfName].length] = new Option(sel_str, sel_val);
			}
		}
	
		if(f['din' +hfName].length >1) f['din' +hfName].options[1].selected = true;
	}else
		f['din' +hfName].options[0].selected = true;
}
				
function validate_pre(f, to_, where_, baseURL_, itFieldName){
	var onehour		= 1000 * 60 * 60;
	var oneday		= onehour * 24;					
	var URL_		= baseURL_;
/*		
	if(getFval(f, 'iPairs', 's') ==-1){
	 alert(f['err_.item'].value);
						 
	 return false;
	}
*/								
	if(emptyField(f['.chi'].value)){
	 alert(f['err_.chi'].value.replace(TARGET_REXP, NEW_CHAR));
						 
	 return false;
	}
					
	if(isNaN(Date.parse(f['.chi_standar'].value)) || (Math.floor(Date.parse(f['.chi_standar'].value)/oneday) <Math.floor(Date.parse(today_)/oneday))){
		alert(f['err_.chiv'].value.replace(TARGET_REXP, NEW_CHAR));
									
		return false;
	}
					
	if(emptyField(f['.cho'].value)){
	 alert(f['err_.cho'].value.replace(TARGET_REXP, NEW_CHAR));
						 
	 return false;
	};


	if(isNaN(Date.parse(f['.cho_standar'].value)) || ((Math.floor(Date.parse(f['.cho_standar'].value)/oneday) <Math.floor(Date.parse(today_)/oneday)) || (Math.floor(Date.parse(f['.cho_standar'].value)/oneday) <Math.floor(Date.parse(f['.chi_standar'].value)/oneday)))){
		alert(f['err_.chov'].value.replace(TARGET_REXP, NEW_CHAR));
									
		return false;
	}

	var area_	= (!f['Area'].disabled)?getFval(f, "Area", "s"):getFval(f, "dinArea", "s");
	var start_	= (!f['Start'].disabled)?getFval(f, "Start", "s"):getFval(f, "dinStart", "s");
	
	var rparams = "";

	if(getFval(f, 'iPairs', 's') ==-1){
		if(area_ !=-1){
			parts_ = area_.split(SEPARATOR_CHR);
			
			rparams = (parts_[1] ==0)?"chk4pv_=1&.pv=" +parts_[0]:"llocval=" +parts_[1];
		}
				
		if(start_ !=-1){
			parts_ = start_.split(SEPARATOR_CHR);
			
			rparams += (rparams !="")?"&":"";
			rparams += "chk4c_=1&.op==|1&.cg1=" +parts_[0];
		}
	}
	
	if(rparams !="") rparams = "?" +rparams;
	
	if(where_ =="here"){
		if(((f['diniPairs'].disabled)?getFval(f, 'iPairs', 's'):getFval(f, 'diniPairs', 's')) ==-1)
			f.action = baseURL_ +f["results pg"].value +rparams +"#hotel"
		else{
			var hPair = ((f['diniPairs'].disabled)?getFval(f, 'iPairs', 's'):getFval(f, 'diniPairs', 's')).split(SEPARATOR2_CHR);
			
			f["idhotel"].value	= hPair[hPair.length -2];
			f["hotel"].value	= hPair[hPair.length -1];
							
			f.action = (to_ =="details")?baseURL_ +f["detail pg"].value +"#hotel":baseURL_ +f["reservation pg"].value +"#hotel";
		}
									
		f.submit();
	}else{ // where_ = "new"
	    rparams += (rparams !="")?"&":"";
		rparams += 'template=' +f["template"].value +'&lang=' +f["langCODE"].value +'&fromSite=' +f["fromSite"].value +"&";
	
		if(((f['diniPairs'].disabled)?getFval(f, 'iPairs', 's'):getFval(f, 'diniPairs', 's')) ==-1)
			URL_ += f["results pg"].value +rparams +".chi_standar=" +f['.chi_standar'].value +"&.cho_standar=" +f['.cho_standar'].value +"&.adlts=" +getFval(f, '.adlts', 's') +"&.r=1&.in=Pre R Zone"
		else{
			var hPair = ((f['diniPairs'].disabled)?getFval(f, 'iPairs', 's'):getFval(f, 'diniPairs', 's')).split(SEPARATOR2_CHR);
		
			if(to_ =="details")
				URL_ += f["detail pg"].value +rparams +"idhotel=" +hPair[hPair.length -2] +"&hotel=" +hPair[hPair.length -1] +"&.chi_standar=" +f['.chi_standar'].value +"&.cho_standar=" +f['.cho_standar'].value +"&.adlts=" +getFval(f, '.adlts', 's') +"&.r=1&.in=Pre R Zone"
			else // to_ = "reserve"
				URL_ += f["reservation pg"].value +rparams +"idhotel=" +hPair[hPair.length -2] +"&hotel=" +hPair[hPair.length -1] +"&.chi_standar=" +f['.chi_standar'].value +"&.cho_standar=" +f['.cho_standar'].value +"&.adlts=" +getFval(f, '.adlts', 's') +"&.r=1&.in=Pre R Zone";
		}		
					
//		alert(URL_);
		
		var win_ = launchCenter(URL_, '', 650, 980, ',scrollbars=yes,location=yes,directories=yes,status=yes,menubar=yes,toolbar=yes,resizable=yes');
	}		
					
	return true;
}

function touch_areas(f, itFieldName){
	var hotels = f['iPairs'].options;
	var items = f[itFieldName].options;
	var sel_str, sel_val;
	
	var start_		= eval((!f['Start'].disabled)?getFval(f, "Start", "s").split(SEPARATOR_CHR)[0]:getFval(f, "dinStart", "s").split(SEPARATOR_CHR)[0]);

//		alert('--->>area=' +area_ +', start=' +start_);
	
	var currval_ = (!f[itFieldName].disabled)?getFval(f, itFieldName, "s"):getFval(f, "din" +itFieldName, "s");
	
	changeEnable((start_!=NONE_VALUE), itFieldName);
	changeVisibility((start_==NONE_VALUE), itFieldName);
	
	changeEnable((start_==NONE_VALUE), 'din' +itFieldName);
	changeVisibility((start_!=NONE_VALUE), 'din' +itFieldName);

	f['din' +itFieldName].options.length = 1;
	
	"province.city.area.category.hotel_code.hotel"

	var parts;
		
	if(start_ !=NONE_VALUE){

		hotels_info = ""
		for(j=1;j <hotels.length; j++){
			parts_1 = hotels[j].value.split(SEPARATOR2_CHR);
			
			value_ = "[" +parts_1[0] +"," +parts_1[parts_1.length -4] +"," +parts_1[parts_1.length -3] +"]";
			
			if(hotels_info.indexOf(value_) ==-1) hotels_info += value_;

			value_ = "[" +parts_1[0] +",0," +parts_1[parts_1.length -3] +"]";
			
			if(hotels_info.indexOf(value_) ==-1) hotels_info += value_;
		}
		
		for(i=1;i <items.length; i++){
			parts = items[i].value.split(SEPARATOR_CHR);
			
			value_ = "[" +parts[0] +"," +parts[1] +"," + start_ +"]";

			if(hotels_info.indexOf(value_) !=-1){
				sel_str = parts[parts.length -1];
				sel_val	= items[i].value;
			
				f['din' +itFieldName].options[f['din' +itFieldName].length] = new Option(sel_str, sel_val);
			}
		}			
		
		sel_select(f['din' +itFieldName], currval_);
	}
}		

function touch_starts(f, itFieldName){
	var hotels = f['iPairs'].options;
	var items = f[itFieldName].options;
	var sel_str, sel_val;
	
	var area_	= eval((!f['Area'].disabled)?getFval(f, "Area", "s").split(SEPARATOR_CHR)[0]:getFval(f, "dinArea", "s").split(SEPARATOR_CHR)[0]);
	
	var currval_ = (!f[itFieldName].disabled)?getFval(f, itFieldName, "s"):getFval(f, "din" +itFieldName, "s");
	
	changeEnable((area_!=NONE_VALUE), itFieldName);
	changeVisibility((area_==NONE_VALUE), itFieldName);
	
	changeEnable((area_==NONE_VALUE), 'din' +itFieldName);
	changeVisibility((area_!=NONE_VALUE), 'din' +itFieldName);

	f['din' +itFieldName].options.length = 1;
	
	"province.city.area.category.hotel_code.hotel"

	var parts;
		
	if(area_ !=NONE_VALUE){
		if(area_ !=NONE_VALUE){
			parts = (!f['Area'].disabled)?getFval(f, "Area", "s").split(SEPARATOR_CHR):getFval(f, "dinArea", "s").split(SEPARATOR_CHR);
			
			province_	= parts[0];
			area_		= parts[1];
		}
				
		hotels_info = ""
		for(j=1;j <hotels.length; j++){
			parts_1 = hotels[j].value.split(SEPARATOR2_CHR);
			
			value_ = "[" +parts_1[0] +"," +parts_1[parts_1.length -4] +"," +parts_1[parts_1.length -3] +"]";
			
			if(hotels_info.indexOf(value_) ==-1) hotels_info += value_;

			value_ = "[" +parts_1[0] +",0," +parts_1[parts_1.length -3] +"]";
			
			if(hotels_info.indexOf(value_) ==-1) hotels_info += value_;
		}

		for(i=1;i <items.length; i++){
			parts = items[i].value.split(SEPARATOR_CHR);

			value_ = "[" +province_ +"," +area_ +"," +parts[0] +"]";

			if(hotels_info.indexOf(value_) !=-1){
				sel_str = parts[parts.length -1];
				sel_val	= items[i].value;
			
				f['din' +itFieldName].options[f['din' +itFieldName].length] = new Option(sel_str, sel_val);
			}
		}			
		
		sel_select(f['din' +itFieldName], currval_);
	}
}