
//Do Browser Detection------------------------------------------------------------------
iAppType=0; IsIE=false; IsN4=false; IsN6=false; IsMac=false

iAppVs=(navigator.appVersion.indexOf('MSIE')>0)?navigator.appVersion.indexOf('MSIE')+5:0
iAppVs=parseFloat(navigator.appVersion.substr(iAppVs,3))
sAppAgent=navigator.userAgent.toLowerCase()

if (document.all){iAppType=1; IsIE=true}					//ie
else if (document.layers){iAppType=2; IsN4=true}			//nn4
else if (document.getElementById){iAppType=3; IsN6=true}	//nn6,mozilla
IsMac=(sAppAgent.indexOf('mac')!=-1)						//mac
//alert(' iAppType: '+iAppType +'\n iAppVs: '+iAppVs +'\n sAppAgent: '+sAppAgent)
//--------------------------------------------------------------------------------------

function IsEnterKey(e) {//keycode: 13=Enter
	kcode=IsIE?event.keyCode:(IsN4||IsN6)?e.which:0; return (kcode==13)
 }

function rtrim(str) { while(str.substr(str.length-1)==' '){str=str.substring(0,str.length-1)};return str }
function ltrim(str) { while(str.substr(0,1)==' '){str=str.substring(1,str.length)};return str }
function trim(str)  { return ltrim(rtrim(str)) }

function goForm(url,itn,vrb,vlu) {
	var fm=document.forms.fGO; fm.action=url; fm.action1x.value=itn
	for(var i=0;i<fm.elements.length;i++) { e=fm.elements[i]
		if(e.name!='action1x'){e.name=vrb; e.value=vlu; fm.submit(); return false}
		}
	return false
}

function autoGenPasswd(bDoit) {
	var fm=document.forms.fSubmit
	var e1=fm.usrPassword
	var e2=fm.usrPassword2
	var e3=fm.autoPassword
	switch (bDoit) {
		case 0: if(e3.value!=''){e1.value=e2.value=e3.value=''} return true; break
		case 1: e1.value=e2.value=e3.value=genPasswd(6); break
	}
	return false
}

function genPasswd(iLen) {
	var key = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()-_=+[{]}\\|;:\'",<.>/?'
	var pwd = ''; var pos = 0
	for(i=0; i<iLen; i++) {
		pos = Math.floor(Math.random() * key.length)
		pwd += key.charAt(pos)
	}
	return pwd
}

function setLoginFocus() {
	fm=document.forms.fSubmit
	e1=fm.usrEmail; e2=fm.usrPassword
	if(trim(e1.value)==''){e1.focus()} else{e2.focus()}
}

function changePgList(itn,e) {
	if(IsEnterKey(e)) return eval(itn)
	if(typeof(iReady)!='undefined'&&iReady==1) window.clearInterval(iCD)
	iReady=1; iCD=window.setInterval(itn+'()',0.5*1000) //1sec=1*1000
	}
				
function pgRange() {
	if(typeof(iReady)!='undefined'&&iReady==1) window.clearInterval(iCD); iReady=0
	fm=document.forms.fPgMove; j=trim(fm.stdListRange.value); p=stdListRange
	if(dirty||fm.Pagesize.disabled)j=p; if(j==''||j==p){fm.stdListRange.value=p;return false}
	fm.submit(); return false
	}

function getPgJump() {
	if(IsEnterKey()) return pgJump()
	if(typeof(iReady)!='undefined'&&iReady==1) window.clearInterval(iCD)
	iReady=1; iCD=window.setInterval('pgJump()',0.5*1000) //1sec=1*1000
	}
	
function pgJump() {
	if(typeof(iReady)!='undefined'&&iReady==1) window.clearInterval(iCD); iReady=0
	fm=document.forms.fPgMove; j=trim(fm.jumpToPg.value); p=trim(fm.ListAbsolutePage.value)
	if(dirty)j=p; if(j==''||j==p){fm.jumpToPg.value=p;return false}
	fm.ListAbsolutePage.value=fm.jumpToPg.value; fm.sortCat.value=''; fm.sortField.value=''
	fm.submit(); return false
	}
	
function pgMove(mv) {
	if(dirty)return false
	fm=document.forms.fPgMove
	if( (mv=='p'||mv=='pp')&&(ListAbsolutePage==1) || (mv=='n'||mv=='nn')&&(ListAbsolutePage==PageCount) ) return false
	fm.jumpToPg.value=''; fm.sortCat.value=''; fm.sortField.value=''; fm.list_PagingMove.value=mv
	fm.submit(); return false
	}
	
function pgSort(scat,sfld) {
	if(fm=document.forms.fPgMove){} else{return false}
	fm.sortCat.value=scat; fm.sortField.value=sfld
	fm.submit(); return false
	}
	
function chkEmail(addr) {
	// validate email address using regular expression. returns true/false for good/bad address
	var pattern = /^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$/
	return pattern.test(addr) // OR: addr.match(pattern)
	}