

addEvent(window, "load", loadingFunctions);

function loadingFunctions()
{	
	var addbtn = document.getElementById("Btnadd");
	var editbtn = document.getElementById("Btnedit");
	var savebtn = document.getElementById("Btnsave");
	var deletebtn = document.getElementById("Btndelete");	
		
	hideLoading();	
	HandleBodyLoad();
	WrapRequired();
	GetHandleHelp();
	GetAllBtns();
	isFormReq();
	handleButton(addbtn);
	handleButton(editbtn);
	handleButton(savebtn);	
	handleButton(deletebtn);
	HandlePrinting();	
	addTitlesToAnchors();
	addTitlesToInput();	
	addTitlesToSelect();
	addTitlesToTextarea();	
	DisableControls();
	EnableControls();
	initializeTextareaCounters();
}

//--------------begin functions called onload--------------//	

function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener!=null)
		{ 
			obj.addEventListener(evType, fn, false); 
			return true; 
		} 
	else if (obj.attachEvent!=null)
		{ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		} 
	else 
		{ 
			return false; 
		} 
}

function returnEventSource(e)
{
	if(e.target) return e.target;
	else if (e.srcElement) return e.srcElement;
	return;
}
	
function HandlePrinting()
{
	if(document.getElementById("Btnprinter")!=null)
		{
			document.getElementById("Btnprinter").setAttribute("onclick", "return printMe();");
		}
}
function HandleBodyLoad()
{
	addEvent(window.document.forms[0], "submit", showLoading);
}

function WrapRequired()
{

	var reqCtl = "";
	if(document.getElementById("reqControls")!=null)
		{
			reqCtl = new String(document.getElementById("reqControls").value);
		}
	var layers = document.getElementsByTagName("SELECT");
	var i;
	var node;
	var parent;
	var nextSib;
		
	for (i=0;i<layers.length;i++)
		{
			if(layers[i].className.indexOf("aspreq")>=0 || reqCtl.indexOf(layers[i].id, 0)>=0)
				{
					parent=layers[i].parentNode;
						if(parent.className!="aspreq" && parent.tagName!="span")
							{
								nextSib=layers[i].nextSibling;
								node = document.createElement("span");
								node.className="aspreqie";
								if(layers[i].className.indexOf("nodisplay")>=0)
								{
									node.className="aspreqie nodisplay";
									layers[i].className=layers[i].className.slice(0, layers[i].className.lastIndexOf(" "))[0];
								}
								node.id=layers[i].id + '_spanParent';
								node.appendChild(layers[i]);
									if(nextSib!=null)
										{
											parent.insertBefore(node, nextSib);
										}
									else
										{
											parent.appendChild(node);
										}
							}
				}
		} 
	WrapInvalid();
}

function WrapInvalid(hidName)
{
	
	var hids=new Array();
	var i; var j; var k;
	var node;
	var parent;
	var nextSib;
	if(hidName!="" && document.getElementById(hidName)!=null)
	{
		hids.push(document.getElementById(hidName));
	}
	else
	{
		var inputs = document.getElementsByTagName("INPUT");
		for(k=0;k<inputs.length;k++)
		{
			if(inputs[k].id.indexOf("hidInvalidControls")>=0)
			{
				hids.push(inputs[k]);
			}
		}
	}
	
		for(j=0;j<hids.length;j++)
		{
		
			if(hids[j]!=null)
			{
				var str = new String(hids[j].value);
				var ctls = new Array();
				if(str!="")
					{				
						ctls = str.split(";");				
						for(i=0; i<ctls.length-1; i++)
							{
								if(document.getElementById(ctls[i])!=null)
									{
										var node = document.createElement("span");
										node.appendChild(document.createTextNode("!"));
										node.className="invalid";
									
										if(document.getElementById(ctls[i]).parentNode.tagName=="SPAN")
											{
												document.getElementById(ctls[i]).parentNode.parentNode.insertBefore(node, document.getElementById(ctls[i]).parentNode.nextSibling);
											}
										else
											{
												document.getElementById(ctls[i]).parentNode.insertBefore(node, document.getElementById(ctls[i]).nextSibling);
											}
									}
								
							}
					}
			}
		}
}
		
		
function GetHandleHelp() 
{
	var cookie = readHelpCookie("KITHelpCA");
	var title = cookie	
	if(title!=null)
		{
			if(title=="Open")
				{
					OpenHelp();
				}		
			else if(title=="Closed")
				{
					CloseHelp();
				}			
		}
	else 
		{
			OpenHelp();
			registerHelp("Open")
		}	
}

function readHelpCookie(name) 
{
	var nameEQ = name + "=";
	var nameEX = nameEQ + "null";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
		{
			var c = ca[i];
			while (c.charAt(0)==' ') 
				c = c.substring(1,c.length);

			if (c.indexOf(nameEQ) == 0 && c.indexOf(nameEX)==-1) return c.substring(nameEQ.length,c.length);
		}
	return null;
}
		
function HandleHelp() 
{
	if(document.getElementById("lblformText").className=='text')
		{
			CloseHelp();
			registerHelp("Closed");
		}
	else if(document.getElementById("lblformText").className=='nodisplay')
		{
			OpenHelp();
			registerHelp("Open");
		}
	else 
		{
			alert('oops');
		}
	
}
	
function CloseHelp()
{
	if(document.getElementById("lblformText")!=null)
		{
			document.getElementById("lblformText").className='nodisplay';				
		}
	if(document.getElementById("AnchorHelpText")!=null)
		{
			document.getElementById("AnchorHelpText").innerText='Show Page Info';				
		}
}
	
function OpenHelp()
{
	if(document.getElementById("lblformText")!=null)
		{
			document.getElementById("lblformText").className='text';				
		}
	if(document.getElementById("AnchorHelpText")!=null)
		{
			document.getElementById("AnchorHelpText").innerText='Hide Page Info';				
		}
}

function registerHelp(name) 
{           
	var today = new Date();
	var expires = new Date();
	expires.setTime(today.getTime() + 60*60*24*365);
	setHelpCookie("KITHelpCA", name, expires);
}

function setHelpCookie(name, value, expire) 
{          
	document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
}

function handleButton(buttonID)
{
	if (buttonID!=null)
		{
			if (buttonID.getAttribute("disabled"))
				{
					buttonID.className='nodisplay';
				}
			else
				{
					buttonID.className='buttonpanel';
				}
		}
}

function SwapClass(ctl, oldClass, newClass)
{
	
	if(ctl!=null)
		{
			var control = document.getElementById(ctl);
			
			if(control.className==oldClass)
				{
					control.className=newClass;
				}
			else
				{
					control.className=oldClass;
				}
		}
	else
	{
		alert('ctl is nothing');
	}
}

function GetAllBtns()
{
	var layers = document.getElementsByTagName("input");
	if(layers.length>0)
		{
			for(var i=0;i<=layers.length;i++)
				{
					if(layers[i])
						{							
							if(layers[i].className=="buttonall" || layers[i].className=="buttonpanel")
								{
									var objID = layers[i].getAttribute("id");
									var obj = document.getElementById(objID);
											
									addEvent(obj, "mouseover", changeButtons);
									addEvent(obj, "mouseout", changeButtons);											
								}							
						}
				}
		}
}

function changeButtons(e)
{
	var srcObj;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e)
	
	if (e.type=="mouseover")
		{		
			if (srcObj.className=="buttonall")
				{
					srcObj.className="buttonall2";
				}
			else if(srcObj.className=="buttonpanel")
				{
					srcObj.className="buttonpanel2";
				}
		}
	else if(e.type=="mouseout")
		{
			if (srcObj.className=="buttonall2")
				{
					srcObj.className="buttonall";
				}
			else if(srcObj.className=="buttonpanel2")
				{
					srcObj.className="buttonpanel";
				}
		}
}

function addTitlesToAnchors()
{
	var layers = document.getElementsByTagName("a");
	var i;
	for (i=0;i<layers.length;i++)
		{  
			if(layers[i].title=="")
				{
					if(layers[i].className!="info")
						{
							layers[i].title=layers[i].innerText;		
						}
				}
		}  
}

function addTitlesToInput()
{
	var layers = document.getElementsByTagName("input");
	var i;
	for (i=0;i<layers.length;i++)
		{  
			if((layers[i].type=="submit") || (layers[i].type=="reset"))
				{		
					if(layers[i].title=="")
						{
							layers[i].title=layers[i].value;
						}	
				}	
			else
				{
					if(layers[i].className=="aspreq")
						{
							layers[i].title="This field is required to save the form!";
						}
				}
		}  
}

function addTitlesToTextarea()
{
	var layers = document.getElementsByTagName("TEXTAREA");
	var i;
	for (i=0;i<layers.length;i++)
		{  	
			if(layers[i].className=="aspreq")
				{			
					layers[i].title="This field is required to save the form!";
				}	
		}  
}

function addTitlesToSelect()
{
	var layers = document.getElementsByTagName("select");
	var i;
	for (i=0;i<layers.length;i++)
	{  	
		if(layers[i].className=="aspreq")
		{		
			layers[i].title="This field is required to save the form!";
		}	
	}  
}

function isFormReq()
{
	var layers = document.getElementsByTagName("*");
	var i;
	if(document.getElementById("cellSpanReqIndicator"))
		{
			document.getElementById("cellSpanReqIndicator").className='nodisplay';
			for (i=0;i<layers.length;i++)
			{  				
				if(layers[i].id!="SpanReqIndicator")
					{		
						if(layers[i].className=="aspreq")
							{
								document.getElementById("cellSpanReqIndicator").className='';
							}			
					}	
			}	
		}
}

function SelectUnSelect(idPrefix,  numControls, offset, idSuffix, ctl)
{
	try
		{	
			var currBln = document.getElementById(ctl).getAttribute("checked");
			var id;
			var i;
			for(i=offset;i<numControls+offset;i++)
				{
					id=idPrefix +  new String(i) + idSuffix;
					if(document.getElementById(id)!=null)
					{			
							if(currBln)							
								{
									if(document.getElementById(id).getAttribute("disabled").toString()=="false")
									{
									    try
									    {
									        document.getElementById(id).checked=false;
									    }
									    catch(e)
									    {
									        document.getElementById(id).setAttribute("checked", "");
									    }
										
									}
								}
								else
								{
								    try
								    {
								        document.getElementById(id).checked=true;
								    }
								    catch(e)
								    {
								        document.getElementById(id).setAttribute("checked", "true");
								    }
									
								}		
						}
				}
					
		}
	catch(e)
		{alert(e);
		//__doPostBack(ctl,'');
		}
}

//--------------end functions called onload--------------//	
	
function confirmDelete() 
{
	if(confirm('Are you sure you want to permanently delete this record?'))
		{
			if(document.getElementById("Btndelete")!=null)
				{
					document.getElementById("Btndelete").setAttribute("value", "Deleting..");
				}	
			return true;
		}
	return false;
}				
	
function enforceChildWindow(recordID, path, extraparam)
{
	var childWindow = null;	
	if(recordID!=null && recordID!='')
		{	
			var recID = new String(recordID);
			var path = path + "?recordID=" + recID;
			if(extraparam!="") path = path + "&extraParam=" + extraparam;
				{
					childWindow=window.open(path, "Accumulator", "history=no,status=no,address=no,toolbar=no,resizable=yes,scrollbars=yes");
				}
			return false;
		}					
	if(childWindow!=null && childWindow.closed!=true)
		{
			alert('Please save or cancel your accumulation selection and then try to save this record again!');
			childWindow.focus();
			return false;
		}
	return true;					
}

function showHideOther(cbo, txtID, lblID)
{
	if(document.getElementById(cbo)!=null)
		{
			if(document.getElementById(txtID)!=null)
				{
					if(document.getElementById(cbo).options[document.getElementById(cbo).selectedIndex].text!="Other")
						{
							document.getElementById(txtID).className="aspreq nodisplay";
							if(lblID!="" && document.getElementById(lblID)!=null) document.getElementById(lblID).className="labeltext nodisplay";
						}
					else
						{
							document.getElementById(txtID).className="aspreq";
							if(lblID!="" && document.getElementById(lblID)!=null) document.getElementById(lblID).className="labeltext";
						}
					return false;
				}			
		}
	return true;
}	
	
function showHideByTruth(flag, ctl, lblID, clear)
{
	if(document.getElementById(ctl)!=null)
		{
			if(clear)
				{
					document.getElementById(ctl).value="";
				}	
					if(flag)
						{
							document.getElementById(ctl).className="";
							if(lblID!="" && document.getElementById(lblID)!=null) 
								{
									document.getElementById(lblID).className="labeltext";
								}
						}
			else
				{
					document.getElementById(ctl).className="nodisplay";
					if(lblID!="" && document.getElementById(lblID)!=null) 
						{
							document.getElementById(lblID).className="labeltext nodisplay";
						}
				}
			return false;
		}
}	

function showHideByTruth2(flag, ctl, lblID, clear)
{
	if(document.getElementById(ctl)!=null)
		{
			if(clear)
				{
					document.getElementById(ctl).value="";
				}	
					if(flag)
						{
							document.getElementById(ctl).className="";
							if(lblID!="" && document.getElementById(lblID)!=null) 
								{
									document.getElementById(lblID).className="text";
								}
						}
			else
				{
					document.getElementById(ctl).className="nodisplay";
					if(lblID!="" && document.getElementById(lblID)!=null) 
						{
							document.getElementById(lblID).className="text nodisplay";
						}
				}
			return false;
		}
}

function toggleCSS(ctl, css1, css2)
{
	if(document.getElementById(ctl)!=null)
	{
		if(document.getElementById(ctl).className==css1)
		{
			document.getElementById(ctl).className=css2;
		}
		else
		{
			document.getElementById(ctl).className=css1;
		}
	}
}
		
function showHideByTruthCSS(flag, ctl, lblID, clear, css, csslbl)
{
	if(document.getElementById(ctl)!=null)
		{
			if(clear)
				{
					document.getElementById(ctl).value="";
				}	
			if(flag)
				{
					document.getElementById(ctl).className=css;
					if(lblID!="" && document.getElementById(lblID)!=null) 
						{
							if(csslbl!=null && csslbl!="")
							{
								document.getElementById(lblID).className=csslbl;
							}
							else
							{
								document.getElementById(lblID).className="labeltext";
							}
						}
				}
			else
				{
					document.getElementById(ctl).className="nodisplay";
					if(lblID!="" && document.getElementById(lblID)!=null) 
						{
							if(csslbl!=null && csslbl!="")
							{
								document.getElementById(lblID).className=csslbl + " nodisplay";
								
							}
							else
							{
								document.getElementById(lblID).className="labeltext nodisplay";
							}
						}
				}
			return false
		}
}
	
function hideLoading() // initialise on document load event
{
	if(document.getElementById("tblWrap")!=null)
		{
			if (document.layers == null) 
				{
					document.getElementById("tblWrap").style.visibility='visible';
				}
			else 
				{
					document.getElementById("tblWrap").visibility='show';	
				}	  
		}
		
		try
		{
			document.body.style.cursor = 'default';

		}
		catch(e)
		{alert(e);}
}
			
function showLoading(tblID)
{
	if(tblID==null || tblID=='')
	{	
		tblID='tblWrap';
	}
	if(document.getElementById(tblID)!=null)
		{
			if (document.layers == null) 
					{
						document.getElementById(tblID).style.visibility='hidden';
					}
			else 
					{
						document.getElementById(tblID).visibility='hide';	
					}
		}
	document.body.style.cursor='wait';
}

function handleEnter (field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13) 
{
	var i;
	for (i = 0; i < field.form.elements.length; i++)
		if (field == field.form.elements[i])
			break;
			
	i = (i + 1) % field.form.elements.length;
	//field.form.elements[i].focus();
	return false;
} 
else
return true;
} 

function disableEnterPress(e)
{	
	return true;
	
	var srcObj;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e);
	if(e.keyCode==13)
		{
			if(!((srcObj.tagName=='TEXTAREA') || (srcObj.tagName=='A')))
				{
					if(((srcObj.tagName=='INPUT') && (srcObj.type!="submit")) || (srcObj.tagName!='INPUT'))
						{
							e.keyCode=null;
							return false;
						}
				}
			
		}	
	else if(e.which==13)
		{
			if(!((srcObj.tagName=='TEXTAREA') || (srcObj.tagName=='A')))
				{
					if(((srcObj.tagName=='INPUT') && (srcObj.type!="submit")) || (srcObj.tagName!='INPUT'))
						{
							return false;
						}
				}
			
		}	
	return true;	
}

function validNumberKeyCode(me, e)
{		
	var srcObj;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e);
	if((me==srcObj && e.keyCode>31 && ((e.keyCode!=8 && e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=46 && e.keyCode<48) || (e.keyCode>57 && e.keyCode!=127 && e.keyCode!=96 && e.keyCode!=97 && e.keyCode!=98 && e.keyCode!=99 && e.keyCode!=100 && e.keyCode!=101 && e.keyCode!=102 && e.keyCode!=103 && e.keyCode!=104 && e.keyCode!=105))))
		{
			e.keyCode=13;
			return false;
		}		
}

function validNumberKeyCodeFloat(me, e)
{
	var srcObj;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e);
	if(e.keyCode==190 || e.keyCode==46 || e.keyCode==110)
		{
			if(me.value.indexOf(".")>=0 && Trim(me.value, " ")!=".")
				{
					e.keyCode=13;
					return false;
				}
		}
	else if((me==srcObj && e.keyCode>31 && ((e.keyCode!=8 && e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=46 && e.keyCode<48) || (e.keyCode>57 && e.keyCode!=127 && e.keyCode!=96 && e.keyCode!=97 && e.keyCode!=98 && e.keyCode!=99 && e.keyCode!=100 && e.keyCode!=101 && e.keyCode!=102 && e.keyCode!=103 && e.keyCode!=104 && e.keyCode!=105))))
		{
			e.keyCode=13;
			return false;
		}		
}

function Round(value, numDecimals)
{
	if(!isNaN(numDecimals))
		{
			if(numDecimals==0) return parseInt(value);
			{
				return Math.round((parseFloat(value)*(Math.pow(10, numDecimals))))/(Math.pow(10, numDecimals));
			}
		}
	else
		{
			return value;
		}
}
	
				
			
function SplitToken(str, token, direction)
{
	var leftDirection = "left";
	var rightDirection = "right";
	var result="";
	var tokenPosition=0;
	
	var thestring = (str).toString();
	var thetoken = (token).toString();
	var thedirection = (direction).toString();
	
	if (thestring.lenght <1) return "";
	if (thetoken.length <1) return "";
	if (thedirection.lenght <1) return "";

	
	if(thedirection==rightDirection)
		{
			tokenPosition = thestring.indexOf(thetoken);
			if (tokenPosition <= 0)  
				{
					return "";
				}
			result = thestring.substring(tokenPosition+thetoken.length);
			return result;
		}
	else
		{
			if(direction == leftDirection)
				{
					tokenPosition = str.indexOf(token);
					if (tokenPosition <= 0)  
						{
							return "";
						}
					result = str.substring(0, tokenPosition);
					return result;
				}
		}
	
	return "";
}

function getNumberOfTokens(text, token)
{
	if ((text.length <= 0) || (token.length <= 0)) 
		{
			return 0;
		}	 
	var numItems=0;
	for(i=0;i<=text.length;i++)
		{						
			if(text.charAt(i)==token)
				{
					numItems+=1;
				}
		}
	return numItems;
}

function LTrim(str, chr) 
{ 
	for (var i=0; str.charAt(i)<=chr; i++); 
	return str.substring(i,str.length); 
}

function RTrim(str, chr) 
{ 
	for (var i=str.length-1; str.charAt(i)<=chr; i--); 
	return str.substring(0,i+1); 
} 

function Trim(str, chr) 
{ 
	return LTrim(RTrim(str, chr), chr); 
} 

function Replace(str, strToReplace, strToReplaceWith)
{
	var arrayOfStrings = str.split(strToReplace);
	return arrayOfStrings.join(strToReplaceWith);
}

function formatCurrency(num) {
	var total;
	num = num.toString().replace(/\$|\,/g,'');
	num=Replace(num, " ", "");

	if(isNaN(num))
		{
			num = "0";
		}	
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		{
			cents = "0" + cents;
		}	
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	
	total =(((sign)?'':'-') + num + '.' + cents);
	if(total=="0.00") 
		{
			return "";
		}
	return total;
}


function getRequester(e)
{
	var srcObj;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e);
	var req = srcObj.id;
	if(document.getElementById("hidRequester"))
		{
			document.getElementById("hidRequester").value = req;
		}
}

function IsDivisibleBy(dv, val, isReq)
{
	if(isReq)
		{
			if(val.lenght<1) 
				{
					return false;
				}
		}
	if(!parseFloat(val)) 
		{
			return false;
		}
	if(!parseFloat(dv)) 
		{
			return false;
		}
	return (parseFloat(val)%parseFloat(dv)==0);
}

function IsValidStateAbbr(st, isReq)
{
	var str = new String(st)
	if(isReq)
		{
			if(str.length<2) 
				{
					return false;
				}
		}
	str=str.toUpperCase();
	var re = /^(A[LKSZRAP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]| T[NX]|UT|V[AIT]|W[AIVY])$/;
	return re.test(str);	
}
	
function IsValidZip(st, isReq)
{
	var str = new String(st)
	if(isReq){if(str.length<5) return false;}
	var re = /^\d{5}$/;
	return re.test(str);	
}



function HandleChkAllChecked(idPrefix, numControls, offset, idSuffix, chkAllId)
			{
					var hasUnchecked=false;
					try
					{
					var id;
					for(var i=offset;i<numControls+offset;i++)
					{
						id=idPrefix +  new String(i) + idSuffix;
						if(document.getElementById(id)!=null)
						{
								if(document.getElementById(id).getAttribute("checked"))
								{
								}							
								else
								{
									hasUnchecked=true;
									break;
								}
						}
					}
					
					}
					catch(e)
					{}
				if(document.getElementById(chkAllId)!=null)
				{
					if(hasUnchecked)
					{
						document.getElementById(chkAllId).setAttribute("checked", "");
					}
					else
					{
						document.getElementById(chkAllId).setAttribute("checked", "true");
					}	
				}	

			}
			
function DisableControls(hidName)
{
	var hids=new Array();
	var i;
	var node;
	var parent;
	var nextSib;
	if(hidName!="" && document.getElementById(hidName)!=null)
	{
		hids.push(document.getElementById(hidName));
	}
	else
	{
		var inputs = document.getElementsByTagName("INPUT");
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].id.indexOf("DisableControls")>=0)
			{
				hids.push(inputs[i]);
			}
		}
	}
	
		for(i=0;i<hids.length;i++)
		{
		
			if(hids[i]!=null)
			{
				var str = new String(hids[i].value);
				var ctls = new Array();
				if(str!="")
					{				
						ctls = str.split(";");				
						for(i=0; i<ctls.length-1; i++)
							{
								if(document.getElementById(ctls[i])!=null)
									{
										document.getElementById(ctls[i]).disabled='true';											
									}
							}
					}
			}
		}
}

function EnableControls(hidName)
{
	var hids=new Array();
	var i;
	var node;
	var parent;
	var nextSib;
	if(hidName!="" && document.getElementById(hidName)!=null)
	{
		hids.push(document.getElementById(hidName));
	}
	else
	{
		var inputs = document.getElementsByTagName("INPUT");
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].id.indexOf("EnableControls")>=0)
			{
				hids.push(inputs[i]);
			}
		}
	}
	
		for(i=0;i<hids.length;i++)
		{
		
			if(hids[i]!=null)
			{
				var str = new String(hids[i].value);
				var ctls = new Array();
				if(str!="")
					{				
						ctls = str.split(";");				
						for(i=0; i<ctls.length-1; i++)
							{
								if(document.getElementById(ctls[i])!=null)
									{
										document.getElementById(ctls[i]).disabled='false';	
										document.getElementById(ctls[i]).removeAttribute("disabled");										
									}
							}
					}
			}
		}
}















function initializeTextareaCounters()
{

    var textAreas=new Array();
    textAreas=document.getElementsByTagName("textarea");
    
    for(var i=0; i<textAreas.length; i++)
    {   
        var txtArea=textAreas[i];
		if(txtArea.getAttribute("MaxLength")!=null)
		{
            initializeTextareaCountersByControl(txtArea, txtArea.getAttribute("MaxLength"), "counter");
		}

    }
}

function initializeTextareaCountersByControl(txtArea, maxL, counterStyleSheet)
{
        if(txtArea==null || maxL==null) return;
        
        if((document.getElementById(txtArea.id + '_CounterText')==null) && (((txtArea.getAttribute("disabled")==null)||(txtArea.getAttribute("disabled")==false)) && ((txtArea.getAttribute("readonly")==null) || (txtArea.getAttribute("readonly")==false)) ))
        {
			   	var node = document.createElement("input");
			   	var nextSib=txtArea.nextSibling;
			   	
		        node.setAttribute("type", "text");
		        node.setAttribute("readonly", "readonly");
		        node.setAttribute("disabled", "disabled");
		        node.setAttribute("size", maxL.toString().length.toString());
			    node.className=counterStyleSheet;			    
		        node.id=txtArea.id + '_CounterText';
    		    node.value = (maxL - txtArea.value.length).toString();
    		    
    		    
    	      	var nodelbl = document.createElement("label");
    	      	nodelbl.setAttribute("for", node.id);    	      	
    		   	nodelbl.innerHTML = "characters left.";
			   	nodelbl.className="textsm";
			   	
			   	var nodebr = document.createElement("br");
    	      	
			   	
    		    if(nextSib!=null)
			    {	
			        txtArea.parentNode.insertBefore(nodebr, nextSib);		
			        txtArea.parentNode.insertBefore(node, nextSib);        
				    txtArea.parentNode.insertBefore(nodelbl, nextSib);
			    }
			    else
			    {	
			        txtArea.parentNode.appendChild(nodebr);
			        txtArea.parentNode.appendChild(node);
			        txtArea.parentNode.appendChild(nodelbl);
			    }			
			    
                addEvent(txtArea, "keydown", textCounter);
		        addEvent(txtArea, "keyup", textCounter);			    
		}

}

function textCounter(e)
{

    var srcObj;
    var srcObjCounter;
	if (!e) var e = window.event;
	srcObj = returnEventSource(e);
	var maxLen;
	if (e.type=="keydown" || e.type=="keyup" || e.type=="load")
	{		
	    if(document.getElementById(srcObj.id + "_CounterText")!=null)
	    {
	            srcObjCounter=document.getElementById(srcObj.id + "_CounterText");
	            maxLen=srcObj.getAttribute("MaxLength");	 
	            
                if (srcObj.value.length > maxLen)
                {   
                    srcObj.value = srcObj.value.substring(0, maxLen);
                }
                else
                {
                    srcObjCounter.value = maxLen - srcObj.value.length;                    
                }           
	    }
	}
}

