var lcid = 0;
var dateErrorMessage = '';

function findCtrl(name)
{			
	frm = document.forms[0];
	for(i=0;i<frm.elements.length;i++)
	{
		elName = frm.elements[i].name;
		elNameRight = elName.substring(elName.length-name.length);		
		
		if(elNameRight.toLowerCase()==name.toLowerCase())
		{
			return frm.elements[i];
		}				
	}	
	
	return null;	
}

function ensureTwoDig(val)
{
tmp = "0" +val;		
return tmp.substring(tmp.length-2);
}

function AddDays(curDate, days)
{	
curDate = DateFromString(curDate);
newDate = parseInt(curDate.getDate()) + parseInt(days);
nDate = new Date(curDate.getFullYear(),curDate.getMonth(),newDate);
return nDate.getFullYear() +"-" +ensureTwoDig(nDate.getMonth()+1) +"-" +ensureTwoDig(nDate.getDate());
}

function DateFromString(dateStr)
{
if(lcid==1)
{
segs = dateStr.split("/");						
y = segs[2];
m = segs[0];
d = segs[1];
}
else //if(lcid==1053)
{
segs = dateStr.split("-");						
y = segs[0];
m = segs[1];
d = segs[2];
}

return new Date(y,m-1,d);		
}

function dayName(day)
{
	if (lcid==1033) 
	{
		if(day==1)return "Monday";
		if(day==2)return "Tuesday";
		if(day==3)return "Wednesday";
		if(day==4)return "Thursday";
		if(day==5)return "Friday";
		if(day==6)return "Saturday";
		if(day==0)return "Sunday";
	}
	else if(lcid==2058)
	{
		if(day==1)return "Lunes";
		if(day==2)return "Martes";
		if(day==3)return "Miércoles";
		if(day==4)return "Jueves";
		if(day==5)return "Viernes";
		if(day==6)return "Sábado";
		if(day==0)return "Domingo";
	}
	else
	{
		return "error";
	}
}

var isOp = false;
var currentFromDate;
var currentToDate;

function setDays(type,hotel) {

    var ddMonthYearFromId = "ddMonthYearFrom";
    var ddMonthYearToId = "ddMonthYearTo";
    var ddDayFromId = "ddDayFrom";
    var ddDayToId = "ddDayTo";

    if (hotel) {
        ddMonthYearFromId = "ddHotelMonthYearFrom";
        ddMonthYearToId = "ddHotelMonthYearTo";
        ddDayFromId = "ddHotelDayFrom";
        ddDayToId = "ddHotelDayTo";
    }
    
	dateStartString = findCtrl(ddMonthYearFromId).value +"-" +ensureTwoDig(findCtrl(ddDayFromId).value);
    
	if(!validateDate(dateStartString)){return false;}
    
    dateEndString = findCtrl(ddMonthYearToId).value +"-" +ensureTwoDig(findCtrl(ddDayToId).value);
    
	if(type!=null && type=="0" && isOp==false)
	{
	    isOp = true;
	    var daysToAdd = 0;
	    if (hotel)
	        daysToAdd = 1;

	    dtmEnd = DateFromString(AddDays(dateEndString, daysToAdd));
		dtmStart = DateFromString(AddDays(dateStartString, 0));
		dateEndString = AddDays(dateStartString, daysToAdd);
		
		if (dtmEnd < dtmStart) {
		    // change end date to match start date
		    ddMY = findCtrl(ddMonthYearToId);
		    ddDay = findCtrl(ddDayToId);
		    var dateToCheck = dtmStart.getDate();
		    strMY = dtmStart.getFullYear() + "-" + ensureTwoDig(parseInt(dtmStart.getMonth() + 1));

		    if (hotel) {
		        var dtmNewEnd = DateFromString(dateEndString);
		        dateToCheck = dtmNewEnd.getDate();
		        strMY = dtmNewEnd.getFullYear() + "-" + ensureTwoDig(parseInt(dtmNewEnd.getMonth() + 1));
		    }		    
    			
		    for(i=0;i<ddMY.length;i++)
			    {if(ddMY[i].value==strMY){ddMY[i].selected=true;}}
		    for(i=0;i<ddDay.length;i++)
		    { if (ddDay[i].value == dateToCheck) { ddDay[i].selected = true; } }
		}
			
		isOp = false;
	}
	else if(type!=null && type=="1" && isOp==false) {

	var daysToAdd = 0;
	if (hotel)
	    daysToAdd = -1;
	    dtmEnd = DateFromString(AddDays(dateEndString, 0));
	    dtmStart = DateFromString(AddDays(dateStartString, daysToAdd));

	    dateStartString = AddDays(dateEndString, daysToAdd);
		
		if (dtmEnd < dtmStart)
		{
		    // change start date to match end date
		    ddMY = findCtrl(ddMonthYearFromId);
		    strMY = dtmStart.getYear() +"-" +ensureTwoDig(parseInt(dtmEnd.getMonth()+1));		
    		
		    ddDay = findCtrl(ddDayFromId);	
    			
		    for(i=0;i<ddMY.length;i++)
			    {if(ddMY[i].value==strMY){ddMY[i].selected=true;}}
		    for(i=0;i<ddDay.length;i++)
			    {if(ddDay[i].value==dtmEnd.getDate()){ddDay[i].selected=true;}}
		}
	}

	if(!validateDate(dateEndString)){return false;}

	//start = document.getElementById("divStartDate");
	//end = document.getElementById("divEndDate");

	//start.innerHTML = dayName(DateFromString(dateStartString).getDay());
	//end.innerHTML = dayName(DateFromString(dateEndString).getDay());
	
	//var selectedStartDate = DateFromString(dateStartString);
    //$find("ce1").set_selectedDate(selectedStartDate);
	
	//var selectedEndDate = DateFromString(dateEndString);
    //$find("ce2").set_selectedDate(selectedEndDate);
    
    onSelectedStartDate2();
    onSelectedStartDate1();
	
	currentFromDate = dateStartString;
	currentToDate = dateEndString;
}

function validateDate(dtmVal)
{		
if(dtmVal.length!=10){displayErrDate();return false;}

if(lcid==1)
{
//körs aldrig...
orgYear = dtmVal.substring(6,10);
orgMonth = dtmVal.substring(0,2);
orgDay = dtmVal.substring(3,5);
tmpDate = new Date(orgYear,orgMonth,orgDay)	
tmpMonth = tmpDate.getMonth();
}
else //if(lcid==1053)
{
orgYear = dtmVal.substring(0,4);
orgMonth = parseInt(dtmVal.substring(5,7)-1);
orgDay = dtmVal.substring(8,10);
tmpDate = new Date(orgYear,orgMonth,orgDay)	
tmpMonth = tmpDate.getMonth();
}

if (tmpMonth!=orgMonth)
	{displayErrDate();return false;}
else
	{return true;}
}

function displayErrDate()
{
	if(dateErrorMessage && dateErrorMessage!="")
	{
		alert(dateErrorMessage);
	}
	else
	{
		if (lcid == 1033) 
		{
			alert("You have choosen a date that does not exist!");
		}
		else if(lcid == 2058)
		{
			alert("You have choosen a date that does not exist!");
		}
	}
}
