var hotelsForm = Array({"field" : "city", "method" : "validateTextField"},
                     {"field" : "indate", "method" : "validateTextField"},
                     {"field" : "outdate", "method" : "validateTextField"});


function HotelsPage(container) 
  {
  this.container = container;
  this.cookie = "HotelsPageCookie";
  this.form = document.forms["hotelsForm"];
  this.browserBackCookie = "HotelsbrowserBackCookie";
  this.letsGoCookie = "letsGoCookie";

  //reset minibooker values
  $("city").value = "";
  $("indate").value = "";
  $("outdate").value = "";


  // mini booker stuff
  this.panel1 = new GenericPanel( "whereTo", "\277D\363nde te est\341s hospedando?", "city", 0, airports, "hotelsForm");
  this.calPair1 = new CalendarPair("cal0", "cal1", "indate", "outdate","","");

  this.validator = new Validator("hotelsForm", "errorMessage", false);
  var o = this;

  //Form submit
  $("HotelSubmit").onclick = function() { return o.submitForm('hotelsForm'); }


  var urlVars = getURLParameters();
  if (urlVars != null) {
      if (urlVars.length == 1) {
       if(urlVars[0].length == 3) {
          this.panel1.preset(urlVars[0]);
          this.panel2.preset(urlVars[0]);
      }      

      }
  }
  
  var cookie = getCookie(this.cookie);
 
  if(cookie) {
    var jar = document.getElementsByClassName("cookieJar", this.container);
    var cookieObject = eval(cookie);
    jar[0].appendChild(document.createTextNode("B\372squeda reciente: "));
    var link = document.createElement("a");
    link.href = "#";
    link.id = "prepopMB";
    
    link.title = cookieObject[0].fields[0].value + " - " + 
                 cookieObject[0].fields[1].value + " el " + 
                 cookieObject[0].fields[2].value;

    link.appendChild(document.createTextNode(cookieObject[0].fields[0].readable));
    jar[0].appendChild(link);
    $("prepopMB").onclick = function() { o.prepopMB(cookieObject[0].fields[0].value,cookieObject[0].fields[1].value,cookieObject[0].fields[2].value); }
  }  

  //letsgo cookie
  var letsGoCookie = getCookie("letsGoCookie");
  
  if(letsGoCookie) {
      var cookieLetsGoObject = eval(letsGoCookie);
      if($("browserBack").value == cookieLetsGoObject[0].fields[0].browserBack) {
        this.panel2.preset(cookieLetsGoObject[0].fields[0].value);
        this.getDeals();
      }
       
   }   
    
  //browserBackButton Cookie
  $("browserBack").value = Math.floor(Math.random()*110); 
  $("tdFlBooker").style.display = 'block'; 

}


HotelsPage.prototype.initializeLetsGo = function() {
  var links = $("dealsList").getElementsByTagName("a");
  var o = this;
  for(i=0;i<links.length;i++) {
    links[i].onclick = function() { o.setLetsGoCookie(); }
  }

}

HotelsPage.prototype.submitForm = function() {
  var result = this.validator.validate();
  var cookieObject = new Object();

  if(result.length == undefined)
    {
    
    var cityTo = this.panel1.getReadable();
    cityTo_start = cityTo.indexOf("(");
    cityTo = cityTo.substring(cityTo_start+1,cityTo_start+4);
    
    cookieObject.displayValue = this.panel1.getReadable();
    cookieObject.fields = new Array();
    cookieObject.fields.push({
                        "value" : cityTo,
                        "readable" : this.panel1.getReadable()});

    cookieObject.fields.push({ 
                        "value" : this.calPair1.getValue1() 
                        });

    cookieObject.fields.push({
                        "value" : this.calPair1.getValue2()
                        });	
   
    addTracking(this.cookie, cookieObject);



    indate = $("indate").value;
    indate = indate.split("/");
    $("arrivalMonth").value = indate[0]-1;
    $("arrivalDay").value = indate[1];
    outdate = $("outdate").value;
    outdate = outdate.split("/");
    $("departureMonth").value = outdate[0]-1;
    $("departureDay").value = outdate[1];
  
    document.hotelsForm.submit();

    return true;
  }
  else
    return false;
  }

HotelsPage.prototype.setLetsGoCookie = function() {
   deleteCookie(this.letsGoCookie);
   if($("area3").value != "") {
     var cookieObject = new Object();
     cookieObject.fields = new Array();
     cookieObject.fields.push({"value" : $("area3").value, "browserBack" : $("browserBack").value});

     var trackedParts = new Array();
     trackedParts.push(cookieObject);
     setCookie(this.letsGoCookie, trackedParts.toJSONString(), $("browserBack").value);   
   }
}


HotelsPage.prototype.prepopMB = function(toCity, fromdt, todt, adults,children,room,childrenAge1,childrenAge2,childrenAge3,childrenAge4,childrenAge5,childrenAge6) {
 
  this.panel1.preset(toCity);
  this.calPair1.preset0(fromdt);
  this.calPair1.preset1(todt);
 
}


function getURLParameters() 
{
	var sURL = window.document.URL.toString();
	
	if (sURL.indexOf("?") > 0)
	{
		var arrParams = sURL.split("?");
			
		var arrURLParams = arrParams[1].split("&");
		
		var arrParamNames = new Array(arrURLParams.length);
		var arrParamValues = new Array(arrURLParams.length);
		
		var i = 0;
		for (i=0;i<arrURLParams.length;i++)
		{
			var sParam =  arrURLParams[i].split("=");
			arrParamNames[i] = sParam[0];
			if (sParam[1] != "")
				arrParamValues[i] = unescape(sParam[1]);
			else
				arrParamValues[i] = "No Value";
		}	
	}
	return arrParamValues;
}


window.onload = init;

function init() {

  //BrowserBackButton Cookie check
  //browserBackCookie = getCookie("HotelsbrowserBackCookie");
 
      //prepop = true;
    //}
  //}
 // var prepop = false;
  
  //if(browserBackCookie) {
    //if($("browserBack").value == cookieObject[0].fields[13].value) {
      
      //prepop = true;
    //}
  //}
  
  //var page = new HotelsPage("tdFlBookerTop");
  //initLightbox();

 

//  if(prepop) {
  //   page.prepopMB(cookieObject[0].fields[0].value,cookieObject[0].fields[1].value,cookieObject[0].fields[2].value,cookieObject[0].fields[3].value,cookieObject[0].fields[4].value,cookieObject[0].fields[5].value,cookieObject[0].fields[6].value,cookieObject[0].fields[7].value,cookieObject[0].fields[8].value,cookieObject[0].fields[9].value,cookieObject[0].fields[10].value,cookieObject[0].fields[11].value);
  //}
}


// Dean Edwards/Matthias Miller/John Resig

function init() {
  // quit if this function has already been called
  if (arguments.callee.done) return;

  // flag this function so we don't do the same thing twice
  arguments.callee.done = true;

  // kill the timer
  if (_timer) clearInterval(_timer);

  var page = new HotelsPage("tdFlBookerTop");
  initLightbox();

};

/* for Mozilla/Opera9 */
if (document.addEventListener) {
  document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
  document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
  var script = document.getElementById("__ie_onload");
  script.onreadystatechange = function() {
    if (this.readyState == "complete") {
      init(); // call the onload handler
    }
  };
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
  var _timer = setInterval(function() {
    if (/loaded|complete/.test(document.readyState)) {
      init(); // call the onload handler
    }
  }, 10);
}

GenericPanel.prototype.setField = function(text,id) {
  var id= id.split("_");
  id = id[1];
  
  var state_country = this.set[id][2];
  var country = state_country.split(",");
  var destination = text.split(",");
  document.getElementById("city").value = destination[0] + "," + state_country;
  document.getElementById("country").value = country[1];
  document.getElementById("panInput_0").value = text;

}


