
var NAME_ILLEGAL_CHAR = "1234567890!@#+=_$%^&*()?/><{[}]\|`~:,;";
var EMAIL_ILLEGAL_CHAR = "!#$%^&*()-+={}[]\|:;',<>/?~`";
var PASS_ILLEGAL_CHAR = "!@#+=_$%^&*()?/><{[}]\|`~:,;";
var ADD_ILLEGAL_CHAR = "!@$%^&*()_+={}[]:;'?/\|<>";
var NUM_ILLEGAL_CHAR = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#+=_$%^&*()?/><{[}]\|`~:,;";

var ILLEGAL_AREA_CODES = new Array ( "211","311","411","511","555","611","711","811","900","911" );
var VALID_TLD = new Array ("areo","asia","biz","cat","com","coop","edu","gov","info","int","jobs","mil","mobi","name","net","org","pro","tel","ca","us");

var NAME_MIN_LEN = 2;
var NAME_MAX_LEN = 30;
var EMAIL_MIN_LEN = 6;
var EMAIL_MAX_LEN = 30;
var PASS_MIN_LEN = 6;
var PASS_MAX_LEN = 16;
var ADD_MIN_LEN = 5;
var ADD_MAX_LEN = 50;
var CITY_MIN_LEN = 3;
var CITY_MAX_LEN = 25;
var POSTAL_LEN = 3;
var MIN_AREA_CODE = 200;
var MAX_AREA_CODE = 999;

function redirect(val)
{
  var url ="edit.php?itemID=" + val;
   
  val.toString();
  window.location.replace(url);
}


function isBlank(field)
{
 
   if(document.getElementById(field).value == "" ||
       document.getElementById(field).value == null)
    {
          return true;
    }
    else
    {
          return false;
    }
  
}

function isNumeric(field)
{
    if(isNaN(document.getElementById(field).value == true))
    {
        return false
    }
    else
    {
        if(document.getElementById(field).value <0)
        {
            return false;
        }
        else
        {
            return true;
        }
    
    }
}
function isAlpha(field)
{

    currentChar = field.substring(0);
  
    for (k=0;k<=NAME_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = NAME_ILLEGAL_CHAR.substr(k-1,1);
      
        
      if ( currentChar == currentIllegal)
      {
         
          return false;
      }
     } 
 
  
  return true;
  
}
function validateQuantity(field)
{

    if (isBlank(field) == false || isNumeric(field) == false)  
    {
        var error = "<li> Invalid entry for quantity.</li>";
        document.getElementById(field).value = 1;
        //document.getElementById(field).focus();
        document.getElementById("errors").innerHTML = error;
     }   
 
}

function validateName(field)
{

  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var currentChar;
  var currentIllegal;
  var errCheck = 0 ;
  
  for (i=0;i<=fieldVal.length-1;i++)
  {
    currentChar = fieldVal.substring(i,i+1);
    
    for (k=0;k<=NAME_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = NAME_ILLEGAL_CHAR.substring(k,k+1);
     
        
      if ( currentChar == currentIllegal)
      {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " Must be alphabetic </h5>";
         errCheck = 1;
       
      } 
        
    
    }
  }
 
    if (errCheck == 0)
    {
          document.getElementById(errorField).innerHTML = "";
    }
  
  
  
  
  if (isBlank(field) == true)
  {
      //document.getElementById(field).focus();
      document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " Must be entered </h5>";
      
  }
  else
  {
        document.getElementById(errorField).innerHTML = "";
  }

  
  if(fieldVal.length > NAME_MAX_LEN)
  {
      //document.getElementById(field).focus();
      document.getElementById(field).value = "";
      document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is too long </h5>";
  }
  else if(fieldVal.length < NAME_MIN_LEN)
  {
      //document.getElementById(field).focus();
      document.getElementById(field).value = "";
      document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is too short </h5>";
  }
  else
  {
      document.getElementById(errorField).innerHTML = "";
  }

  

    
    
}
function validateEmail(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var currentChar;
  var currentIllegal;
  var nextChar;
  var errCheck = 0 ;
  var hasAt = 0;
  var hasDot = 0;
  var validTld = 0;
  var tld;

  
  for (i=0;i<=fieldVal.length-1;i++)
  {
    currentChar = fieldVal.substring(i,i+1);
    nextChar = fieldVal.substring(i+1,i+2);
    
    if( currentChar == "@")
    {
    
        hasAt++;
        
        if(i == 0 || i == fieldVal.length-1 )
        {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is invalid</h5>";
            errCheck = 1;  
            
        }
        
        if(nextChar == ".")
        {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is invalid</h5>";
            errCheck = 1;  
                           
        }
    
    } 
    
    if(currentChar == ".")
    {
        hasDot++;
        tld = fieldVal.substring(i+1);
        if(i == 0 || i == fieldVal.length-1 )
        {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is invalid</h5>";
            errCheck = 1;  
                       
        }
        
        if (nextChar == "." || nextChar == "@")
        {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  document.getElementById(field).alt + " is invalid</h5>";
            errCheck = 1;   
                            
        }
        
    }
    
  
    
    for (k=0;k<=EMAIL_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = EMAIL_ILLEGAL_CHAR.substring(k,k+1);
     
        
      if( currentChar == currentIllegal)
      {
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " is invalid </h5>";
         errCheck = 1;
                
      } 
        
    
    }
    
    
  }


  if(hasAt == 0 || hasAt > 1 || hasDot == 0)
  {
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " is invalid </h5>";
         errCheck = 1;
                   
  }
  if(fieldVal.length > EMAIL_MAX_LEN || fieldVal.length < EMAIL_MIN_LEN)
  {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " is invalid </h5>";
         errCheck = 1;  
               
  }

  
  for (x in VALID_TLD)
  {
      if (tld == VALID_TLD[x])
      {
          validTld = 1;
      }
  }
  
  if (validTld == 0)
  {
      //document.getElementById(field).focus();
      document.getElementById(field).value = "";
      document.getElementById(errorField).innerHTML = "<h5>" +  
      document.getElementById(field).alt + " is invalid </h5>";
      errCheck = 1;  
                 
  }
  
  
  if (errCheck == 0)
  {
          document.getElementById(errorField).innerHTML = "";
  }

}
function validatePassword(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var currentChar;
  var currentIllegal;
  var nextChar;
  var errCheck = 0 ;
  
   for (i=0;i<=fieldVal.length-1;i++)
  {
    currentChar = fieldVal.substring(i,i+1);
    
    for (k=0;k<=PASS_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = PASS_ILLEGAL_CHAR.substring(k,k+1);
     
        
      if ( currentChar == currentIllegal)
      {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " contains invalid characters </h5>";
         errCheck = 1;
                   
      } 
        
    
    }
  }
  
  if(fieldVal.length > PASS_MAX_LEN || fieldVal.length < PASS_MIN_LEN)
  {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be between 6 and 16 characters long </h5>";
         errCheck = 1;
                  
  }
  
  if (errCheck == 0)
  {
          document.getElementById(errorField).innerHTML = "";
  }
  
}

function validateAddress(field)
{
 var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var currentChar;
  var currentIllegal;
  var nextChar;
  var errCheck = 0 ;
  
   for (i=0;i<=fieldVal.length-1;i++)
  {
    currentChar = fieldVal.substring(i,i+1);
    
    for (k=0;k<=ADD_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = ADD_ILLEGAL_CHAR.substring(k,k+1);
     
        
      if ( currentChar == currentIllegal)
      {
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " contains invalid characters </h5>";
         errCheck = 1;
       
      } 
        
    
    }
  }
 
  if(fieldVal.length > ADD_MAX_LEN || fieldVal.length < ADD_MIN_LEN)
  {
        
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be between 5 and 50 characters long </h5>";
         errCheck = 1;
  }
  
  if (errCheck == 0)
  {
          document.getElementById(errorField).innerHTML = "";
  }

}
function validateCity(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var currentChar;
  var currentIllegal;
  var nextChar;
  var errCheck = 0 ;
  
   for (i=0;i<=fieldVal.length-1;i++)
  {
    currentChar = fieldVal.substring(i,i+1);
    
    for (k=0;k<=NAME_ILLEGAL_CHAR.length-1;k++)
    {
      currentIllegal = NAME_ILLEGAL_CHAR.substring(k,k+1);
     
        
      if ( currentChar == currentIllegal)
      {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " contains invalid characters </h5>";
         errCheck = 1;
       
      } 
        
    
    }
  }
  
  if(fieldVal.length > CITY_MAX_LEN || fieldVal.length < CITY_MIN_LEN)
  {
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be between 3 and 20 characters long </h5>";
         errCheck = 1;
  }
  
  if (errCheck == 0)
  {
          document.getElementById(errorField).innerHTML = "";
  }

}
function validatePostalCode1(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var errCheck;
  var firstChar;
  var secondChar;
  var thirdChar;
  
  if (fieldVal.length != POSTAL_LEN)
  {
         // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be between 3 characters long </h5>";
         errCheck = 1;
  
  }
  else
  {
        firstChar = fieldVal.substr(0,1);
        secondChar = fieldVal.substr(1,1);
        thirdChar = fieldVal.substr(2,1);
        
        if (isAlpha(firstChar) == false || isNaN(secondChar) == true || isAlpha(thirdChar) == false)
        {
        //          document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " is invalid </h5>";
         errCheck = 1;
        
        }
        

        
        if (errCheck == 0)
        {
          document.getElementById(errorField).innerHTML = "";
        }

  
  
  }
  

}
function validatePostalCode2(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var errCheck;
  var firstChar;
  var secondChar;
  var thirdChar;
  
  if (fieldVal.length != POSTAL_LEN)
  {
       //   document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be between 3 characters long </h5>";
         errCheck = 1;
  
  }
  else
  {
        firstChar = fieldVal.substr(0,1);
        secondChar = fieldVal.substr(1,1);
        thirdChar = fieldVal.substr(2,1);

        if (isNaN(firstChar) == true || isAlpha(secondChar) == false || isNaN(thirdChar) == true)
        {
        // document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " is invalid </h5>";
         errCheck = 1;
        
        }
        
        if (errCheck == 0)
        {
          document.getElementById(errorField).innerHTML = "";
        }

  
  
  }
  

}

function validatePhone1(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var errCheck = 0;
    
  if (isNumeric(field) ==true)
  {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be numeric </h5>";
         errCheck = 1;
  
  } 
  else
  {
      if (fieldVal > MAX_AREA_CODE || fieldVal < MIN_AREA_CODE)
      {
           // document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  
            document.getElementById(field).alt + " is invalid </h5>";
            errCheck = 1;
  
      }
      else
      {
          for (x in ILLEGAL_AREA_CODES)
         {
             if (fieldVal == ILLEGAL_AREA_CODES[x])
             {
                //document.getElementById(field).focus();
                document.getElementById(field).value = "";
                document.getElementById(errorField).innerHTML = "<h5>" +  
                document.getElementById(field).alt + " is invalid </h5>";
                errCheck = 1;
             }
        
         } 
      
      }
  
  }
  if (errCheck == 0)
  {
      document.getElementById(errorField).innerHTML = "";
  }  
}

function validatePhone2(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var errCheck =0;
    
  if (isNumeric(field) == true)
  {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be numeric </h5>";
         errCheck = 1;
  
  } 
  else
  {
      if (fieldVal > MAX_AREA_CODE || fieldVal < MIN_AREA_CODE)
      {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  
            document.getElementById(field).alt + " is invalid </h5>";
            errCheck = 1;
  
      }
  }
  if (errCheck == 0)
  {
      document.getElementById(errorField).innerHTML = "";
  }  
}
function validatePhone3(field)
{
  var errorField = field + "_err";
  var fieldVal = document.getElementById(field).value;
  var errCheck =1;
  
    
  if (isNumeric(field) == true)
  {
         //document.getElementById(field).focus();
         document.getElementById(field).value = "";
         document.getElementById(errorField).innerHTML = "<h5>" +  
         document.getElementById(field).alt + " must be numeric </h5>";
         errCheck = 1;
  
  } 
  else
  {
      if (fieldVal.length != 4)
      {
            //document.getElementById(field).focus();
            document.getElementById(field).value = "";
            document.getElementById(errorField).innerHTML = "<h5>" +  
            document.getElementById(field).alt + " is invalid </h5>";
            errCheck = 1;
  
      }
  }
      
  if (errCheck == 0)
  {
      document.getElementById(errorField).innerHTML = "";
  }  

}

function verify()
{

  var error = "<ul>";
  if(isBlank("fName") == true)
      {error = error +  "<li>First Name is blank</li>";}
  if(isBlank("lName") == true)
     {error =error +"<li>Last Name is blank</li>";}
  if(isBlank("password") == true)
      {error =error + "<li>Password is blank</li>";}
  if(isBlank("confirmPass") == true)
      {error =error + "<li>Confirm Password is blank</li>";}
  if(isBlank("email") == true)
      {error =error + "<li>Email is blank</li>";}
  if(isBlank("address") == true)
      {error =error + "<li>Address is blank</li>";}
  if(isBlank("city") == true)
      {error =error + "<li>City is blank</li>";}
  if(isBlank("phone1") == true)
      {error =error + "<li>Area Code is blank</li>";}
  if(isBlank("phone2") == true)
      {error =error + "<li>Phone Number(1) is blank</li>";}
  if(isBlank("phone3") == true)
      {error =error + "<li>Phone Number(2) is blank</li>";}
  if(isBlank("postalCode1") == true)
      {error =error + "<li>Postal Code(1) is blank</li>";}
  if(isBlank("postalCode2") == true)
      {error =error + "<li>Postal Code(2) is blank</li>";}
  
  if (document.getElementById("password").value != document.getElementById("confirmPass").value)
  {
          error = error + "<li>Password and Confirm Password Must Match</li>";
  }
  
  error = error + "</ul>";
  if(error == "<ul></ul>")
  {
      return true;
  }
  else
  {
      
      document.getElementById("main_err").innerHTML = "<h2> " + error + "</h2>";
      return false;
  }
  
  
  

}
function enableImage()
{
   if (document.getElementById("imgCheck").checked == true)
   {   document.getElementById("image").disabled = false ;}
   else
   {   document.getElementById("image").disabled = true ;} 
}

function hideReciever()
{
      if(document.getElementById("delOpt").checked == true)
        {document.getElementById("shipping").innerHTML = "";}
      else
      {
        document.getElementById("shipping").innerHTML = " <h3>Reciever:</h3> " +
          "<div id=\"main_err\"></div>" +
          "<div id=\"fname_err\"></div>" +
          "<label for=\"fName\">First Name:</label>" +
          "<input type=\"text\" name=\"fName\" id=\"fName\" onblur=\"validateName(this.id)\" alt = \"First Name\" />" +
          "<div id=\"lName_err\"></div>" +
          "<label for=\"lName\">Last Name: </label>"+
          "<input type=\"text\" name=\"lName\" id=\"lName\" onblur=\"validateName(this.id)\" alt=\"Last Name\" />" +
          "<div id=\"address_err\"></div>" +
          "<label for=\"address\">Address: </label>" +
          "<input type=\"text\" name=\"address\" id=\"address\" onblur=\"validateAddress(this.id)\" />" +
          "<div id=\"city_err\"></div>" +
          "<input type=\"text\" name=\"city\" id=\"city\" alt=\"City\" onblur=\"validateCity(this.id)\" />";
     
    }  
}




