function openPrintable(){
  var printString;
  if (location.href.indexOf("?") == -1){
    printString = location.href + "?_PRINT=True";
  }
  else{
    printString = location.href + "&_PRINT=True";
  }
  window.open(printString, 'printWindow', 'height=500,width=666,scrollbars=1,resizable=no,status=0,menubar=1');
}

function openWin(url){
  window.open('/capitaes/' + url, 'subWindow', '');
}

function openFeature(url){
  window.open(url, 'featureWindow', 'height=500,width=776,scrollbars=1,resizable=no,status=0,menubar=1');
  return false;
}

function openViewlet(fileURL){
  var height = (screen.height - 95);
  var width = Math.round(height * 1.309);
  viewletWindow = window.open("/capitaes/viewlets/viewlet.asp?file="+fileURL+"&width="+width+"&height="+height, "Viewlet", "toolbar=no,scrollbars=no,location=no,menubar=no,screenX=0,screenY=0,width="+width+",height="+height);
  viewletWindow.moveTo(0,0);
}

function validNumber(Numval){
  if (isNaN(Numval)){return false;}
  else if (Numval.indexOf(".",0) != -1){return false;}
  else if (Numval.indexOf("e",0) != -1){return false;}
  else if (Numval.indexOf("E",0) != -1){return false;}
  else if (parseInt(Numval) < 0){return false;}
  else{return true;}
}


function validDecimal(Numval){
  if (isNaN(Numval)){return false;}
  else if (Numval.indexOf("e",0) != -1){return false;}
  else if (Numval.indexOf("E",0) != -1){return false;}
  else if (parseFloat(Numval) < 0){return false;}
  else if (Numval.indexOf(".",0) > -1 && ((String(Numval).length - Numval.indexOf(".",0)) > 3)){return false;}
  else{return true;}
}

function validEmail(emailString){
  if (emailString.indexOf("@") == -1){
    return false;  //contains no @ sign
  }
  else{
    var temp = emailString.split("@");
    if ((temp[0].length == 0) || (temp[1].length == 0) || (temp.length > 2)){
      return false;  //nothing either before or after the @ sign, or contains more than 1 @ sign
    }
    else{
      var validCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&'*+-./=?^_`{|}~";
      for (i=0; i<temp[0].length; i++){
        if (validCharacters.indexOf(temp[0].charAt(i)) == -1){
          return false;  //first part of email address does not contain a valid character
        }
      }
      validCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-."
      for (i=0; i<temp[1].length; i++){
        if (validCharacters.indexOf(temp[1].charAt(i)) == -1){
          return false;  //second part of email address does not contain a valid character
        }
      }
      if ((temp[1].indexOf(".") == -1) || (temp[1].indexOf(".") == 0) || (emailString.lastIndexOf(".") == (emailString.length - 1))){
        return false;  //either no dot found, dot is straight after the @ sign or dot is at the end of the address
      }
    }
  }
  return true;
}

var submittedForm = false;
function submitOnce(){
  if (submittedForm == true){return false;}
  else{
    submittedForm = true;
    setTimeout("submittedForm = false;", 2000);
    return true;
  }
}

function checkSNETlogin(){
  var SNETloginErr = ""
  var SNETloginForm = document.SNETloginForm
  if (SNETloginForm.UserID.value == ""){
    SNETloginErr += "* You must enter your username\n"
  }
  if (SNETloginForm.Password.value == ""){
    SNETloginErr += "* You must enter your password\n"
  }
  if (SNETloginErr == ""){
    return true;
  }
  else {
    alert(SNETloginErr);
    return false;
  }
}

function MM_swapImgRestore() { //v3.0
  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() { //v3.0
  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) { //v4.01
  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() { //v3.0
  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];}
}