var ErrEncountered = false

function FilterDropDown(basedCombo,selectedCombo,defaultValue,dumpCombo, htxtSelectedId)
	{
		var doc1 = document.forms[0];//Pass your form name
		var basedDD=basedCombo;//Parent dropdown for chid dropdown populating
		var varSelectedId = basedDD.options[basedDD.selectedIndex].value; //Get value of parent dropdown
		htxtSelectedId.value = varSelectedId;
		//hidTextBox.value = varSelectedId;//Give value to hiddend textbox
					
  		var selectedDD=selectedCombo;//Your child dropdown box
  		selectedDD.length=0;//Remove all previous items
  		
		selectedDD.options[selectedDD.options.length] = new Option(defaultValue,0);//Insert default value in child dropdown box			
		
		var iFilteredCount = 1;
		
		//Perform loop on the basis of your temporary dropdown
		for (var iCount = 0; iCount < dumpCombo.options.length; iCount++) 
		{
			var varId = dumpCombo.options[iCount].value;//Give temporary dropdown value to variable
			var varSplitMainId  =  varId.split("|")[0];//Split given value in 2 diffrent
			var varSplitChildId =  varId.split("|")[1];
			var varName  =  dumpCombo.options[iCount].text;
			
			if (varSplitMainId == varSelectedId)
			{
				for (var jCount = 0; jCount < selectedDD.options.length; jCount++) 
				{
					var notFound = 0;
					if (selectedDD.options[jCount].value == varSplitChildId)
					{
						notFound = 1;
					}
				}

				if(notFound == 0)
				{
					selectedDD.options[selectedDD.options.length] = new Option('three','3');
					selectedDD.options[iFilteredCount].text = varName;
					selectedDD.options[iFilteredCount].value = varSplitChildId;
					iFilteredCount = iFilteredCount + 1
				}
			}
		}
	}

//function FilterDropDownTwo(basedCombo1, this, selectedCombo, defaultValue, dumpCombo, htxtSelectedId)
function FilterDropDownTwo(basedCombo1, basedCombo2, selectedCombo, defaultValue, dumpCombo, htxtSelectedId)
	{
	
		var doc1 = document.forms[0];//Pass your form name
		var basedDD1 = basedCombo1;      //Parent dropdown for chid dropdown populating
		var basedDD2 = basedCombo2;      //Parent dropdown for chid dropdown populating
		var varSelectedIdOne = basedDD1.options[basedDD1.selectedIndex].value; //Get value of parent dropdown
		var varSelectedIdTwo = basedDD2.options[basedDD2.selectedIndex].value; //Get value of parent dropdown
			
		htxtSelectedId.value = varSelectedIdTwo;
		//hidTextBox.value = varSelectedId;//Give value to hiddend textbox
					
  		var selectedDD=selectedCombo;//Your child dropdown box
  		selectedDD.length=0;//Remove all previous items
  		
		selectedDD.options[selectedDD.options.length] = new Option(defaultValue,0);//Insert default value in child dropdown box			
		
		var iFilteredCount = 1;
		
		//Perform loop on the basis of your temporary dropdown
		for (var iCount = 0; iCount < dumpCombo.options.length; iCount++) 
		{
			var varId = dumpCombo.options[iCount].value;//Give temporary dropdown value to variable
			var varSplitMainId1  =  varId.split("|")[0];//Split given value in 2 diffrent /Combo 2
			var varSplitMainId2  =  varId.split("|")[1];//Split given value in 2 diffrent / combo 1
			var varSplitChildId =  varId.split("|")[2];
			var varName         =  dumpCombo.options[iCount].text;
			if ((varSplitMainId1 == varSelectedIdOne) && (varSplitMainId2 == varSelectedIdTwo))
			{
				for (var jCount = 0; jCount < selectedDD.options.length; jCount++) 
				{
					var notFound = 0;
					if (selectedDD.options[jCount].value == varSplitChildId)
					{
						notFound = 1;
					}
				}

				if(notFound == 0)
				{
					selectedDD.options[selectedDD.options.length] = new Option('three','3');
					selectedDD.options[iFilteredCount].text = varName;
					selectedDD.options[iFilteredCount].value = varSplitChildId;
					iFilteredCount = iFilteredCount + 1
				}
			}
		}
	}
//function FilterDropDownThree(basedCombo2, This, selectedCombo, defaultValue, dumpCombo, htxtSelectedId)
function FilterDropDownThree(basedCombo1, basedCombo2, selectedCombo, defaultValue, dumpCombo, htxtSelectedId)
	{
	
		var doc1 = document.forms[0];    //Pass your form name
		var basedDD1 = basedCombo1;      //Parent dropdown for chid dropdown populating
		var basedDD2 = basedCombo2;      //Parent dropdown for chid dropdown populating
		var varSelectedIdOne = basedDD1.options[basedDD1.selectedIndex].value; //Get value of parent dropdown
		var varSelectedIdTwo = basedDD2.options[basedDD2.selectedIndex].value; //Get value of parent dropdown
		
		htxtSelectedId.value = varSelectedIdOne;
		//hidTextBox.value = varSelectedId;//Give value to hiddend textbox
					
  		var selectedDD=selectedCombo;//Your child dropdown box
  		selectedDD.length=0;//Remove all previous items
  		
		selectedDD.options[selectedDD.options.length] = new Option(defaultValue,0);//Insert default value in child dropdown box			
		var iFilteredCount = 1;
		
		//Perform loop on the basis of your temporary dropdown
		for (var iCount = 0; iCount < dumpCombo.options.length; iCount++) 
		{
			var varId = dumpCombo.options[iCount].value;//Give temporary dropdown value to variable
			var varSplitMainId1  =  varId.split("|")[1];//Split given value in 2 diffrent /Combo 2
			var varSplitMainId2  =  varId.split("|")[0];//Split given value in 2 diffrent / combo 1
			var varSplitChildId  =  varId.split("|")[2];
			var varName          =  dumpCombo.options[iCount].text;
		
			if ((varSplitMainId1 == varSelectedIdOne) && (varSplitMainId2 == varSelectedIdTwo))
			{
				for (var jCount = 0; jCount < selectedDD.options.length; jCount++) 
				{
					var notFound = 0;
					if (selectedDD.options[jCount].value == varSplitChildId)
					{
						notFound = 1;
					}
				}

				if(notFound == 0)
				{
					selectedDD.options[selectedDD.options.length] = new Option('three','3');
					selectedDD.options[iFilteredCount].text = varName;
					selectedDD.options[iFilteredCount].value = varSplitChildId;
					iFilteredCount = iFilteredCount + 1
				}
			}
		}
	}
//basedCombo	is the value taken for selected value
//selectedCombo is the combo box which represents the records will be inserted based on the selection of the base combo
//FiltrStr is = 'GC', or 'WC'
//DefualtValue = In the selection combo "Select Circle"
//DumpCombo is the value combo where from the value is obtained for selection....
	
function FilterUserControlDropDown(basedCombo, selectedCombo, FiltrStr, defaultValue, dumpCombo)
	{
		var doc1 = document.forms[0];//Pass your form name
		var basedDD=basedCombo;//Parent dropdown for chid dropdown populating
		var varSelectedId = basedDD.options[basedDD.selectedIndex].value; //Get value of parent dropdown
		//hidTextBox.value = varSelectedId;//Give value to hiddend textbox
					
  		var selectedDD = selectedCombo;//Your child dropdown box
  		selectedDD.length = 0;//Remove all previous items
  		
		selectedDD.options[selectedDD.options.length] = new Option(defaultValue,0);//Insert default value in child dropdown box			
		var iFilteredCount = 1;
		
		//Perform loop on the basis of your temporary dropdown
		for (var iCount = 0; iCount < dumpCombo.options.length; iCount++) 
		{
			var varId = dumpCombo.options[iCount].value;//Give temporary dropdown value to variable
			var varFilterStr    =  varId.split("|")[0];//Split given value in 2 diffrent
			var varSplitMainId  =  varId.split("|")[1];//Split given value in 2 diffrent
			var varSplitChildId =  varId.split("|")[2];
			
			var varName  =  dumpCombo.options[iCount].text;
			
			if ((varSplitMainId1 == varSelectedIdOne) && (varSplitMainId2 == varSelectedIdTwo))
			
			if ((varSplitMainId == varSelectedId) && (varFilterStr == FiltrStr))
			{
				for (var jCount = 0; jCount < selectedDD.options.length; jCount++) 
				{
					var notFound = 0;
					if (selectedDD.options[jCount].value == varSplitChildId)
					{
						notFound = 1;
					}
				}

				if(notFound == 0)
				{
					selectedDD.options[selectedDD.options.length] = new Option('three','3');
					selectedDD.options[iFilteredCount].text = varName;
					selectedDD.options[iFilteredCount].value = varSplitChildId;
					iFilteredCount = iFilteredCount + 1
				}
			}
		}
	}
			
function Trim(TRIM_VALUE)
	{
	if(TRIM_VALUE.length < 1){
	return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE=="")
	{
		return "";
	}
	else
	{
		return TRIM_VALUE;
	}
} //End Function

//Just a trim function it can be generally called
//sudevan
function RTrim(VALUE)
{
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0)
	{
		return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1)
		{
		if(VALUE.charAt(iTemp) == w_space){
			}
			else
			{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
			}	
		iTemp = iTemp-1;

		} //End While
	return strTemp;
} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1)
	{
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;
while(iTemp < v_length)
	{
		if(VALUE.charAt(iTemp) == w_space)
		{
		}
		else
		{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
		} //End While
		return strTemp;
	} //End Function



function checknull(obj)
// Check for Null value.
/* 
Pass the parameters - 
		1.  Field object name
		Eg. checknull(document.form1.txtName)
*/
{
	ErrEncountered = false;
	var i = 0;
	for(i=0;(i < obj.value.length && obj.value.charAt(i) == ' ');i++);
		if (i == obj.value.length) 
		{
			ErrEncountered = true;
		}
	return ErrEncountered; 
}		

function checkcombo(obj,val)
// Check for value in the dropdown.
/*	Function checkcombo
	Pass the parameter(s) - 
		 1.	Field object name
		 2.	Text of the dropdown which is to be checked.
		 Eg. checkcombo(document.form1.txtEmail,'X')
*/
{
	ErrEncountered = false;
	if (obj.options[obj.selectedIndex].text==val)
		{
			ErrEncountered=true;
		}
	return ErrEncountered; 
}

function checklength(obj)
// Check for value in the text area.
/*	Function checklength
	Pass the parameter(s) - 
		 1.	Field object name
		 Eg. checklength(document.form1.txtAddress)
*/
{
	ErrEncountered = false;
	if (parseInt(obj.value.length,10) > parseInt(obj.Maxlength,10))
		{
			ErrEncountered=true;
		}
	return ErrEncountered; 
}

function checkemail(obj)
// Check for valid email addresses
/* Function checkemail
  Pass the parameter(s) - 
	1.	Field object name
	Eg. checkemail(document.form1.txtEmail)
*/
{
	ErrEncountered = false;
	emailexp1 = /([a-zA-Z0-9_-]+)(@)([a-zA-Z0-9-]+)([\.])([a-zA-Z]){2,}/   
	emailexp2 = /([a-zA-Z0-9_-]+)(@)([a-zA-Z0-9-]+)([\.])([a-zA-Z]){4,}/   

	if ((obj.value.search(emailexp1) == - 1) || (obj.value.search(emailexp2) != - 1))
	{
		ErrEncountered = true;
	}
	return ErrEncountered;
}	

function checknum(obj,minvalue)
// Check for numeric value, if its numeric - should be greater than/equal to given value.
/*		Function checknum
			Pass the parameter(s) - 
			1.	Field object name
			2.	Minimum value i.e. the value entered in the object should be greater than/equal to minimum value.
						 
			 Eg. checknum(document.form1.txtArea,0)
*/
{
	ErrEncountered=false;
	if (isNaN(obj.value))
	{
		ErrEncountered = true;
	}
	else
	{
		if (parseInt(obj.value,10) < minvalue)
		{
			ErrEncountered=true;
		}
	}
	return ErrEncountered;
}

function checkPostDate(fromdt, FromHour, FromMinute)
// Check whether From date > To date.
/*		Function checkdaterange
		Pass the parameters - 
		1.	value of From Date field in the format(mm/dd/yyyy)
*/
{
	ErrEncountered = false;

	var CurrentDate		   = new Date();
	var CurrentYear        = CurrentDate.getYear();
	var CurrentMonth       = CurrentDate.getMonth();
	var CurrentDay         = CurrentDate.getDate();
	var CurrentHour        = CurrentDate.getHours();
	var currentMinute      = CurrentDate.getMinutes();
	
	var SplitDateValue        = fromdt.split('/');
	var FromCurrentYear       = SplitDateValue[2];
	var FromCurrentMonth      = SplitDateValue[1] - 1;
	var FromCurrentDay        = SplitDateValue[0];
	
	var ActualFromDateTime    = new Date(FromCurrentYear, FromCurrentMonth , FromCurrentDay, FromHour, FromMinute, 0);
	var ActualCurrentDateTime = new Date(CurrentYear, CurrentMonth, CurrentDay, CurrentHour, currentMinute, 0);
	
	ActualCurrentDate = Date.parse(ActualCurrentDateTime);
	ActualFromDate    = Date.parse(ActualFromDateTime);
	
	if (ActualFromDate < ActualCurrentDate)
	{
			ErrEncountered = true;
	}
	return ErrEncountered;
}			


function checkDateFromAndTo(fromdt, FromHour, FromMinute, Todt, ToHour, ToMinute, SlotCapacity, MaxSlots)

// Check whether From date > To date.
/*		Function checkdaterange
		Pass the parameters - 
		1.	value of From Date field in the format(mm/dd/yyyy)
*/
{
	var ErrEncountered = 0;

	var SplitFromDateValue  = fromdt.split('/');
	var FromCurrentYear     = SplitFromDateValue[2];
	var FromCurrentMonth    = SplitFromDateValue[1] - 1;
	var FromCurrentDay      = SplitFromDateValue[0];
	
	var SplitToDateValue    = Todt.split('/');
	var ToCurrentYear       = SplitToDateValue[2];
	var ToCurrentMonth      = SplitToDateValue[1] - 1;
	var ToCurrentDay        = SplitToDateValue[0];

	
	var ActualFromDateTime  = new Date(FromCurrentYear, FromCurrentMonth , FromCurrentDay, FromHour, FromMinute, 0);
	var ActualToDateTime    = new Date(ToCurrentYear, ToCurrentMonth, ToCurrentDay, ToHour, ToMinute, 0);
	ActualFromDate = Date.parse(ActualFromDateTime);
	ActualToDate    = Date.parse(ActualToDateTime);

	if (ActualFromDate >= ActualToDate)
	{
		ErrEncountered = 1;
		return ErrEncountered;	
	}
	else
	{
		if((ActualToDate - ActualFromDate) < SlotCapacity * 60000)
			{
				ErrEncountered = 2;
				return ErrEncountered;
			}
		else
			{
				if((ActualToDate - ActualFromDate) > SlotCapacity * 1 * MaxSlots * 60000)
				{
					ErrEncountered = 3;
					return ErrEncountered;
				}
			}
	}
}			

function checkdaterange(fromdt,todt)
// Check whether From date > To date.
/*		Function checkdaterange
			 Pass the parameters - 
						1.  value of From Date field in the format(mm/dd/yyyy)
						2.  value of To Date field in the format(mm/dd/yyyy)
						3.  Text for From Date to be displayed in the alert message
						4.  Text for To Date to be displayed in the alert message 
						
						 Eg. checkdaterange('12/1/2001','12/31/2001','From Date','To Date')
*/

{
ErrEncountered = false;
var fromdtnum = Date.parse(fromdt);
var todtnum = Date.parse(todt);

	if (todtnum < fromdtnum)
	{
		ErrEncountered = true;
	}
	return ErrEncountered; 	
}
function checkphone(obj,text)
{
	var expphno = /([^0-9\,\;\(\)]){1,}/;
	if (obj.value.search(expphno)!= -1)
		{
			alert(text);
			obj.focus();
			return false; 
		}
	return true;
}

function checkphoneObjectOnly(obj)
{
	var expphno = /([^0-9\,\;\(\)]){1,}/;
	if (obj.value.search(expphno)!= -1)
		{
			return false;
		}
	return true;
}

//Check The Text Data for alphabets and (&, -, ,, ')
function isValidText(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' ')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//Check The Text Data for alphabets
function isValidText1(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' '||ch=="'"||ch=='&'||ch==','||ch=='-'||ch=='('||ch==')'||ch=='.')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//Check The Text Data for alphabets, numerics and (&, -, ,, ', (, ))
function isValidText2(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' '||(ch>=0&&ch<=9)||ch=="'"||ch=='&'||ch==','||ch=='-'||ch=='('||ch==')'||ch=='.')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}