function USTelControl(strControlName, strInitialTelNumber, strSeparator)
{
	// ----------- Class Properties ----------------------------------------------
	
	this.separator = "-" ;
	this.controlName = strControlName ;
	
	// ----------- Class Methods -------------------------------------------------
	
	this.drawControl = drawControl ;
	this.getTelNo = getTelNo ;
	this.setTelNo = setTelNo ;
	
	// ----------- Private Members -----------------------------------------------
	
	var objTextBox1, objTextBox2, objTextBox3, objHiddenTelField, objHiddenTelField ;
	
	// ----------- Private Functions ----------------------------------------------
	
	function USTelControl_onChange()
	{
		objHiddenTelField.value = getTelNo(this.separator) ;
	}

	// ----------- Class Method Definitions --------------------------------------
	
	function drawControl()
	{
		var strExec, strdrawControl ;
		
		strDrawControlCode = "<input type=\"text\" name=\"txt" + strControlName + "1\" size=\"3\" maxlength=\"3\" style=\"background-color:#ffedae\">&nbsp;-&nbsp;\n" +
							 "<input type=\"text\" name=\"txt" + strControlName + "2\" size=\"3\" style=\"background-color:#ffedae\" maxlength=\"3\">&nbsp;-&nbsp;\n" +
							 "<input type=\"text\" name=\"txt" + strControlName + "3\" size=\"4\" style=\"background-color:#ffedae\" maxlength=\"4\">\n" +
							 "<input type=hidden name=\"" + strControlName + "\" value=\"\">\n" ;
		
		document.write(strDrawControlCode) ;
		
		strExec = "objTextBox1 = document.all.txt" + strControlName + "1 ;" ;
		eval(strExec) ;
		
		strExec = "objTextBox2 = document.all.txt" + strControlName + "2 ;" ;
		eval(strExec) ;

		strExec = "objTextBox3 = document.all.txt" + strControlName + "3 ;" ;
		eval(strExec) ;
		
		strExec = "objHiddenTelField = document.all." + strControlName + " ;" ;
		eval(strExec) ;

		objTextBox1.attachEvent("onchange", USTelControl_onChange) ;
		objTextBox2.attachEvent("onchange", USTelControl_onChange) ;
		objTextBox3.attachEvent("onchange", USTelControl_onChange) ;

		this.setTelNo(strInitialTelNumber, this.separator) ;
	}
	
	function getTelNo(strSeparator)
	{
		var strTelNo = ""
		
		if ( strSeparator == null )
			strSeparator = "-" ;
			
		if ( isEmpty(objTextBox1.value) && isEmpty(objTextBox2.value) && isEmpty(objTextBox3.value) )
			strTelNo = "" ;
		else
			strTelNo = objTextBox1.value + strSeparator + objTextBox2.value + strSeparator + objTextBox3.value ;
			
		return strTelNo ;
	}
	
	function setTelNo(strTelNo, strSeparator)
	{
		var arrTemp ;
		
		if ( strSeparator == null )
			strSeparator = "-" ;

		if ( !isUSTel(strTelNo, strSeparator) )
			return ;
		
		if ( strSeparator == "" )
		{
			objTextBox1.value = strTelNo.substr(0,3) ;
			objTextBox2.value = strTelNo.substr(3,3) ;
			objTextBox3.value = strTelNo.substr(6,4) ;
		}
		else
		{
			arrTemp = strTelNo.split(strSeparator) ;
			objTextBox1.value = arrTemp[0] ;
			objTextBox2.value = arrTemp[1] ;
			objTextBox3.value = arrTemp[2] ;
		}		
		objHiddenTelField.value = this.getTelNo(this.separator) ;
	}
	
	// ----------- Initialisation ------------------------------------------------
	
	if ( strControlName == null )
	{
		throw("Control Name for DateComboControl is invalid") ;
	}
	
	if ( strSeparator == null )
		this.separator = "-" ;
	else
		this.separator = strSeparator ;
		
}

/************************************************Akanchu*******************************************/

function USTelControlDisabled(strControlName, strInitialTelNumber, strSeparator)
{
	// ----------- Class Properties ----------------------------------------------
	
	this.separator = "-" ;
	this.controlName = strControlName ;
	
	// ----------- Class Methods -------------------------------------------------
	
	this.drawControl = drawControl ;
	this.getTelNo = getTelNo ;
	this.setTelNo = setTelNo ;
	
	// ----------- Private Members -----------------------------------------------
	
	var objTextBox1, objTextBox2, objTextBox3, objHiddenTelField, objHiddenTelField ;
	
	// ----------- Private Functions ----------------------------------------------
	
	function USTelControl_onChange()
	{
		objHiddenTelField.value = getTelNo(this.separator) ;
	}

	// ----------- Class Method Definitions --------------------------------------
	
	function drawControl()
	{
		var strExec, strdrawControl ;
		
		strDrawControlCode = "<input disabled=\"yes\"  type=\"text\" name=\"txt" + strControlName + "1\" size=\"3\" maxlength=\"3\">&nbsp;-&nbsp;\n" +
							 "<input disabled=\"yes\" type=\"text\" name=\"txt" + strControlName + "2\" size=\"3\" maxlength=\"3\">&nbsp;-&nbsp;\n" +
							 "<input disabled=\"yes\" type=\"text\" name=\"txt" + strControlName + "3\" size=\"4\" maxlength=\"4\">\n" +
							 "<input disabled=\"yes\" type=hidden name=\"" + strControlName + "\" value=\"\">\n" ;
		
		document.write(strDrawControlCode) ;
		
		strExec = "objTextBox1 = document.all.txt" + strControlName + "1 ;" ;
		eval(strExec) ;
		
		strExec = "objTextBox2 = document.all.txt" + strControlName + "2 ;" ;
		eval(strExec) ;

		strExec = "objTextBox3 = document.all.txt" + strControlName + "3 ;" ;
		eval(strExec) ;
		
		strExec = "objHiddenTelField = document.all." + strControlName + " ;" ;
		eval(strExec) ;

		objTextBox1.attachEvent("onchange", USTelControl_onChange) ;
		objTextBox2.attachEvent("onchange", USTelControl_onChange) ;
		objTextBox3.attachEvent("onchange", USTelControl_onChange) ;

		this.setTelNo(strInitialTelNumber, this.separator) ;
	}
	
	function getTelNo(strSeparator)
	{
		var strTelNo = ""
		
		if ( strSeparator == null )
			strSeparator = "-" ;
			
		if ( isEmpty(objTextBox1.value) && isEmpty(objTextBox2.value) && isEmpty(objTextBox3.value) )
			strTelNo = "" ;
		else
			strTelNo = objTextBox1.value + strSeparator + objTextBox2.value + strSeparator + objTextBox3.value ;
			
		return strTelNo ;
	}
	
	function setTelNo(strTelNo, strSeparator)
	{
		var arrTemp ;
		
		if ( strSeparator == null )
			strSeparator = "-" ;

		if ( !isUSTel(strTelNo, strSeparator) )
			return ;
		
		if ( strSeparator == "" )
		{
			objTextBox1.value = strTelNo.substr(0,3) ;
			objTextBox2.value = strTelNo.substr(3,3) ;
			objTextBox3.value = strTelNo.substr(6,4) ;
		}
		else
		{
			arrTemp = strTelNo.split(strSeparator) ;
			objTextBox1.value = arrTemp[0] ;
			objTextBox2.value = arrTemp[1] ;
			objTextBox3.value = arrTemp[2] ;
		}		
		objHiddenTelField.value = this.getTelNo(this.separator) ;
	}
	
	// ----------- Initialisation ------------------------------------------------
	
	if ( strControlName == null )
	{
		throw("Control Name for DateComboControl is invalid") ;
	}
	
	if ( strSeparator == null )
		this.separator = "-" ;
	else
		this.separator = strSeparator ;
		
}
/************************************************Akanchu*******************************************/