var jserror_count = 0;
function reportError(msg, url, line) {
     return true;
}
window.onerror = reportError;

function upperMe()	{
	var field = document.forms.checkout.coupon_code
	field.value = field.value.toUpperCase()
}


function checkPasswordLength() { 
	
	var password=document.forms.reg.vip_password.value;
	var username=document.forms.reg.vip_username.value;
	//alert('inside the function'+password.length);
	var msg=" ";

	if (password.length < 8) { 
		msg=msg+'Password length must be at least 8 characters.\r\n'; 
		
	} 

	if(password.length>14)
	{
		msg=msg+' Password length must not be more than 14 characters.\r\n'; 
	}	
	
	var re = /[0-9]/;
	if (!re.test(password)) 
	{ 
		msg=msg+' Password must contain at least 1 number.\r\n'; 
	
	}
	
	var re = /[a-z]/;
	if (!re.test(password)) 
	{ 
		msg=msg+' Password must contain at least 1 lowercase letter.\r\n'; 
	
	}
	
	var re = /[A-Z]/;
	if (!re.test(password)) 
	{ 
		msg=msg+' Password must contain at least 1 uppercase letter.\r\n'; 
	
	}
	
	var re =/[^0-9A-Za-z?!:.;]/ ;
	if(re.test(password))
	{
		
		msg=msg+' Password must only contain letters, numbers, spaces\r\n and these punctuation marks:(? ! : . or ;)\r\n';	
		
	}
	
	if(username==password)
	{	
		msg=msg+' Your logon ID and password cannot match.\r\n';	
	} 	
	
	
	if(("Blu3berry!"== password ) || ("4succesS?"== password) || ("24fit.Ness"== password))
	{
	
		msg=msg+' Examples of good passwords are: Blu3berry!,\r\n  4succesS?, 24fit.Ness.Do not use sample passwords\r\n  as your password.\r\n';	
	}
	
	
	
	if(msg.length != 1){
    alert(msg);}
}

function showlayer(whichLayer) {
    document.getElementById(whichLayer).style.display = 'block';
}

function hidelayer(whichLayer) {
    document.getElementById(whichLayer).style.display = 'none';
}

function state_show_hide(){
	var datedate;
    elem = getMyElement('vip_state_div');
    if(document.reg.vip_country.options[document.reg.vip_country.selectedIndex].value == "US" &&
       elem.style.display=='none'){
		hideshow("vip_state_div");
    }
    else if (elem.style.display!='none') {
        hideshow("vip_state_div");
        hideshow("vip_state_intl_div");
    }
    elem2 = getMyElement('vip_state_div');
    if(document.reg.vip_country.options[document.reg.vip_country.selectedIndex].value == "US" &&
       elem2.style.display=='none'){
		hideshow("vip_state_intl_div");
    }
    else if (elem2.style.display!='none') {
        hideshow("vip_state_intl_div");
    }
}

function county_expand(){
	var datedate;
    elem = getMyElement('vip_county_div');
	if(document.reg.vip_state.options[document.reg.vip_state.selectedIndex].value == "CA" &&
       elem.style.display=='none'){
		hideshow("vip_county_div");
    }
    else if (elem.style.display!='none') {
        hideshow("vip_county_div");
    }
}

function county_expand_in_vip(){
	var datedate;
    elem = getMyElement('vip_county_div');
	if(document.reg.state.options[document.reg.state.selectedIndex].value == "CA" &&
       elem.style.display=='none'){
		hideshow("vip_county_div");
    }
    else if (elem.style.display!='none') {
        hideshow("vip_county_div");
    }
}

function county_expand_in_vip_order(){
	var datedate;
    elem = getMyElement('vip_county_div');
	if(document.reg.order_state.options[document.reg.order_state.selectedIndex].value == "CA" &&
       elem.style.display=='none'){
		hideshow("vip_county_div");
    }
    else if (elem.style.display!='none') {
        hideshow("vip_county_div");
    }
}

function shipping_expand_in_vip(){
	var datedate;
    elem = getMyElement('shipping_div');
	if(document.reg.order_state.options[document.reg.shipping_profile.selectedIndex].value == "" &&
       elem.style.display=='none'){
		hideshow("shipping_div");
    }
    else if (elem.style.display!='none') {
        hideshow("shipping_div");
    }
}

function billing_expand_in_vip(){
	var datedate;
    elem = getMyElement('billing_div');
	if(document.reg.order_b_state.options[document.reg.billing_profile.selectedIndex].value == "" &&
       elem.style.display=='none'){
		hideshow("billing_div");
    }
    else if (elem.style.display!='none') {
        hideshow("billing_div");
    }
}

function arc_other_expand(){
	var datedate;
	$("#other_explain").hide();
	//alert("ova here");
    elem = getMyElement('other_explain');
	if((document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value == "6" || document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value == "7" || document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value == "8" || document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value == "9" || document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value == "14") &&
       elem.style.display=='none'){
		$("#other_explain").show();
		//alert('ova da');
		//hideshow("other_explain");
    }
    else if (elem.style.display!='none') {
        //hideshow("other_explain");
    }
	//alert(document.reg.arc_purchase_check.options[document.reg.arc_purchase_check.selectedIndex].value);
}

function fitpro_discount_expand(){
    elem = getMyElement('level_0');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "0" &&
       elem.style.display=='none'){
		hideshow("level_0");
    }
    else if (elem.style.display!='none') {
        hideshow("level_0");
    }

    elem = getMyElement('level_1');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "1" &&
       elem.style.display=='none'){
		hideshow("level_1");
    }
    else if (elem.style.display!='none') {
        hideshow("level_1");
    }

    elem = getMyElement('level_2');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "2" &&
       elem.style.display=='none'){
        hideshow("level_2");
    }
    else if (elem.style.display!='none') {
        hideshow("level_2");
    }

    elem = getMyElement('level_3');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "3" &&
       elem.style.display=='none'){
        hideshow("level_3");
    }
    else if (elem.style.display!='none') {
        hideshow("level_3");
    }

    elem = getMyElement('level_4');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "4" &&
       elem.style.display=='none'){
        hideshow("level_4");
    }
    else if (elem.style.display!='none') {
        hideshow("level_4");
    }

    elem = getMyElement('level_5');
    if(document.fitpro.number_levels.options[document.fitpro.number_levels.selectedIndex].value == "5" &&
       elem.style.display=='none'){
        hideshow("level_5");
    }
    else if (elem.style.display!='none') {
        hideshow("level_5");
    }

}

function hideshow(which)
{
    oWhich = getMyElement(which);
    if (oWhich.style.display=="none")
        {
        oWhich.style.display=""
        }
    else
        {
        oWhich.style.display="none"
        }
    
}

function getMyElement(which)
{
    	if (document.getElementById)
    		{
    		oWhich = eval ("document.getElementById('" + which + "')")
    		}
    	else
    		{
    		oWhich = eval ("document.all." + which)
    		}
    return oWhich;
}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
  document.MM_returnValue = (s=='');
}

function emailPrintPage(mypage, winprops, w, h) {
        var winl = (screen.width - w) / 2;
        var wint = (screen.height - h) / 2;
        winprops += ',top='+wint+',left='+winl+',width='+w+',height='+h;
        win = window.open(mypage+'?href='+escape(location.href), 'emailprint', winprops);
        if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() {
	var i,x,a=document.MM_sr;
	for (i=0; a&&i < a.length && (x=a[i]) && x.oSrc; i++) x.src=x.oSrc;
}

function checkAll(form,what,uncheck) {
	var i, n, check;
	n = form.elements[what].length;
	if (!n) {
		if (uncheck == 1) {
			form.elements[what].checked=false;
		} else {
			form.elements[what].checked=true;
		}
	} else {
		if (what != "deleteid" || sure()) {
			var checkval;
			if (uncheck == 1) { checkval=false; } else { checkval=true; }
			for (i=0; i < n; i++) {
				check = form.elements[what][i];
				check.checked = checkval;
			}
		}
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
	var p,i,x;
	if (!d) d=document;
	if ((p=n.indexOf("?")) > 0 && parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if (!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for (i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function validateSpace(){
var invalid = " "; // Invalid character is a space

if (document.reg.vip_username.value.indexOf(invalid) > -1) {
alert("Sorry, spaces and special characters are not allowed for your Username.\nPlease correct this problem before submitting the form to ensure a valid registration.");
return false;
}
else {
return true;
   }
}

function validateSpacePass(){
var invalid = " "; // Invalid character is a space

if (document.reg.vip_password.value.indexOf(invalid) > -1) {
alert("Sorry, spaces and special characters are not allowed for your Password.\nPlease correct this problem before submitting the form to ensure a valid registration.");
return false;
}
else {
return true;
   }
}

function validateFitproSpacePass(){
var invalid = " "; // Invalid character is a space

if (document.dataform.create_fitpro_username.value.indexOf(invalid) > -1) {
alert("Sorry, spaces and special characters are not allowed for your Password.\nPlease correct this problem before submitting the form to ensure a valid registration.");
return false;
}
else {
return true;
   }
}

var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\!\-\ \:\;\'\"\,\.\/\<\>\?\1\|]/;
function dodacheck(val) {
var strPass = val.value;
var strLength = strPass.length;
var lchar = val.value.charAt((strLength) - 1);
if(lchar.search(mikExp) != -1) {
var tst = val.value.substring(0, (strLength) - 1);
val.value = tst;
   }
}
function doanothercheck(form) {
if(form.value.length < 1) {
alert("Please enter something.");
return false;
}
if(form.value.search(mikExp) == -1) {
alert("Correct Input");
return false;
}
else {
alert("Sorry, but the following characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\rare not allowed!\n");
form.select();
form.focus();
return false;
}
alert("Correct Input");
return false;
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {

    // Convert the number to a string
    var value_string = rounded_value.toString()
    
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")

    // Is there a decimal point?
    if (decimal_location == -1) {
        
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {

        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    
    if (pad_total > 0) {
        
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}


function isValidCreditCard(ccnum) {
   var matched = 0;
   // Visa: length 16, prefix 4, dashes optional.
   var visa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
   // Mastercard: length 16, prefix 51-55, dashes optional.
   var mc = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
   // Discover: length 16, prefix 6011, dashes optional.
   var dis = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
   // American Express: length 15, prefix 34 or 37.
   var amex = /^3[4,7]\d{13}$/;
   // Diners: length 14, prefix 30, 36, or 38.
   var din = /^3[0,6,8]\d{12}$/;
   if (visa.test(ccnum)) {
      matched = 1;
   } else if (mc.test(ccnum)) {
      matched = 1;
   } else if (dis.test(ccnum)) {
      matched = 1;
   } else if (amex.test(ccnum)) {
      matched = 1;
   }/* else if (din.test(ccnum)) {
      matched = 1;
   }*/
   if (!matched) return false;
   // Checksum ("Mod 10")
   // Add even digits in even length strings or odd digits in odd length strings.
   var checksum = 0;
   for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
      checksum += parseInt(ccnum.charAt(i-1));
   }
   // Analyze odd digits in even length strings or even digits in odd length strings.
   for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
      var digit = parseInt(ccnum.charAt(i-1)) * 2;
      if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
   }
   if ((checksum % 10) == 0) return true; else return false;
}
function moreValidation() {
	//alert(document.MM_returnValue);
	if (document.MM_returnValue) {
		var ccr = isValidCreditCard(document.forms.reg.credit_card.value);
		if (!ccr) {
			document.MM_returnValue = false;
			alert('You have entered an invalid credit card number.');
		}
	}
}

function submitonce(theform){
//if IE 4+ or NS 6+
if (document.all||document.getElementById){
//screen thru every element in the form, and hunt down "submit" and "reset"
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
//disable em
tempobj.disabled=true
}
}
}

