function validEmail(email) {
  invalidChars = " /:,;";
  if (email == "") {
    return false;
  }
  for (i=0; i<invalidChars.length;i++) {
    badChar = invalidChars.charAt(i);
    if (email.indexOf(badChar,0) > -1) {
      return false;
    }
  }
  atPos = email.indexOf("@",1);
  if (atPos == -1) {
    return false;
  }
  if (email.indexOf("@",atPos+1) > -1) {
    return false;
  }
  periodPos = email.indexOf(".",atPos);
  if (periodPos == -1) {
    return false;
  }
  if (periodPos+3 > email.length) {
    return false;
  }
  return true;
}

function inputRegisterInfo(frm) {

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   if(document.getElementById('pay_now')){
      if(document.getElementById('pay_now').style.display == "none"){
         return false;
      }
   }

   if(document.getElementById('pay_now')){
      document.getElementById('pay_now').style.display = "none";
   }

   return true;
}


function inputCustomInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('address','city','zip_code');
   var error_array = new Array('Street Address','City','Zip Code');

   if (frm.elements['get_first_name'].value.length == 0) {
      alert('Please enter your First Name');
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert('Please enter your Last Name');
      frm.elements['get_last_name'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }
   if ((frm.elements['get_password_1'].value.length < 6) || (frm.elements['get_password_1'].value.length > 10)) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus(); 
      return false;
   }

   if (frm.elements['get_password_2'].value.length == 0) {
      alert('Please enter a Re-Password.');
      frm.elements['get_password_2'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value != frm.elements['get_password_2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password_2'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   return true;
}

function inputPlayerAccount(frm) {

   if (frm.elements['get_password1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }
   if ((frm.elements['get_password1'].value.length < 6) || (frm.elements['get_password1'].value.length > 10)) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password1'].focus(); 
      return false;
   }

   if (frm.elements['get_password2'].value.length == 0) {
      alert('Please enter a Re-Password.');
      frm.elements['get_password2'].focus();
      return false;
   }

   if (frm.elements['get_password1'].value != frm.elements['get_password2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password2'].focus();
      return false;
   }

   return true;
}

function inputCustomInfo1(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('address','city','zip_code');
   var error_array = new Array('Street Address','City','Zip Code');

   if (frm.elements['get_first_name'].value.length == 0) {
      alert('Please enter your First Name');
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert('Please enter your Last Name');
      frm.elements['get_last_name'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   return true;
}


function inputAdminCustomInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('first_name','last_name','email','address','city','zip_code');
   var error_array = new Array('First Name','Last Name','Email Address','Street Address','City','Zip Code');

   if (frm.elements['get_username'].value.length == 0) {
      alert('Please enter Username');
      frm.elements['get_username'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }
   if ((frm.elements['get_password_1'].value.length < 6) || (frm.elements['get_password_1'].value.length > 10)) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus(); 
      return false;
   }

   if (frm.elements['get_password_2'].value.length == 0) {
      alert('Please enter a Re-Password.');
      frm.elements['get_password_2'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value != frm.elements['get_password_2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password_2'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }
  
   return true;
}


function inputAdminCustomInfo2(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('username','password','first_name','last_name','email');
   var error_array = new Array('Username','Password','First Name','Last Name','Email Address');

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   return true;
}


function changePswd(frm) {
   if (frm.elements['get_password_1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }

   if ((frm.elements['get_password_1'].value.length < 6) || (frm.elements['get_password_1'].value.length > 10)) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus(); 
      return false;
   }

   if (frm.elements['get_password_2'].value.length == 0) {
      alert('Please enter a Re-Password.');
      frm.elements['get_password_2'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value != frm.elements['get_password_2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password_2'].focus();
      return false;
   }

   return true;
}


function inputEmail(frm) {
   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter Your Email');
      frm.elements['get_email'].focus();
      return false;
   }

   return true;
}


function validAddBasketList(frm) {         
   var qty = frm.elements['qty_var'].value; 
   if ((frm.elements[qty].value.length == 0) || (frm.elements[qty].value == 0)) {
      alert('Quantity should be greater than 0');
      frm.elements[qty].focus(); 
      return false;  
   } 
   myreg = new RegExp("^\\d+$");
   res = myreg.test(frm.elements[qty].value);
   if (!res) {
      alert('Quantity should be digit');
      frm.elements[qty].focus(); 
      return false;
   }
   frm.submit(); return false; 
}


function check_basket_quantity(frm) {
   var i;
   var sum;
   
   for (i=0; i < frm.elements.length; i++) {
      if (frm.elements[i].label == "qty_var") {
         if ((frm.elements[i].value.length == 0) || (frm.elements[i].value == 0)) {
            alert('Quantity should be greater than 0');
            frm.elements[i].focus(); 
            return false;  
         } 
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements[i].value);
         if (!res) {
            alert('Quantity should be digit');
            frm.elements[i].focus(); 
            return false;
         }
       
      }
   }
   return true
}


function check_basket_quantity2(frm) {
   var i;
   var sum;
   
   for (i=0; i < frm.elements.length; i++) {
      if (frm.elements[i].label == "qty_var") {
         if ((frm.elements[i].value.length == 0) || (frm.elements[i].value == 0)) {
            alert('Quantity should be greater than 0');
            frm.elements[i].focus(); 
            return false;  
         } 
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements[i].value);
         if (!res) {
            alert('Quantity should be digit');
            frm.elements[i].focus(); 
            return false;
         }
       
      }
   }

   document.basket.submit(); 
   return false;
}


function inputDocument(frm) {

   if (frm.elements['get_title'].value.length == 0) {
      alert('Please enter Document Title');
      frm.elements['get_title'].focus();
      return false;
   }

   if (frm.elements['get_filename'].value.length == 0 && frm.elements['get_file_path'].value.length == 0) {
      alert('Please enter Document');
      frm.elements['get_filename'].focus();
      return false;
   }

   return true;
}


function inputOrderComments(frm) {

   if (frm.elements['get_order_comments'].value.length == 0) {
      alert('Please enter Comments');
      frm.elements['get_order_comments'].focus();
      return false;
   }

  document.OrderForm.submit(); return false;
}


function inputOrderInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_firstname','billing_lastname','billing_email');

   var error_array = new Array('First Name','Last Name','Email');

      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+input_array[i];          
         if (frm.elements[source].value.length == 0) {
            alert(error_array[i].substr(0,1).toUpperCase()+error_array[i].substr(1)+' can not be empty ');
            frm.elements[source].focus();
            return false;
         }
      }

   return true;
}


function inputContactInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('first_name','last_name', 'email', 'comments', 'securecode');
   var error_array = new Array('First Name','Last Name', 'Email', 'Comments', 'Secure code');

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }
 
   return true;
}


function inputFinish(frm) {

   if (frm.elements['get_image'].value.length == 0 && frm.elements['get_description'].value.length == 0) {
      alert('Please enter Image or Description');
      frm.elements['get_image'].focus();
      return false;
   }

   return true;
}

function SelectAllCheck(obj,mark,name) {
   var form = obj.form;
   for (i = 0; i < form.elements.length; i++) {
      var item = form.elements[i];
      if (item.name == name) {
         item.checked = mark;
      };
   }
}
