var refObjDay;
var refObjMonthAndYear;

function changeDays(objDay1, objDay2, objMonthAndYear1, objMonthAndYear2, objDayName1, objDayName2, intDateWhichTriggerd, boolDatesNotSelectedEnabled) {

	var dateDepDay = parseInt(document.getElementById(objDay1).value);
	var dateDepMonth = parseInt(document.getElementById(objMonthAndYear1).value.split('/')[0]);
	var dateDepYear = parseInt(document.getElementById(objMonthAndYear1).value.split('/')[1]);
	
	var dateRetDay = parseInt(document.getElementById(objDay2).value);
	var dateRetMonth = parseInt(document.getElementById(objMonthAndYear2).value.split('/')[0]);
	var dateRetYear = parseInt(document.getElementById(objMonthAndYear2).value.split('/')[1]);
	
	//alert('day1:' + dateDepDay + '\nday2:' + dateRetDay + '\nmonth1:' + dateDepMonth + '\nmonth2:' + dateRetMonth + '\nyear1:' + dateDepYear + '\nyear2:' + dateDepYear + '\n')

	if((dateDepDay > dateRetDay && dateDepMonth >= dateRetMonth && dateDepYear >= dateRetYear) || (dateDepMonth > dateRetMonth && dateDepYear >= dateRetYear) || dateDepYear > dateRetYear) {
		if(intDateWhichTriggerd == 1) {
			//document.getElementById(objDay2).value = document.getElementById(objDay1).value;
			//document.getElementById(objMonthAndYear2).value = document.getElementById(objMonthAndYear1).value;
		}
		else if(intDateWhichTriggerd == 2) {
			//document.getElementById(objDay1).value = document.getElementById(objDay2).value;
			//document.getElementById(objMonthAndYear1).value = document.getElementById(objMonthAndYear2).value;
		}
	}

	changeDay(objDay1, objMonthAndYear1, objDayName1, boolDatesNotSelectedEnabled);
	changeDay(objDay2, objMonthAndYear2, objDayName2, boolDatesNotSelectedEnabled);
}

function updateDateDropDowns(objDayDropDown, objMonthAndYearDropDown, dateSelected) {
	var intDay;
	var intMonth;
	var intYear;
	
	intDay = dateSelected.getDate();
	intMonth = dateSelected.getMonth() + 1;
	intYear = dateSelected.getFullYear();
    
	//alert(intDay + '|' + intMonth + '|' + intYear);

	objDayDropDown.value = intDay;
// below caused invalentary jump in month on first select, removed for now
//	objMonthAndYearDropDown.value = intMonth + "/" + intYear;
}

function changeDay(objDay, objMonthAndYear, objDayName, boolDatesNotSelectedEnabled) {

	var intDay = document.getElementById(objDay).value;
	var intMonth = document.getElementById(objMonthAndYear).value.split('/')[0];
	var intYear = document.getElementById(objMonthAndYear).value.split('/')[1];

	if(intMonth == 2 && intDay > 28) {
		if((intYear % 400 == 0) || ((intYear % 4 == 0) && (intYear % 100 != 0))) {
			intDay = 29;
		}
		else {
			intDay = 28;
		}
	}
	else if(intMonth == 4 && intDay > 30) {
		intDay = 30;
	}
	else if(intMonth == 6 && intDay > 30) {
		intDay = 30;
	}
	else if(intMonth == 9 && intDay > 30) {
		intDay = 30;
	}
	else if(intMonth == 11 && intDay > 30) {
		intDay = 30;
	}

    if(boolDatesNotSelectedEnabled == true) {
        var dateSelected = new Date(intYear, intMonth, intDay);
        var dateToday = new Date(intTodayYear, intTodayMonth - 1, intTodayDay);
    }
    else {
    	var dateSelected = new Date(intYear, intMonth - 1, intDay);
	    var dateToday = new Date(intTodayYear, intTodayMonth - 1, intTodayDay);
	}

	if(dateToday > dateSelected) {

		var dateNew = DateAdd(dateToday, 0, 1, 0);

		dateSelected = new Date(dateNew.getFullYear(), dateNew.getMonth(), dateSelected.getDate());

		intDay = dateSelected.getDate();
		intMonth = dateSelected.getMonth() + 1;
		intYear = dateSelected.getFullYear();
	}
	
    if(dateSelected != 'NaN') {
	    updateDateDropDowns(document.getElementById(objDay), document.getElementById(objMonthAndYear), dateSelected);
	}




//	else if(dateToday > dateSelected) {
//		updateDateDropDowns(document.getElementById(objDay), document.getElementById(objMonthAndYear), DateAdd(dateToday, 0, 1, 0) )
//		//document.getElementById(objDay).value = dateToday.getDate();
//	}

	if(objDayName.length > 0) {
		document.getElementById(objDayName).innerHTML = arrWeekdays[new Date(intYear, intMonth - 1, intDay).getDay()];
	}
}

function toggleCity(refDropDown, refTextBox, refEventRaiser, refViewState, strChangeToTextBoxText, strChangeToDropDownText, strChangeToTextBoxURL, strChangeToDropDownURL) {

	var strTextBoxValue;
	var strDropDownValue;

	if(document.getElementById(refDropDown).style.display == 'none') {
	
		document.getElementById(refDropDown).style.display = 'block';
		document.getElementById(refTextBox).style.display = 'none';
		document.getElementById(refViewState).value = 'list';

		strTextBoxValue = document.getElementById(refTextBox).value;

		for(var i = 0; i < document.getElementById(refDropDown).length; i++) {

			strDropDownValue = document.getElementById(refDropDown).options[i].text.substring(0, document.getElementById(refTextBox).value.length);

			if(strTextBoxValue == strDropDownValue) {
				document.getElementById(refDropDown).value = document.getElementById(refDropDown).options[i].value;
				break;
			}
		}
		
		if(document.getElementById(refEventRaiser).tagName == 'IMG') {
			document.getElementById(refEventRaiser).alt = strChangeToTextBoxText;
			document.getElementById(refEventRaiser).src = strChangeToTextBoxURL;
		}
		else if(document.getElementById(refEventRaiser).tagName == 'A') {
			document.getElementById(refEventRaiser).innerHTML = strChangeToTextBoxText;
		}
	}
	else {
		document.getElementById(refDropDown).style.display = 'none';
		document.getElementById(refTextBox).style.display = 'block';
		document.getElementById(refViewState).value = 'text';
		document.getElementById(refTextBox).value = document.getElementById(refDropDown).options[document.getElementById(refDropDown).selectedIndex].text

		if(document.getElementById(refEventRaiser).tagName == 'IMG') {
			document.getElementById(refEventRaiser).alt = strChangeToDropDownText;
			document.getElementById(refEventRaiser).src = strChangeToDropDownURL;
		}
		else if(document.getElementById(refEventRaiser).tagName == 'A') {
			document.getElementById(refEventRaiser).innerHTML = strChangeToDropDownText;
		}
	}
}
