function ReplaceDaysInMonthCombo(OldDayCombo,NewDayCombo,NewYearMonthCombo)
{
	var TmpStr;
	var theOuterHTML = new String();
	
	var OldDayComboObj			=	document.getElementById("" + OldDayCombo + "");
	var theDayComboObj		=	document.getElementById("" + NewDayCombo + "");
	var theMonthComboObj	=	document.getElementById("" + NewYearMonthCombo + "");
	
	TmpStr	=	theMonthComboObj[theMonthComboObj.selectedIndex].Days;
	theDayComboObj.options.length = 0;
	theDayComboObj.options.length = TmpStr;
	

	var DayCounter = 1;
	for(i=0;DayCounter<=TmpStr;i++)
	{
		theDayComboObj.options[i].value = DayCounter ;
		theDayComboObj.options[i].text = DayCounter ;
		
		if(DayCounter == OldDayComboObj[OldDayComboObj.selectedIndex].value)
		{
			SetSafeComboIndex(theDayComboObj, DayCounter-1); 
		}	
		
		DayCounter ++;
	}
		
		
	if(OldDayComboObj[OldDayComboObj.selectedIndex].value > TmpStr*1)
	{
		OldDayComboObj.selectedIndex = 1;
	}
	else if(OldDayComboObj[OldDayComboObj.selectedIndex].value <= TmpStr*1)
	{
		SetSafeComboIndex(OldDayComboObj, theDayComboObj.selectedIndex);
	}
	
	
}

	
function OLD_ReplaceDaysInMonthCombo(OldDayCombo,NewDayCombo,NewYearMonthCombo)
{
	var OptionStr = "";
	var OldDayComboObj			=	document.getElementById("" + OldDayCombo + "");
	var NewDayComboObj			=	document.getElementById("" + NewDayCombo + "");
	var NewYearMonthComboObj	=	document.getElementById("" + NewYearMonthCombo + "");
	var TmpStr;
	var theOuterHTML = new String();
	
	if (NewYearMonthComboObj.length > NewYearMonthComboObj.selectedIndex || NewYearMonthComboObj.selectedIndex< 0)
		return;
	TmpStr	=	NewYearMonthComboObj[NewYearMonthComboObj.selectedIndex].Days;
	
	NewDayComboObj.innerHTML = "";
	//alert(NewDayComboObj.outerHTML);
	theOuterHTML	=	NewDayComboObj.outerHTML;
	theOuterHTML	=	theOuterHTML.substr(0,(theOuterHTML.length-9));
	
	
	for(var dayCounter = 1;dayCounter<=TmpStr;dayCounter++)
	{
		if(dayCounter == 0)
		{
			OptionStr =  OptionStr + "<OPTION value=" + dayCounter + "></OPTION>" ;
		}	
		else
		{
			if((OldDayComboObj[OldDayComboObj.selectedIndex].value)*1 == dayCounter)
			{
				//alert("selected" + dayCounter);
				OptionStr =  OptionStr + "<OPTION selected value=" + dayCounter + ">" + dayCounter + "</OPTION>" ;
			}	
			else
			{
				OptionStr =  OptionStr + "<OPTION value=" + dayCounter + ">" + dayCounter + "</OPTION>" ;
			}
			
		}
		
		
	}
	
	NewDayComboObj.outerHTML = theOuterHTML + OptionStr + "</Select>";
	
	
	if(OldDayComboObj[OldDayComboObj.selectedIndex].Value > TmpStr)
	{
		//alert("1");
		OldDayComboObj.selectedIndex = 1;
	}
	else if(OldDayComboObj[OldDayComboObj.selectedIndex].Value <= TmpStr)
	{
		//alert("2");
		SetSafeComboIndex(OldDayComboObj, NewDayComboObj.selectedIndex);
	}
	
	
}


								
function AutoSelectOldDayCombo(OldCombo,NewCombo)
{
	//alert("auto selecting day");
	var OldComboObj			=	document.getElementById("" + OldCombo + "");
	var NewComboObj			=	document.getElementById("" + NewCombo + "");
	var TmpSelectedDay		=	NewComboObj[NewComboObj.selectedIndex].value;

	//alert(NewComboObj.length);
	for(var i=0;i<=NewComboObj.length;i++)
	{
		//alert(NewComboObj.length + "==" + i);
		if(OldComboObj[i] && OldComboObj[i].value == TmpSelectedDay)
		{
			SetSafeComboIndex(OldComboObj, i);
			return;
			
		}
		//alert("arye");
		if(NewComboObj.length == i)
		{
			//alert("hello");
			OldComboObj.selectedIndex	= 1;
			return;
		}
		
	}

}

function UpdateNewMonthYearCombo(OldYearCombo,OldMonthCombo,NewYearMonthCombo)
{
	//alert("start");
	var OldMonthComboObj =	document.getElementById("" + OldMonthCombo + "");
	var OldYearComboObj	 =	document.getElementById("" + OldYearCombo + "");
	var NewYearMonthComboObj	=	document.getElementById(NewYearMonthCombo);
	
	if (OldYearComboObj.selectedIndex < 0 || OldYearComboObj.length < OldYearComboObj.selectedIndex || OldMonthComboObj.length < OldMonthComboObj.selectedIndex || OldMonthComboObj.selectedIndex < 0)
		return;						
	TmpStr	=	OldYearComboObj[OldYearComboObj.selectedIndex].value + "_" + OldMonthComboObj[OldMonthComboObj.selectedIndex].value;
	
	//alert(TmpStr);
	for(var i=0;i<NewYearMonthComboObj.length;i++)
	{
		//alert(TmpStr +" , " + i);
		if(NewYearMonthComboObj[i].value == ""+TmpStr+"")
		{
			SetSafeComboIndex(NewYearMonthComboObj, i);
			//alert(NewYearMonthComboObj[i].value + "=" + TmpStr);
			return;
		}
	
	}
	//alert("end");
}




function UpdateOldMonthYearCombos(OldYearCombo,OldMonthCombo,NewYearMonthCombo)
{
	
	
	var TmpStr	= new String();
	
	var OldMonthComboObj		=	document.getElementById("" + OldMonthCombo + "");
	var OldYearComboObj			=	document.getElementById("" + OldYearCombo + "");
	var NewYearMonthComboObj	=	document.getElementById("" + NewYearMonthCombo + "");

	TmpStr	=	NewYearMonthComboObj[NewYearMonthComboObj.selectedIndex].value;
	
	var TmpYear			=	TmpStr.substr(0,TmpStr.indexOf("_"));
	var TmpMonth		=	TmpStr.substr(TmpStr.indexOf("_")+1);
	
	
	for(var i=0;i<OldMonthComboObj.length;i++)
	{
	
		if(OldMonthComboObj[i].value == ""+TmpMonth+"")
		{
			SetSafeComboIndex(OldMonthComboObj, i);
			//alert("found match");
		}
	
	}
	
	
	for(var i=0;i<OldYearComboObj.length;i++)
	{
		if(OldYearComboObj[i].value == ""+TmpYear+"")
		{
			SetSafeComboIndex(OldYearComboObj, i);
			//alert("found match");
			
		}
	
	}
	

}



function SyncAllCombosComplex(OldYearCombo,OldMonthCombo,OldDayCombo,NewMonthYearCombo,NewDayCombo)
{
	var OldYearComboObj			=	document.getElementById(OldYearCombo);
	var OldMonthComboObj		=	document.getElementById(OldMonthCombo);
	var OldDayComboObj			=	document.getElementById(OldDayCombo);
	var NewMonthYearComboObj	=	document.getElementById(NewMonthYearCombo);
	var NewDayComboObj			=	document.getElementById(NewDayCombo);

	//alert(NewMonthYearCombo);
	if(document.getElementById(NewMonthYearCombo))
	{
		//alert("all exist");
		UpdateNewMonthYearCombo(OldYearComboObj.name,OldMonthComboObj.name,NewMonthYearComboObj.name);
		ReplaceDaysInMonthCombo(OldDayComboObj.name,NewDayComboObj.name,NewMonthYearComboObj.name);
		AutoSelectOldDayCombo(OldDayComboObj.name,NewDayComboObj.name);
		
	}

	//alert(OldYearComboObj.name+"," + OldMonthComboObj.name+"," + OldDayComboObj.name + "," + NewMonthYearComboObj.name + "," + NewDayComboObj.name);
	//UpdateNewMonthYearCombo(OldYearComboObj.name,OldMonthComboObj.name,NewMonthYearComboObj.name);
	//ReplaceDaysInMonthCombo(OldDayComboObj.name,NewDayComboObj.name,NewMonthYearComboObj.name);
	//AutoSelectOldDayCombo(OldDayComboObj.name,NewDayComboObj.name);
		
	
}



function SyncAllCombos()
{
	var StartDateObj	=	document.getElementById("start_dt_dy");
	var EndDateObj		=	document.getElementById("end_dt_dy");
	var DepStartDateObj	=	document.getElementById("dep_dt_dy_1");
	var DepEndDateObj	=	document.getElementById("dep_dt_dy_2");
	var chequeValueDateObj = document.getElementById("cheque_value_dt_mn");
	var transValueDateObj = document.getElementById("trans_value_dt_mn");
	
	if(StartDateObj)
	{
		UpdateNewMonthYearCombo('start_dt_yr','start_dt_mn','SelectStartMonthYear');
		ReplaceDaysInMonthCombo('start_dt_dy','SelectStartDay','SelectStartMonthYear');
		AutoSelectOldDayCombo('start_dt_dy','SelectStartDay');
	}
		
	if(EndDateObj)
	{
		UpdateNewMonthYearCombo('end_dt_yr','end_dt_mn','SelectEndMonthYear');
		ReplaceDaysInMonthCombo('end_dt_dy','SelectEndDay','SelectEndMonthYear');
		AutoSelectOldDayCombo('end_dt_dy','SelectEndDay');
	}
	
	if(DepStartDateObj)
	{
		UpdateNewMonthYearCombo('dep_dt_yr_1','dep_dt_mn_1','SelectStartMonthYear');
		ReplaceDaysInMonthCombo('dep_dt_dy_1','SelectStartDay','SelectStartMonthYear');
		AutoSelectOldDayCombo('dep_dt_dy_1','SelectStartDay');
	}
		
	if(DepEndDateObj)
	{
		//alert("SyncAllCombos");
		UpdateNewMonthYearCombo('dep_dt_yr_2','dep_dt_mn_2','SelectEndMonthYear');
		ReplaceDaysInMonthCombo('dep_dt_dy_2','SelectEndDay','SelectEndMonthYear');
		AutoSelectOldDayCombo('dep_dt_dy_2','SelectEndDay');
	}
	
	if(chequeValueDateObj)
	{
		UpdateNewMonthYearCombo('cheque_value_dt_yr','cheque_value_dt_mn','cheque_SelectStartMonthYear');
		ReplaceDaysInMonthCombo('cheque_value_dt_dy','cheque_SelectStartDay','cheque_SelectStartMonthYear');
		AutoSelectOldDayCombo('cheque_value_dt_dy','cheque_SelectStartDay');
	}
	if(transValueDateObj)
	{
		UpdateNewMonthYearCombo('trans_value_dt_yr','trans_value_dt_mn','trans_SelectStartMonthYear');
		ReplaceDaysInMonthCombo('trans_value_dt_dy','trans_SelectStartDay','trans_SelectStartMonthYear');
		AutoSelectOldDayCombo('trans_value_dt_dy','trans_SelectStartDay');
	}
	
}




function CheckNewDatesValid(OldDayCombo,OldMonthCombo,OldYearCombo,NewDayCombo,NewMonthCombo,NewYearCombo)
{
	//Get the combo Objects
	var TmpStr	=	new String();
	var OldDayComboObj			=	document.getElementById(OldDayCombo);
	var OldMonthComboObj		=	document.getElementById(OldMonthCombo);
	var OldYearComboObj			=	document.getElementById(OldYearCombo);
	var NewDayComboObj			=	document.getElementById(NewDayCombo);
	var NewMonthComboObj		=	document.getElementById(NewMonthCombo);
	var NewYearComboObj			=	document.getElementById(NewYearCombo);

	//Get the currently selected combo values
	var OldSelectedDay		=	OldDayComboObj[OldDayComboObj.selectedIndex].value;
	var OldSelectedMonth	=	OldMonthComboObj[OldMonthComboObj.selectedIndex].value;
	var OldSelectedYear		=	OldYearComboObj[OldYearComboObj.selectedIndex].value;
	var NewSelectedDay		=	NewDayComboObj[NewDayComboObj.selectedIndex].value;
	
	var NewSelectedMonth	=	NewMonthComboObj[NewMonthComboObj.selectedIndex].value;
	var NewSelectedYear		=	NewYearComboObj[NewYearComboObj.selectedIndex].value;
	

	//alert(OldSelectedMonth);
	//alert(NewSelectedMonth);
	//Check if the 1st month is smaller than the second
	if(OldSelectedYear*1 > NewSelectedYear*1)
	{
		for(var i=0;i<NewYearComboObj.length;i++)
		{
			if(NewYearComboObj[i].value == OldSelectedYear*1)
			{
				SetSafeComboIndex(NewYearComboObj, i);
			}
			
		}
		if(OldSelectedMonth*1 >= NewSelectedMonth*1)
		{
			for(var i=0;i<NewYearComboObj.length;i++)
			{
				if(NewYearComboObj[i].value == OldSelectedMonth)
				{
					SetSafeComboIndex(NewYearComboObj, i);
				}
				
			}
		
		}
		
		if(OldSelectedDay*1 >= NewSelectedDay*1)
		{
		//alert("day>>" +(OldSelectedDay*1)+1);
			for(var i=0;i<NewDayComboObj.length;i++)
			{
				if(NewDayComboObj[i].value == (OldSelectedDay*1)+1)
				{
					SetSafeComboIndex(NewDayComboObj, i);
				}
				
			}
		
		}
	
		
		
	}
	else if(OldSelectedYear*1 == NewSelectedYear*1)
	{
		if(OldSelectedMonth*1 > NewSelectedMonth*1)
		{
			
			for(var i=0;i<NewMonthComboObj.length;i++)
			{
				if(NewMonthComboObj[i].value == OldSelectedMonth)
				{
					SetSafeComboIndex(NewMonthComboObj, i);
				}
				
			}
		
		}
		
		if(OldSelectedDay*1 >= NewSelectedDay*1)
		{
		//alert("day>>" +(OldSelectedDay*1)+1);
			for(var i=0;i<NewDayComboObj.length;i++)
			{
				if(NewDayComboObj[i].value == (OldSelectedDay*1)+1)
				{
					SetSafeComboIndex(NewMonthComboObj, i*1);
				}
				else
				{
					SetSafeComboIndex(NewMonthComboObj, OldDayComboObj.selectedIndex);
				}
				
			}
		
		}
	}

}


//The selected index will be set only if it there is an item to set it to it.
function SetSafeComboIndex(combo, newSelectedIndex)
{
	if (combo.length < newSelectedIndex)
		return false;

	combo.selectedIndex = newSelectedIndex;
	return true;
}



