var o_navigator = navigator.userAgent.toLowerCase();
var isMacIE = (o_navigator.indexOf("msie 5") > -1 && o_navigator.indexOf("mac") > -1) ? 1 : 0;
var isPCIE = (o_navigator.indexOf("msie") > -1 && !isMacIE && o_navigator.indexOf("opera") == -1) ? 1 : 0;
var isOpera = o_navigator.indexOf("opera") > -1 ? 1 : 0;
var isKHTML = o_navigator.indexOf("khtml") > -1 ? 1 : 0;
var s_jscall = (isPCIE) ? "parent." : "";


switch (hp_language)
{
    case ("NL"):
        var header = "<a href='javascript:void(0)' class='closeButton' onclick='" + s_jscall + "closeCal();return false;'><img class='hand' alt='Sluiten' src='/www/images/closecalender.gif' border='0' /></a>";
        var mArray_nl = new Array("Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December");
        var dArray_nl = new Array("Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo");
        var footer = createMonthOrder(mArray_nl);
        break;
    case ("EN"):
        var header = "<a href='javascript:void(0)' class='closeButton' onclick='" + s_jscall + "closeCal();return false;'><img class='hand' alt='Close' src='/www/images/closecalender.gif' border='0' /></a>";
        var mArray_nl = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
        var dArray_nl = new Array("Mo", "Tu", "We", "Th", "Fr", "Sa", "Su");
        var footer = createMonthOrder(mArray_nl);
        break;
    default:
        var header = "<a href='javascript:void(0)' class='closeButton' onclick='" + s_jscall + "closeCal();return false;'><img class='hand' alt='Sluiten' src='/www/images/closecalender.gif' border='0' /></a>";
        var mArray_nl = new Array("Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December");
        var dArray_nl = new Array("Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo");
        var footer = createMonthOrder(mArray_nl);
}

function createMonthOrder(arrayMonths)
{
    var output = "";
    var today = new Date();

    var currentMonth = today.getMonth();
    var currentYear = today.getFullYear();
    var nextYear = parseInt(currentYear) + 1;

    //Michael 01-07-2010: Houdt rekening wanneer de huidige datum de laatste dag van de maand is. Genereert bug, door huidige maand + jaar later te pakken.
    var currentDay = today.getDate();
    var lastDayOfCurrentMonth = new Date(currentYear, (currentMonth + 1), 0).getDate();

    if (currentDay == lastDayOfCurrentMonth) { currentMonth += 1; }

    output += currentYear + ": ";
    //Loop door maanden heen en laat het beginnen met de huidige maand.
    for (var i = currentMonth; i < arrayMonths.length; i++)
    {
        if (i < (currentMonth + 2))
        {
            output += "<a id='" + i + "" + currentYear + "' class='currentmonth' href='javascript:void(0)' onclick='parent.ty_changeMonthYear(" + i + ", " + currentYear + "); parent.preventClose(event); return false;'>" + arrayMonths[i] + "</a>";
        } else
        {
            output += "<a id='" + i + "" + currentYear + "' class='kalenderlink' href='javascript:void(0)' onclick='parent.ty_changeMonthYear(" + i + ", " + currentYear + "); parent.preventClose(event); return false;'>" + arrayMonths[i] + "</a>";
        }

        if (i < 11) { output += " - " }
    }

    //Jaartal tonen
    if (currentMonth > 1)
    {
        output += "<span style='padding-left: 20px;'>" + nextYear + ": </span>";
    }

    //Als huidige maand groter dan Januari is, dan na december verder gaan.
    for (var j = 0; j < currentMonth; j++)
    {
        if (j == 0)
        {
            output += " <a id='" + j + "" + nextYear + "' class='kalenderlink' href='javascript:void(0)' onclick='parent.ty_changeMonthYear(" + j + ", " + nextYear + "); parent.preventClose(event); return false;'>" + arrayMonths[j] + "</a>";
        } else
        {
            output += " - <a id='" + j + "" + nextYear + "' class='kalenderlink' href='javascript:void(0)' onclick='parent.ty_changeMonthYear(" + j + ", " + nextYear + "); parent.preventClose(event); return false;'>" + arrayMonths[j] + "</a>";
        }

    }

    return output;
}

function setSelectedMonths(selectedMonth)
{
    var today = new Date();
    var currentMonth = today.getMonth();
    var currentYear = today.getFullYear();
    var nextYear = parseInt(currentYear) + 1;

    var tempmonth = selectedMonth > 11 ? 0 : selectedMonth;
    var currentNewYear = tempmonth < currentMonth ? (currentYear + 1) : currentYear;
    var currentNewMonth = tempmonth;

    var firstMonthID = currentNewMonth + "" + currentNewYear;

    var tempMonth = (selectedMonth + 1) <= 11 ? (selectedMonth + 1) : currentNewYear < nextNewYear ? 0 : 1;
    var nextNewYear = (tempMonth) <= currentMonth ? (currentYear + 1) : currentYear;
    var nextMonth = (selectedMonth + 1) <= 11 ? (selectedMonth + 1) : currentNewYear < nextNewYear ? 0 : 1;

    var secondMonthID = nextMonth + "" + nextNewYear;

    //alert(firstMonthID + " - " +  secondMonthID);

    //Loop door maanden heen en laat het beginnen met de huidige maand.
    for (var i = currentMonth; i < mArray_nl.length; i++)
    {
        var id = i + "" + currentYear;

        if (document.getElementById(id))
        {
            if (id == firstMonthID || id == secondMonthID)
            {
                document.getElementById(id).className = "currentmonth";
            } else
            {
                document.getElementById(id).className = "kalenderlink";
            }
        } else
        {
            if (window.frames[0].document.getElementById(id))
            {
                if (id == firstMonthID || id == secondMonthID)
                {
                    window.frames[0].document.getElementById(id).className = "currentmonth";
                } else
                {
                    window.frames[0].document.getElementById(id).className = "kalenderlink";
                }
            }
        }
    }

    //Als huidige maand groter dan Januari is, dan na december verder gaan.
    for (var j = 0; j < currentMonth; j++)
    {
        var id = j + "" + nextYear;

        if (document.getElementById(id))
        {
            if (id == firstMonthID || id == secondMonthID)
            {
                document.getElementById(id).className = "currentmonth";
            } else
            {
                document.getElementById(id).className = "kalenderlink";
            }
        } else
        {
            if (window.frames[0].document.getElementById(id))
            {
                if (id == firstMonthID || id == secondMonthID)
                {
                    window.frames[0].document.getElementById(id).className = "currentmonth";
                } else
                {
                    window.frames[0].document.getElementById(id).className = "kalenderlink";
                }
            }
        }
    }
}

//var mArray	= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
//var mArray_nl= new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
//var dArray = new Array("Mo", "Tu", "We", "Th", "Fr", "Sa", "Su");
//var dArray_nl = new Array("Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo");


var caller = "";
var datesArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var today = new Date(); 		//todays date
var tommorow = today.setDate(today.getDate() + 1);
var cD = today.getDay(); 	//current day of week 0-6
var cT = today.getDate(); 	//current day 1-31
var cM = today.getMonth(); 	//current month 0-11
var cMDs = datesArray[cM]; 	//number of days in current month
var cY = today.getFullYear(); //js method	not used here//current Year
var newT = cT; 				//cal selected date
var newM = cM; 				//cal selected month
var newY = cY; 				//cal selected year
var newDs = cMDs; 				//days for selected Month
var newD = cD; 				//day of week
var numCalendars = 2; 				//number of calendars you want to create
var calDirection = "horizontal"; 		//put "horizontal" or "vertical"
var calopen = 0; 				//boolean set state of iframe "0" closed "1" open;
var dateformat = "nl"; 					// insert date format
var o_windowparent = top; 				//set parent frame
var o_input = 0;
var o_month = 0; var o_date = 0;
var o_iframecal = 0;
var o_from; var o_to;
var v_from; var v_to;
var d_makefrom = 0;
var d_maketo = 0;
var s_lang = "nl";
var o_currentDate = false;
var i_firstMonth = cM;
var i_sfirstYear = cY;
var i_sfirstMonth = cM;
var i_ofirstYear = cY;
var i_ofirstMonth = cM;
var b_calinit = 0;
var o_row = null;
var i_numcal = 0;
var o_calbody = null; //where to write the calendar
var next = "";
var prev = "";
var main = new Array();

var b_date331 = 0;
var a_input = 0;
var s_inputtype = "object"; //for text input or select list input
var a_v_input = null;
var closeCalendar = true;

function findFirstDay()
{
    firstDay = new Date();
    firstDay.setDate(1);
    firstDay.setMonth(newM);
    firstDay.setFullYear(newY);

    //Ervoor zorgen dat overal -1, om week bij maandag te laten beginnen.
    var normalday = firstDay.getDay();
    if (normalday == 0)
    {
        normalday = 6;
    } else
    {
        normalday -= 1;
    }

    return normalday;
}

/*function checkLibralab(d_date){

b_check331 =  d_date > today;
  
return b_check331;


}*/

function check331(d_date)
{
    i_date331 = Math.floor((d_date - tommorow) / 86400000);
    b_check331 = (i_date331 > 330) ? 1 : 0;
    //b_check331 = i_date331
    return b_check331;
}
function vm_setupCal()
{
    i_numcal = 0;
    vm_makeCal(cM);
}
function preventClose(evt)
{

    closeCalendar = false;
    if (isKHTML || isOpera) evt.stopPropagation();
}
function ty_makeDate(which)
{
    d_makedate = new Date(newY, newM, which);
    b_date331 = check331(d_makedate);
    //b_date331 = checkLibralab(d_makedate);
    if ((cT > which && cM == newM && cY == newY) || b_date331)
    {
        s_makeDate = "<td class='calDateOff'>";
        s_makeDate += which;
    } else
    {
        if (d_makefrom || d_maketo)
        {

            //    $j("#what").val("from: " + d_makefrom + " | To:" + d_maketo + " | :" + d_makedate)

            if (d_makefrom > d_maketo)
            {
                s_makeDate = ((d_makedate.toString() == d_makefrom.toString())) ? "<td class='calDateSelX'>" : ((d_makedate.toString() == d_maketo.toString())) ? "<td class='calDateSel'>" : (d_makedate > d_makefrom && d_makedate < d_maketo && d_makefrom) ? "<td class='calDateRng'>" : "<td class='calDate'>";
            }
            if (d_makefrom < d_maketo)
            {
                s_makeDate = ((d_makedate.toString() == d_makefrom.toString())) ? "<td class='calDateSel'>" : ((d_makedate.toString() == d_maketo.toString())) ? "<td class='calDateSelX'>" : (d_makedate > d_makefrom && d_makedate < d_maketo && d_makefrom) ? "<td class='calDateRng'>" : "<td class='calDate'>";
            }
        } else
        {
            s_makeDate = "<td class='calDate'>";
        }
        s_makeDate += "<a href='#' onclick='" + s_jscall + "ty_setDate(" + newM + "," + which + ",this.parentNode," + newY + ");return false;' class='calDateA'>";
        s_makeDate += which;
        s_makeDate += "</a>";
    }
    s_makeDate += "</td>\n";
    return s_makeDate;
}
function ty_maketr(what)
{
    s_tr = "<tr>\n";
    s_tr += what;
    s_tr += "</tr>\n";
    return s_tr;
}
function ty_changeMonthYear(which, year)
{
    i_numcal = 0;
    o_calbody.innerHTML = "";
    newY = year;
    vm_makeCal(which);
}
function ty_changeMonths(which)
{
    i_numcal = 0;
    o_calbody.innerHTML = "";
    if (which < 0)
    {
        which = 11;
        newY--;
    }
    vm_makeCal(which);
}
function vm_makeCal(whichMonth, chkDate)
{

    //Kalenderfix Martijn 1-7-2010
    if (d_makefrom < today && chkDate == true)
    {
        if (i_numcal == 0)
        {
            whichMonth = cM;
        }
        else
        {
            whichMonth = cM + 1;
        }
    }
    //Einde kalenderfix

    b_calinit = 1;
    o_cal = "";
    o_caltr = ""; o_caltd = "";
    newM = whichMonth;
    if (newM < cM) newY = cY + 1;
    if (newM >= 12)
    {
        newM = whichMonth - 12;
        newY++;
    }

    if (i_numcal == 0)
    {
        i_firstMonth = newM
        switch (s_inputtype)
        {
            case "object":
                i_ofirstMonth = newM;
                i_ofirstYear = newY;
                break;
            default:
                i_sfirstMonth = newM;
                i_sfirstYear = newY;
        }
    }
    newDs = datesArray[newM];
    isLeap = (newY % 4 == 0 && (newY % 100 != 0 || newY % 400 == 0)) ? 1 : 0
    if (newM == 1) newDs = newDs + isLeap;
    newD = findFirstDay();
    countDay = newD;
    s_calclass = (calDirection == "vertical") ? "calTableV" : "calTableH";

    // vorige maand
    if (i_numcal == 0)
    {
        prev = next = "";
        if (newM == cM && newY == cY)
        {
            prev += "";
        }
        else
        {
            prev += "<img id='previous' onclick='" + s_jscall + "ty_changeMonths(" + i_firstMonth + "-1);" + s_jscall + "preventClose(event);return false;' class='hand' src='/www/images/arrow-left.gif' border='0' alt='vorige maand'>";
        }
        // volgende maand
        if ((newM != cM - 1) && (!b_date331))
        {
            next += "<img id='next' onclick='" + s_jscall + "ty_changeMonths(" + i_firstMonth + "+1);" + s_jscall + "preventClose(event);return false;' class='hand'  src='/www/images/arrow-right.gif' border='0' alt='volgende maand'>";
        }
        else
        {
            next += "";
        }
    }


    o_cal += "<table align='center' month='" + newM + "' year='" + newY + "' cellpadding='0' cellspacing='0' border='0' class='" + s_calclass + "'>\n";
    o_caltr += "<tr  class='calRowHighlight'>\n";
    o_caltd += "<td  colspan='7' class='calLabel'>";
    //	o_caltd+= mArray_nl[newM]+"&nbsp;"+newY;
    if (i_numcal == 0)
    {
        if (prev == "")
        {
            o_caltd += "<table height='16px;' width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td>" + prev + "</td>";
            o_caltd += "<td class='calLabel' style='text-align:center'>" + mArray_nl[newM] + "&nbsp;" + newY + "</td></tr></table>";
        }
        else
        {
            o_caltd += "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td style='text-align:center;width:16px;'>" + prev + "</td>"; ;
            o_caltd += "<td class='calLabel' style='text-align:center;'>" + mArray_nl[newM] + "&nbsp;" + newY + "</td></tr></table>";
        }



    }
    else
    {
        o_caltd += "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td class='calLabel' style='text-align:center;'>" + mArray_nl[newM] + "&nbsp;" + newY + "</td>";

        if (next == "")
        {
            o_caltd += "<td style='text-align:center'>" + next + "</td></tr></table>";
        }
        else
        {
            o_caltd += "<td style='text-align:center;width:16px;padding-right:2px;'>" + next + "</td></tr></table>";
        }

    }


    o_caltd += "</td>";
    o_caltr += o_caltd;
    o_caltr += "</tr>\n";
    o_cal += o_caltr;
    o_caltd = "";
    for (i = 0; i < dArray_nl.length; i++)
    {
        o_caltd += "<td class='calDayName'>";
        o_caltd += dArray_nl[i];
        o_caltd += "</td>\n";
    }
    o_caltr = ty_maketr(o_caltd);
    o_cal += o_caltr;
    o_caltd = "";
    i_calRows = 0;

    for (d = 1; d <= newDs; d++)
    {
        if (d == 1) for (bd = 0; bd < newD; bd++) o_caltd += "<td class='calDate'>&nbsp;</td>\n";
        o_caltd += ty_makeDate(d);
        countDay++;
        if (countDay == 7)
        {
            countDay = 0;
            o_caltr = ty_maketr(o_caltd);
            o_cal += o_caltr;
            o_caltd = "";
            i_calRows++
        }
        if (d == newDs && countDay != 0)
        {
            for (bd = countDay; bd < 7; bd++) o_caltd += "<td class='calDate'>&nbsp;</td>\n";
            o_caltr = ty_maketr(o_caltd);
            o_cal += o_caltr;
            o_caltd = "";
            i_calRows++
        }
    }
    if (i_calRows < 6)
    {
        o_caltd = "";
        for (bd = 0; bd < 7; bd++) o_caltd += "<td class='calDate'>&nbsp;</td>\n";
        o_caltr = ty_maketr(o_caltd);
        o_cal += o_caltr;
    }
    o_cal += "</table>";
    // Header



    main[i_numcal] = o_cal;
    i_numcal++;
    // closelink onderaan
    if (i_numcal == numCalendars)
    {
        var container = "";
        container += "<table class='container'>\n";
        container += "  <tr>\n";
        container += "    <td class='header' colspan='2' align='right'>" + header + "</td>\n";
        container += "  </tr>\n";
        container += "  <tr>\n";
        container += "    <td class='main' id='left'>" + main[0] + "</td>\n";
        container += "    <td class='main' id='right'>" + main[1] + "</td>\n";
        container += "  </tr>\n";
        container += "  <tr>\n";
        container += "    <td class='footer' colspan='2'>" + footer + "</td>\n";
        container += "  </tr>\n";
        container += "</table>\n";
        o_calbody.innerHTML += container;
    }
    if (i_numcal < numCalendars) vm_makeCal(newM + 1);
    else if (i_firstMonth > newM)
    {
        newY--;
    }

    setSelectedMonths(whichMonth);
}
function ty_setDate(whatMonth, whatDate, whatTD, whatYear)
{
    o_currentDate = whatTD;
    o_currentDate.className = "calDateSel";
    if (typeof (o_input) == "object")
    {
        whatDate = whatDate < 10 ? "0" + whatDate : whatDate;
        whatMonth = (whatMonth + 1) < 10 ? "0" + (whatMonth + 1) : (whatMonth + 1);

        o_input.value = (s_lang == "us") ? whatMonth + "/" + whatDate + "/" + whatYear : whatDate + "/" + whatMonth + "/" + whatYear;
    } else
    {
        whatDate = (whatDate - 1) < 10 ? "0" + (whatDate - 1) : whatDate - 1;
        whatMonth = whatMonth < 10 ? "0" + (whatMonth) : whatMonth;

        document.getElementById(a_v_input[0]).selectedIndex = whatMonth;
        document.getElementById(a_v_input[1]).selectedIndex = whatDate - 1;
        adjDate(document.getElementById(a_v_input[0]).form);
    }

    if (o_input.name == 'departureDate' || o_input.name == 'selPickupdate')
    {
        /*Logica om 1 maand op te schuiven, als bij vertrekdatum in de rechter maand een datum wordt geselecteerd */
        ty_changeMonths(whatMonth - 1);
    }

    /*Aanpassingen gemaakt om automatisch de retourdatum in te vullen, 1 dag later dan de vertrekdatum */
    if (o_input.name == 'departureDate')
    {
        var arrDate = o_input.value.split("/");
        var tomorrow = new Date(arrDate[2], arrDate[1] - 1, arrDate[0]);
        tomorrow.setDate(tomorrow.getDate() + 1);
        var tomorrowString = formatDate(tomorrow, "dd/MM/yyyy");
        document.getElementById('bx_hf_tf_datumretour').value = tomorrowString;
    }

    if (o_input.name == 'ArrivalDate')
    {
        getVertrekDate(document.formfchotel.Nights.value);
    }

    closeCalendar = true;
    closeCal();
}
function hideCalendar()
{

    o_caldiv.style.display = "none";
    /*	o_input.className = "reisgegevens";*/
}


function splitDate(s_input, s_mode)
{
    this.delimitor = (s_input.indexOf("/") > -1) ? "/" : (s_input.indexOf(".") > -1) ? "." : (s_input.indexOf("-") > -1) ? "-" : (s_input.indexOf(",") > -1) ? "," : "/";
    a_input = s_input.split(this.delimitor);
    this.date = -1; this.month = -1; this.year = -1;
    if (a_input.length == 3 && !isNaN(a_input[0]) && !isNaN(a_input[1]) && !isNaN(a_input[2]))
    {
        this.month = (s_mode == "us") ? parseInt(a_input[0], 10) - 1 : parseInt(a_input[1], 10) - 1;
        this.date = (s_mode == "us") ? parseInt(a_input[1], 10) : parseInt(a_input[0], 10);
        this.year = a_input[2];
        if (this.month > 11 || this.month < 0) this.month = -1;
        if (this.date > 31 || this.month < 0) this.date = -1;
        i_yrlength = this.year.toString().length;
        if (i_yrlength == 2) this.year = "20" + this.year; //fix this in the next 96 years...
        if (i_yrlength < 1 || i_yrlength == 3 || this.year < cY) this.year = -1;
    }
}
var o_caldiv = 0; var calopen = 0;
var t_calcloser = null;
function buildDate(s_monthdate)
{
    a_monthdate = s_monthdate.split("|");
    bd_oMonth = document.getElementById(a_monthdate[0]);
    bd_oDate = document.getElementById(a_monthdate[1]);
    i_month = bd_oMonth.selectedIndex + 1;
    i_date = bd_oDate.selectedIndex + 1;
    s_date = "";
    s_date = i_month + "/" + i_date + "/";
    s_date += (i_month - 1 < cM) ? cY + 1 : cY;
    return s_date;
}
var s_lastinputtype = null;
function makeCalendar(v_input, s_from, s_to, s_mode)
{
    o_input = v_input;
    //o_input.className = "textturquoise";
    if (isPCIE)
    {
        document.getElementById("kalender_popup").innerHTML = "<iframe id=\"calframe\" src=\"javascript:'calendar'\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\"></iframe>"
        s_iecalcss = "<link rel='STYLESHEET' type='text/css' href='" + document.getElementById("calendarcss").href + "' />";
        o_califrame = document.getElementById("calframe")
        calframe.document.open();
        calframe.document.write("<html><head>" + s_iecalcss + "</head><body id='kalender_popup' class='calendar'></body></html>");
        calframe.document.close();
    }
    i_numcal = 0;
    if (isPCIE) document.getElementById("calframe").className = "calframe";
    o_calbody = (isPCIE) ? calframe.document.getElementById("kalender_popup") : document.getElementById("kalender_popup");
    o_calbody.innerHTML = "";
    o_udate = (typeof (o_input) == "object") ? new splitDate(o_input.value, 'nl') : new splitDate(buildDate(o_input), 'nl');
    a_from = s_from.split("|");
    v_from = (a_from.length == 1) ? new splitDate(document.getElementById(s_from).value, s_mode) : new splitDate(buildDate(s_from), s_mode);
    a_to = s_to.split("|");
    v_to = (a_to.length == 2) ? new splitDate(buildDate(s_to), s_mode) : (document.getElementById(s_to)) ? new splitDate(document.getElementById(s_to).value, s_mode) : new splitDate("", s_mode);
    d_makefrom = (v_from.month != -1) ? new Date(v_from.year, v_from.month, v_from.date) : 0;
    d_maketo = (v_to.month != -1) ? new Date(v_to.year, v_to.month, v_to.date) : 0;

    if (d_maketo != 0)
    {
        if (formatDate(d_makefrom, "dd/MM/yyyy") == formatDate(d_maketo, "dd/MM/yyyy")) { d_maketo.setDate(d_maketo.getDate() + 1); }
    }


    switch (b_calinit)
    {
        case 0:
        case 1:
            if (o_udate.month != -1 && o_udate.year != -1 && o_udate.date != -1)
            {
                newY = o_udate.year;
                newM = o_udate.month;
                newD = o_udate.date;
                vm_makeCal(o_udate.month, true);
            } else if (o_udate != document.getElementById(s_from) && d_makefrom)
            {
                newY = v_from.year;
                newM = v_from.month;
                newD = v_from.date;
                vm_makeCal(v_from.month, true);
            } else if (o_udate != document.getElementById(s_to) && d_maketo)
            {
                newY = v_to.year;
                newM = v_to.month;
                newD = v_to.date;
                vm_makeCal(v_to.month, true);
            } else
            {
                newY = cY; newM = cM; newD = cD;
                vm_makeCal(cM);
            }
            break;
        default:
            switch (s_inputtype)
            {
                case "object":
                    newM = i_ofirstMonth;
                    newY = i_ofirstYear;
                    break;
                default:
                    newM = i_sfirstMonth;
                    newY = i_sfirstYear;
            }
            vm_makeCal(newM);
    }
    s_lastinputtype = typeof (o_input);
}
function openKalender(v_input, s_from, s_to, s_cal)
{

    document.getElementById("kalender_popup").style.visibility = "visible";

    //    if (s_from == "bx_hf_tf_datumvertrek") {
    //        var today = new Date();

    //        cT = today.getDate();
    //        cM = today.getMonth();
    //        cY = today.getFullYear();
    //    }

    caller = v_input.id

    var s_mode = dateformat;
    clearTimeout(t_calcloser);
    s_inputtype = typeof (v_input);
    a_v_input = null;
    if (s_inputtype != "object") a_v_input = v_input.split("|");
    calopen = 0;
    o_caldiv = document.getElementById(s_cal);
    o_caldiv.style.display = "block";
    o_caldiv.className = s_cal + "on";
    //	o_caldiv.className = "kalender_popupon";

    makeCalendar(v_input, s_from, s_to, s_mode)
    //get objects

    var coors = findPos(v_input);
    //alert(coors);
    var x = document.getElementById(s_cal);
    //alert('top:'+coors[1]+'\nleft:'+coors[0]);

    o_caldiv.style.top = (coors[1] > 0) ? coors[1] + "px" : "0px";
    o_caldiv.style.left = coors[0] + 'px';
    setTimeout("calopen = 1", 500);
}

function findPos(obj)
{
    var curleft = curtop = 0;
    var curheight = obj.offsetHeight
    if (obj.offsetParent)
    {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    curtop += (curheight + 5);
    return [curleft, curtop];
}


function closeCal()
{


    if (closeCalendar)
    {
        if (o_caldiv && calopen)
        {
            changeDateMessage();
            t_calcloser = setTimeout("hideCalendar()", 500);
            fld = $j("#h_date").val();

            switch (fld)
            {
                case 'bx_hf_tf_datumvertrek':
                    $j("#h_date").val('bx_hf_tf_datumretour');
                    $j("#bx_hf_tf_datumretour").focus();
                    break;

                case 'bx_hf_tf_datumretour':
                    $j("#numberAdults").focus();
                    break;

                case 'hotelaankomstdatum':
                    $j("#Nights").focus();
                    break;

                case 'selPickupdate':
                    $j("#selReturndate").focus();
                    //   $j("#pickuptime").focus();
                    break;

                case 'selReturndate':
                    // $j("#dropofftime").focus();
                    $j("#pickuptime").focus();
                    break;

                default:
                    return false;
            }

        }
        calopen = 0;

    }
    closeCalendar = true;

    //	if (caller == 'vertrek_date' && calopen == '0') {
    //	    //document.getElementById('sel_time').style.display = 'none';
    //	    document.getElementById('sel_time').style.visibility = 'hidden';
    //	} 
    //	else if (caller == 'vertrek_date')
    //	{
    //	    //document.getElementById('sel_time').style.display = 'inline';
    //	    document.getElementById('sel_time').style.visibility = 'visible';
    //	}
    //	
    //	if (caller == 'retour_date' && calopen == '0') {
    //	    document.getElementById('sel_time2').style.visibility = 'hidden';
    //	} 
    //	else if (caller == 'retour_date')
    //	{
    //	    //document.getElementById('sel_time2').style.display = 'inline';
    //	     document.getElementById('sel_time2').style.visibility = 'visible';
    //	}	



}

function changeDateMessage()
{

    var datumVertrek = $j("#hotelaankomstdatum").val();

    if (datumVertrek != null)
    {
        var datumValues = datumVertrek.split("/")

        dag = datumValues[0];
        maand = datumValues[1];
        jaar = datumValues[2]

        datumVertrek = maand + "/" + dag + "/" + jaar

        var datum = new Date(datumVertrek);
        var vandaag = new Date();

        vandaag.setDate(vandaag.getDate() + 2);

        if (datum < vandaag)
        {
            if (hp_language == 'NL')
            {
                $j("#trdatumerror").removeAttr('style');
                $j("#datumerror").html('De eerst mogelijke incheckdatum die u online kunt boeken is 3 dagen in de toekomst. Neem telefonisch contact met ons op om binnen deze periode uw hotel te boeken').css({ color: "#ff0000", font: "normal 11px Verdana" });
            } else
            {
                $j("#trdatumerror").removeAttr('style');
                $j("#datumerror").html('The first possible check-in date you can book online is 3 days in future. Do you want to check in before this period? Please contact us by phone.').css({ color: "#ff0000", font: "normal 11px Verdana" });
            }
        }
        else
        {
            $j("#trdatumerror").attr('style', 'display:none');
        }
    }
}

function formatDate(date, format)
{
    format = format + "";
    var result = "";
    var i_format = 0;
    var c = "";
    var token = "";
    var y = date.getFullYear() + "";
    var M = date.getMonth() + 1;
    var d = date.getDate();
    var E = date.getDay();
    var H = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    var yyyy, yy, MMM, MM, dd, hh, h, mm, ss, ampm, HH, H, KK, K, kk, k;
    // Convert real date parts into formatted versions
    var value = new Object();
    if (y.length < 4) { y = "" + (y - 0 + 1900); }
    value["y"] = "" + y;
    value["yyyy"] = y;
    value["yy"] = y.substring(2, 4);
    value["M"] = M;
    value["MM"] = LZ(M);
    value["MMM"] = MONTH_NAMES[M - 1];
    value["NNN"] = MONTH_NAMES[M + 11];
    value["d"] = d;
    value["dd"] = LZ(d);
    value["E"] = DAY_NAMES[E + 7];
    value["EE"] = DAY_NAMES[E];
    value["H"] = H;
    value["HH"] = LZ(H);
    if (H == 0) { value["h"] = 12; }
    else if (H > 12) { value["h"] = H - 12; }
    else { value["h"] = H; }
    value["hh"] = LZ(value["h"]);
    if (H > 11) { value["K"] = H - 12; } else { value["K"] = H; }
    value["k"] = H + 1;
    value["KK"] = LZ(value["K"]);
    value["kk"] = LZ(value["k"]);
    if (H > 11) { value["a"] = "PM"; }
    else { value["a"] = "AM"; }
    value["m"] = m;
    value["mm"] = LZ(m);
    value["s"] = s;
    value["ss"] = LZ(s);
    while (i_format < format.length)
    {
        c = format.charAt(i_format);
        token = "";
        while ((format.charAt(i_format) == c) && (i_format < format.length))
        {
            token += format.charAt(i_format++);
        }
        if (value[token] != null) { result = result + value[token]; }
        else { result = result + token; }
    }
    return result;
}

var MONTH_NAMES = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var DAY_NAMES = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');

function LZ(x)
{
    return (x < 0 || x > 9 ? "" : "0") + x
}

//window.document.onclick = alert('window.document.click');
//window.onclick = alert('window.click');



