if(DATE_FORMAT =="") DATE_FORMAT = 'MMM dd,yyyy';
if(DATE_STANDAR_FORMAT =="") DATE_STANDAR_FORMAT = 'M/d/y';

var NEW_CHAR ="\"";
var TARGET_REXP = /_/gi;

var today_	= formatDate(new Date(), DATE_STANDAR_FORMAT);

function Hide(id){
	changeVisibility(false, id);
}
	
function Show(id){
	changeVisibility(true, id);
}

function f(id){
	var d = document.getElementById(id);
		
	d.style.display = (d.style.display == "none")?"block":"none";
}

function f1(hidden_dest_count){	
	var tr = document.getElementById(".T31");
	
	if(tr != null){
		var show_hidden =(tr.style.display == 'none');
		
		t2 = document.getElementById(".t2");
		t2.setAttribute('src', (!show_hidden)?'/images/other dest 1.gif':'/images/top.gif');
	
		for(j=1; j<= hidden_dest_count; j++){
			tr = document.getElementById(".T3" +j);
			if(tr != null) tr.style.display = (show_hidden)?"":"none";
		};
	};	
}

function f2(val){
	var d = val.split("|");
	
	if((d.length != null) || (d.length == 1)){
		changeVisibility((d[1] == 2), '.cg2')
	}
}

function showMyPrices(room, age, count){	
	var bindex	= document.getElementById(room + '_bindex');
	
	if(bindex != null && bindex.getAttribute('value') != ""){
		for(i=1; i <= count; i++)			
			changeVisibility(false, room + bindex.getAttribute('value') + '_' + i);		
	}
	
	bindex.setAttribute('value', age);

	for(i=1; i <= count; i++)
		changeVisibility(true, room + age + '_' + i);	
}

function srch_validate(f, result_page){
	if((f['chk4n_'][1].checked) && emptyField(f['.n'].value)){
		alert(f['err_n'].value.replace(TARGET_REXP, NEW_CHAR));
				 
		return false;
	}
	
	if((f['chk4p_'][1].checked) && (emptyField(f['.lp'].value) || emptyField(f['.up'].value) || isNaN(f['.lp'].value) || isNaN(f['.up'].value) || (eval(f['.lp'].value) >eval(f['.up'].value)))){
		alert(f['err_p'].value.replace(TARGET_REXP, NEW_CHAR));
				 
		return false;
	}
	
	if(f['chk4l_'][1].checked && f['.l']!=null){
		var chk_ = false;
		
		if(f['.l'].length ==null)
			chk_ = f['.l'].checked
		else
			for(j=0; j<f['.l'].length; j++)	chk_ = chk_ || f['.l'][j].checked;			

		if(!chk_){
			alert(f['err_l'].value.replace(TARGET_REXP, NEW_CHAR));
			 
			return false;
		}
	}
	
	if(result_page !=''){
		f.action = result_page;
		f.submit();
	}
	
	return true;
}

function openUrl(hotel, cadena, other_params){
	var txt="/formularios/hotel.asp?hotel="+hotel+"&cadena="+cadena;
	
	if(other_params	!= '')
		txt	+= '&' + other_params;
		
	win=window.open(txt,'LinkWin',"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,height=680,width=480");
	win.focus();
}

function fasthotel(place){
	var txt="/formularios/cannothotels.asp?place="	+	place;

	win=window.open(txt,'LinkWin',"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,height=360,width=460");
	win.focus();
}

function getFieldsInfo(f1){
	var fields	= f1['.sfield'].value.split(',');
	var info_	='';

	for(j=0; j<fields.length; j++){
		parts = fields[j].split(';');

		if(parts.length ==2){
			if(info_) info_ +='.';
			//alert(info_);
			info_ += getFval(f1, parts[0], parts[1])	
		}else{
			for(k=0; k< parts[2]; k++)
				if(f1[parts[0] +k] !=null){
					if(info_) info_ +='.';

					info_ +=getFval(f1, parts[0] +k, parts[1]);
						
					//alert(info_);
				}
		}
	}
//	alert(info_);
	getFieldsInfo =info_;
}
		
function save_info(f2){
	f2['oinfo'].value = getFieldsInfo(f2);
}

function get_rates_validate(f, url){
	if((f['email'] !=null) && (emptyField(f['email'].value) || !validate_email(f['email'].value))){
		alert(f['err_email'].value.replace(TARGET_REXP, NEW_CHAR));
			 
		return false;
	}	
	
	if(f['.a'] != null)
		f['.a'].value = "/s";
	
	goTo(f, url);
}

function canRESERVE(f){
	var onehour		= 1000 * 60 * 60;
	var oneday		= onehour * 24;
		
	if(emptyField(f['name'].value)){
	 alert(f['err_name'].value.replace(TARGET_REXP, NEW_CHAR));
		 
	 return false;
	}	

	if((f['email'] !=null) && (emptyField(f['email'].value) || !validate_email(f['email'].value))){
	 alert(f['err_email'].value.replace(TARGET_REXP, NEW_CHAR));
		 
	 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(f['.cho'] != null) {
	    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;
	    }	
	}		
	
	return true;
}
		
function mustGetRATEs(f){
    var grn_ = false;
    
	var chi_	= formatDate(new Date(f['.chi_standar'].value), DATE_FORMAT);	
    
    if(f['.grn.chi'] !=null){
        var grn_chi_= formatDate(new Date(f['.grn.chi'].value), DATE_FORMAT);  
        
        grn_ = (chi_!=grn_chi_);    
    }
    
	if(f['.cho_standar'] !=null){
	    var cho_	= formatDate(new Date(f['.cho_standar'].value), DATE_FORMAT);
	    
        if(f['.grn.cho'] !=null){
	        var grn_cho_= formatDate(new Date(f['.grn.cho'].value), DATE_FORMAT);
    	    
	        grn_ = grn_ || (cho_!=grn_cho_);        
        }	    
	}

    if(f['idhotel'] != null){
        var item_ = f['idhotel'].value;
        
        grn_ = grn_ || (f['.grn.pcoords_r'].value!=f['pcoords_r_' +item_].value);
    }

    if(f['.grn.adlts'] !=null)
        grn_ = grn_ || (f['.grn.adlts'].value!=getFval(f, '.adlts', 's'));

    if(f['.grn.rplan'] !=null)
        grn_ = grn_ || (f['.grn.rplan'].value!=getFval(f, '.rplan', 's'));

    if(f['.grn.r'] !=null)
        grn_ = grn_ || (f['.grn.r'].value!=getFval(f, '.r', 's'));

    if(f['.grn.accs'] !=null)
        grn_ = grn_ || (f['.grn.accs'].value!=getFval(f, '.accs', 's'));
 
	for(j=1, k=getFval(f, '.r', 's'); j<=k; j++){
	    if(f['.grn.ch' +j] !=null) grn_ = grn_ || (f['.grn.inf' +j].value!=getFval(f, '.inf' +j, 's')) || (f['.grn.ch' +j].value!=getFval(f, '.ch' +j, 's'));
	}

	return grn_;
}

function shopping_validate(f, url){
	f.target	= '_self';
	
	if(canRESERVE(f))
		if(!mustGetRATEs(f))
			goTo(f, url)
		else
			alert(f['err_.grn'].value.replace(TARGET_REXP, NEW_CHAR));
	
	return false;
}

function fast_reservation_validate(f, url){
	f.target	= '_self';
	
	if(canRESERVE(f))
		if(!mustGetRATEs(f))
			goTo(f, url)
		else
			alert(f['err_.grn'].value.replace(TARGET_REXP, NEW_CHAR));
			
	return false;
}

function bookNOW_validate(f, url){
	if(canRESERVE(f))
		if(!mustGetRATEs(f)){
			f.target	= '_blank';
			f.action	= url;
			
			f.submit();
			
			return true;		
		}else
			alert(f['err_.book.grn'].value.replace(TARGET_REXP, NEW_CHAR));
	
	return false;		
}

function validate_travelinfo(f){
	var onehour		= 1000 * 60 * 60;
	var oneday		= onehour * 24;
	
	var must_submit = true;
	
	if(!emptyField(f['.chi'].value) || !emptyField(f['.cho'].value)){
		var chi_ = today_;
		var cho_ = today_;
		
		if(!emptyField(f['.chi'].value)){
			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_.chi'].value.replace(TARGET_REXP, NEW_CHAR));
					
				return false;
			}

			if(emptyField(f['.cho'].value)){
				f['.cho'].value = formatDate(new Date(Date.parse(f['.chi_standar'].value) +oneday), DATE_FORMAT);
				f['.cho_standar'].value = formatDate(new Date(Date.parse(f['.chi_standar'].value) +oneday), DATE_STANDAR_FORMAT);				
				
				must_submit = false;
			}
		}
		
		if(!emptyField(f['.cho'].value)){
			if(emptyField(f['.chi'].value)){
				f['.chi'].value = formatDate(today_, DATE_FORMAT);
				f['.chi_standar'].value = formatDate(today_, DATE_STANDAR_FORMAT);
				
				must_submit = 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_.cho'].value.replace(TARGET_REXP, NEW_CHAR));
					
				return false;
			}
		}
	}else{
		alert(f['err_.chi'].value.replace(TARGET_REXP, NEW_CHAR));
		
		return false;
	 }
		
	return must_submit;
}

function ifr_srch_validate(f){
	if(emptyField(f['destination'].value)){
	 alert(f['err_destination'].value.replace(TARGET_REXP, NEW_CHAR));
			 
	 return false;
	}
		
	if(!emptyField(f['.chi'].value) || !emptyField(f['.cho'].value)){
		var onehour		= 1000 * 60 * 60;
		var oneday		= onehour * 24;
	
		var must_submit = true;	
		
		if(!emptyField(f['.chi'].value)){
			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_.chi'].value.replace(TARGET_REXP, NEW_CHAR));
					
				return false;
			}

			if(emptyField(f['.cho'].value)){
				f['.cho'].value = formatDate(new Date(Date.parse(f['.chi_standar'].value) +oneday), DATE_FORMAT);
				f['.cho_standar'].value = formatDate(new Date(Date.parse(f['.chi_standar'].value) +oneday), DATE_STANDAR_FORMAT);
				
				must_submit = false;
			}
		}
		
		if(!emptyField(f['.cho'].value)){
			if(emptyField(f['.chi'].value)){
				f['.chi'].value = formatDate(today_, DATE_FORMAT);
				f['.chi_standar'].value = formatDate(today_, DATE_STANDAR_FORMAT);
				
				must_submit = 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_.cho'].value.replace(TARGET_REXP, NEW_CHAR));
					
				return false;
			}
		}
	}		
	
	f.submit();
			
	return must_submit;
}
	
function npattern_validate(f, result_page){
	if(emptyField(f['.n0'].value)){
		alert(f['err_n0'].value.replace(TARGET_REXP, NEW_CHAR));
				 
		return false;
	}
	
	if(result_page !=''){
		f['.flag'].value = "/p";
		
		f.action = result_page;
		f.submit();
	}
	
	return true;
}

function touch_select_ids(f, checked_){
	if(checked_)
		f.select_ids.value += ",tr_childs"
	else{
		var select_ids = f.select_ids.value.split(",");				
				
		f.select_ids.value = "";
				
		for(i=0; i<select_ids.length; i++)
			if(select_ids[i] !="tr_childs") f.select_ids.value += (f.select_ids.value =="")?select_ids[i]:"," +select_ids[i];
	}
}