// gnitScripts.js
// Functions used to cleanse form data.
// Other Intragnit scripts

// This function adds the header to each page.
function addHeaderOld() {
  var str;
  str = "<table border='0' width='100%' height='95' cellspacing='0' cellpadding='0' id='table2'>";
  str = str + "<tr><td colspan='3' width='100%' align='left'>";
  str = str + "<img src='/images/WLA3-May13.GIF' border='0' width='395' height='70'></td></tr><tr>";
  str = str + "<td width='30%' align='right'><a href='/Default.asp'>HOME</a></td>";
  str = str + "<td align='center' width='40%'><a href='/Tech_Support/techsupportform.asp'>REQUEST TECH SUPPORT</a></td>";
  str = str + "<td align='left' width='30%'><a href='/missionstatement.htm'>MISSION STATEMENT</a></td>";
  str = str + "</tr><tr><td colspan='6' height='4'></td></tr></table>";
  document.write(str);
  return;
}

function addHeader() {
  var str;
  str = "<table border='0' width='800' height='125' cellspacing='0' cellpadding='0' id='table2'>";
  str = str + "<tr><td colspan='3' width='100%' align='left'>";
  str = str + "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'";
  str = str + "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0'";
  str = str + "width='800' height='100'>";
  str = str + "<param name='movie' value='/images/HeaderLT.swf'>";
  str = str + "<param name='quality' value='high'>";
  str = str + "<embed src='/images/HeaderLT.swf' quality='high'";
  str = str + "pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'";
  str = str + "type='application/x-shockwave-flash' width='800' height='100'>";
  str = str + "</embed></object></td></tr><tr>";
  str = str + "<td width='30%' align='right'><a href='/Default.asp'>HOME</a></td>";
  str = str + "<td align='center' width='40%'><a href='/Tech_Support/techsupportform.asp'>REQUEST TECH SUPPORT</a></td>";
  str = str + "<td align='left' width='30%'><a href='/missionstatement.htm'>MISSION STATEMENT</a></td></tr></table>";
  document.write(str);
  return;
}

function addHeaderMain() {
  var str;
  str = "<table border='0' width='895' height='125' cellspacing='0' cellpadding='0' id='table2'>";
  str = str + "<tr><td colspan='3' width='100%' align='left'>";
  str = str + "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'";
  str = str + "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0'";
  str = str + "width='800' height='100'>";
  str = str + "<param name='movie' value='/images/Header.swf'>";
  str = str + "<param name='quality' value='high'>";
  str = str + "<embed src='/images/Header.swf' quality='high'";
  str = str + "pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'";
  str = str + "type='application/x-shockwave-flash' width='800' height='100'>";
  str = str + "</embed></object></td></tr><tr>";
  str = str + "<td width='30%' align='right'><a href='/Default.asp'>HOME</a></td>";
  str = str + "<td align='center' width='40%'><a href='/Tech_Support/techsupportform.asp'>REQUEST TECH SUPPORT</a></td>";
  str = str + "<td align='left' width='30%'><a href='/missionstatement.htm'>MISSION STATEMENT</a></td></tr></table>";
  document.write(str);
  return;
}

function addHeaderMain2() {
  var str;
  str = "<table border='0' width='800' height='125' cellspacing='0' cellpadding='0'>";
  str = str + "<tr><td width='100%' align='left'>";
  str = str + "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'";
  str = str + "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0'";
  str = str + "width='800' height='100'>";
  str = str + "<param name='movie' value='/images/Header.swf'>";
  str = str + "<param name='quality' value='high'>";
  str = str + "<embed src='/images/Header.swf' quality='high'";
  str = str + "pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'";
  str = str + "type='application/x-shockwave-flash' width='800' height='100'>";
  str = str + "</embed></object></td></tr></table>";
  document.write(str);
  return;
}

// This function removes apostrophes, quotes, pound signs, and ampersands.
// These symbols can break the ASP code feeding the database.
function clean(field) {
  var newField = field.replace(/['"#&]+/g, "");
  return newField;
}

// This function checks to see if the inputed value is a valid date.
function isDate(dateStr) {
  if (dateStr.length == 0)
    return true;
  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
  var matchArray = dateStr.match(datePat); // is the format ok?
  var datePat2 = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2})$/;
  var matchArray2 = dateStr.match(datePat2); // is the format ok?
  if ((matchArray == null)&&(matchArray2 == null)) {
    alert("Please enter date as either mm/dd/yyyy, mm-dd-yyyy, mm/dd/yy, or mm-dd-yy.");
    return false;
  }
  if(matchArray == null) {
    month = matchArray2[1]; // parse date into variables
    day = matchArray2[3];
    year = matchArray2[5];
  } else {
    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[5];
  }
  if (year < 100) {
    if (year > 50)
      year = year + 1900;
    else
      year = year + 2000;
  }
  if (month < 1 || month > 12) { // check month range
    alert("Month must be between 1 and 12.");
    return false;
  } 
  if (day < 1 || day > 31) {
    alert("Day must be between 1 and 31.");
   return false;
  }
  if ((month==4 || month==6 || month==9 || month==11) && day==31) {
    alert("Month "+month+" doesn't have 31 days!")
     return false;
  }
  if (month == 2) { // check for february 29th
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
   if (day > 29 || (day==29 && !isleap)) {
     alert("February " + year + " doesn't have " + day + " days!");
     return false;
   }
  }
  return true; // date is valid
}

// Checks to see if the given field has a numerical value.
function isNumber(strValue) {
  if(isNaN(strValue)){
    return false;
  }
  return true;
}

// This function cleans a numerical field of commas to prepare it for database entry.
function getNum(nm) {
  nm = nm.replace(/,/g,"");
  if(nm.match(/^\d/) == null) {
    if(nm.length == 1) {
      return 0;
    } else {
      return getNum(nm.substring(1));
    }
  } else {
    return parseFloat(nm);
  }
}

// This function cleans currency fields in preparation for database entry.
function cleanCurr(c) {
  c = c.replace(/[^\(|\)|\-|\.|\d]/g,"");
  c = c.replace(/,/g,"");
  if(c.match(/\.{2,}/) != null)
    c = c.replace(/\./,"");
  if((c.match(/\(/) != null) && (c.match(/\)/) != null)) {
    c = c.replace(/\(/,"-");
    c = c.replace(/\)/g,"");
  }
  if((c.match(/\d/) == null) || (c.length == 0))
    c = 0;
  var cr = parseFloat(c);
  cr = cr.toFixed(2);
  return cr;
}

