var startDate;
var endDate;
var ONEDAY = 3600 * 24 * 1000;

function beforeShowDayFunc(date) {
    var selected = ($("#ctrlSearchBox_calPickUp_DateText").datepicker('getDate') < date);
    return [ selected, ''];
}

function filterDates1(cal) {
    var date = cal.date;
    startDate = date.getTime();
    document.getElementById('ctrlSearchBox_dropPickUpTime').focus();
    document.getElementById('ctrlSearchBox_calDropOff_DateText').value = document.getElementById('ctrlSearchBox_calPickUp_DateText').value;
    $('#ctrlSearchBox_calPickUp_DateText').removeClass('required');
    $("div.requiredMsg").remove();
}
function filterDates2(cal) {
    var date = cal.date;
    endDate = date.getTime();
    document.getElementById('ctrlSearchBox_dropDropOffTime').focus();
    if (document.getElementById('ctrlSearchBox_calDropOff_DateText').value == 'dd/mm/yyyy')
        document.getElementById('ctrlSearchBox_calDropOff_DateText').value = document.getElementById('ctrlSearchBox_calPickUp_DateText').value;
    $('#ctrlSearchBox_calDropOff_DateText').removeClass('required');
    $("div.requiredMsg").remove();
}
function disallowDateBefore(date) {
    date = date.getTime();
    var MINHIRE;
    MINHIRE = ONEDAY * 1;
    if ((startDate != null) && (date <= (startDate + MINHIRE))) {
        return true;
    }
    var now = new Date().getTime() + ONEDAY;
    if (date <= (now + MINHIRE)) {
        return true;
    }
    return false;
}
function disallowDateAfter(date) {
    date = date.getTime();
    var now = new Date().getTime();
    if (date < (now)) {
        return true;
    }
    return false;
}

function loadForm(elm, cc) {//JQueryUI integration 1.2 reubenh
    pudate =  document.getElementById('ctrlSearchBox_calPickUp_DateText').value;
    dod = document.getElementById('ctrlSearchBox_calDropOff_DateText').value;
    noa = document.getElementById('ctrlSearchBox_dropAdults').value;
    noc = document.getElementById('ctrlSearchBox_dropChildren').value;
    
    var country;
    if (cc == null) {
        var index = elm.selectedIndex;
        country = elm.options[index].value;
    } else {
        country = cc;
    }    
    var url = "xml/" + country + ".xml";
    $('#ctrlSearchBox_divContent').load(url, function() {
    $("#ctrlSearchBox_calDropOff_DateText").datepicker({
        dateFormat: 'dd-M-yy',
        beforeShowDay: beforeShowDayFunc,
        numberOfMonths: 2,
        minDate: new Date(),
        onClose: function(dateText, inst) {
            
        }

    });

    $("#ctrlSearchBox_calPickUp_DateText").datepicker({
        dateFormat: 'dd-M-yy',
        minDate: new Date(),
        numberOfMonths: 2,
        onClose: function(dateText, inst) {
            if (Date.parse($("#ctrlSearchBox_calDropOff_DateText").val()) < Date.parse($("#ctrlSearchBox_calPickUp_DateText").val())) {
                $("#ctrlSearchBox_calDropOff_DateText").val($("#ctrlSearchBox_calPickUp_DateText").val());
            
			$('#ctrlSearchBox_calPickUp_DateText').removeClass('required');
			$("div.requiredMsg").remove();
			
			
			}           
            
        }
    });
        
     
    /* J Cal End */ 
		
		
		
		
		//bind validator
        if (cor != null && cor != '') {//set cor
            var corOption = $("#ctrlSearchBox_dropCountryOfResidence").val(cor);
        }
        //set dates
        document.getElementById('ctrlSearchBox_calPickUp_DateText').value = pudate;
        document.getElementById('ctrlSearchBox_calDropOff_DateText').value = dod;
        if (noa != 0) document.getElementById('ctrlSearchBox_dropAdults').value = noa;
        if (noc != 0) document.getElementById('ctrlSearchBox_dropChildren').value = noc;
        $("select").change(function() {
            $("div.requiredMsg").remove();
            $(this).removeClass('required');            
        });
    });        
}

function getParams() {
    var responseText = '';
    var pickupdateStr = $('#ctrlSearchBox_calPickUp_DateText').val();
    var dropoffDateStr = $('#ctrlSearchBox_calDropOff_DateText').val();
    if (!validatePeriod(pickupdateStr, dropoffDateStr)) {//failed onblur Date Range validation
        responseText = 'valid period';
        promptField($('#ctrlSearchBox_calPickUp_DateText'), "Required");        
    }  
    var pickupdate = Date.parseExact(pickupdateStr, "d-MMM-yyyy");    
    var dropoffDate = Date.parseExact(dropoffDateStr, "d-MMM-yyyy");
    //alert(pickupdate + ":" + dropoffDate);
    var nc = $("#ctrlSearchBox_dropChildren option:selected").val();
    var na = $("#ctrlSearchBox_dropAdults option:selected").val();
    if (parseInt(na) == 0) {
        na = 1;
		//responseText += " number of travellers,";
        //promptField($('#ctrlSearchBox_dropAdults'), "Required");
    }
    if ((parseInt(na) + parseInt(nc)) > 6) {
        $('#ctrlSearchBox_dropChildren').addClass("required");
        promptField($('#ctrlSearchBox_dropAdults'), "Total travellers cannot exceed 6");
        responseText += " Total travellers cannot exceed 6,";
    }   
    cr = $("#ctrlSearchBox_dropCountryOfResidence option:selected").val();
    if (parseInt(cr) == 0) {
        //responseText += " country of residence,";
        //promptField($('#ctrlSearchBox_dropCountryOfResidence'), "Required");
    }   
    if (responseText != '') return '';    
    cc = $("#ddCountryOfTravel option:selected").val();
    vc = '';
    ac = "AIRNZB2C";
    sc = "rv";
    pc = "";
    ch = "AIRNZ";
    rf = $('#agentCodeField').val();
    if (rf.length > 9) rf = "";    
    pb = $("#ctrlSearchBox_dropPickUpLocation option:selected").val();
    pd = pickupdate.getDate();
    pm = pickupdate.getMonth() + 1;
    py = pickupdate.getFullYear();
    pt = $("#ctrlSearchBox_dropPickUpTime option:selected").val();
    db = $("#ctrlSearchBox_dropDropOffLocation option:selected").val();
    dd = dropoffDate.getDate();
    dm = dropoffDate.getMonth() + 1;
    dy = dropoffDate.getFullYear();
    dt = $("#ctrlSearchBox_dropDropOffTime option:selected").val(); ;
    vt = "rv";
    var getvalues = '';        
    if (responseText == '') {
        getvalues = "cc=" + cc + "&vc=" + vc + "&ac=" + ac + "&sc=" + sc + "&pc=" + pc + "&ch=" + ch + "&rf=" + rf + "&na=" + na + "&nc=" + nc + "&cr=" + cr + "&pb=" + pb + "&pd=" + pd + "&pm=" + pm + "&py=" + py + "&pt=" + pt + "&db=" + db + "&dd=" + dd + "&dm=" + dm + "&dy=" + dy + "&dt=" + dt + "&vt=" + vt ;
        return getvalues;
    } else {
    var trimmed = responseText.replace(/,+$/, "");
        return '';  
    }
}

function validatePeriod(pickupdateStr, dropoffDateStr) {

    if (pickupdateStr == null || dropoffDateStr == null || pickupdateStr == '' || dropoffDateStr == '' || pickupdateStr == 'd-MMM-yyyy' || dropoffDateStr == 'd-MMM-yyyy' || Date.parseExact(pickupdateStr, "d-MMM-yyyy") == null || Date.parseExact(dropoffDateStr, "d-MMM-yyyy") == null)
        return false;
    else {//range        
        return true;
    }
}

function submitForm() {
    var params = getParams();
    if (params == '')
        return false;
    else
        swapSpinner();
}

function formRedirect() {
    var baseUrl = "https://secure.airnzcampervans.com";
    var params = getParams();
    if (params == '')
        return false;
    else {
        pageTracker._link(baseUrl + "?" + params); //window.location = baseUrl + "?" + params;
        return false;
    }
}

//validation
function promptField(fieldElm, msg) {
    var offsetx = 8, offsety = 20;
    var top = fieldElm.position().top;
    var left = fieldElm.position().left;
    var width = fieldElm.width();
    var height = fieldElm.height();
    fieldElm.addClass("required");
    var styleStr = "top:" + top + "px; left:" + (dxr +230) + "px;height:" + (height + 6) + "px;";
    $("<div class='requiredMsg' style='" + styleStr + "'><span class='arrow' style='width:10px;height:" + 20 + "px;'></span><span class='text' style='height:" + 18 + "px;'>"+ msg +"&nbsp;</span></div>").appendTo('#bookingcontrol');
}

$(window).bind('resize', function() {
    var newDxr = $('#bookingcontrol').position().left;
    var delta = (parseInt(dxr, 10) - parseInt(newDxr, 10));
    dxr = newDxr;
    jQuery.each($('div.requiredMsg'), function(i, val) {        
        $(this).css("left", (parseInt($(this).css("left")) - delta));        
    });
});

function swapSpinner() {
    $('#ctrlSearchBox_btnNext').replaceWith("<div id='searchProgress'><div id='swfSpinner'></div></div>");
    var params = {
        wmode: "transparent"
    };
    var flashvars = {};
    var attributes = {};
    swfobject.embedSWF("/images/spinner.swf", "swfSpinner", "100", "24", "9.0.0", "/swf/expressInstall.swf", false, params, false);
    setTimeout("formRedirect()", 1250);
}