var cityLoad = false;
var dateLoad = false;

function close_layers() {
	if(dateLoad){
		document.getElementById("ifCalendarBox").style.display='none';
		dateLoad = false;
	}
	if(cityLoad){
		document.getElementById("ifCountriesBox").style.display='none';
		cityLoad = false;
	}
	if((document.getElementById("defCityBox")) && (document.getElementById("defCityBox").style.display=='block')){
		document.getElementById("defCityBox").style.display='none';
	}
}
function showFrameBox(address,obj,iframe, left, top){
    close_layers();
    if(address == '/edreams/espanol/newhome/opt2/returnCalendarPicker.jhtml' && document.getElementById("depDate").value == document.getElementById("labelFlexibleTxt").value){
		alert('Si pulsas sobre el boton buscar, el buscaprecios se encargara de mostrarte las fechas disponibles de retorno.');
		return false;
	}
    if(address == '/edreams/italiano/amadeus3b/pickers/returnCalendarPicker.jhtml' && document.getElementById("depDate").value == "Sono flessibile"){
		alert('Cliccando sul bottone cerca, il Cercaprezzi ti mostrerà le date disponibili per il ritorno.');
		return false;
	}
    if(address == '/edreams/shared/home/pickers/returnCalendarPicker.jhtml' && document.getElementById("depDate").value == document.getElementById("labelFlexibleTxt").value){
		alert('Click on the "Search Flight" button to display the available return dates.');
		return false;
	}
	if (document.getElementById(iframe)){
        var aBox = document.getElementById(iframe);
        var posTop = "1";
        var posLeft = "1";
        if(document.getElementById("seoSearchEngine")){
           if(document.getElementById("seoSearchEngine").style.position=="absolute"){
              posTop = findOffsetTop(document.getElementById(obj)) - findOffsetTop(document.getElementById("seoSearchEngine")) - top;
              posLeft = findOffsetLeft(document.getElementById(obj)) - findOffsetLeft(document.getElementById("seoSearchEngine")) - left;
           }else{
              posTop = findOffsetTop(document.getElementById(obj)) - top;
              posLeft = findOffsetLeft(document.getElementById(obj)) - left;
           }
        }else{
           posTop = findOffsetTop(document.getElementById(obj)) - top;
           posLeft = findOffsetLeft(document.getElementById(obj)) - left;
        }
        aBox.style.top =  posTop + 'px';
        aBox.style.left =  posLeft + 'px';
        aBox.style.display = 'block';
        document.getElementById(iframe+"FR").src=address;
	}
}
function findOffsetLeft(element) {
    return findOffset(element, "offsetLeft");
}

function findOffsetTop(element) {
    return findOffset(element, "offsetTop");
}

function findOffset(element, type) {
    var os = 0;
    while(element) {
        os += element[type];
        element = element.offsetParent;
    }
    return os;
}
function putCityValue(src,clr) {
	document.hotelsSearch.city.value=src;
}
function takeYear(theDate){
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}
function anyadirDias(pDate,pTotalDias,ptipo){
	fecha= new Date(pDate.substring(3,5) + "/" + pDate.substring(0,2)+ "/" + pDate.substring(6));
	fecha.setTime(fecha.getTime()+(pTotalDias*24*60*60*1000));
	dia = fecha.getDate();	if (dia<10) dia = "0" + dia;
	mes = fecha.getMonth()+1; if (mes<10) mes = "0" + mes;
	return (ptipo=='data') ? dia+"/"+mes+"/"+takeYear(fecha) : takeYear(fecha)+""+mes+""+dia;
}
function changeSearchEngine(aux){
	close_layers();
	if(aux=="flSearch"){
		document.getElementById("flSearch").style.display = "block";
		document.getElementById("hoSearch").style.display = "none";
		document.getElementById("sflSearch").style.fontWeight = "bold";
		document.getElementById("shoSearch").style.fontWeight = "normal";
		document.getElementById("cflSearch").checked=true;
		document.getElementById("choSearch").checked=false;
		if(document.getElementById("viSearch")){
			document.getElementById("viSearch").style.display = "none";
			document.getElementById("sviSearch").style.fontWeight = "normal";
			document.getElementById("cviSearch").checked=false;
		}
		if(document.getElementById("trSearch")){
			document.getElementById("trSearch").style.display = "none";
			document.getElementById("strSearch").style.fontWeight = "normal";
			document.getElementById("ctrSearch").checked=false;
		}
	}else if(aux=="hoSearch"){
		document.getElementById("flSearch").style.display = "none";
		document.getElementById("hoSearch").style.display = "block";
		document.getElementById("sflSearch").style.fontWeight = "normal";
		document.getElementById("shoSearch").style.fontWeight = "bold";
        document.getElementById("cflSearch").checked=false;
		document.getElementById("choSearch").checked=true;
		if(document.getElementById("viSearch")){
			document.getElementById("viSearch").style.display = "none";
			document.getElementById("sviSearch").style.fontWeight = "normal";
			document.getElementById("cviSearch").checked=false;
		}
		if(document.getElementById("trSearch")){
			document.getElementById("trSearch").style.display = "none";
			document.getElementById("strSearch").style.fontWeight = "normal";
			document.getElementById("ctrSearch").checked=false;
		}
	}else if(aux=="viSearch"){
		document.getElementById("flSearch").style.display = "none";
		document.getElementById("hoSearch").style.display = "none";
		document.getElementById("viSearch").style.display = "block";
		document.getElementById("sflSearch").style.fontWeight = "normal";
		document.getElementById("shoSearch").style.fontWeight = "normal";
		document.getElementById("sviSearch").style.fontWeight = "bold";
        document.getElementById("cflSearch").checked=false;
		document.getElementById("choSearch").checked=false;
		document.getElementById("cviSearch").checked=true;
		if(document.getElementById("trSearch")){
			document.getElementById("trSearch").style.display = "none";
			document.getElementById("strSearch").style.fontWeight = "normal";
			document.getElementById("ctrSearch").checked=false;
	    }
	}else if(aux=="trSearch"){
		document.getElementById("flSearch").style.display = "none";
		document.getElementById("hoSearch").style.display = "none";
		document.getElementById("viSearch").style.display = "none";
		document.getElementById("trSearch").style.display = "block";
		document.getElementById("sflSearch").style.fontWeight = "normal";
		document.getElementById("shoSearch").style.fontWeight = "normal";
		document.getElementById("sviSearch").style.fontWeight = "normal";
		document.getElementById("strSearch").style.fontWeight = "bold";
		document.getElementById("cflSearch").checked=false;
		document.getElementById("choSearch").checked=false;
		document.getElementById("cviSearch").checked=false;
		document.getElementById("ctrSearch").checked=true;
	}
    if(document.getElementById('sflSearch')){
        document.getElementById('sflSearch').style.color="#000";
    }
    if(document.getElementById('shoSearch')){
        document.getElementById('shoSearch').style.color="#000";
    }
    if(document.getElementById('sviSearch')){
        document.getElementById('sviSearch').style.color="#000";
    }
    if(document.getElementById('strSearch')){
        document.getElementById('strSearch').style.color="#000";
    }
    document.getElementById('topBox').style.color="#000";
    return false;
}
function initSearchEngine(){
	document.getElementById("cflSearch").checked=false;
	document.getElementById("choSearch").checked=false;
	if(document.getElementById("cviSearch")){
		document.getElementById("cviSearch").checked=false;
	}
	if(document.getElementById("ctrSearch")){
		document.getElementById("ctrSearch").checked=false;
	}
	changeSearchEngine('flSearch');
}
function cleanUp(obj, txt) {
	if (obj.value == txt) {
		obj.value='';
	}
	return;
}
function setSwooshStep(step,tipo, formId){
}
function getCookie(c_name){
    if(document.cookie.length>0){
        c_start = document.cookie.indexOf(c_name + "=");
        if(c_start!=-1){
           c_start = c_start + c_name.length+1;
           c_end = document.cookie.indexOf(";", c_start);
           if (c_end==-1) c_end = document.cookie.length;
           return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
function replaceAll(str, stringToFind, stringToReplace){
    var temp = str;
    var index = temp.indexOf(stringToFind);
    while(index != -1){
          temp = temp.replace(stringToFind, stringToReplace);
          index = temp.indexOf(stringToFind);
    }
    return temp;
}
function jsUserSelectionBean(){
    var fsearchCookieVal = getCookie("fsearch");
    if(fsearchCookieVal && fsearchCookieVal!=""){
        var arrCookie = fsearchCookieVal.split("|");

        var tripType = arrCookie[0];
        var departureCity = arrCookie[1];
        var arrivalCity = arrCookie[2];
        var adults = arrCookie[3];
        var childs = arrCookie[4];
        var infants = arrCookie[5];
        var depDate = arrCookie[6];
        var retDate = arrCookie[7];

        if(tripType==0 || tripType=='ONE_WAY'){
            document.getElementById('tripType_ida').checked = true;
        }else{
            document.getElementById('tripType_idavuelta').checked = true;
            document.getElementById('retDate').value = replaceAll(retDate, '$', '/');
        }
        document.getElementById('departureCity').value = departureCity;
        document.getElementById('arrivalCity').value = arrivalCity;
        document.getElementById('adults').selectedIndex = adults-1;
        document.getElementById('childs').selectedIndex = childs;
        document.getElementById('infants').selectedIndex = infants;
        document.getElementById('depDate').value = replaceAll(depDate, '$', '/');
    }
    var hsearchCookieVal = getCookie("hsearch");
    if(hsearchCookieVal && hsearchCookieVal!=""){
        var arrCookie = hsearchCookieVal.split("*");

        var cityName = arrCookie[0];
        var numadults = arrCookie[1];
        var numchildren = arrCookie[2];
        var numberOfRooms = arrCookie[3];
        var arrivalDate = arrCookie[4];
        var departureDate = arrCookie[5];
        if(numadults>4){
           numadults = 4;
        }
        if(numchildren>2){
           numchildren = 2;
        }
        if(numberOfRooms>4){
           numberOfRooms = 4;
        }

        document.getElementById('cityName').value = cityName;
        document.getElementById('idnumadults').selectedIndex = numadults-1;
        document.getElementById('idnumchildren').selectedIndex = numchildren;
        document.getElementById('numberOfRooms').selectedIndex = numberOfRooms-1;
        document.getElementById('arrivalDate').value = replaceAll(arrivalDate, '$', '/');
        document.getElementById('departureDate').value = replaceAll(departureDate, '$', '/');
    }
    var dynpsearchv3CookieVal = getCookie("dynpsearchv3");
    if(dynpsearchv3CookieVal && dynpsearchv3CookieVal!=""){
        var arrCookie = dynpsearchv3CookieVal.split("*");

        var departureCity = arrCookie[0];
        var arrivalCity = arrCookie[1];
        var depDate = arrCookie[2];
        var retDate = arrCookie[3];
        var numberOfRooms = arrCookie[4];
        var numadults = arrCookie[5];
        var numchildren = arrCookie[6];
        if(numadults>4){
           numadults = 4;
        }
        if(numchildren>2){
           numchildren = 2;
        }
        if(numberOfRooms>4){
           numberOfRooms = 4;
        }

        document.getElementById('dynDepartureCity').value = departureCity;
        document.getElementById('dynArrivalCity').value = arrivalCity;
        document.getElementById('dynDepartureDate').value = replaceAll(depDate, '$', '/');;
        document.getElementById('dynReturnDate').value = replaceAll(retDate, '$', '/');;
        document.getElementById('dynNumOfRooms').selectedIndex = numberOfRooms-1;
        document.getElementById('dynNumOfAdults').selectedIndex = numadults-1;
        document.getElementById('dynNumOfChildren').selectedIndex = numchildren;
    }

    var nowDate = new Date();

    if(document.getElementById('depDate')){
        if(isFormDateOldThanToday('depDate')){
            document.getElementById('depDate').value = addNdaysToday(1);
        }
    }
    if(document.getElementById('retDate')){
        if(isFormDateOldThanToday('retDate')){
            document.getElementById('retDate').value = addNdaysToday(3);
        }
    }
    if(document.getElementById('arrivalDate') && document.getElementById('departureDate')){
        //if(isFormDateOldThanToday('arrivalDate')){
            var todayDate = new Date();
            var arrivalDate;
            var departureDate;

            switch(todayDate.getDay()){
                case 0:
                    //sunday
                    arrivalDate = anyadirDias(formatDate(todayDate), 12, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 14, 'data');
                    break;
                case 1:
                    //monday
                    arrivalDate = anyadirDias(formatDate(todayDate), 11, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 13, 'data');
                    break;
                case 2:
                    //tuesday
                    arrivalDate = anyadirDias(formatDate(todayDate), 10, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 12, 'data');
                    break;
                case 3:
                    //wednesday
                    arrivalDate = anyadirDias(formatDate(todayDate), 9, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 11, 'data');
                    break;
                case 4:
                    //thursday
                    arrivalDate = anyadirDias(formatDate(todayDate), 8, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 10, 'data');
                    break;
                case 5:
                    //friday
                    arrivalDate = anyadirDias(formatDate(todayDate), 7, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 9, 'data');
                    break;
                case 6:
                    //saturday
                    arrivalDate = anyadirDias(formatDate(todayDate), 6, 'data');
                    departureDate = anyadirDias(formatDate(todayDate), 8, 'data');
                    break;
                default:
            }
            document.getElementById('arrivalDate').value=arrivalDate;
            document.getElementById('departureDate').value=departureDate;
        //}
    }
    if(document.getElementById('dynDepartureDate') && document.getElementById('dynReturnDate')){
        if(isFormDateOldThanToday('dynDepartureDate')){
            var todayDate = new Date();
            var date1;
            var date2;

            switch(todayDate.getDay()){
                case 0:
                    //sunday
                    date1 = anyadirDias(formatDate(todayDate), 12, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 14, 'data');
                    break;
                case 1:
                    //monday
                    date1 = anyadirDias(formatDate(todayDate), 11, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 13, 'data');
                    break;
                case 2:
                    //tuesday
                    date1 = anyadirDias(formatDate(todayDate), 10, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 12, 'data');
                    break;
                case 3:
                    //wednesday
                    date1 = anyadirDias(formatDate(todayDate), 9, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 11, 'data');
                    break;
                case 4:
                    //thursday
                    date1 = anyadirDias(formatDate(todayDate), 8, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 10, 'data');
                    break;
                case 5:
                    //friday
                    date1 = anyadirDias(formatDate(todayDate), 7, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 9, 'data');
                    break;
                case 6:
                    //saturday
                    date1 = anyadirDias(formatDate(todayDate), 6, 'data');
                    date2 = anyadirDias(formatDate(todayDate), 8, 'data');
                    break;
                default:
            }
            document.getElementById('dynDepartureDate').value=date1;
            document.getElementById('dynReturnDate').value=date2;
        }
    }
}
function isFormDateOldThanToday(formDateID){
    var nowDate = new Date();
    var formDate = document.getElementById(formDateID).value;
    var formDateObj = new Date(formDate.substring(3,5) + "/" + formDate.substring(0,2)+ "/" + formDate.substring(6));
    if(formDateObj <= nowDate){
        return true;
    }else{
        return false;
    }
}
function addNdaysToday(numDays){
    var nowDate = new Date();
    var nowDateDD = nowDate.getDate();
    if (nowDateDD < 10){
        nowDateDD = "0" + nowDateDD;
    }
    var nowDateMM = nowDate.getMonth() + 1;
    if (nowDateMM < 10){
        nowDateMM = "0" + nowDateMM;
    }
    var nowDateFormat = nowDateDD + "/" + nowDateMM + "/" + takeYear(nowDate);

    return anyadirDias(nowDateFormat, numDays, 'data')
}

