var d=document

var IE4=d.all ? 1 : 0
var NN4=d.layers ? 1 : 0
var DHTML=IE4||NN4

var Prefix="d.all."
var Suffix=".style"
if (NN4) {
  Prefix="d.layers."
  Suffix=""
}

function makePopUp(source,name,width,height,sbar) {
  var win_prop="location=no,toolbar=no,directories=no,menubar=no,status=no,"+
               "resizable=no,dependent=no,width="+width+",height="+height
  if (sbar == "yes")
    win_prop += ",scrollbars=yes"
  else 
    win_prop += ",scrollbars=no"
  win_prop += ",left="+Math.floor((screen.width-width)/2)+",top="+Math.floor((screen.height-height)/2)
  var win = open (source,name,win_prop)
  win.focus ()
  return win
}

function noenter(key) {
	// capture [Enter] and abort the form submit
	// only works if you add to each input type="text" tag:
	//		onkeypress="return noenter(event)" 
	if(window.event) { // IE
			if (window.event.keyCode == 13) {
				document.forms['form1'].elements['validNavigation'].value = '1';
				submitForm('postcontinue');
				}
		}
	else if (key.which == 13) {
		document.forms['form1'].elements['validNavigation'].value = '1';
		submitForm('postcontinue');
		}
	else return true;
}

function addCommasNoSpecialCharacters(oObj){
    try{
		// trapping shift or tab keys
		if((window.event.keyCode==9) || (window.event.keyCode==16)){
			return;
		}

		var sValue = oObj.value;
		var sNewVal = '';
		
		sValue = sValue.replace(/[^0-9]/ig,"")	//remove non numeric values
		
		//Remove Leading Zeros, If more than 1
		if (oObj.value.length > 1) {
			while (oObj.value.indexOf("0") == 0){
				sValue = sValue.replace('0',"")
				break;
			}
		}
		if (oObj.value.length > 1) {
			for (idx=1; idx < oObj.maxLength; idx++){
				if(oObj.value.charAt(idx) == "0" && oObj.value.charAt(0) == "0"){
					sValue = sValue.replace(oObj.value.charAt(idx),"")
				}
				else break;
			}

			if(oObj.value.charAt(0) == "0" && oObj.value.charAt(1) != "0") {
				sValue = sValue.replace(oObj.value.charAt(0),"")
			}           
		}
		
		// attempting to remove extra characters that may have slipped in.
		if (oObj.maxLength){
			if (sValue.length > parseInt(oObj.maxLength)){ 
				sValue = sValue.substr(0,oObj.maxLength-(parseInt(oObj.maxLength/3))) //MaxLength must = 4, 7 or 10 
			}
		}
		
		if(sValue > 99){
			var nCommas = parseInt((sValue.length / 3))
			if ((sValue.length % 3) == 0){
				//subtract extra comma that can occur if modulus = 0 
				--nCommas
			}	
			
			if (nCommas > 0){

					for (n = nCommas; n > 0; n--){		//add comma(s)
						sNewVal =  sNewVal + ',' + sValue.substr((sValue.length-(n*3)),3);
					}//add remaining
				
					sNewVal =  sValue.substr(0,((sValue.length-(nCommas*3)) / 1)) + sNewVal;
					oObj.value = sNewVal;
				}
			else{
					oObj.value = sValue;
			}		
				
		}
		else{
			oObj.value = sValue;
		}
				
	}catch(exception){
		//do nothing
	}
}
function checkEmail(str) {
  var l=str.length
  if (!l) return false
  var was_ata=0
  var was_pset=0
  var cch='' 
  for (var i=0; i<l; i++) {
    var ch=str.charAt(i)
    if (ch=='@')
      if (was_ata==1 || i==0 || cch=='.') return false
      else was_ata=1
    else
      if (ch=='.')
	if (cch=='.' || cch=='@' || i==l-1 || i==0) return false
	else was_pset=was_ata
      else
	if ((ch<'A' || ch>'Z') && (ch<'a' || ch>'z') &&
	    (ch<'0' || ch>'9') && (ch!='_') && (ch!='-')) return false
    cch=ch
    }
  return (was_ata && was_pset)
  }
 
function isDigit (formObj) {
  eval ("var re='([0-9]{"+formObj.value.length+"})'");
  if (formObj.value.match (re))
    return true
  else return false
}

function validAddr (formObj) {
  eval ("var re='([0-9A-Za-z\-\ \.\#\,\\']{"+formObj.value.length+"})'")
  if (formObj.value.match (re) && formObj.value.length > 5)
    return true
  else return false
}

function validName (formObj) {
  eval ("var re='([A-Za-z\-\ \\']{"+formObj.value.length+"})'")
  if (formObj.value.match (re) && formObj.value.length > 1)
    return true
  else return false
}

function haveSpace (formObj) {
  var re='([\ ]+)'
  if (formObj.value.match (re))
    return true
  else return false
}

function toggleButton (button) {
  button.disabled = !button.disabled;
}

function divide (v1, v2) {

  if (v2 != 0) {
    return (trunc ((v1 / v2) * 100))
  }
  else return ("0.00")
}

function trunc (what) {
  var str=new String (what)
  var dot=str.indexOf ('.')
  if (dot>0) {
    var prev=str.charAt (dot+2)
    if (str.charAt(dot+3)>'5')
      prev++
    }
    else return (str+'.00')
  return str.substr (0,dot+2)+prev
}

function getRadioValue (radioObject) {
  var value = null;
  if(radioObject != null) {
    for (var i=0; i<radioObject.length; i++) {
      if (radioObject[i].checked) {
        value = radioObject[i].value;
        break;
      }
    }
  }
  return value;
}

function IsDate (y,mn,d) {
  var ad = new Date (y, (parseFloat (mn)-1), d)
  var yea
  var dc = false
  if (y.length == 4) 
    yea = ad.getFullYear() 
  else yea = ad.getYear()   
  if ((parseFloat (d) == parseFloat (ad.getDate())) && ((parseFloat(mn) - 1) == parseFloat (ad.getMonth ())) && (parseFloat (y) == parseFloat (yea)))
    dc = true 
  else dc = false
  cd = new Date ()
  var td = cd - ad
  if (dc == true) {
    if (td > 567648000000)
      return 1
    else return -1
  }
  else return 0
}

function gonext (from, to, len) {
  eval ("var ll = d.forms[0]."+from+".value")
  if (ll.length >= len)  
    eval("document.forms[0]."+to+".focus();")
}
