function viewform(m, w, h) {
   var scroll = 'yes';
   var settings;
   var LeftPosition;
   var TopPosition;
   var win;
	      
   LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
   TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  
   settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll;
   settings = settings + ',resizable=no,maximize=no,status=no,toolbar=no,directories=no,menubar=no,location=no';
		      
   win = window.open(m, 'pre', settings);
   win.name = 'name';
   win.focus();
}

function viewformi(m, w, h) {
   var LeftPosition;
   var TopPosition;
   LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
   TopPosition = (screen.height) ? (screen.height-h)/2 : 0;

   var divob = document.getElementById('divfrm');
   divob.style.left = LeftPosition;
   divob.style.top =  TopPosition;
   divob.style.width =w;
   divob.style.height=h;
   divob.style.visibility='visible';

   var popi = document.getElementById('popifr');
   popi.src = m;
}


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 inputCustomInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('phone','address','city','zip_code','sign_crypt');
   var error_array = new Array('Best Phone Number To Reach You For Verification',
      'Street Address','City','Zip Code','Enter the letters shown on the picture below');

   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 (!(validEmail(frm.elements['get_retype_email'].value))) { 
      alert('Please enter Your Confirm Email');
      frm.elements['get_retype_email'].focus();
      return false;
   }

   if (frm.elements['get_email'].value != frm.elements['get_retype_email'].value) {
      alert('Your email confirmation does not match the original email');
      frm.elements['get_retype_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;
   }

   if (frm.elements['get_first_name'].value.length == 0) {
      alert('Please enter First Name');
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert('Please enter Last Name');
      frm.elements['get_last_name'].focus();
      return false;
   }

  invalidChars = " -:,;";
  for (i=0; i<invalidChars.length;i++) {
    badChar = invalidChars.charAt(i);
    if (frm.elements['get_birth_date'].value.indexOf(badChar,0) > -1) {
      alert('Please enter valid birth date in the form of mm/dd/yyyy');
      frm.elements['get_birth_date'].focus();
      return false;
    }
  }

   myreg = new RegExp("\\d{2}\/\\d{2}\/\\d{4}");
   res = myreg.test(frm.elements['get_birth_date'].value);
   if (!res) {
      alert('Please enter valid birth date in the form of mm/dd/yyyy');
      frm.elements['get_birth_date'].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 (frm.elements['get_u_agreement'].checked == false) {
         alert('Please read and check User Agreement');
         frm.elements['get_u_agreement'].focus();
         return false;
   }

   return true;
}


function inputCustomInfo1(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('phone','address','city','zip_code');
   var error_array = new Array('Best Phone Number To Reach You For Verification','Street Address','City','Zip Code');

   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_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;
   }

   invalidChars = " -:,;";
   for (i=0; i<invalidChars.length;i++) {
     badChar = invalidChars.charAt(i);
     if (frm.elements['get_birth_date'].value.indexOf(badChar,0) > -1) {
       alert('Please enter valid birth date in the form of mm/dd/yyyy');
       frm.elements['get_birth_date'].focus();
       return false;
     }
   }

    myreg = new RegExp("\\d{2}\/\\d{2}\/\\d{4}");
    res = myreg.test(frm.elements['get_birth_date'].value);
    if (!res) {
       alert('Please enter valid birth date in the form of mm/dd/yyyy');
       frm.elements['get_birth_date'].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 useCustomInfo2(chck, frm, prefix, prefix2) {
   var prefix0 = 'get_';
   var input_array = new Array('first_name','last_name','email','address','city','zip_code','phone');
   var select_array = new Array('ref_country', 'ref_state');

   if (chck.checked) {
      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+prefix+input_array[i];
         var destin = prefix0+prefix2+input_array[i];
      
         frm.elements[destin].value = frm.elements[source].value;
      }

      for (var i=0; i<select_array.length; i++) {
         var source = prefix0+prefix+select_array[i];
         var destin = prefix0+prefix2+select_array[i];
         
         frm.elements[destin].options.length = 0;

         for (var j=0; j < frm.elements[source].options.length; j++) {
            frm.elements[destin].options.length = j+1;
            frm.elements[destin].options[j].value = frm.elements[source].options[j].value;
            frm.elements[destin].options[j].text  = frm.elements[source].options[j].text;
         }
         
         frm.elements[destin].selectedIndex = frm.elements[source].selectedIndex;
      }
   }
   return true;
}


function inputAdminCustomInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('first_name','last_name','email');
   var error_array = new Array('First Name','Last Name','Email Address');

   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 inputCustomInfoAccount(frm) {
   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter Your Email');
      frm.elements['get_email'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_retype_email'].value))) { 
      alert('Please enter Your Confirm Email');
      frm.elements['get_retype_email'].focus();
      return false;
   }

   if (frm.elements['get_email'].value != frm.elements['get_retype_email'].value) {
      alert('Your email confirmation does not match the original email');
      frm.elements['get_retype_email'].focus();
      return false;
   }

   return true;
}
*/
function inputCustomInfoAccount(frm) {
   if (!(validEmail(frm.elements['get_email'].value))) {
      alert('Please enter Your Email');
      frm.elements['get_email'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_retype_email'].value))) {
      alert('Please enter Your Confirm Email');
      frm.elements['get_retype_email'].focus();
      return false;
   }

   if (frm.elements['get_email'].value != frm.elements['get_retype_email'].value) {
      alert('Your email confirmation does not match the original email');
      frm.elements['get_retype_email'].focus();
      return false;
   }

   return changePswd(frm);

   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 check_basket_quantity(frm) {
   var i;
   var sum;
   
   for (i=0; i < frm.elements.length; i++) {
      if (frm.elements[i].type == "text") {

         if ((frm.elements[i].value.length == 0)) {
            alert('Please enter Quantity');
            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 inputOrderInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_first_name','billing_last_name','billing_address',
      'billing_city','billing_zip_code');

   var error_array = new Array('Billing Firstname','Billing Lastname','Billing Address','Billing City','Billing Zip Code');

   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;
      }
   }
/*
   if (!(validEmail(frm.elements['get_billing_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_billing_email'].focus();
      return false;
   }
*/
   return true;
}


function inputOrderCardInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_first_name','billing_last_name','billing_address',
      'billing_city','billing_zip_code');

   var error_array = new Array('Billing Firstname','Billing Lastname','Billing Address','Billing City','Billing Zip Code');

   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 CheckOrderForm();
}


function inputOrderInfo1(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_first_name','billing_last_name','billing_email','billing_address',
      'billing_city','billing_zip_code');

   var error_array = new Array('Billing First Name','Billing Last Name','Billing Email','Billing Address','Billing City','Billing Zip Code');

   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;
      }
   }

   if (!(validEmail(frm.elements['get_billing_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_billing_email'].focus();
      return false;
   }

   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;
   }

   return true;
}


function inputOrderInfoNew(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('phone','billing_first_name','billing_last_name','billing_address',
      'billing_city','billing_zip_code');

   var error_array = new Array('Best Phone Number To Reach You For Verification','Billing First Name',
      'Billing Last Name','Billing Address','Billing City','Billing Zip Code');

   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;
      }
   }

    myreg = new RegExp("\\d{2}\/\\d{2}\/\\d{4}");
    res = myreg.test(frm.elements['get_birth_date'].value);
    if (!res) {
       alert('Please enter valid birth date in the form of mm/dd/yyyy');
       frm.elements['get_birth_date'].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;
      };
   }
}

function select_check(obj,name, name2) {
   var form = obj.form;
   var k = 0; var j = 0; var x = 0;
   for (i = 0; i < form.elements.length; i++) {
      var item = form.elements[i];
      if (item.name == name) {
         j++;
         if (item.checked) {
           k++;
         }
      }
      if (item.name == name2) {
         x = item;
      }
   }
   if (x && j == k) {
      x.checked = true;
   } else {
      x.checked = false;
   }
}


function CheckOrderForm() {

 if (!document.orderform.get_trnCardOwner.value) {
     alert("Please fill Name on Card!");
     document.orderform.get_trnCardOwner.focus();
     return false;
 }


 if (!document.orderform.get_trnCardType.value) {
     alert("Please fill Card Type!");
     document.orderform.get_trnCardType.focus();
     return false;
 }

 if (!document.orderform.get_trnCardNumber.value) {
      alert('Invalid Credit Card Number');
     return false;
 }

  if (PositiveInteger(document.orderform.get_trnCardNumber) == true) {
    if (CreditModCheck(document.orderform.get_trnCardNumber) == false) {
      alert('Invalid Credit Card Number');
      return false;
    }
  }
  else{
    return false;
  }

  var nowDate = new Date();
  var nowYear = nowDate.getYear();
  var nowMonth = nowDate.getMonth() + 1;
  var expYear = document.orderform.get_trnExpYear.value;
  var expMonth = document.orderform.get_trnExpMonth.value;


  if (expYear == "07") {
     expYear = 2007;
  }

  if (expYear == "08") {
     expYear = 2008;
  }

  if (expYear == "09") {
     expYear = 2009;
  }


  if (expYear == "10") {
     expYear = 2010;
  }

  if (expYear == "11") {
     expYear = 2011;
  }

  if (expYear == "12") {
     expYear = 2012;
  }

  if (expYear == "13") {
     expYear = 2013;
  }

  if (expYear == "14") {
     expYear = 2014;
  }

  if (expYear == "15") {
     expYear = 2015;
  }


  if (nowYear == 0)
  {
     nowYear = 2000;
  }

  if (nowYear < 1900)
  {
     nowYear = nowYear + 1900;
  }

  if (expYear <= nowYear)
  {
     if (expMonth < nowMonth)
     {
        alert("According to the date you have entered, your credit card has expired")
        document.orderform.get_trnExpMonth.focus();
        return false;
     }
  }

 return true;
}


function changecardtype() {
   if (document.orderform.get_trnCardType.value == "AMEX") {
       document.orderform.get_trnCardNumber.maxLength=15;
   } else {
       document.orderform.get_trnCardNumber.maxLength=16;
   }
}



function inputUploadInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('name','email','comments','phone');
   var error_array = new Array('Name','Email','Comments','Phone');

   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 date_to_str(date, month, year) {
  if (date < 10) { 
    date = '0' + date; 
  } 
  if (month < 10) { 
    month = '0' + month; 
  } 
  return month + '/' + date + '/' + year; 
}
