// JavaScript Document
  var http = false;
  var http2 = false;
  if(navigator.appName == "Microsoft Internet Explorer") {
    http = new ActiveXObject("Microsoft.XMLHTTP");
    http2 = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    http = new XMLHttpRequest();
    http2 = new XMLHttpRequest();
  } 

  function replace(div_id, url, parameter) {

      
    if(parameter) {
      url=url+"?"+parameter;
    }
    
    http.open("GET", url, true);
  
    http.onreadystatechange=function() {
      if(http.readyState == 4) {
        document.getElementById(div_id).innerHTML = http.responseText;        
      }
    }
    http.send(null);
  }
  
  function replace2(div_id, url, parameter) {
  
    if(parameter) {
      url=url+"?"+parameter;
    }
    
    http2.open("GET", url, true);
  
    http2.onreadystatechange=function() {
      if(http2.readyState == 4) {
        document.getElementById(div_id).innerHTML = http2.responseText;        
      }
    }
    http2.send(null);
  }  
  
  function check_exists(formName, element, element2, element3) {
  
    value = document.getElementById(element).value;
      
    url = "/"+formName+"/ajax/"+element+"/"+value;
    if(element2) 
    {
      value2 = document.getElementById(element2).value;
      url=url+"/"+element2+"/"+value2;
    }
    if(element3) 
    {
      value3 = document.getElementById(element3).value;
      url=url+"/"+element3+"/"+value3;
    }          
    http.open("GET", url, false);
    http.send(null);
    var result = http.responseText;
    

    if(result=="exists") 
    {
      generate_error_msg(element, 'Name exists'); error="yes"; return false;
    }
    else
    {
      clear_error_msg(element); return true;
    }
    
  }


function ValidateForm(formName, action) {

  error="no";

  if(formName=="productenquiry") 
  { 
    check_null('full_name');
    if(check_null('email'))
    {
    check_email('email');
    }
    check_null('phone');
  }
  
  if(formName=="subscription") 
  { 
    check_null('newsletter_name', '*');
    if(check_null('newsletter_email', '*'))
    {
    check_email('newsletter_email','*');
    }
  }
  
  if(formName=="career") 
  {
    check_null('full_name');
    check_null('mobile_number');
    check_null('address');
    check_null('description');
    if(check_null('email'))
      check_email('email');
   
    
  }
  
  if(formName=="enquiry") 
  {
    check_null('full_name');
    check_null('company');
    check_null('address');
    check_null('application');
    check_null('quantity');
    
    if(check_null('size'))
      check_decimal('size');
    
   if(check_null('surface_treatment'))
      check_decimal('surface_treatment');
 
   if(check_null('pressure_min'))
      check_decimal('pressure_min');

    if(check_null('pressure_max'))
      check_decimal('pressure_max');
    
   if(check_null('pressure_normal'))
      check_decimal('pressure_normal');
      
   if(check_null('flow_max'))
      check_decimal('flow_max');

   if(check_null('vacuum'))
      check_decimal('vacuum');         
 
   if(check_null('temperature_min'))
      check_decimal('temperature_min');

    if(check_null('temperature_max'))
      check_decimal('temperature_max');
    
   if(check_null('temperature_normal'))
      check_decimal('temperature_normal');
 
    check_null('location');
    check_null('construction');
    check_null('valve');
    check_null('pipe_size');
    check_null('fluids');
    //check_null('connection_type');
  }  
  
  if(formName=="dealer") 
  {
    check_null('applicant_name');
    check_null('company');
    check_null('city');
    check_null('state');
    check_null('country');
    check_null('zip');
    check_null('telephone');
    if(check_null('email'))
      check_email('email');

    
    check_null('marketing_name',' ');
    check_null('marketing_address',' ');
    check_null('marketing_city', ' ');
    check_null('marketing_state',' ');
    check_null('marketing_country',' ');
    check_null('marketing_zip',' ');
    check_null('marketing_telephone',' ');

    if(check_null('marketing_email',' '))
      check_email('marketing_email',' ');
    
    
    check_null('bank_name');
    check_null('bank_address');
    check_null('bank_account');
    if(check_null('bank_email'))
      check_email('bank_email');    
  }  
  
  if(formName=="auth") 
  {
    check_null('login');
    check_null('password');
  }  
    
  if(formName=="newsletter") 
  { 
    check_null('subject');
    //check_null('body');
  }     

  
  if(formName=="category") 
  { 
    check_null('name');
    //check_null('description');    
        
  }
  
  if(formName=="product") 
  { 
    check_null('name');
    //check_null('description');
    check_radio_null("parent_category[]");
        
  }  
  
  if(error=="yes") { return false; } 
  else { return true; }

}

function check_null(element, errorMsg) {
  if(!errorMsg) errorMsg = "Required";
   if( document.getElementById(element).value=="" ) {      
        generate_error_msg(element, errorMsg); error="yes"; return false;
      
   } else {
      if( document.getElementById(element).value.toUpperCase()=="<BR>" ) {      
        generate_error_msg(element, errorMsg); error="yes"; return false;
      
      }else {
      clear_error_msg(element); return true;
     }
   }
}

function check_limit(element, limitElement, errorMsg) 
{
  value = document.getElementById(element).value;
  limit = document.getElementById(limitElement).value;
  //alert('Value: '+value+'  Limit: '+limit);
  if( value > limit ) 
  {           
       generate_error_msg(element, errorMsg); error="yes"; return false;
  } else {
      clear_error_msg(element); return true;
  }  

}

function check_decimal(element) 
{
   var regex = /^\d+(\.\d+)?$/;
   if( !regex.test(document.getElementById(element).value)) {
      generate_error_msg(element, 'Enter Integer'); error="yes"; return false;
   } else {
     clear_error_msg(element); return true;
   }
}

function check_integer(element) 
{
   var regex = /^\d+?$/;
   if( !regex.test(document.getElementById(element).value)) {
      generate_error_msg(element, 'Enter Integer'); error="yes";
   } else {
     clear_error_msg(element);
   }
}

function check_radio_null(element)
{
  selected_radio_value="";
  radioelement = document.getElementsByName(element);
  
  for (var i=0; i < radioelement.length; i++)
   {
   if (radioelement[i].checked)
      {
        var selected_radio_value = radioelement[i].value;
      }
   }
   if(selected_radio_value=="") {
      generate_error_msg(element, 'Required'); error="yes";
   } else {
      clear_error_msg(element); 
   }
}

function generate_error_msg(element, error_message) {
   error_div = element+'_error';
   document.getElementById(error_div).innerHTML=error_message;   
}

function clear_error_msg(element) {
   error_div = element+'_error';
   document.getElementById(error_div).innerHTML=""; 
}

function check_email(element,errorMsg) {
  if(!errorMsg) errorMsg = "Invalid email";

 str = document.getElementById(element).value;
 error_div = element+'_error';
 var at="@"
 var dot="."
 var lat=str.indexOf(at)
 var lstr=str.length
 var ldot=str.indexOf(dot)
 if (str.indexOf(at)==-1){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.indexOf(at,(lat+1))!=-1){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.indexOf(dot,(lat+2))==-1){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 if (str.indexOf(" ")!=-1){
  document.getElementById(error_div).innerHTML=errorMsg;error="yes";
  return false
 }
 return true					
}