
function LuhnCheck(str)
{var regExp=/\s+/g;str=str.replace(regExp,'');var result=true;var sum=0;var mul=1;var strLen=str.length;for(i=0;i<strLen;i++)
{var digit=str.substring(strLen-i-1,strLen-i);var tproduct=parseInt(digit,10)*mul;if(tproduct>=10)
sum+=(tproduct%10)+1;else
sum+=tproduct;if(mul==1)
mul++;else
mul--;}
if((sum%10)!=0)result=false;return result;}
function validateCCNum(cardNum)
{var regExp=/\s+/g;cardNum=cardNum.replace(regExp,'');var result=false;var cardLen=cardNum.length;var firstdig=cardNum.substring(0,1);var seconddig=cardNum.substring(1,2);var first2digs=cardNum.substring(0,2);var first3digs=cardNum.substring(0,3);var first4digs=cardNum.substring(0,4);var first5digs=cardNum.substring(0,5);var first6digs=cardNum.substring(0,6);for(i=0;i<11;i++){switch(i){case 0:result=(cardLen==15)&&((first2digs=="34")||(first2digs=="37"));break;case 1:result=(cardLen==16)&&((first3digs=="560")||(first3digs=="561"));break;case 2:result=(cardLen==15)&&(first2digs=="36");break;case 3:result=(cardLen==16)&&(first2digs=="55");break;case 4:result=(cardLen==16)&&((first3digs=="650")||(first4digs=="6011"));break;case 5:result=(cardLen==16)&&(firstdig=="3");break;case 6:result=(cardLen==15)&&((first4digs=="1800")||(first4digs=="2131"));break;case 7:result=((cardLen==14)||(cardLen==16))&&((first2digs=="36")||(first2digs=="51")||(first2digs=="52")||(first2digs=="53")||(first2digs=="54")||(first2digs=="55")||(first2digs=="56")||(first2digs=="57")||(first2digs=="58")||(first2digs=="38"));break;case 8:result=((cardLen==13)||(cardLen==16))&&(firstdig=="4");break;case 9:result=((cardLen==16)||(cardLen==18)||(cardLen==19))&&(first4digs=="6334"||first4digs=="6767");break;case 10:result=((cardLen==16)||(cardLen==18)||(cardLen==19))&&(first4digs=="4903"||first4digs=="4905"||first4digs=="4911"||first4digs=="4936"||first4digs=="6333"||first4digs=="6759"||first6digs=="564182"||first6digs=="633110");break;}
if(result)return true;}
return false;}
function validateCCType(type,caption,cardNum)
{var regExp=/\s+/g;cardNum=cardNum.replace(regExp,'');cardNum=$.trim(cardNum.toLowerCase());var cardLength=cardNum.length;type=type.replace(regExp,'').replace(/No\~/,'').replace(/Yes\~/,'');type=$.trim(type.toLowerCase());caption=caption.replace(regExp,'');caption=$.trim(caption.toLowerCase());var templates=new Array([['americanexpress','amex'],['34','37'],[15]],[['diners','dinersclub','diners','dicl'],['300','301','302','303','304','305','36'],[15]],[['diners','carteblanche','carte'],['38'],[14]],[['diners','dinersclub','carteblanche','carte','blanche'],['300','301','302','303','304','305'],[14]],[['diners','dinersclub','enroute','ert'],['2014','2149'],[15]],[['diners','dinersclub','international'],['36'],[14]],[['diners','dinersclub'],['54','55'],[16]],[['discover','dino','novus','discovernovus'],['6011','6221','6222','6223','6224','6225','6226','6227','6228','6229','644','645','646','647','648','649','65'],[16]],[['instapayment','insta'],['637','638','639'],[16]],[['jcb'],['35'],[16]],[['jcb'],['2131','1800'],[15]],[['laser'],['6304','6706','6771','6709'],[16,17,18,19]],[['mastercard','mc','master'],['51','52','53','54','55'],[16]],[['visa'],['4'],[13,16]],[['visaelectron','electron','visa'],['4026','417500','4508','4844','4913','4917'],[16]],[['sw','maestro','switch'],['4903','4905','4911','4936','564182','633110','6333','6759'],[16,18,19]],[['solo'],['6334','6767'],[16,18,19]],[['bankcard'],['5610','560221','560222','560223','560224','560225'],[16]],[['chinaunionpay','china','union','unionpay'],['62'],[16]]);var first1=cardNum.substr(0,1);var first2=cardNum.substr(0,2);var first3=cardNum.substr(0,3);var first4=cardNum.substr(0,4);var first5=cardNum.substr(0,5);var first6=cardNum.substr(0,6);var fullMatch=false;var nameMatch=false;$.each(templates,function(templateIndex,template)
{if($.inArray(type,template[0])!=-1||$.inArray(caption,template[0])!=-1)
{nameMatch=true;if($.inArray(cardLength,template[2])!=-1)
{if(($.inArray(first1,template[1])!=-1)||($.inArray(first2,template[1])!=-1)||($.inArray(first3,template[1])!=-1)||($.inArray(first4,template[1])!=-1)||($.inArray(first5,template[1])!=-1)||($.inArray(first6,template[1])!=-1))
{fullMatch=true;}}}});return fullMatch?true:(nameMatch?false:true);}
function isCardExpired(expMonth,expYear){var expDate=new Date();expDate.setFullYear(expYear,expMonth-1,1);var today=new Date();today.setFullYear(today.getFullYear(),today.getMonth(),1);if(expDate<today)
{return true;}
return false;}
function validateExpDate(expDate){var rex=/^(([0]\d{1})|([1]([012])))(\/?)(([2][0])?)(\d{2})$/;return rex.test(expDate);}
function validateExpMonth(expDate){var rex=/^(([0]?\d{1})|([1]([012])))$/;return rex.test(expDate);}
function validateExpYear(expDate){var rex=/^(([2][0])?)(\d{2})$/;return rex.test(expDate);}
function validateCVC2(cvc2){var rex=/^(\d{3,4})$/;return cvc2==""?true:rex.test(cvc2);}
function validateName(name){var rex=/^[a-zA-Z \-\']+$/;return rex.test(name);}
function validateText(txt){var d="";for(i=0;i<txt.length;i++){if(txt.charAt(i)!=" "){d=d+txt.charAt(i);}}
if(d==""){return false;}
else{return true;}}
function CheckField(frm,fname,ftitle){var s=frm.elements[fname].value;var d="";for(i=0;i<s.length;i++){if(s.charAt(i)!=" "){d=d+s.charAt(i);}}
if(d==""){alert(msg.please_enter+' '+ftitle);frm.elements[fname].focus();return false;}
else{return true;}}
function CheckCustomFields(frm,place){var irex=/^custom_field\[(\d{1,})\]$/;for(i=0;i<frm.elements.length;i++){if(irex.test(frm.elements[i].name)){var s=frm.elements[i].name;var id=s.substring(13,s.length-1);if(frm.elements['custom_field_place['+id+']'].value==place){if(frm.elements['custom_field_required['+id+']'].value=='yes'){if(frm.elements[i].type=="checkbox"&&!frm.elements[i].checked){alert(msg.to_continue_please_check+' '+frm.elements['custom_field_name['+id+']'].value);frm.elements[i].focus();return false;}
else if(frm.elements[i].value==""){alert(msg.please_enter+' '+frm.elements['custom_field_name['+id+']'].value);frm.elements[i].focus();return false;}}}}}
return true;}
function CheckAddProduct(frm,min_order,max_order,allowed_max)
{if(product_may_be_added)
{var rex=/^(\d{1,})$/;var err=false;if(!rex.test(frm.elements["oa_quantity"].value))
{alert(msg.enter_numeric_product_quantity);frm.elements["oa_quantity"].focus();return false;}
var quantity=frm.elements["oa_quantity"].value*1;if($("meta[name='ddm-page']").attr('content')=='product')
{if(inventory_control!='No')
{if(((inventory_control=='Yes')||(inventory_control=='AttrRuleExc')||(inventory_control=='AttrRuleInc'&&inventory_hash_found))&&quantity>product_stock)
{alert(msg.number_of_items_exceed_inventory);err=true;}}}
else
{if((allowed_max!="-")&&(quantity>allowed_max))
{alert(msg.number_of_items_exceed_inventory);err=true;}}
if(quantity<min_order)
{alert(msg.number_of_items_exceeded_min);err=true;}
if((max_order!="-")&&(quantity>max_order))
{alert(msg.number_of_items_exceeded_max);err=true;}
if(err)
{frm.elements["oa_quantity"].focus();return false;}
return true;}
return false;}
function CheckResetPassword(frm){if(!CheckField(frm,"login","username"))return false;if(!isEmail(frm.elements["email"].value)){alert(msg.enter_valid_email);frm.elements["email"].focus();return false;}
return true;}
function submitCartForm(action)
{$('#form-cart-oa-todo').val(action);$('#form-cart').submit();return false;}
$(document).ready(function(){$("#insureship_active").change(function(){submitCartForm("update");});$('#form-cart-continue-shopping').click(function(){submitCartForm("continue");return false;});$('#form-cart-update').click(function(){submitCartForm("update");return false;});$('#form-cart').submit(function(){return CheckCartForm();})
$('.page-cart .button-checkout').each(function(){$(this).attr('disabled',false).removeAttr('disabled').removeAttr('aria-disabled');$(this).click(function(){submitCartForm("checkout");return false;});});$('.page-cart .button-apply-promo').removeAttr('disabled').removeAttr('aria-disabled').removeClass('mobile-button-disabled').removeClass('ui-state-disabled');});function CheckCartForm()
{var frm=document.getElementById('form-cart');var irex=/^oa_quantity\[(\d{1,})\]$/;var prex=/^oa_pid_to_ocid\[(\d{1,})\]$/;var drex=/^(\d{1,})$/;var products=new Array();for(i=0;i<frm.elements.length;i++)
{if(irex.test(frm.elements[i].name))
{if(!drex.test(frm.elements[i].value))
{alert(msg.enter_numeric_product_quantity);frm.elements[i].focus();return false;}
if(frm.elements[i].value*1<(frm.elements["min_"+frm.elements[i].name].value)*1)
{alert(msg.number_of_items_exceeded_min);frm.elements[i].focus();return false;}
if((frm.elements["max_"+frm.elements[i].name].value!="-")&&(frm.elements[i].value*1>frm.elements["max_"+frm.elements[i].name].value*1))
{alert(msg.number_of_items_exceeded_max);frm.elements[i].focus();return false;}
if((frm.elements["allowed_"+frm.elements[i].name].value!="-")&&(frm.elements[i].value*1>frm.elements["allowed_"+frm.elements[i].name].value*1))
{alert(msg.number_of_items_exceed_inventory);frm.elements[i].focus();return false;}}
if(prex.test(frm.elements[i].name))
{var ocid=frm.elements[i].value;var pid=frm.elements["oa_ocid_to_pid["+ocid+"]"].value;if(products[pid])
{products[pid]=products[pid]+frm.elements["oa_quantity["+ocid+"]"].value*1;}
else
{products[pid]=frm.elements["oa_quantity["+ocid+"]"].value*1;}
if(frm.elements["oa_inventory_control["+ocid+"]"].value=="Yes")
{if(frm.elements["allowed_oa_quantity["+ocid+"]"].value<products[pid])
{alert(msg.number_of_items_exceed_inventory);frm.elements["oa_quantity["+ocid+"]"].focus();return false;}}}}
return true;}
function CheckNewsletters(frm){if(!isEmail(frm.elements["email"].value)){alert(msg.enter_valid_email);frm.elements["email"].focus();return false;}
return true;}
function CheckUnsubscribe(frm){if(!isEmail(frm.elements["cancel_email"].value)){alert(msg.enter_valid_email);frm.elements["cancel_email"].focus();return false;}
if(confirm(msg.want_cancel_subscription)){return true;}
return false;}
function CheckLoginForm(frm){if(!CheckField(frm,"login",msg.your_username))return false;if(!CheckField(frm,"password",msg.your_password))return false;return true;}
function CheckSignupForm(frm,fm_company,fm_address2,fm_phone,ship2all,ship2countries)
{if(!CheckField(frm,"form[fname]",msg.first_name))return false;if(!CheckField(frm,"form[lname]",msg.last_name))return false;if(fm_company=="Required"&&(!CheckField(frm,"form[company]",msg.company_name)))return false;if(!CheckField(frm,"form[address1]",msg.address_line1))return false;if(fm_address2=="Required"&&(!CheckField(frm,"form[address2]",msg.address_line2)))return false;if(!CheckField(frm,"form[city]",msg.city_name))return false;if(!CheckField(frm,"form[country]",msg.country))return false;if($("#billing_state:visible").length>0)
{if(frm.elements["form[state]"].value==""||frm.elements["form[state]"].value=="0")
{alert(msg.select_province_state);frm.elements["form[state]"].focus();return false;}}
else
{if(!CheckField(frm,"form[province]",msg.custom_province_state))return false;}
if(!CheckField(frm,"form[zip]",msg.zip_postal_code))return false;if(fm_phone=="Required"&&(!CheckField(frm,"form[phone]",msg.phone_number)))return false;if(!CheckCustomFields(frm,'billing'))return false;if(!ship2all&&frm.elements["form[thesame]"].checked)
{c=frm.elements["form[country]"].value;is_country=false;for(i=1;i<=ship2countries.length;i++)
{if(ship2countries[i]==c)
{is_country=true;}}
if(!is_country)
{alert(msg.incorrect_shipping_address);return false;}}
if(!CheckField(frm,"form[login]",msg.username))return false;if(!CheckField(frm,"form[password]",msg.password))return false;if(!CheckField(frm,"form[password2]",msg.password_confirmation))return false;if(!CheckField(frm,"form[email]",msg.email_address))return false;if(!isEmail(frm.elements["form[email]"].value))
{alert(msg.enter_valid_email);frm.elements["form[email]"].focus();return false;}
if(!CheckCustomFields(frm,'account'))return false;if(!CheckCustomFields(frm,'signup'))return false;if(frm.elements["form[agree]"])
{if(frm.elements["form[agree]"].checked==false)
{alert(msg.read_terms_before_registration);return false;}}
return true;}
function CheckPaymentProfile(frm,fm_address2,fm_phone)
{if(!CheckField(frm,"form[first_name]",msg.first_name))return false;if(!CheckField(frm,"form[last_name]",msg.last_name))return false;if(!CheckField(frm,"form[address1]",msg.address_line1))return false;if(fm_address2=="Required"&&(!CheckField(frm,"form[address2]",msg.address_line2)))return false;if(!CheckField(frm,"form[city]",msg.city_name))return false;if(!CheckField(frm,"form[country]",msg.country))return false;if($("#billing_state:visible").length>0)
{if(frm.elements["form[state]"].value==""||frm.elements["form[state]"].value=="0")
{alert(msg.select_province_state);frm.elements["form[state]"].focus();return false;}}
else
{if(!CheckField(frm,"form[province]",msg.custom_province_state))return false;}
if(!CheckField(frm,"form[zip]",msg.zip_postal_code))return false;if(fm_phone=='Required'&&(!CheckField(frm,'form[phone]',msg.phone_number)))return false;if(!CheckField(frm,"form[cc_number]",msg.cc_number))return false;if(!validateCCNum(frm.elements["form[cc_number]"].value))
{alert(msg.cc_number_invalid);return false;}
if(isCardExpired(frm.elements["form[cc_expiration_month]"].value,frm.elements["form[cc_expiration_year]"].value))
{alert(msg.cc_expired);return false;}
return true;}
function CheckShippingAddress(frm,fm_company,fm_address2)
{if(!CheckField(frm,"form[name]",msg.name))return false;if(fm_company=="Required"&&(!CheckField(frm,"form[company]",msg.company_name)))return false;if(!CheckField(frm,"form[address1]",msg.address_line1))return false;if(fm_address2=="Required"&&(!CheckField(frm,"form[address2]",msg.address_line2)))return false;if(!CheckField(frm,"form[city]",msg.city_name))return false;if($("#shipping_state:visible").length>0){if(frm.elements["form[state]"].value==""||frm.elements["form[state]"].value=="0"){alert(msg.select_province_state);frm.elements["form[state]"].focus();return false;}}
else{if(!CheckField(frm,"form[province]",msg.custom_province_state))return false;}
if(!CheckField(frm,"form[zip]",msg.zip_postal_code))return false;if(!CheckCustomFields(frm,'shipping')){return false;}
return true;}
function CheckProfileForm(frm,fm_company,fm_address2,fm_phone){if(!CheckField(frm,"form[fname]",msg.first_name))return false;if(!CheckField(frm,"form[lname]",msg.last_name))return false;if(fm_company=="Required"&&(!CheckField(frm,"form[company]",msg.company_name)))return false;if(!CheckField(frm,"form[address1]",msg.address_line1))return false;if(fm_address2=="Required"&&(!CheckField(frm,"form[address2]",msg.address_line2)))return false;if(!CheckField(frm,"form[city]",msg.city_name))return false;if(!CheckField(frm,"form[country]",msg.country))return false;if(!CheckField(frm,"form[country]",msg.country))return false;if($("#billing_state:visible").length>0){if(frm.elements["form[state]"].value==""||frm.elements["form[state]"].value=="0"){alert(msg.select_province_state);frm.elements["form[state]"].focus();return false;}}
else{if(!CheckField(frm,"form[province]",msg.custom_province_state))return false;}
if(!CheckField(frm,"form[zip]",msg.zip_postal_code))return false;if(fm_phone=="Required"&&(!CheckField(frm,"form[phone]",msg.phone_number)))return false;if(!CheckField(frm,"form[email]",msg.email_address))return false;if(!isEmail(frm.elements["form[email]"].value)){alert(msg.enter_valid_email);frm.elements["form[email]"].focus();return false;}
if(!CheckCustomFields(frm,'billing')){return false;}
if(frm.elements["form[password]"].value!=""){if(frm.elements["form[password]"].value!=frm.elements["form[password2]"].value){alert(msg.different_password_and_comfirmation);frm.elements["form[password]"].focus();return false;}}
if(!CheckCustomFields(frm,'account')){return false;}
return true;}
function ConfirmDeleteShippingAddress(address_id){if(confirm(msg.confirm_delete_shipping_address)){document.location=site_https_url+'ua='+USER_DELETE_ADDRESS+'&address_id='+address_id;}}
function ConfirmDeletePaymentProfile(profile_id){if(confirm(msg.confirm_delete_payment_profile)){document.location=site_https_url+'ua='+USER_DELETE_PAYMENT_PROFILE+'&profile_id='+profile_id;}}
function CheckWishlistName(frm){if(!CheckField(frm,"wishlist_name",msg.enterWishlistName))return false;return true;}
function CheckWishlistEmailFrm(frm){if(!CheckField(frm,"mail_subject","subject"))return false;if(!isEmail(frm.elements["your_email"].value)){alert(msg.enter_valid_email);frm.elements["your_email"].focus();return false;}
return true;}
function ConfirmDeleteWishlist(wl_id){if(confirm(msg.confirm_delete_wishlist)){document.location=site_https_url+'p=manage_wishlist&wl_action=delete_wishlist&wlid='+wl_id;}}
function ConfirmDeleteWishlistProduct(wlp_id){if(confirm(msg.confirm_delete_wishlist_product)){document.location=site_https_url+'p=manage_wishlist&wl_action=delete_product&wlpid='+wlp_id;}}
function CheckGiftCertForm()
{var id=document.getElementById('first_name');if(id.value==''){alert('You must complete recipient\'s first name');id.focus();return false;}
id=document.getElementById('last_name');if(id.value==''){alert('You must complete recipient\'s last name');id.focus();return false;}
id=document.getElementById('rep_email');if(id.value==''){alert('You must complete recipient\'s email');id.focus();return false;}
if(id.value.indexOf('@')<1){alert('You must enter a valid email address');id.focus();return false;}
id=document.getElementById('from_name');if(id.value==''){alert('You must complete your name');id.focus();return false;}
id=document.getElementById('gift_amount');if(id.value==''||id.value*1<1){alert('You must complete a valid gift amount');id.focus();return false;}
return true;}
function CheckGiftCertInfo(){var id=document.getElementById('gift_cert_first_name');if(id.value==''){alert('Please enter first name');id.focus();return false;}
id=document.getElementById('gift_cert_last_name');if(id.value==''){alert('Please enter last name');id.focus();return false;}
id=document.getElementById('gift_cert_voucher');if(id.value==''){alert('Please enter voucher');id.focus();return false;}
return true;}
