function copyDate(dateToCopy) {
    var copystatus = document.getElementById('copystatus');
    var ArrDate = new Date(parseDate(document.getElementById('UcHotelModifyStay1_' + 'txtArrivalDate').value));
    var DepDate = new Date(parseDate(document.getElementById('UcHotelModifyStay1_' + 'txtDepartureDate').value));
    var CopyDate = new Date(createDate(dateToCopy));
    if(copystatus.innerHTML == 'false') {
        ArrDate = CopyDate;
        setVisibility('UcHotelModifyStay1_' + 'lblCalHelpMessage2', true, true);
        setVisibility('UcHotelModifyStay1_' + 'lblCalHelpMessage1', false);
        copystatus.innerHTML = 'true';
    } else {
        if(CopyDate<ArrDate) {
            ArrDate = CopyDate;
            DepDate.setDate(ArrDate.getDate() + 1);
        } else {
            DepDate = CopyDate;
        }
        setVisibility('UcHotelModifyStay1_' + 'lblCalHelpMessage2', false);
        setVisibility('UcHotelModifyStay1_' + 'lblCalHelpMessage1', true, true);
        copystatus.innerHTML = 'false';
    }
    document.getElementById('UcHotelModifyStay1_' + 'txtArrivalDate').value = formatDate(ArrDate,"dd/MM/yyyy");
    document.getElementById('UcHotelModifyStay1_' + 'txtDepartureDate').value = formatDate(DepDate,"dd/MM/yyyy");
    if(document.getElementById('UcModifySearch1_' + 'txtArrivalDate')) {
        document.getElementById('UcModifySearch1_' + 'txtArrivalDate').value = formatDate(ArrDate,"dd/MM/yyyy");
        document.getElementById('UcModifySearch1_' + 'txtDepartureDate').value = formatDate(DepDate,"dd/MM/yyyy");
    }
    copystatus = !copystatus;
    checkdates();
    //setCalendarStyle();
    return;  	
}
function setCalendarStyle() {
    var one_day=1000*60*60*24;
    var FirstDate = new Date(createDate(document.getElementById('UcHotelModifyStay1_' + 'FirstDay').innerHTML));
    var LastDate = new Date(createDate(document.getElementById('UcHotelModifyStay1_' + 'LastDay').innerHTML));
    
    var ArrDate = new Date(parseDate(document.getElementById('UcHotelModifyStay1_' + 'txtArrivalDate').value));
    var DepDate = new Date(parseDate(document.getElementById('UcHotelModifyStay1_' + 'txtDepartureDate').value));
    var TempDate = FirstDate;
    var diffdays = Math.ceil((LastDate.getTime()-FirstDate.getTime())/(one_day));
    for(var i=0;i<=diffdays;i++)
    {
        var style = 'DayStyle';
        if(TempDate>=ArrDate && TempDate<DepDate) {
            style = 'SelectedDayStyle';
            //document.getElementById('DayRate_'+createIsoDate(TempDate)).parentNode.className = 'SelectedDayStyle';
        } else {
            weekday = TempDate.getDay();
            if((weekday == 6) || (weekday == 0)) {
                style = 'WeekendDayStyle';
                //document.getElementById('DayRate_'+createIsoDate(TempDate)).parentNode.className = 'WeekDayStyle';
            }
        }
        document.getElementById('DayRate_'+createIsoDate(TempDate)).parentNode.className = style;
        document.getElementById('DayRate_'+createIsoDate(TempDate)).parentNode.style.backgroundColor = '';
        //document.getElementById('DayRate_'+createIsoDate(TempDate)).parentNode.style.color = '';
        TempDate.setDate(TempDate.getDate() + 1);
    }    
}
function PrintValue(valueToPrint) {
    var toprint = message[12][LanguageIndex];
    var checkifvalue = false;
    if(valueToPrint.split('|')[2] != '99999' && valueToPrint.split('|')[2] != '99999999999') {
        toprint = valueToPrint.split('|')[2];
        checkifvalue = true;
    }
    if(toprint != message[12][LanguageIndex] && toprint != '') {
        toprint = formatCurrency(toprint.replace(',','.'));
        checkifvalue = true;
    }
    if(checkifvalue) {
        if(toprint.indexOf(',')>0) {
            toprint = toprint.substring(0,toprint.indexOf(','));
        }
        if(toprint.indexOf('.')>0) {
            toprint = toprint.substring(0,toprint.indexOf('.'));
        }
    }
    if(checkifvalue && toprint != "") {
        document.getElementById('DayRate_'+valueToPrint.split('|')[0]).parentNode.className = 'Available';
        document.getElementById('DayRate_'+valueToPrint.split('|')[0]).parentNode.style.background = '#ccffcc';
    }
    if(!checkifvalue && toprint != "") {
        //alert(document.getElementById('DayRate_'+valueToPrint.split('|')[0]).parentNode.innerHTML);
        document.getElementById('DayLink_'+valueToPrint.split('|')[0]).href='#';
        document.getElementById('DayLink_'+valueToPrint.split('|')[0]).style.cursor='default';
        document.getElementById('DayRate_'+valueToPrint.split('|')[0]).parentNode.className = 'NotAvailable';
        document.getElementById('DayRate_'+valueToPrint.split('|')[0]).parentNode.style.background = '#ff6666';
    }
    if (document.getElementById('DayRate_'+valueToPrint.split('|')[0]) != undefined)
    {
        document.getElementById('DayRate_'+valueToPrint.split('|')[0]).innerHTML = toprint;
        if(valueToPrint.split('|')[1]!=endDate) {
            GetCalData(valueToPrint.split('|')[0]);
        }
    }
}
function GetCalData(dateToGet) {
    var Yesterday = new Date();
    Yesterday.setDate(Yesterday.getDate() - 1);
    var ArrDate = new Date();
    var DepDate = new Date();

    ArrDate = createDate(dateToGet);
    DepDate = createDate(dateToGet);
    DepDate.setDate(DepDate.getDate() + 1);
    
    var sarrdate = createIsoDate(ArrDate);
    var sdepdate = createIsoDate(DepDate);
    if(document.getElementById('DayRate_'+sarrdate)) {
        if(document.getElementById('DayRate_'+sarrdate).innerHTML == "" && ArrDate>Yesterday) {
            document.getElementById('DayRate_'+sarrdate).innerHTML = '<img src=\"/img_elements/HotelGalleries/loading.gif\" width=\"16\" height=\"16\" border=\"0\">'

            if (window.XMLHttpRequest) {
	            req = new XMLHttpRequest();
            } else if (window.ActiveXObject) {
	            req = new ActiveXObject('Microsoft.XMLHTTP');
            }
            var querystring = '';
            querystring += 'PropId='+PropId;
            querystring += '&arrivalDate='+sarrdate;
            querystring += '&departureDate='+sdepdate;
            querystring += '&SameRooms='+SameRooms;
            querystring += '&Rooms='+Rooms;
            querystring += '&Adults='+Adults;
            querystring += '&Children03='+Children03;
            querystring += '&Children412='+Children412;
            querystring += '&ID='+ID;
            querystring += '&IATA='+IATA;
            querystring += '&Lang='+LanguageCode;
            req.open('GET', 'http://'+baseurl+'/AjaxServices/CalSmartSearch.aspx?'+querystring);
            //document.write('http://'+baseurl+'/AjaxServices/CalSmartSearch.aspx?'+querystring);
            // many server-side scripts require the Content-Type to be set:
            req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
            req.onreadystatechange = callbackcalendar;
            req.send(querystring);
        } else {
            DepDate.setDate(DepDate.getDate() + 1);
            sarrdate = sdepdate;
            sdepdate = createIsoDate(DepDate);
            PrintValue(sarrdate+'|'+sdepdate+'|'+'');
        }
    }
}
function callbackcalendar() {
    if (req.readyState == 4) {
        if (req.status == 200 || req.status == 304) {
            // update the HTML DOM based on whether or not message is valid
            PrintValue(req.responseText);
        }
    }
}
function createDate(dateiso) {
    var returnvalue = '';
    if(defaultDataFormat) {
        returnvalue = dateiso.substring(6,8)+'/'+dateiso.substring(4,6)+'/'+dateiso.substring(0,4);
    } else {
        returnvalue = dateiso.substring(4,6)+'/'+dateiso.substring(6,8)+'/'+dateiso.substring(0,4);
    }
    return parseDate(returnvalue);
}
function createIsoDate(DateToConv) {
    var monthpart = "";
    var daypart = "";

    if((DateToConv.getMonth()+1).toString().length==1) {
    monthpart = "0";
    }
    if(DateToConv.getDate().toString().length==1) {
    daypart = "0";
    }
    return DateToConv.getFullYear() + monthpart + (DateToConv.getMonth()+1) + daypart + DateToConv.getDate();
}