<!-- hide from JavaScript-challenged browsers
function openWindow(url,remote) {
  popupWin = window.open(url, remote, 'scrollbars,menubar,resizable,dependent,width=640,height=480,left=100,top=100')
 popupWin.focus();
}

function openPopup(url,remote) {
  popupWin3 = window.open(url, remote, 'resizable,dependent,width=505,height=450,left=2,top=2')
 popupWin3.focus();
}


function openimg(url,remote) {
  popupWin = window.open(url, remote, 'scrollbars,menubar,resizable,dependent,width=350,height=350,left=100,top=100')
 popupWin.focus();
}
// done hiding -->


// Heinle's function for retrieving a cookie.
function getCookie(name){
  var cname = name + "=";               
  var dc = document.cookie;             
  if (dc.length > 0) {              
    begin = dc.indexOf(cname);       
    if (begin != -1) {           
      begin += cname.length;       
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
        return unescape(dc.substring(begin, end));
    } 
  }
  return null;
}

// An adaptation of Dorcht's function for setting a cookie.
function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) + 
  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
  ((path == null) ? "" : "; path=" + path) +
  ((domain == null) ? "" : "; domain=" + domain) +
  ((secure == null) ? "" : "; secure");
}

// An adaptation of Dorcht's function for deleting a cookie.
function delCookie (name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path == null) ? "" : "; path=" + path) +
    ((domain == null) ? "" : "; domain=" + domain) +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

 
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}
 


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function whichOnes(swap) {
	  document.summary.whichButton.value=swap;
	  document.summary.submit();
 }

 function DoTheTest() {
document.cookie = 'TemporaryTestCookie=yes; path=/';
setTimeout('TestIfCookieWasSet()',1000);
}
function TestIfCookieWasSet() {
var testcookie = '';
if(document.cookie.length > 0) {
	var cookiename = 'TemporaryTestCookie=';
	var cookiebegin = document.cookie.indexOf(cookiename);
	var cookieend = 0;
	if(cookiebegin > -1) {
		cookiebegin += cookiename.length;
		cookieend = document.cookie.indexOf(";",cookiebegin);
		if(cookieend < cookiebegin) { cookieend = document.cookie.length; }
		testcookie = document.cookie.substring(cookiebegin,cookieend);
		}
	}
if(testcookie == 'no') { window.location="CookieRequired.p"; }

}

//VALIDATE EMAIL ADDRESS
var invalidaddress=new Array();
invalidaddress[0]="rocketmail";
invalidaddress[1]="zdnetmail";
//extend or shorten this list if necessary
var knownDomsPat=/^(aero|agent|arpa|arts|auction|biz|chat|church|club|com|coop|edu|family|free|game|golf|gov|inc|info|int|kids|law|llc|llp|ltd|love|mil|med|museum|mobi|mp3|name|nato|net|org|pro|school|scifi|shop|soc|sport|travel|tech|tv|video|ae|au|an|at|be|bm|br|bs|bz|ca|ch|cn|cu|cy|de|dk|du|eu|es|fi|fr|gb|gl|gr|gs|gu|hk|ie|il|it|jm|jp|ky|lu|mc|mh|ms|mx|nl|no|nz|pf|pl|pr|pt|se|ru|us|uk|um|va|ve|vi|vg|ws)$/;
var emailresults;
var invalidcheck=0;

function checkemail(emailstr){
        
		emailstr=emailstr.toLowerCase();

        var filter=/^.+@.+\..{2,3}$/
        invalidcheck="";
        emailresults=true;
        if (filter.test(emailstr)){
           var tempstring=emailstr.split("@")
           var domArr=emailstr.split(".");
           tempstring=tempstring[1].split(".")
      
	       //check if an official email address
           for (i=0;i<invalidaddress.length;i++){
              if (tempstring[0]==invalidaddress[i]){
                  invalidcheck=1
              }
           }
      
	       //check if address ends in a well-known domain
           if (domArr[domArr.length-1].length!=2 && 
             domArr[domArr.length-1].search(knownDomsPat)==-1) {
                invalidcheck=2
           }
           
		   if (invalidcheck!=0)
              emailresults=false
           else{         
              emailresults=true
           }
        }
        else{
              invalidcheck=3
              emailresults=false;       
        }
}

function checkLuhn(input)
{
  var sum = 0;
  var numdigits = input.length;
  var parity = numdigits % 2;
  for(var i=0; i < numdigits; i++) {
    var digit = parseInt(input.charAt(i))
    if(i % 2 == parity) digit *= 2;
    if(digit > 9) digit -= 9;
    sum += digit;
  }
  return (sum % 10) == 0;
}
