var last_type = 0;
var stimeout=0;
var stimeout2=0;

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


// ****************************************************************************************
// **** AUTOSUGEST -AUTOCOMPLETE **********************************************************
// ****************************************************************************************


function ocultabox(resultsdiv){
	stimeout2=setTimeout("document.getElementById('" + resultsdiv + "').style.display=('none');document.getElementById('selectblocker').style.display=('none');",300);
}

function AS_airports(textbox, resultsdiv) {
	autosuggest(textbox, resultsdiv,'/ff_autocomplete_airports.asp')
}

function autosuggest(textbox, resultsdiv,XMLfile) {

	var el=document.getElementById(textbox)

	if (el.addEventListener){
	  el.addEventListener('blur', function(x) {ocultabox(resultsdiv)}, false); 
	} else if (el.attachEvent){
	  el.attachEvent('onblur', function(x) {ocultabox(resultsdiv)});
	}

	var a_length=document.getElementById(textbox).value.length;
	if (stimeout!=0) clearTimeout(stimeout);

	stimeout=setTimeout('go_autosuggest("' + textbox + '", "' + resultsdiv + '","' + XMLfile + '");',500);

}

function go_autosuggest(textboxid, resultsdiv,XMLfile) {

var textbox=document.getElementById(textboxid);
var resultsdiv = document.getElementById(resultsdiv);
var iframeShim = document.getElementById("selectblocker"); 

if (textbox.value.length>0) {

	var objXML  = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	objXML  = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
	try {
	objXML  = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){
	try{
	objXML  = new ActiveXObject("Microsoft.XMLHTTP")
	}
	catch (e){}
	}
	}
	else
	return false

	objXML.open('GET', XMLfile + "?textbox=" + textbox.id + "&resultsdiv=" + resultsdiv.id + "&search=" + textbox.value, true)
	if (objXML.overrideMimeType) { objXML.overrideMimeType('text/html; charset=iso-8859-1'); }  

    objXML.onreadystatechange = function () {
        if (objXML.readyState == 4) {

          result = objXML.responseText;
          if (result != "-1" && result!="") {
			resultsdiv.innerHTML = result;

 	  		  resultsdiv.style.left     = findPosX(document.getElementById(textboxid)) + 'px';
			  resultsdiv.style.top      = (findPosY(document.getElementById(textboxid))+document.getElementById(textboxid).offsetHeight) + 'px';
			  
	  		  resultsdiv.style.display='block';        
			  		  
			  iframeShim.style.width   = resultsdiv.offsetWidth;
			  iframeShim.style.height  = resultsdiv.offsetHeight;

			  iframeShim.style.top 	   = resultsdiv.style.top;
			  iframeShim.style.left    = resultsdiv.style.left;

			  iframeShim.style.display = "block";		  
 			  iframeShim.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';


		  } else {
            // an error (-1) was passed from the page
            resultsdiv.style.display='none';
			iframeShim.style.display = 'none';
          }
        }
      }

    objXML.send(null);

    } else {
      // typing too fast, hide the box
      resultsdiv.style.display='none';
 	  iframeShim.style.display = 'none';
    }

}


// ****************************************************************************************
// **** VUELOS ****************************************************************************
// ****************************************************************************************
function ivcheck(idN){
	if (document.getElementById('ivradio'+idN).checked) 
	{
	for (var y=1;y<=6;y++) { document.getElementById('tdv'+idN+'_'+y).style.display="" }
	document.getElementById('date'+idN+'_2').className="req"
	} else {
	for (var y=1;y<=6;y++) { document.getElementById('tdv'+idN+'_'+y).style.display="none" }
	document.getElementById('date'+idN+'_2').className=""
	}
}
function hflexib(object,idN,iv){
	if (object.checked) 
	{
		document.getElementById('hr'+idN+'_1_'+iv).style.display="";
		document.getElementById('hr'+idN+'_2_'+iv).style.display=""; 
	} else {
		document.getElementById('hr'+idN+'_1_'+iv).style.display="none";
		document.getElementById('hr'+idN+'_2_'+iv).style.display="none";
	}
}

function hflexib_c(object,idN,iv){
	if (object.checked) 
	{
		document.getElementById('tdc'+idN+'_1').style.display="";
		document.getElementById('tdc'+idN+'_2').style.display=""; 
		document.getElementById('cru_date'+idN+'_2').className="req";
	} else {
		document.getElementById('tdc'+idN+'_1').style.display="none";
		document.getElementById('tdc'+idN+'_2').style.display="none";
		document.getElementById('cru_date'+idN+'_2').className="";
	}
}

function hflexib_h(object,idN,iv){
	if (object.checked) 
	{
		document.getElementById('tdh'+idN+'_1_'+iv).style.display="";
		document.getElementById('tdh'+idN+'_2_'+iv).style.display=""; 
		document.getElementById('tdh'+idN+'_3_'+iv).style.display=""; 
		document.getElementById('hot_date'+idN+'_'+iv).className="req";
	} else {
		document.getElementById('tdh'+idN+'_1_'+iv).style.display="none";
		document.getElementById('tdh'+idN+'_2_'+iv).style.display="none";
		document.getElementById('tdh'+idN+'_3_'+iv).style.display="none";
		document.getElementById('hot_date'+idN+'_'+iv).className="";
	}
}

function hflexib_r(object,idN,iv){
	if (object.checked) 
	{
		document.getElementById('tdr'+idN+'_1_'+iv).style.display="";
		document.getElementById('tdr'+idN+'_2_'+iv).style.display=""; 
		document.getElementById('tdr'+idN+'_3_'+iv).style.display=""; 
		document.getElementById('coc_date'+idN+'_'+iv).className="req";
	} else {
		document.getElementById('tdr'+idN+'_1_'+iv).style.display="none";
		document.getElementById('tdr'+idN+'_2_'+iv).style.display="none";
		document.getElementById('tdr'+idN+'_3_'+iv).style.display="none";
		document.getElementById('coc_date'+idN+'_'+iv).className="";
	}
}


// ****************************************************************************************

function ffTip(strtmp) {
	Tip(strtmp, BALLOON, true,FADEIN,400,FADEOUT,400,OFFSETX,-5,ABOVE,true);
	}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function ff_formvalidate(formulario){
   var reqs='';
   var valid=true;
   var revcampos=0;
   var rd = getElementsByClass("req");
   for (var i = 0; i < rd.length; i++) { 
		   rd[i].style.backgroundColor="";
	    if (rd[i].value=='') {
		   colorTween = new ColorTween(rd[i].style, 'backgroundColor', Tween.regularEaseOut, 'FFFFFF', 'FFECE6',1);
		   revcampos++;
		   colorTween.start();
		   valid=false;
	   }   
   }
	if (valid==false) {
	  		   colorTween.onMotionFinished = function(){alert("Los campos marcados en rojo son obligatorios\n"+revcampos+" campos por revisar")};
			   return(false);
	}
document.forms[formulario].submit();
}

function proCheckbox(fieldCheckBox) 
	{
		if (document.getElementById('[t]' + fieldCheckBox).checked) {
		document.getElementById(fieldCheckBox).value=document.getElementById('[t]' + fieldCheckBox).value;
		} else {
		document.getElementById(fieldCheckBox).value='';	
		}
	}



function addObject(strObject,idN,idItem,lMode) {
  var tmpdiv = '' + strObject + idN
  var tmpdivloader = 'loader_' + strObject + idN
  var num    = document.getElementById('IDn' + strObject).value
	addElement(strObject,idN,lMode);
    document.getElementById(tmpdivloader).innerHTML="<table><tr><td width=40><img border=0 src=/images/load.gif width=32 height=32><font face=verdana size=1></td><td><font face=Verdana size=1 color=#808080>Cargando...</font></td></tr></table>"
	document.getElementById('IDn' + strObject).value=(num-1)+2;
	ajaxpage(strObject,idN,idItem, tmpdiv,lMode);
	document.getElementById('l_hide_' + strObject).style.display='';
}

function addElement(strObject,idN,lMode) {
  var tmpdiv ='' + strObject + idN
  var tmpdivloader ='loader_' + strObject + idN
  var ni     = document.getElementById('l_sforms_'+ strObject);
  hheight='360px';
  if (strObject=='paquete') { hheight='850px';} 
  if (strObject=='cruceros') { hheight='380px';}  
  if (strObject=='pasajeros') { hheight='120px';}  
  if (strObject=='pasajeros') { hheight='80px';}  
  if (strObject=='cruceros' && lMode=='1') { hheight='500px';}  
  if (strObject=='vacacional' && lMode=='1') { hheight='550px';}  
    
  var newdiv = document.createElement('div');
	  newdiv.setAttribute('style','display:none; overflow:hidden; height:' + hheight + ';');
  	  newdiv.setAttribute('id',tmpdiv);
  var newdivloader = document.createElement('div');
  	  newdivloader.setAttribute('id',tmpdivloader);
  ni.appendChild(newdivloader);
  ni.appendChild(newdiv);
}

function reuneCampos(divNum,strObject,campos){
	tmpvalue=''
	for (i=1; i<=campos; i++){
		if (document.getElementById(strObject+divNum+'_'+i).checked==true) {
		tmpvalue=tmpvalue+','+document.getElementById(strObject+divNum+'_'+i).value
		}
	}
	document.getElementById(strObject+'TOTAL'+divNum).value=tmpvalue;
}

function removeDiv(DivID,strObject) {
	var agree=confirm('¿Confirma que desea eliminarlo?');
	if (agree) {
		Slide(DivID,{duration:2}).up();
		setTimeout('removeElement("' + DivID + '","' + strObject + '");',2000)
		}
}

function removeElement(divNum, strObject) {
 var d = document.getElementById('l_sforms_' + strObject);
 if (document.getElementById(divNum)) {
	 	 var olddiv = document.getElementById(divNum);
	     d.removeChild(olddiv);
	}
}

function ajaxpage(strObject, idN, idItem, containerid,lMode){
	var url = '/ff_' + strObject + '.asp?t=' + idN + '&iditem=' + idItem + '&lmode=' + lMode
	var page_request = false;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	page_request = new XMLHttpRequest();
	else if (window.ActiveXObject){ // if IE
	try {
	page_request = new ActiveXObject("Msxml2.XMLHTTP")
	} 
	catch (e){
	try{
	page_request = new ActiveXObject("Microsoft.XMLHTTP")
	}
	catch (e){}
	}
	}
	else
	return false
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid,strObject,lMode)
		}
		
	if (bustcachevar) //if bust caching of external page
	bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
//	page_request.setRequestHeader('Content-Type', 'text/html; charset=iso-8859-1');
	if (page_request.overrideMimeType) { page_request.overrideMimeType('text/html; charset=iso-8859-1'); }  
	page_request.send(null)
}

function loadpage(page_request, containerid,strObject,lMode){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) 
	{
	  hheight='360px';
	  if (strObject=='paquete') { hheight='850px';} 
	  if (strObject=='cruceros') { hheight='380px';}  
	  if (strObject=='pasajeros') { hheight='120px';}  
	  if (strObject=='precios') { hheight='80px';}  
	  if (strObject=='cruceros' && lMode=='1') { hheight='500px';}  
	  if (strObject=='vacacional' && lMode=='1') { hheight='550px';}  
	  
	document.getElementById(containerid).style.display="none";
	document.getElementById(containerid).style.overflow="hidden";	
	document.getElementById(containerid).style.height=hheight;	
	document.getElementById(containerid).innerHTML=page_request.responseText;	
	Slide(containerid,{duration:2}).down();
	removeElement("loader_" + containerid, strObject);
	}
}

function loadobjs(){
	if (!document.getElementById)
	return
	for (i=0; i<arguments.length; i++){
	var file=arguments[i]
	var fileref=""
	if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
	if (file.indexOf(".js")!=-1){ //If object is a js file
	fileref=document.createElement('script')
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", file);
	}
	else if (file.indexOf(".css")!=-1){ //If object is a css file
	fileref=document.createElement("link")
	fileref.setAttribute("rel", "stylesheet");
	fileref.setAttribute("type", "text/css");
	fileref.setAttribute("href", file);
	}
	}
	if (fileref!=""){
	document.getElementsByTagName("head").item(0).appendChild(fileref)
	loadedobjects+=file+" " //Remember this object as being already added to page
	}
	}
}