var report = "";

String.prototype.trim = function() {
  return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");
}

function popupWin(nameofwin,url,w,h,scrollbarsyesno,resizable01, movetox, movetoy) {
  eval("window." + nameofwin + " = window.open('','" + nameofwin + "','scrollbars=" + scrollbarsyesno + ",scrolling=auto,resizable=" + resizable01 + ",status=no,width=" + w + ",height=" + h + "');");
  eval("window." + nameofwin + ".location.href = url;");
  eval("window." + nameofwin + ".focus();");
  eval("window." + nameofwin + ".moveTo(" + movetox + "," + movetoy + ");");
}

function centralizeWin(nameofwin) {
  if (nameofwin) {
    nameofwin.focus();
    while (!nameofwin.document.body)
    {
    }		
    if (document.layers) {
      windowWidth=nameofwin.outerWidth;
      windowHeight=nameofwin.outerHeight;
    }
    if (document.all) {
      windowWidth=nameofwin.document.body.clientWidth;
      windowHeight=nameofwin.document.body.clientHeight;
    }				
    nameofwin.moveTo(screen.width/2-windowWidth/2, screen.height/2-windowHeight/2);
  } 
}

function checkKeyEntry(event, legalcharsset, alphanumeric) 
{
  var key;
  var keychar;
  var legalchars;
  if (legalcharsset == "") {
    if (alphanumeric == "alphabetic")
      legalchars = "abcdefghijklmnopqrstuvwxyz";
    else
      if (alphanumeric == "numeric")
        legalchars = "0123456789";
      else
        if (alphanumeric == "alphanumericspace")
          legalchars = "0123456789abcdefghijklmnopqrstuvwxyz ";        
        else
          legalchars = "0123456789abcdefghijklmnopqrstuvwxyz";
  }
  else
    legalchars = legalcharsset;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  keychar = keychar.toLowerCase();
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
    return true;    
  else if (((legalchars).indexOf(keychar) > -1))
    return true;  
  else
    return false;
}

function checkCardCodeEntry(formname, fieldname, maxlength) 
{
  if (!isNaN(fieldname.charAt(fieldname.length-1))) {
    fieldnameonly = fieldname.substring(0, fieldname.length-1);
    fieldnum = fieldname.charAt(fieldname.length-1);
    newfieldnum = parseInt(fieldnum) + 1;
    if (eval("document." + formname + "." + fieldname + ".value.length") == maxlength) 
      eval("document." + formname + "." + fieldnameonly + newfieldnum + ".focus()");
  }
}

function isEmailAddr(emailStr) {
  var errorMsg = "Please enter your valid E-mail Address.";
  var checkTLD = 1;
  var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|www)$/;
  var emailPat = /^(.+)@(.+)$/;
  var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
  var validChars= "\[^\\s" + specialChars + "\]";
  var quotedUser= "(\"[^\"]*\")";
  var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  var atom = validChars + '+';
  var word = "(" + atom + "|" + quotedUser + ")";
  var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
  var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
  var matchArray = emailStr.match(emailPat);
  if (matchArray == null) {
    return false;
  }
  var user = matchArray[1];
  var domain = matchArray[2];
  for (i = 0; i < user.length; i++) {
    if (user.charCodeAt(i) > 127) {
      report = errorMsg;
      return false;
    }
  }
  for (i = 0; i < domain.length; i++) {
    if (domain.charCodeAt(i) > 127) {
      report = errorMsg;
      return false;
    }
  }
  if (user.match(userPat) == null) {
    report = errorMsg;  
    return false;
  }
  var IPArray = domain.match(ipDomainPat);
  if (IPArray != null) {
    for (var i = 1; i <= 4; i++) {
      if (IPArray[i] > 255) {
        report = errorMsg;
        return false;
      }
    }
    return true;
  }
  var atomPat = new RegExp("^" + atom + "$");
  var domArr = domain.split(".");
  var len = domArr.length;
  for (i = 0; i < len; i++) {
    if (domArr[i].search(atomPat) == -1) {
      report = errorMsg;
      return false;
    }
  }
  if (checkTLD && domArr[domArr.length-1].length != 2 && domArr[domArr.length-1].search(knownDomsPat) == -1) {
    report = errorMsg;
    return false;
  }
  if (len < 2) {
    report = errorMsg;
    return false;
  }
  return true;
}

function isAlphaNumeric(s) {
  var errorMsg = "You have entered one or more invalid alphanumeric characters.";
  for (i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))
      continue;
    else {
      report = errorMsg;
      return false;
    }
  }
  return true;
} 

function frmCollectCardTopCheck()
{
  var strCardCode1 = document.frmCollectCardTop.strCardCode1.value.trim();
  var strCardCode2 = document.frmCollectCardTop.strCardCode2.value.trim();
  var strCardCode3 = document.frmCollectCardTop.strCardCode3.value.trim();
  var strCardCode4 = document.frmCollectCardTop.strCardCode4.value.trim();
  if (strCardCode1.length != 4 || !isAlphaNumeric(strCardCode1))
  {
    alert("Please enter your full 16-character alphanumeric Card Code.");
    document.frmCollectCardTop.strCardCode1.focus();
    return false;
  }
  else
  if (strCardCode2.length != 4 || !isAlphaNumeric(strCardCode2))
  {
    alert("Please enter your full 16-character alphanumeric Card Code.");
    document.frmCollectCardTop.strCardCode2.focus();
    return false;
  }
  else  
  if (strCardCode3.length != 4 || !isAlphaNumeric(strCardCode3))
  {
    alert("Please enter your full 16-character alphanumeric Card Code.");
    document.frmCollectCardTop.strCardCode3.focus();
    return false;
  }
  else  
  if (strCardCode4.length != 4 || !isAlphaNumeric(strCardCode4))
  {
    alert("Please enter your full 16-character alphanumeric Card Code.");
    document.frmCollectCardTop.strCardCode4.focus();
    return false;
  }
  popupWin("view","blank.htm",535,575,"yes",0,0,0);
  document.frmCollectCardTop.target = "view";  
  document.frmCollectCardTop.action = "showcard.asp";      
  return true;
}

function frmSelectCard_AssignValues()
{
  if (document.frmSelectCard && document.frmSendCard)
  {
    document.frmSelectCard.strSenderName.value = document.frmSendCard.strSenderName.value;
    document.frmSelectCard.strSenderEmail.value = document.frmSendCard.strSenderEmail.value;
    document.frmSelectCard.strRecipientName.value = document.frmSendCard.strRecipientName.value;
    document.frmSelectCard.strRecipientEmail.value = document.frmSendCard.strRecipientEmail.value;
    document.frmSelectCard.strTitle.value = document.frmSendCard.strTitle.value;
    document.frmSelectCard.strMessage.value = document.frmSendCard.strMessage.value;
    document.frmSelectCard.strSenderNRIC1.value = document.frmSendCard.strSenderNRIC1.value;
    document.frmSelectCard.strSenderNRIC2.value = document.frmSendCard.strSenderNRIC2.value;
    document.frmSelectCard.strSenderNRIC3.value = document.frmSendCard.strSenderNRIC3.value;
  }
}

function isChecked (formname, fieldname) {
  boolvar = false;  
  if (eval("document." + formname)) {
    if (eval("document." + formname + "." + fieldname)) {
      if (eval("document." + formname + "." + fieldname + "[0]"))
      {            
        for (var i = 0; i < eval("document." + formname + "." + fieldname + ".length;"); i++)
        {        
          if (eval("document." + formname + "." + fieldname + "[i].checked"))
          {
            boolvar = true; 
            break;
          }
        }
      }
      else 
      {
        if (eval("document." + formname + "." + fieldname + ".checked"))
        {
          boolvar = true; 
        }        
      }      
    }
  }  
  return boolvar;
}

function isCheckedOne (formname, fieldname) {
  var selectedIndex = -1;  
  if (eval("document." + formname)) {
    if (eval("document." + formname + "." + fieldname)) {            
      if (eval("document." + formname + "." + fieldname + "[0]"))
      {                
        for (var i = 0; i < eval("document." + formname + "." + fieldname + ".length;"); i++)
        {                
          if (eval("document." + formname + "." + fieldname + "[i].checked"))
          {          
            if (selectedIndex == -1) {            
              selectedIndex = i;            
            }
            else {
              selectedIndex = -1;            
              break;
            }
          }  
        }        
      }
      else
      {
        if (eval("document." + formname + "." + fieldname + ".checked"))
        {          
          selectedIndex = 0;
        }        
      }            
    }
  }    
  return selectedIndex;
}

function CheckAll (formname, fieldname) {    
  if (eval("document." + formname)) {
    if (eval("document." + formname + "." + fieldname)) 
    {            
      if (eval("document." + formname + "." + fieldname + "[0]")) 
      {      
        for (var i = 0; i < eval("document." + formname + "." + fieldname + ".length;"); i++)
        {        
          eval("document." + formname + "." + fieldname + "[i].checked = true;");        
        }      
      }
      else
      {
        eval("document." + formname + "." + fieldname + ".checked = true;");
      }
    }
  }      
}

function UncheckAll (formname, fieldname) {    
  if (eval("document." + formname)) {
    if (eval("document." + formname + "." + fieldname)) {            
      if (eval("document." + formname + "." + fieldname + "[0]")) {             
        for (var i = 0; i < eval("document." + formname + "." + fieldname + ".length;"); i++)
        {        
          eval("document." + formname + "." + fieldname + "[i].checked = false;");
        }
      }
      else
      {
        eval("document." + formname + "." + fieldname + ".checked = false;");
      }
    }
  }      
}

function SetListValue(list, value, checkText) {
	checkText = checkText || false;
	value = String(value).toLowerCase();

	for (var i=0; i<list.options.length; i++) {
		if (list.options[i].value.toLowerCase() == value || (checkText && list.options[i].text.toLowerCase() == value)) {
			list.selectedIndex = i;
			return;
		}
	}
}

function SetCheckedValue(list, value, checkText) {
	checkText = checkText || false;
	value = String(value).toLowerCase();

	for (var i=0; i<list.length; i++) {
		if (list[i].value.toLowerCase() == value || (checkText && list[i].value.toLowerCase() == value)) {
			list[i].checked = true;
			return;
		}
	}
}

function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}