/******** jExporter CLIENT SIDE DHTML HELPERS & ROUTINES *********************************
	libsrc.js: Misc. utilities - include this script in all DHTML (non-static) pages.
	Methods:
		methods to handle cookies & DHTML components.
**************************************************************************************/


var True  = true;
var False = false;
var TRUE  = true;
var FALSE = false;
var newLineChar = String.fromCharCode(10);
var char10 = String.fromCharCode(10);
var char34 = String.fromCharCode(34);

var imgLookupInsert = new Image(); 
imgLookupInsert.src = "../images/iclipinsert.gif";  
var imgLookupClear  = new Image(); 
imgLookupClear.src  = "../images/iclipclear.gif";  

function _P(strText)
{
document.writeln(strText);
}

function setCookie(name, value, expire)
{
document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
}

function saveCookie(name, value)
{
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*30)
setCookie(name, value, expires)
}

function getCookie(Name)
{
var search = Name + "=";
var cookieVal=null;
if (document.cookie.length > 0) {
	offset = document.cookie.indexOf(search);
	if (offset != -1) { 
		offset += search.length;
		end = document.cookie.indexOf(";", offset);
		if (end == -1)
			end = document.cookie.length;
		cookieVal = document.cookie.substring(offset, end);
		if (cookieVal!=null) cookieVal = unescape(cookieVal);
	}
}
return(cookieVal);
}

function registerCookie(name, value)
{
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*365)
setCookie(name, value, expires)
}

function ShowHideFields(objElem)
{
var objDiv = document.all["div_" + objElem.name];
if (objDiv == null) return;
if (objElem.checked) {
//	document.frmJN1.numRows.value = prompt("Enter number of additional rows requested");
	objDiv.className="Show";
} else {
	objDiv.className="Hide";
}
}

function ShowHideFields2(objElem)
{
	if (objElem.value == "F") {
		document.getElementById('div_acct_type').className = 'Show';
		document.getElementById('cursor_arrow').style.visibility='hidden';
		document.getElementById('div_acct_type_2').className= 'Hide';
	}
	if (objElem.value == "B") {
		document.getElementById('div_acct_type').className = 'Show';
		document.getElementById('cursor_arrow').style.visibility='hidden';
		document.getElementById('div_acct_type_2').className= 'Hide';
	} else if (objElem.value == "I") {
		document.getElementById('div_acct_type_2').className = 'Show';
		document.getElementById('cursor_arrow').style.visibility='visible';
		document.getElementById('div_acct_type').className= 'Hide';
	}
}


function ShowHideFields3(objElem)
{
	
	if (objElem.value == "R") {
		document.getElementById('div_reg_free').className = 'Show';
		document.getElementById('div_reg_free_2').className= 'Hide';
	} else if (objElem.value == "F") {
		document.getElementById('div_reg_free_2').className = 'Show';
		document.getElementById('div_reg_free').className= 'Hide';
	}
}



function show_err_pw(objelem) { 
	var fig = document.getElementById('user_trn').value;
	var fieldlength = document.getElementById('user_trn').value.length;
	
	if(fig == ""){
		document.getElementById('div_err_pw2').style.visibility = 'hidden';
		document.getElementById('div_err_pw1').style.visibility = 'visible'; 
		return false;
	} else if ((fieldlength !== 9) && (fieldlength !== 13)){
		document.getElementById('div_err_pw1').style.visibility = 'hidden'; 
		document.getElementById('div_err_pw2').style.visibility = 'visible';
		return false;
	} else{
		document.getElementById('div_err_pw1').style.visibility = 'hidden'; 
		document.getElementById('div_err_pw2').style.visibility = 'hidden';
		document.frmLogin.submit();
		return true;
	}
}


function pasteFields(imgObj, frmName, elemNames, elemIndex, srcNames, srcIndex, readOnlyNames, strTip)
{
var bClearFields=false;
if ((imgObj!=null)&&(imgObj.src.indexOf("clipclear")>=0)) bClearFields=true;

if ((document.images)&&(imgObj!=null)&&(bClearFields==true)) {
	clearFields(frmName, elemNames, elemIndex, readOnlyNames);
	if (strTip==null) strTip="insert lookup values";
	imgObj.src = imgLookupInsert.src;
	imgObj.alt = strTip;
	return;
}

var objFrm = document.forms[frmName];
if (objFrm==null) return;

if (elemIndex==null) elemIndex=0;
if (srcIndex==null) srcIndex=0;

var arElemName  = elemNames.split("|");
var arSrcName   = srcNames.split("|");

var objLen = 0;
var elemName, elemValue;
var srcObj, srcName, srcValue;

for (var i=0;i<arElemName.length;i++) {
	srcName = arSrcName[i];
	if (srcName==null) continue;
	if (srcName.substr(0,1)=="#") {
		srcValue=srcName.substr(1);
	} else {
		srcObj  = objFrm.elements[srcName];
		objLen  = srcObj.length;
		if (objLen>1) 
			if (srcObj.type!="select-one") srcObj = objFrm.elements[srcName][srcIndex];
		if (srcObj==null) continue;
		srcValue=srcObj.value;
	}

	elemName  = arElemName[i];
	elemValue = srcValue;
	if ((elemName==null)||(elemValue==null)) break;
	SetElement(objFrm, elemName, elemIndex, elemValue);
}

if (readOnlyNames!=null) {
	var arReadOnlyName = readOnlyNames.split("|");

	for (var i=0;i<arReadOnlyName.length;i++) {
		elemName  = arReadOnlyName[i];
		if (elemName==null) break;
		SetElementProperty(objFrm, elemName, elemIndex, null, false);
	}
}

if ((document.images)&&(imgObj!=null)) {
	imgObj.src = imgLookupClear.src;
	imgObj.alt = "Clear Field Value(s)";
}

}


function clearFields(frmName, elemNames, elemIndex, readOnlyNames)
{
var objFrm = document.forms[frmName];
if (objFrm==null) return;

if (elemIndex==null) elemIndex=0;

var arElemName  = elemNames.split("|");

var elemName, elemValue="";

for (var i=0;i<arElemName.length;i++) {
	elemName  = arElemName[i];
	if (elemName==null) break;
	SetElement(objFrm, elemName, elemIndex, elemValue);
}

if (readOnlyNames!=null) {
	var arReadOnlyName = readOnlyNames.split("|");

	for (var i=0;i<arReadOnlyName.length;i++) {
		elemName  = arReadOnlyName[i];
		if (elemName==null) break;
		SetElementProperty(objFrm, elemName, elemIndex, null, true);
	}
}

}


function pasteLookup(imgObj, lookupName, frmName, elemNames, elemIndex, readOnlyNames)
{
var bClearFields=false;
if ((imgObj!=null)&&(imgObj.src.indexOf("clipclear")>=0)) bClearFields=true;

if ((document.images)&&(imgObj!=null)&&(bClearFields==true)) {
	clearFields(frmName, elemNames, elemIndex, readOnlyNames);
	imgObj.src = imgLookupInsert.src;
	imgObj.alt = "Click here to insert product";
	return;
}

var objFrame = window.frames["frameLookup"+lookupName];
if (objFrame==null) return;
var objFrmLookup = objFrame.document.forms["frmLookup"];
if (objFrmLookup==null) return;
var objElem = objFrmLookup.elements["lookup_list"];
if ((objElem==null)||(objElem.options.length<=0)||(objElem.value=="")) return;

var objFrm = document.forms[frmName];
if (objFrm==null) return;

if (elemIndex==null) elemIndex=0;

var arElemName  = elemNames.split("|");
var arElemValue = objElem.value.split("|");

var elemName, elemValue;

for (var i=0;i<arElemName.length;i++) {
	elemName  = arElemName[i];
	elemValue = arElemValue[i];
	if ((elemName==null)||(elemValue==null)) break;
	SetElement(objFrm, elemName, elemIndex, elemValue);
}

if (readOnlyNames!=null) {
	var arReadOnlyName = readOnlyNames.split("|");

	for (var i=0;i<arReadOnlyName.length;i++) {
		elemName  = arReadOnlyName[i];
		if (elemName==null) break;
		SetElementProperty(objFrm, elemName, elemIndex, null, false);
	}
}

if ((document.images)&&(imgObj!=null)) {
	imgObj.src = imgLookupClear.src;
	imgObj.alt = "Click here to clear this row";
}

}

function SetCheckList(objSource, elemName, bCheck)
{
if (bCheck==null) bCheck=objSource.checked;
if (objSource==null) return;
var objFrm = objSource.form;
if (objFrm==null) return;
var objElem = objFrm.elements[elemName];
if (objElem==null) return;

var objLen = objElem.length;
if ((objLen>1)&&((objElem[0].type=="radio")||(objElem[0].type=="checkbox"))) {
	for (var i = 0; i < objElem.length; i++) {
		if (objElem[i].disabled) continue;
		objElem[i].checked = bCheck;
		SetListRow(objElem[i], i);
	}
	return;
}
if ((objElem.type=="radio")||(objElem.type=="checkbox")) {
	if (!objElem[i].disabled) {
		objElem.checked = bCheck;
		SetListRow(objElem, 0);
	}
}
}

function ResetCheckList(objSource)
{
	//alert("Inside  ResetCheckList upd() q" + objSource);
	var bCheck=false;
	var objFrm = objSource.form;

	if (objFrm==null) return;
	var objElem = objFrm.elements[objSource.name];	
	if (objElem==null) return;

	var objLen = objElem.length;

	if ((objLen>1)&&((objElem[0].type=="radio")||(objElem[0].type=="checkbox"))) {
		for (var i = 0; i < objElem.length; i++) {
			if (objElem[i].disabled) continue;
			SetListRow(objElem[i], i);		
		}
		return;
	}
	
	if ((objElem.type=="radio")||(objElem.type=="checkbox")) {
		if (!objElem.disabled) SetListRow(objElem, 0);
		//removed subscript fom objElem on 2008-04-18 z.mattis		
	}
}//end function

function SetListRow(objElem, rowIndex)
{
//alert("Inside  SetListRow() upd q");
var objRow = document.all[objElem.name + "_row_" + rowIndex];
if (objRow == null) return;
var evenFlag = false;
if (objRow.className.indexOf("Even")>0) evenFlag=true;
if (objElem.checked) {
	if (evenFlag) objRow.className="RowEvenSelected";
	else objRow.className="RowOddSelected";
} else {
	if (evenFlag) objRow.className="RowEven";
	else objRow.className="RowOdd";
}
}

function SetListRow2(objElem, rowIndex)
{
var objName = objElem.name.substring(0, 9);
var objRow = document.all[objName + "_row_" + rowIndex];
if (objRow == null) return;
var evenFlag = false;
if (objRow.className.indexOf("Even")>0) evenFlag=true;
if (objElem.checked) {
	if (evenFlag) objRow.className="RowEvenSelected";
	else objRow.className="RowOddSelected";
} else {
	if (evenFlag) objRow.className="RowEven";
	else objRow.className="RowOdd";
}
}

function approveLetter(objElem, status, rowIndex)
{
	var objRow = document.all[objElem.name + "_row_" + rowIndex];
	var evenFlag = false;
	
	if (objRow.className.indexOf("Even")>0) evenFlag=true;
	
	if (objElem.checked && (status == "A" || status == "D" || status == "I" || status == "P" )) 
	{
		return;
	} else if (objElem.checked && (status != "A" || status != "D" || status != "I" || status != "P" ) ) 
	{
		alert("Cannot generate letter for unapproved exporter");
		objElem.checked = false;
		if (evenFlag) {
			objRow.className="RowEven";
		} else {
			objRow.className="RowOdd";
		}
	}
}


function SetFields(frmName, elemNames, elemIndex, srcFrm, srcNames, srcIndex)
{
if (srcFrm==null) return;

var objFrm;
if ((frmName==null)||(frmName==srcFrm)) objFrm=srcFrm;
else objFrm = document.forms[frmName];
if (objFrm==null) return;

if (elemIndex==null) elemIndex=0;
if (srcIndex==null) srcIndex=0;

var arElemName  = elemNames.split("|");
var arSrcName   = srcNames.split("|");

var objLen = 0;
var elemName, elemValue;
var srcObj, srcName, srcValue;

for (var i=0;i<arElemName.length;i++) {
	srcName = arSrcName[i];
	if (srcName==null) continue;
	if (srcName.substr(0,1)=="#") {
		srcValue=srcName.substr(1);
	} else {
		srcObj  = srcFrm.elements[srcName];
		objLen  = srcObj.length;
		if (objLen>1) srcObj = srcFrm.elements[srcName][srcIndex];
		if (srcObj==null) continue;
		srcValue=srcObj.value;
	}

	elemName  = arElemName[i];
	elemValue = srcValue;
	if ((elemName==null)||(elemValue==null)) break;
	SetElement(objFrm, elemName, elemIndex, elemValue);
}

}

function SetElement(objFrm, elemName, elemIndex, elemValue, elemClass, bReadOnly, bError)
{
if (objFrm==null) return;
var objElem = objFrm.elements[elemName];
if (objElem==null) return;

var objLen = objElem.length;

if ((objLen>1)&&((objElem[0].type=="radio")||(objElem[0].type=="checkbox"))) {
	for (var i = 0; i < objElem.length; i++) {
		if (objElem[i].value==elemValue) objElem[i].checked = true;
		if (bReadOnly==true) {
			objElem[i].tabIndex=-1;
		} 
	}
	return;
}

if ((objLen>1)&&(objElem.type==null)) {
	if (elemIndex==null) elemIndex=0;
	objElem = objFrm.elements[elemName][elemIndex];
	if (objElem==null) return;
	objLen = objElem.length;
}

if ((objLen>1)&&(objElem.type=="select-one")) {
	var bFound=false;
	var objList=objElem;
	for (var i = 0; i < objList.options.length; i++) {
		if (objList.options[i].value==elemValue) {
			objList.options[i].selected = true;
			bFound=true;
		}
	}
	if (bFound==false) {
		objList.options[0].selected = true;
	}
	if (bReadOnly==true) {
		objElem.tabIndex=-1;
	} 
	return;
}


if (objElem.type=="checkbox") {
	if (objElem.value==elemValue) objElem.checked = true;
	else objElem.checked = false;
	return;
}

if ((elemValue!=null)&&(elemValue!="null")) objElem.value=elemValue;
if (elemClass!=null) objElem.className=elemClass;

if (bError==true) objElem.style.backgroundColor="#ffc0e0";
if (bReadOnly==true) {
	objElem.readOnly=true;
	objElem.tabIndex=-1;
	objElem.style.backgroundColor="#f4fcff";
} else if ((bReadOnly==false)&&(objElem.readOnly==true)) {
	objElem.readOnly=false;
	objElem.tabIndex=0;
	objElem.style.backgroundColor="#ffffff";
}

}

function SetElementProperty(objFrm, elemName, elemIndex, elemClass, bReadOnly, bError)
{
if (objFrm==null) return;
var objElem = objFrm.elements[elemName];
if (objElem==null) return;

var objLen = objElem.length;

if ((objLen>1)&&((objElem[0].type=="radio")||(objElem[0].type=="checkbox"))) {
	for (var i = 0; i < objElem.length; i++) {
		if (bReadOnly==true) {
			objElem[i].tabIndex=-1;
		} 
	}
	return;
}

if ((objLen>1)&&(objElem.type==null)) {
	if (elemIndex==null) elemIndex=0;
	objElem = objFrm.elements[elemName][elemIndex];
	if (objElem==null) return;
	objLen = objElem.length;
}

if ((objLen>1)&&(objElem.type=="select-one")) {
	var bFound=false;
	var objList=objElem;
	if (bReadOnly==true) {
		objElem.tabIndex=-1;
	} 
	return;
}


if (elemClass!=null) objElem.className=elemClass;

if (bError==true) objElem.style.backgroundColor="#ffc0e0";
if (bReadOnly==true) {
	objElem.readOnly=true;
	objElem.tabIndex=-1;
	objElem.style.backgroundColor="#f4fcff";
} else if ((bReadOnly==false)&&(objElem.readOnly==true)) {
	objElem.readOnly=false;
	objElem.tabIndex=0;
	objElem.style.backgroundColor="#ffffff";
}

}

function SetCodeValues(objElement, pairName, frmName)
{
if (frmName==null) frmName=objElement.form.name;
if (pairName==null) {
	var objName=objElement.name;
	var objNameSuffix=objName.substr(objName.length-4);
	if (objNameSuffix=="name") pairName=objName.substring(0, objName.length-5);
	else pairName=objName + "_name";
} 

SetElement(objElement.form, pairName, 0, objElement.value);
}


function SetElementValue(objID, objFrm, sValue)
{
var objElem = document.forms[objFrm].elements[objID];
if (objElem!=null) objElem.value=sValue;
}

function setSelectedItem(objID, objFrm, sValue)
{
objList=document.forms[objFrm].elements[objID];
if (objList==null) return;

for (var i = 0; i < objList.options.length; i++) {
   if (objList.options[i].value==sValue)
	   objList.options[i].selected = true;
}
}

function setSelectedItemArray(objID, objIndex, objFrm, sValue)
{
objList=document.forms[objFrm].elements[objID].item[objIndex];
if (objList==null) return;

for (var i = 0; i < objList.options.length; i++) {
   if (objList.options[i].value==sValue)
	   objList.options[i].selected = true;
}
}

function updateSelectedList(objSelect, objElem)
{
if ((objSelect==null)||(objElem==null)) return;
if (objElem.checked==true) {
	var objOption = document.createElement("OPTION");
	objOption.value=objElem.value;
	objOption.text=objElem.value;
	objOption.selected=true;
	objSelect.options.add(objOption);
} else {
    for (i=0; i<objSelect.options.length; i++) {
        if (objSelect.options(i).value==objElem.value) { objSelect.options.remove(i); break; }
    }
}
}

function setChecked(objID, objFrm, sValue)
{
objList=document.forms[objFrm].elements[objID];
if (objList==null) return;
objList.checked=sValue;
}

function setCheckedItem(objID, objFrm, sValue)
{
var objList=document.forms[objFrm].elements[objID];
if (objList==null) return;

for (var i = 0; i < objList.length; i++) {
   if (objList[i].value==sValue)
	   objList[i].checked = true;
}

}

function postForm(elemObj, sURL)
{
var objFrm;
var elemType=elemObj.type;
if (elemType!=null) objFrm=elemObj.form;

if (objFrm==null) objFrm=document.forms[elemObj];
if (objFrm==null) return false;
objFrm.action=sURL;
if (elemType!="submit") objFrm.submit();
}


function postFormNew(elemObj, cmbo, sURL)
{
var objFrm;
var elemType=elemObj.type;
var secElement = document.getElementsByName(cmbo);

if (elemType!=null) objFrm=elemObj.form;

if (objFrm==null) objFrm=document.forms[elemObj];
if (objFrm==null) return false;

for(var i=0; i<secElement.length; i++)
{	
	secElement[i].disabled=false;	
}

objFrm.action=sURL;
if (elemType!="submit") objFrm.submit();

}

function navigate(sURL)
{
if (sURL==null) return false;
window.location.assign(sURL);
}

function lookup(lookupName, sURL)
{
if (sURL==null) return false;
var lookupWin = window.open(sURL, "lookup_"+lookupName, "top=160,left=60,height=360,width=760,status=no,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=yes");
lookupWin.focus();
}

function printWindow(objWin)
{
if (objWin==null) objWin=window;
objWin.focus();
objWin.print();
}

function printDocument(objWin)
{
if (objWin==null) objWin=window;
var docTitle=objWin.document.title;
objWin.document.title="";
objWin.focus();
objWin.print();
objWin.document.title=docTitle;
}

function printWindowForeground(objWin)
{
if (objWin==null) objWin=window;
var docBGColor=objWin.document.body.style.backgroundColor;
objWin.document.body.style.backgroundColor="#ffffff";
objWin.focus();
objWin.print();
objWin.document.body.style.backgroundColor=docBGColor;
}

function focusField(frmName, fieldName)
{
var frmObj=document.forms[frmName];
if (frmObj==null) return;
var elemObj=frmObj.elements[fieldName];
if (elemObj==null) return;
elemObj.select();
}

function helpTopic(sTopic)
{
var numargs = helpTopic.arguments.length;
if (numargs<1) sTopic = "index.htm";
else sTopic = "index.htm?page=" + sTopic;
var win = window.open("../help/topic/" + sTopic, null, "top=60,left=20,height=520,width=400,status=no,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no");
win.focus();
}

function validateNum(objElem)
{
	if (objElem.value == null || objElem.value == "")
		return;
		
	if (isNaN(objElem.value))	{
		alert("Value entered is not numeric.\nPlease enter numeric value.");
		objElem.focus();
	}
	
	return;
}

function validateNumber(field)
{
	var out = "("; // replace this
	var out2 = ")";
	var out3 = "-";
	var out4 = " ";
	var add = ""; // with this
	var pos;
/*	if (fieldName == "frmJN1.exp_phone"){
		var temp = "" + document.frmJN1.exp_phone.value; // temporary holder
	} else if (fieldName == "frmJN1.exp_phone2"){
		var temp = "" + document.frmJN1.exp_phone2.value; // temporary holder
	} else if (fieldName == "frmJN1.exp_fax"){
		var temp = "" + document.frmJN1.exp_fax.value; // temporary holder
	} else if (fieldName == "frmJN1.biz_empcount"){
		var temp = "" + document.frmJN1.biz_empcount.value; // temporary holder
	}*/
	var temp = "" + field.value; // temporary holder

	if (field.name != "biz_empcount"){
		while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
		}
		
		while (temp.indexOf(out2)>-1) {
		pos= temp.indexOf(out2);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out2.length), temp.length));
		}
		while (temp.indexOf(out3)>-1) {
		pos= temp.indexOf(out3);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out3.length), temp.length));
		}
		while (temp.indexOf(out4)>-1) {
		pos= temp.indexOf(out4);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out4.length), temp.length));
		}
	}

	if (isNaN(temp)){
		alert("Invalid number. Please enter a valid number");
		//if (fieldName == "frmJN1.exp_phone"){
			field.focus();
			field.select;
		/*}
		if (fieldName == "frmJN1.exp_phone2"){
			document.frmJN1.exp_phone2.focus();
			document.frmJN1.exp_phone2.select;
		}
		if (fieldName == "frmJN1.exp_fax"){
			document.frmJN1.exp_fax.focus();
			document.frmJN1.exp_fax.select;
		}
		if (fieldName == "frmJN1.biz_empcount"){
			document.frmJN1.biz_empcount.focus();
			document.frmJN1.biz_empcount.select;
		}*/
	} else if (field.name != "biz_empcount"){
		if (!(temp == "876")) {
			if ((temp.length != 7) && (temp.length != 10) && (temp.length != 0)){
				alert("Please enter a valid telephone number.");
			//if (fieldName == "frmJN1.exp_phone"){
				field.focus();
				field.select;
			//}
			/*if (fieldName == "frmJN1.exp_phone2"){
				document.frmJN1.exp_phone2.focus();
				document.frmJN1.exp_phone2.select;
			}
			if (fieldName == "frmJN1.exp_fax"){
				document.frmJN1.exp_fax.focus();
				document.frmJN1.exp_fax.select;
			}*/
			}
		} else {
			//if (fieldName == "frmJN1.exp_phone"){
				field.value="";
			/*} else if (fieldName == "frmJN1.exp_phone2"){
				document.frmJN1.exp_phone2.value="(   )    -    ";
			} else if (fieldName == "frmJN1.exp_fax"){
				document.frmJN1.exp_fax.value="(   )    -    ";
			}*/
		}
	}
}
function strip(fieldValue, out, add){
	var pos;
	var temp = fieldValue;
		while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
		}
		return temp;

}
function loadField(objElem)
{
	var temp = strip(objElem.value, "(", "");
	temp = strip(temp, ")", "");
	temp = strip(temp, "-", "");
	temp = strip(temp, " ", "");
	
	if (temp == "" || temp == null || temp == "876") {
		objElem.value =  "(876)    -    ";
	}

}




var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
		{
		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}
		return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
 		dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
		{
		 		if (dFilterMask.charAt(dFilterStep)!='#')
				{
		        dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
				}
		}
		return dFilterTemp.length;
}

function dFilter (key, textbox, dFilterMask)
{
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		if (key==9)
		{
		    return true;
		}
		else if ((key == 8) && (dFilterNum.length != 0))
		{
		 	 
		 	 	dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);

		}
		else if ((key == 8) && ((dFilterNum == "") || (dFilterNum == null)))
		{
			textbox.value = "(   )    -    ";
			return;
		}
 	  else if (((key > 46) && (key < 58)) && (dFilterNum.length < dFilterMax(dFilterMask)))
		{
        dFilterNum = dFilterNum + String.fromCharCode(key);
		}
		else if (((key > 95) && (key < 106)) && (dFilterNum.length < dFilterMax(dFilterMask)))
		{
			dFilterNum = dFilterNum + String.fromCharCode((key - 48));
		}
		else if ((dFilterNum == "") || (dFilterNum == null) || (dFilterNum.length == 0))
		{
			textbox.value = "(   )    -    ";
			return false;
		}
		

		var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
		{
        if (dFilterMask.charAt(dFilterStep)=='#')
				{
					  if (dFilterNum.length!=0)
					  {
				        dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					      dFilterNum = dFilterNum.substring(1,dFilterNum.length);
					  }
				    else
				    {
				        dFilterFinal = dFilterFinal + "";
				    }
				}
		 		else if (dFilterMask.charAt(dFilterStep)!='#')
				{
				    dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep); 			
				}
//		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}


		textbox.value = dFilterFinal;
    return false;
}

function replace(fullString,text,by) {
// Replaces text with by in string
    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}


function filterNum(objElem)
{
	var keyVal=event.keyCode;
	var keyShift=event.shiftKey;
	var keyCtrl=event.ctrlKey;
	if (keyVal==null) return false;
	if (keyCtrl) return true;
	if ((keyShift)&&(keyVal>46)) return false; 
	if ((keyVal==190)||(keyVal==110)) return true; 
	if ((keyVal<58) && (keyVal!=32)) return true; 
	if ((keyVal>95) && (keyVal<106)) return true; 
	
	return false; 
}

function filterDate(objElem)
{
	var keyVal=event.keyCode;
	var keyShift=event.shiftKey;
	var keyCtrl=event.ctrlKey;
	if (keyVal==null) return false;
	if (keyCtrl) return true;
	if ((keyShift)&&(keyVal>46)) return false; 
	if ((keyVal==189)||(keyVal==109)) return true; 
	if ((keyVal<58) && (keyVal!=32)) return true; 
	if ((keyVal>95) && (keyVal<106)) return true; 
	
	return false; 
}


