var msg_selectcity = {
	'es': "Escoja ciudad",
	'en': "Select location",
	'ca': "Esculli ciutat",
	'fr': "Choisissez l'endroit"
}
var msg_error_in_city = {
	"es" : "Por favor, escoja una ciudad",
	"en" : "Please, select a city",
	"ca" : "Per favor, esculli una ciutat",
	"fr" : "S'il vous plaît, choisissez une ville"
}


var cities = { 
'acta' : 'Select location',
'barcelona' : 'Barcelona', 
'valencia' : 'Valencia',
'luchon' : 'Luchon-Francia',
'andorra' : 'Andorra'
};

/* Chuleta ID's provincias
-------------------------------------------------
22 | Albacete
20 | Alicante
23 | Almería
24 | Asturias
26 | Badajoz
27 | Barcelona
28 | Burgos
31 | Cantabria
32 | Castellón
33 | Ciudad Real
36 | Cuenca
29 | Cáceres
30 | Cádiz
34 | Córdoba
37 | Gerona
38 | Granada
39 | Guadalajara
40 | Guipúzcoa
41 | Huelva
42 | Huesca
43 | Islas Baleares
44 | Jaén
35 | La Coruña
56 | La Rioja
54 | Las Palmas
45 | León
47 | Lugo
46 | Lérida
48 | Madrid
50 | Murcia
49 | Málaga
51 | Navarra
52 | Orense
53 | Palencia
55 | Pontevedra
57 | Salamanca
58 | Santa Cruz de Tenerife
59 | Segovia
60 | Sevilla
61 | Soria
62 | Tarragona
63 | Teruel
64 | Toledo
65 | Valencia
66 | Valladolid
67 | Vizcaya
68 | Zamora
69 | Zaragoza
21 | Álava
25 | Ávila
-----------------------------------------------*/



function addEvent(obj, eventtype, func) {
   if (obj.addEventListener) {
       obj.addEventListener(eventtype, func, false);
   }
   else if (obj.attachEvent) {
       obj.attachEvent('on'+eventtype, func);
   }
}

function setSelect(ctl,select){
    for (var i=0; i < ctl.length ; i++){
        if (ctl[i].value == select){
           ctl[i].selected = true;
           ctl.selectedIndex = i;
        }
    }
}


function getSelect(ctl){
    var selected = ctl.selectedIndex;
    if (selected < 0) return "";
    if (!ctl[selected]){
       return "";
    }else {
       return ctl[selected].value;
    }
}


function get_Parameters(){
  var lista={};
  var values = null;
  var strURL = new String(document.location);
  var re = new RegExp("\\?");
  var parameter = re.exec(strURL);
  if (!parameter) { return ""; }
  else {
    var len = parameter[0].length;
    parameter = strURL.substring(parameter.index +len ,strURL.length);
    re = new RegExp("&");
    var param = re.exec(parameter);
    var param_tmp = "";
    while(param) {
      len = param[0].length;
      values = processParam(parameter.substring(0,param.index +len -1));
      lista[values[0]] = values[1];
      parameter = parameter.substring(param.index +len ,parameter.length);
      var param = re.exec(parameter);
    }
    values = processParam(parameter);
    lista[values[0]] = values[1];
    var searchdate = new Date( lista['inyear'] , lista['inmonth'] , lista['inday']);
    wrapper.setDatefromCalendar(searchdate,'initDate');
    setSelect(document.getElementById('nights'),lista['nights']);
    setSelect(document.getElementById('city'),lista['level1']);
    SubmitSearch();
  }
}


function processParam(parameter) {
   if (!parameter) return;
   var re = new RegExp("=");
   var param = re.exec(parameter);
   len = param[0].length;
   name = parameter.substring(0,param.index +len -1);
   value = parameter.substring(param.index +len ,parameter.length);
   return new Array(name,value);
}


function setCities() {
  var select = document.getElementById('city');

  /*var optgroup = document.createElement('option');
  optgroup.value = -1;
  optgroup.innerHTML= msg_selectcity[env_language];
  select.appendChild(optgroup);*/

  var option = document.createElement('option');
  option.value = -1;
  for (city in cities) {
    var option = document.createElement('option');
    option.value = city;
    option.innerHTML = cities[city];
    select.appendChild(option);
  }

}


function SubmitSearch() {
 
  var inDate = getInit();
  var outDate = getFin();

  var ifr = document.getElementById("resultTarget");

  if (getSelect(document.getElementById('city')) == -1 ) {
    alert(msg_error_in_city[env_language]); return;
  }


  if (ifr) {
	  var month = inDate.getMonth() + 1;
	  var url = "http://ws.hotelsearch.com/hotels/search/final?search_term=&language=en";
  	  url += '&original_query='+getSelect(document.getElementById('city'))+'&chain_id=501029';
      url += '&checkin='+inDate.getFullYear()+'-'+month+'-'+inDate.getDate();
      url += '&nights='+ (getNights(inDate,outDate));
			url += '&white_label=true&sort=hotelname';
			
			
      var page = '<html><head><style type="text/css">*{margin:0; padding:0 0 0 2px;} </style></head><body>';
      page +='<iframe width="900" height="580" frameborder="0" border="0" marginwidth="0" marginheight="0" id="finalIFR" src="';
      page += url+'"></iframe>';
      page += '</body></html>';	
	
      if (ifr.contentWindow) {
         ifr.contentWindow.document.open();
         ifr.contentWindow.document.clear();
         ifr.contentWindow.document.write(page);
         ifr.contentWindow.document.close();
       } else {
         ifr.document.open();
         ifr.document.clear();
         ifr.document.write(page);
         ifr.document.close();
       }
	var cssLink = document.createElement("link");
	cssLink.setAttribute("rel", "stylesheet");
	cssLink.setAttribute("type", "text/css");
	cssLink.setAttribute("href", "../css/results.css");
	ifr.contentWindow.document.getElementById("finalIFR").contentWindow.document.getElementsByTagName("head")[0].appendChild(cssLink); 
	
  } else {
	  var url = 'results.'+env_language+'.html?level1='+getSelect(document.getElementById('city'));
      url += '&inyear='+inDate.getFullYear()+'&inmonth='+inDate.getMonth()+'&inday='+inDate.getDate();
      url += '&outyear='+outDate.getFullYear()+'&outmonth='+outDate.getMonth()+'&outday='+outDate.getDate();
      url += '&nights='+ (getNights(inDate,outDate));
      document.location.href = url;
  }
}

function initMirai() {
	setCities();
	wrapper.setDatefromCalendar(new Date(),'initDate');
    setSelect(document.getElementById('nights'),1);
    setTimeout(function () { get_Parameters(); },300);
}

addEvent(window,'load', function () { initMirai(); });
