//date formatation
var formatDate = function (formatDate, formatString) {
    if(formatDate instanceof Date) {
        var months = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
        var yyyy = formatDate.getFullYear();
        var yy = yyyy.toString().substring(2);
        var m = formatDate.getMonth();
        m = m+1; //!!!
        var mm = m < 10 ? "0" + m : m;
        var mmm = months[m];
        var d = formatDate.getDate();
        var dd = d < 10 ? "0" + d : d;
		
        var h = formatDate.getHours();
        var hh = h < 10 ? "0" + h : h;
        var n = formatDate.getMinutes();
        var nn = n < 10 ? "0" + n : n;
        var s = formatDate.getSeconds();
        var ss = s < 10 ? "0" + s : s;
        
        formatString = formatString.replace(/yyyy/i, yyyy);
        formatString = formatString.replace(/yy/i, yy);
        formatString = formatString.replace(/mmm/i, mmm);
        formatString = formatString.replace(/mm/i, mm);
        formatString = formatString.replace(/m/i, m);
        formatString = formatString.replace(/dd/i, dd);
        formatString = formatString.replace(/d/i, d);
        formatString = formatString.replace(/hh/i, hh);
        formatString = formatString.replace(/h/i, h);
        formatString = formatString.replace(/nn/i, nn);
        formatString = formatString.replace(/n/i, n);
        formatString = formatString.replace(/ss/i, ss);
        formatString = formatString.replace(/s/i, s);
        return formatString;
    } 
    else {
        return "";
    }
}

function CalculateNumberOfNights(curStartDate, curEndDate, txtNightsId)
{
    curDate1Format = "dd/mm/yyyy"; //italy format 14/01/2009   
    
    var tempArr = curStartDate.split("/");
    var curDate1 = new Date(tempArr[2], tempArr[1] - 1, tempArr[0], 0, 0, 0);            

    var tempArr2 = curEndDate.split("/");
    var curDate2 = new Date(tempArr2[2], tempArr2[1] - 1, tempArr2[0], 0, 0, 0);            
    
    var date1_ms = curDate1.getTime();
    var date2_ms = curDate2.getTime();
    
    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms);
    var ONE_DAY = 1000 * 60 * 60 * 24;
    // Convert back to days and return            
    noNights = document.getElementById(txtNightsId); //"txtNights"
    noNights.value = Math.round(difference_ms/ONE_DAY);  
    
}
    
function SetDateCalendar(itemID)
{
    var input_field = null;
    
    var input_field_parent = document.getElementById(itemID).parentNode.parentNode;
    var forBreak = 0;
    for(var i=0; i<input_field_parent.childNodes.length; i++) 
    {
        if(input_field_parent.childNodes[i].nodeType == 1) 
        {
            root = input_field_parent.childNodes[i];                    
            for(var ii=0; ii<root.childNodes.length; ii++)
            {
                var child = root.childNodes[ii]; //era doar i
                if(child.nodeType == 1) 
                {
                    input_field = child; //start date   
                    forBreak = 1;
                    break;
                }
            }                    
        }
         if(forBreak == 1)
            break;     
    }
    
    return input_field;
}

//new calendar code
function AddDays(date, noDays, hdCultureId)
{  
    curDate = new Date(date); //"lblGetCurrentCulture"
    if (document.getElementById(hdCultureId).value == "it-IT") {
        var tempArr = date.split("/");
        if (tempArr[2] == 2) {
            var curDate1 = new Date("20" + tempArr[2], tempArr[1] - 1, tempArr[0], 0, 0, 0);
        }
        else {
            var curDate1 = new Date(tempArr[2], tempArr[1] - 1, tempArr[0], 0, 0, 0);
        }
    }
    else
        var curDate1 = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate(), 0, 0, 0);          
  
   //add no. of days to current date
   curDate1.setDate(curDate1.getDate() + noDays);
    
    x = document.getElementById(hdCultureId).value;
    curDate1Format = "mm/dd/yyyy";
    if (x == "it-IT")
        curDate1Format = "dd/mm/yyyy";           
    
    //format date
    newDate = formatDate(curDate1, curDate1Format);            
    return newDate;            
}



//return a date with noDays added
function AddDaysDate(date, noDays, hdCultureId) {
    curDate = new Date(date); //"lblGetCurrentCulture"
    if (document.getElementById(hdCultureId).value == "it-IT") {
        var tempArr = date.split("/");
        if (tempArr[2] == 2) {
            var curDate1 = new Date("20" + tempArr[2], tempArr[1] - 1, tempArr[0], 0, 0, 0);
        }
        else {
            var curDate1 = new Date(tempArr[2], tempArr[1] - 1, tempArr[0], 0, 0, 0);
        }
    }
    else
        var curDate1 = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate(), 0, 0, 0);

    //add no. of days to current date
    curDate1.setDate(curDate1.getDate() + noDays);
    return curDate1;
//    x = document.getElementById(hdCultureId).value;
//    curDate1Format = "mm/dd/yyyy";
//    if (x == "it-IT")
//        curDate1Format = "dd/mm/yyyy";

//    //format date
//    newDate = formatDate(curDate1, curDate1Format);
//    return newDate;
}



//reading culture from hidden field
 function GetCurrentCulture(hdCultureId) {
    //var x;
    //x = document.getElementById("lblGetCurrentCulture").value;
    //if (x == "en-US") {
        //return "%m/%d/%Y";
    //}
    //else if (x == "it-IT") {
    //return "%d/%m/%Y"; 
    //};            
    return "%d/%m/%Y";
}
