/*
Copyright 2004 Active Media Architects, Inc. - www.activema.com
Usage of these scripts is limited to their original intent as developed and deployed for Site Reign Merchant by Active Media Architects, Inc. Copying, selling or distributing of these scripts, in whole or in part, is strictly prohibited.
*/


	///////////////////////////////////////
	// Frame Buster
	///////////////////////////////////////

if (window != window.top)
  top.location.href = location.href;
  
  

	///////////////////////////////////////
	// Mouseovers
	///////////////////////////////////////


function MM_swapImgRestore() { //v3.0
  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 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) { //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_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];}
}

  

	///////////////////////////////////////
	// Row-Over Effect
	///////////////////////////////////////

	function mouseOverWhite(i) {
		i.style.backgroundColor='#F2F2F2';
	}
	function mouseOutWhite(i) {
		i.style.backgroundColor='#FFFFFF';
	}
	
	function mouseOverGray(i) {
		i.style.backgroundColor='#F2F2F2';
	}
	function mouseOutGray(i) {
		i.style.backgroundColor='#F2F2F2';
	}
	


	///////////////////////////////////////
	// On-Click-Pop-Center
	///////////////////////////////////////
	// Requires "onClick="NewWindow(this.href,'title','400','300','no');return false;"" in the A HREF tag
	// Example: <a href="doc.html" onClick="NewWindow(this.href,'title','400','300','no');return false;">LINK</a>

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=yes,,toolbar=no,menubar=no'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}




	///////////////////////////////////////
	// Auto-Select Field
	///////////////////////////////////////
	// Requires "onLoad=ready()" in the BODY tag
	// Example: <body onLoad=ready()>
	// Requires form name to match where it reads "form" in script
	// Example: <form name="form">
	// Requires form field name to match where it reads "field" in script
	// Example: <input name="field">

function ready(){document.form.field.focus();}



	///////////////////////////////////////
	// Form Validation
	///////////////////////////////////////

function validateGiftCertificate ( form ) {
	return (
				 checkSelect(form.elements["amount"],"V","","Please enter an amount.",false) &&
				 checkSelect(form.elements["recipient_name"],"V","Please enter recipient's name",false) &&
				 checkSelect(form.elements["recipient_email"],"V","","Please enter your recipient's E-mail Address.",false) &&
				 checkEmail(form.elements["recipient_email"],false) &&
				 checkSelect(form.elements["recipient_email"],"V","joe@example.com","Please supply valid E-mail Address.",false));	
}

function validateTell(form) {
	return (
				 checkSelect(form.elements["to_email"],"V","","Please enter your Friend's E-mail Address.",false) &&
				 checkEmail(form.elements["to_email"],false) &&
				 checkSelect(form.elements["to_email"],"V","joe@example.com","Please supply valid E-mail Address.",false) &&
				 checkSelect(form.elements["from_email"],"V","","Please enter Your E-mail Address.",false) &&
				 checkEmail(form.elements["from_email"],false) &&
				 checkSelect(form.elements["from_email"],"V","joe@example.com","Please supply valid E-mail Address.",false) &&
				 checkSelect(form.elements["from_name"],"V","","Please enter Your Name.",false));
}

function validateContact(form) {
	return (
				 checkSelect(form.elements["firstname"],"V","","Please enter your First Name.",false) &&
				 checkSelect(form.elements["lastname"],"V","","Please enter your Last Name.",false) &&
				 checkSelect(form.elements["email"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["email"],false) &&
				 checkSelect(form.elements["email"],"V","joe@example.com","Please supply a valid E-mail Address.",false) &&
				 checkSelect(form.elements["message"],"V","","Please provide us with your Message.",false));
}

function validateEmailSignup(form) {
	return (
				 checkSelect(form.elements["firstname"],"V","","Please enter your First Name.",false) &&
				 checkSelect(form.elements["firstname"],"V","First Name","Please enter your real First Name.",false) &&
				 checkSelect(form.elements["lastname"],"V","","Please enter your Last Name.",false) &&
				 checkSelect(form.elements["lastname"],"V","First Name","Please enter your real Last Name.",false) &&
				 checkSelect(form.elements["email"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["email"],false) &&
				 checkSelect(form.elements["email"],"V","joe@example.com","Please supply a valid E-mail Address.",false));
}

function validateUnsub(form) {
	return (
				 checkSelect(form.elements["email"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["email"],false) &&
				 checkSelect(form.elements["email"],"V","joe@example.com","Please supply a valid E-mail Address.",false));
}

function validateLogin(form) {
	return (
				 checkSelect(form.elements["email"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["email"],false) &&
				 checkSelect(form.elements["email"],"V","joe@example.com","Please supply a valid E-mail Address.",false) &&
				 checkSelect(form.elements["password"],"V","","Please enter your Password.",false));
}

function validateNewLogin(form) {
	return (
				
				 checkSelect(form.elements["fullname"],"V","","Please enter your full name.",false) &&
				 checkSelect(form.elements["email"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["email"],false) &&
				 checkSelect(form.elements["email"],"V","joe@example.com","Please supply a valid E-mail Address.",false) &&
				 checkSelect(form.elements["password1"],"V","","Please create a Password.",false) &&
				 checkSelect(form.elements["password2"],"V","","Please confirm your Password.",false));
}

function validatePay(form) {
	return (
				validateBillingAddress(form) &&
				 checkSelect(form.elements["cc_num"],"V","","You have chosen to pay by Credit Card. Please enter your Credit Card Number before continuing.",false) &&
				 checkSelect(form.elements["cc_expires_month"],"V","00","Please select the Month this credit card expires.",false) &&
				 checkSelect(form.elements["cc_expires_year"],"V","00","Please select the Year this credit card expires.",false) &&
				 checkSelect(form.elements["cc_sid"],"V","","Please enter your credit card's 3-digit Identification Number.",false));
}

function validateSignin(form) {
	return (
				 checkSelect(form.elements["loginemail"],"V","","Please enter your E-mail.",false) &&
				 checkEmail(form.elements["loginemail"],false) &&
				 checkSelect(form.elements["loginemail"],"V","joe@example.com","Please supply valid E-mail Address.",false) &&				 
				 checkSelect(form.elements["password"],"V","","Please enter your Password.",false));
}

function validatePO(form)
{
	return checkSelect(form.elements["po_number"],"V","","Please enter the PO Number.",false);
	
}//end validatePO

function validateBillingAddress(form)
{
	if ( checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing Full Name.",false) &&
		 checkSelect(form.elements["billing_address"],"V","","Please enter the billing Address.",false) &&
		 checkSelect(form.elements["billing_city"],"V","","Please enter the billing City.",false) && 
		 checkSelect(form.elements["billing_state"],"V","","Please enter the billing State/Prov.",false) && 
		 checkSelect(form.elements["billing_zip"],"V","","Please enter the billing ZIP.",false) && 
		 checkSelect(form.elements["billing_phone"],"V","","Please enter the billing Phone.",false)
	) {
    	if ( isStateCode(form.elements["billing_state"].value) ) {
        	return checkUSPhone(form.elements["billing_phone"]);
    	}
    	return true;
	}
	return false;
}//end validateBillingAddress

function checkPasswords(form) {
	
	if ( form.elements["password1"].value != form.elements["password1"].value ) {
		alert("Your passwords does not match.  Please enter re-enter your passwords");
		return false;
	} else {
		return true;
	}
	
}

function validateExpressPurchase(form)
{
	if ( 
		
		checkSelect(form.elements["email_address"],"V","","Please enter your E-mail.",false) &&
		checkEmail(form.elements["email_address"],false) &&
		checkSelect(form.elements["email_address"],"V","joe@example.com","Please supply valid E-mail Address.",false) &&		
		checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing Full Name.",false) &&
		checkSelect(form.elements["billing_address"],"V","","Please enter the billing Address.",false) &&
		checkSelect(form.elements["billing_address"],"V","","Please enter the billing Address.",false) &&
		checkSelect(form.elements["billing_city"],"V","","Please enter the billing City.",false) && 
		checkSelect(form.elements["billing_state"],"V","","Please enter the billing State/Prov.",false) && 
		checkSelect(form.elements["billing_zip"],"V","","Please enter the billing ZIP.",false) && 
		checkSelect(form.elements["billing_phone"],"V","","Please enter the billing Phone.",false)) 
	
	{
		//All billing was ok - check shipping and return it
		return validateShippingAddress(form);
		
	} else {
		//something was false
		return false;	
	}

}//end validateBillingAddress

function validateBillingAddress1(form)
{
	if (
		//checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing First Name.",false) &&
		//checkSelect(form.elements["billing_lastname"],"V","","Please enter the billing Last Name.",false) &&
		checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing Full Name.",false) &&
		checkSelect(form.elements["billing_address"],"V","","Please enter the billing Address.",false) &&
		checkSelect(form.elements["billing_city"],"V","","Please enter the billing City.",false) && 
		checkSelect(form.elements["billing_state"],"V","","Please enter the billing State/Prov.",false) && 
		checkSelect(form.elements["billing_zip"],"V","","Please enter the billing ZIP.",false) && 
		checkSelect(form.elements["billing_phone"],"V","","Please enter the billing Phone.",false) 
		//checkSelect(form.elements["billing_country"],"V","","Please enter the billing Country.",false)
	) {
		//All billing was ok - check shipping and return it
		return validateShippingAddress(form);
		
	} else {
		//something was false
		return false;	
	}

}//end validateBillingAddress

function validateBillingAddress2(form)
{
	if (
		//checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing First Name.",false) &&
		//checkSelect(form.elements["billing_lastname"],"V","","Please enter the billing Last Name.",false) &&
		checkSelect(form.elements["billing_fullname"],"V","","Please enter the billing Full Name.",false) &&
		checkSelect(form.elements["billing_address"],"V","","Please enter the billing Address.",false) &&
		checkSelect(form.elements["billing_city"],"V","","Please enter the billing City.",false) && 
		checkSelect(form.elements["billing_state"],"V","","Please enter the billing State/Prov.",false) && 
		checkSelect(form.elements["billing_zip"],"V","","Please enter the billing ZIP.",false) && 
		checkSelect(form.elements["billing_phone"],"V","","Please enter the billing Phone.",false) 
		//checkSelect(form.elements["billing_country"],"V","","Please enter the billing Country.",false)
	) {
		//All billing was ok - check shipping and return it
		return true;
		
	} else {
		//something was false
		return false;	
	}

}//end validateBillingAddress

function validateShippingAddress(form)
{
	if (
		checkSelect(form.elements["ship_fullname"],"V","","Please enter the shipping full name.",false) &&
		checkSelect(form.elements["ship_phone"],"V","","Please enter the shipping Phone.",false) &&
		checkSelect(form.elements["ship_address"],"V","","Please enter the shipping Address.",false) &&
		checkSelect(form.elements["ship_city"],"V","","Please enter the shipping City.",false) && 
		checkSelect(form.elements["ship_state"],"V","","Please enter the shipping State/Prov.",false) && 
		checkSelect(form.elements["ship_zip"],"V","","Please enter the shipping ZIP.",false) 
	) {
    	if ( isStateCode(form.elements["ship_state"].value) ) {
        	return checkUSPhone(form.elements["ship_phone"]);
    	}
    	return true;
    }
    return false;
}//end validateShippingAddress

function validateExpressPurchase(form)
{
	return (
		checkSelect(form.elements["email_address"],"V","","Please enter your email address..",false) &&
		checkSelect(form.elements["ship_fullname"],"V","","Please enter the shipping full name.",false) &&
		checkSelect(form.elements["ship_phone"],"V","","Please enter the shipping Phone.",false) &&
		checkSelect(form.elements["ship_address"],"V","","Please enter the shipping Address.",false) &&
		checkSelect(form.elements["ship_city"],"V","","Please enter the shipping City.",false) && 
		checkSelect(form.elements["ship_state"],"V","","Please enter the shipping State/Prov.",false) && 
		checkSelect(form.elements["ship_zip"],"V","","Please enter the shipping ZIP.",false) 
	);
}//end validateShippingAddress

function validatePaypalForm()
{	
	if (document.getElementById('billing_state').value.length == 0) {
		alert ("Please enter the billing state.");
		return false;
	} else {
		return true;
	}
}//end validateShippingAddress

function checkProfile(form)
{
	var arrElements = new Array("fullname","address", "city", "state", "zip");
	var len = arrElements.length;
	var i = 0;
	
	for ( i=0; i<len; i++ ) {
		if ( form.elements['billing_'+arrElements[i]].value != form.elements['hidden_billing_'+arrElements[i]].value ) {
			form.elements['profilecontrol'].value = 'change';	
		}
		
	}//for
	
	//alert(form.elements['profilecontrol'].value);
	
	//and one by hand
	if ( form.elements['cc_type'].value != form.elements['hidden_cc_type'].value ) {
		form.elements['profilecontrol'].value = 'change';
	}
	
	return validateBillingAddress(form);
	
}//end checkProfile

////////////////////////////////////////////////
// disabling and enabling shipping info fields
////////////////////////////////////////////////

function toggleFields(form)
{
	var toggle = form.elements['same_as_billing'];
	
	var arrShipFields = new Array('ship_fullname', 'ship_address', 'ship_city', 'ship_state', 'ship_zip', 'ship_phone');
	var fieldShipCount = arrShipFields.length;
	
	var arrBillFields = new Array('billing_fullname', 'billing_address', 'billing_city', 'billing_state', 'billing_zip', 'billing_phone');
	var fieldBillCount = arrBillFields.length;
	
	var i = 0;
	
	if (toggle.checked == false) {
		//Already checked, unset everything
		for ( i=0; i<fieldShipCount; i++) {
			form.elements[arrShipFields[i]].value = "";
		}//for	
	
	} else {
		//Not yet checked, copy the values from billing
		for ( i=0; i<fieldShipCount; i++) {
			form.elements[arrShipFields[i]].value = form.elements[arrBillFields[i]].value;
		}//for	
	}
	
}//end toggleFields

function toggleSaveProfile(elem) {
	var form = elem.form;
	
	//valid values are insert, donotupdate, and update
	if (elem.checked == true) {
		form.elements['profilecontrol'].value = 'insert';
				
	} else {
		form.elements['profilecontrol'].value = 'donotupdate';
		
	}
	
	//alert(form.elements['profilecontrol'].value);
	
}//end toggleSaveProfile

function checkField() {
	var frm = document.search_store;
	
	if ( (frm.p_keyword.value == "" ) || (frm.p_keyword.value == " " ) ) {
		
		alert("A Keyword is required to search");
		return false;			
	}
	
}


function checkEmailSignup() {

	var frm = document.emailSignup;
	
	if ( (frm.firstname.value == "" ) || (frm.firstname.value == " " ) ) {
		
		alert("First name is required");
		return false;			
	}
	
	if ( (frm.lastname.value == "" ) || (frm.lastname.value == " " ) ) {
		alert("Last name is required");
		return false;	
	}	
	
	if ( (frm.email.value == "") || (frm.email.value == " ") ) {
		
		alert("E-mail is required");
		return false;	
	}
	
	return true;
	
}
function LoginOptionCheck(myself) {

	frm = document.forms['new_login'];
	// if the new Customer item is checked
	var elem_pass_new = document.getElementById('newcustomerpassword');
	var elem_pass_old = document.getElementById('returningcustomerpassword');
	
	if ( myself.value == "new" ) {
		elem_pass_old.disabled = true;
		elem_pass_old.style.display = "none";
		elem_pass_new.disabled = true;
		elem_pass_new.style.display = "";
		frm.elements['action'].value = "account_new";
		
	} else {
	
		elem_pass_old.disabled = false;
		elem_pass_old.style.display = "";
		elem_pass_new.disabled = true;
		elem_pass_new.style.display = "none";
        frm.elements['loginemail'].focus();
		frm.elements['action'].value = "account";
		
	}
	
	frm.elements['loginemail'].focus();
}


function focusLoginField() {
	if ( typeof(document.new_login) != "undefined" ) {
		document.new_login.loginemail.focus();
	}
}

function loadPreview() {

	var caption_value = window.opener.document.getElementById("caption").value;
	var headline_obj = window.opener.document.getElementById("headline");
	var body_obj = window.opener.document.getElementById("body");
	var child_head = document.getElementById("headline");
	var child_body = document.getElementById("body");
	var child_caption = document.getElementById("img_caption");
	
	if ( caption_value != '' && child_caption != null ) {
		
		child_caption.innerHTML = caption_value;
	}
	child_head.innerHTML = headline_obj.value;
	child_body.innerHTML = body_obj.value;
	
}

function doProfileChange() {
	document.getElementById('update_profile').style.display = "inline";
}

function fadeout() {
	for (var iterator = 0; iterator < arguments.length; iterator++) {
		arguments[iterator].value = '';
		arguments[iterator].disabled = true;
	}
}

function fadein() {
	for (var iterator = 0; iterator < arguments.length; iterator++) { 
		arguments[iterator].disabled = false;
	}
	arguments[1].focus();
	arguments[1].select();
}

function add_to_cart(id)
{
	var frm = document.getElementById('frmAddCart');
	//var listfrm = document.getElementById('listform');
	
	frm.elements['product_id'].value = id;
	
	var frm_select = document.getElementById('optionid'+id);
	if ( frm_select ) {
		frm.elements['option_id'].value = frm_select.value;
	}
	
	/*var frm_options = listfrm.elements['options'+id+'[]'];
	
	if ( frm_options instanceof NodeList ) {
		for ( var i=0; i<frm_options.length; i++ ) {
			var option = document.createElement('input');
			option.type = 'hidden';
			option.name = 'options[]';
			option.value = frm_options[i].value;
			
			frm.appendChild(option);
		}
	} else {
		var option = document.createElement('input');
		option.type = 'hidden';
		option.name = 'options[]';
		option.value = frm_options.value;
		
		frm.appendChild(option);
	}*/
	
	var frm_qty = document.getElementById('qty'+id);
	if ( frm_qty ) {
		frm.elements['qty'].value = frm_qty.value;
	}
	var frm_backorder = document.getElementById('selectoptionbackorder'+id);
	var frm_backorder_notice = document.getElementById('selectoptionbackordernotice'+id);
	if ( frm_backorder && frm_backorder.value && frm_backorder.value!='' ) {
		//alert('This option is out of stock, redirecting to: '+frm_backorder.value);
		//frm.setAttribute("action",frm_backorder.value);
		frm.elements['backorder'].value = 1;
		//frm.action = frm_backorder.value;
	} else {
		//frm.action = "cart_action.php";
		//frm.setAttribute("action","cart_action.php");
		frm.elements['backorder'].value = 0;
	}
	frm.submit();
}//end add_to_cart

function cartAction(product_id, action)
{
	var frm = document.getElementById('frmAddCart');

	if ( frm.elements['product_id'] ) {
		frm.elements['product_id'].value = product_id;
	}
	
	if ( document.getElementById('optionid'+product_id) ) {
		if ( frm.elements['option_id'] ) {
			frm.elements['option_id'].value = document.getElementById('optionid'+product_id).value;
		}
	}

	if ( frm.elements['action'] ) {
		frm.elements['action'].value = action;
	}

	if ( multi_quantity_check(frm, false) ) {
		frm.submit();
	}

	return false;
}

function favoritesAction(product_id, option_id, action)
{
	var frm = document.getElementById('frmFavorites');

	if ( frm.elements['product_id'] ) {
		frm.elements['product_id'].value = product_id;
	}

	if ( frm.elements['option_id'] ) {
		frm.elements['option_id'].value = option_id;
	}

	if ( frm.elements['action'] ) {
		frm.elements['action'].value = action;
	}

	frm.submit();

	return false;
}

function quantity_check(frm)
{
	if ( frm.elements['qty'].value < 1 || !validateInteger(frm.elements['qty'].value) ) {
		alert("Quantity must be an integer greater than 0");
		return false;
	}
}

function multi_quantity_check(frm)
{
	if ( document.getElementById('i_action') ) {
		if ( document.getElementById('i_action').value != 'remove_item' ) {
			for ( var i=0; i<frm.length; i++ ) {
				var element = frm.elements[i];
				if ( element.name.search(/qty/) >= 0 ) {
					if ( element.value < 1 || !validateInteger(element.value) ) {
						alert("Quantity must be an integer greater than 0");
						return false;
					}
				}
			}
		}
	}
	
	return true;
}

function multiple_quantity_check(frm)
{
	for ( var i=0; i<arr_content_index.length; i++ ) {
		if ( !validateInteger(frm.elements['update[' + arr_content_index[i] + ']'].value) ) {
 			alert("Quantity must be an integer greater than 0");
			return false;
		}
	}
}

function validateInteger( strValue ) {
	
  var objRegExp  = /(^-?\d\d*$)/;

  return objRegExp.test(strValue);
}

function checkNameplate(id, x, checked)
{
	if ( checked ) {
		document.getElementById('dogtag1['+id+']['+x+']').disabled = false;
		document.getElementById('dogtag2['+id+']['+x+']').disabled = false;
		document.getElementById('dogtag3['+id+']['+x+']').disabled = false;
		document.getElementById('dogtag4['+id+']['+x+']').disabled = false;
	} else {
		document.getElementById('dogtag1['+id+']['+x+']').disabled = true;
		document.getElementById('dogtag2['+id+']['+x+']').disabled = true;
		document.getElementById('dogtag3['+id+']['+x+']').disabled = true;
		document.getElementById('dogtag4['+id+']['+x+']').disabled = true;
	}
}

function checkNameplateFields(limit, x_limit)
{
	var i;
	var j;
	
	for (i=0; i<=limit; i++ ) {
		for ( j=0; j<=x_limit; j++ ) {
			var valid = false;
			
			if ( document.getElementById('free_nameplate['+i+']['+j+']') ) {
				if ( document.getElementById('free_nameplate['+i+']['+j+']').checked ) {
					if ( document.getElementById('dogtag1['+i+']['+j+']') ) {
						var line = document.getElementById('dogtag1['+i+']['+j+']').value.replace(' ', '');
						if ( line != '' ) {
							valid = true;
						}
					} else {
						valid = true;
					}
					
					if ( document.getElementById('dogtag2['+i+']['+j+']') ) {
						var line = document.getElementById('dogtag2['+i+']['+j+']').value.replace(' ', '');
						if ( line != '' ) {
							valid = true;
						}
					} else {
						valid = true;
					}
					
					if ( document.getElementById('dogtag3['+i+']['+j+']') ) {
						var line = document.getElementById('dogtag3['+i+']['+j+']').value.replace(' ', '');
						if ( line != '' ) {
							valid = true;
						}
					} else {
						valid = true;
					}
					
					if ( document.getElementById('dogtag4['+i+']['+j+']') ) {
						var line = document.getElementById('dogtag4['+i+']['+j+']').value.replace(' ', '');
						if ( line != '' ) {
							valid = true;
						}
					} else {
						valid = true;
					}
					
					if ( !valid ) {
						alert('Please enter brass name tag information or uncheck the box(es) next to the collar(s) if you don\'t want free brass name tag(s) with the collars you have purchased.');
						return valid;
					}
				}
			}
		}
	}

	return true;
}


function checkDogTagFields()
{
	var valid = false;
	
	if ( document.getElementById('dogtag1') ) {
		var line = document.getElementById('dogtag1').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( document.getElementById('dogtag2') ) {
		var line = document.getElementById('dogtag2').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( document.getElementById('dogtag3') ) {
		var line = document.getElementById('dogtag3').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( document.getElementById('dogtag4') ) {
		var line = document.getElementById('dogtag4').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( !valid ) {
		alert('Please provide information for your brass name tag(s).');
	}
	return valid;
}

function checkTrapTagFields()
{
	var valid = false;
	
	if ( document.getElementById('traptag1') ) {
		var line = document.getElementById('traptag1').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( document.getElementById('traptag2') ) {
		var line = document.getElementById('traptag2').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( document.getElementById('traptag3') ) {
		var line = document.getElementById('traptag3').value.replace(' ', '');
		if ( line != '' ) {
			valid = true;
		}
	}
	
	if ( !valid ) {
		alert('Please provide information for your copper trap tags.');
	}
	return valid;
}

function handleKeyPress(event)
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

	// Enter
	if ( keyCode == 13 ) {
		document.getElementById('remove').onclick = '';
		document.getElementById('i_action').value = 'quantity_update';
		document.getElementById('f_cart').submit();
	}
}

function copyInfo(key, id, upkey, upid)
{
	document.getElementById('dogtag1['+key+']['+id+']').value = document.getElementById('dogtag1['+upkey+']['+upid+']').value;
	document.getElementById('dogtag2['+key+']['+id+']').value = document.getElementById('dogtag2['+upkey+']['+upid+']').value;
	document.getElementById('dogtag3['+key+']['+id+']').value = document.getElementById('dogtag3['+upkey+']['+upid+']').value;
	document.getElementById('dogtag4['+key+']['+id+']').value = document.getElementById('dogtag4['+upkey+']['+upid+']').value;
	
	return false;
}

function copyToAll(key, id)
{
	var frm = document.getElementById('frmNameplates');
	var count = 1;
	
	for ( var i=0; i<frm.elements.length; i++ ) {
		if ( frm.elements[i].type == 'text' &&
			frm.elements[i].id != 'dogtag1['+key+']['+id+']' &&
			frm.elements[i].id != 'dogtag2['+key+']['+id+']' &&
			frm.elements[i].id != 'dogtag3['+key+']['+id+']' &&
			frm.elements[i].id != 'dogtag4['+key+']['+id+']'
			) {
			frm.elements[i].value = document.getElementById('dogtag'+count+'['+key+']['+id+']').value;
			
			count++;
			
			if ( count > 4 ) {
				count = 1;
			}
		}
	}
	
	return false;
}

function playSound(file, id)
{
	/*var object = document.createElement('object');
	object.setAttribute('classid', "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95");
	object.setAttribute('name', "sound");
	
	var param = document.createElement('param');
	param.setAttribute('name', "FileName");
	param.setAttribute('value', file);
	
	object.appendChild(param);
	
	document.body.appendChild(object);*/
	
	var player = document.getElementById('player');
	
	while ( player.firstChild ) {
		player.removeChild(player.firstChild);
	}
	
	var embed = document.createElement("embed");
	embed.setAttribute("src", file);
	embed.setAttribute("hidden", "TRUE");
	embed.setAttribute("autostart", "TRUE");
	embed.setAttribute("name", "sound");
	
	player.appendChild(embed);
	
	document.getElementById('playing_'+id).style.display = "";
	
	//console.log(embed);
	//embed.stop();
	/*for ( var i=0; i<navigator.plugins.length; i++ ) {
		console.log(navigator.plugins[i].name);
	}*/
	
	return false;
}

function checkSound(id, limit)
{
	var current = document.getElementById("sounds_"+id);
	var checked = current.checked;
	
	var count = 0;
	
	var list = document.getElementById('soundlist');
	var inputs = list.getElementsByTagName('INPUT');

	if ( checked ) {
		for ( var i=0; i < inputs.length; i++ ) {
			if ( inputs[i].checked ) {
				count++;
			}
		}
		if ( count > limit ) {
			alert("You can only check "+limit+" options, please uncheck other options before selecting more options.");
			current.checked = false;
		}
	}
}

function did(name) {
	return document.getElementById(name);
}

function domcheck(elem)
{
	if ( typeof(elem) == 'object' ) {
		return elem;
	}
	
	return did(elem);
}

function registerEvent(elem, event, callback, capture)
{
	elem = domcheck(elem);
	
	if ( typeof(capture) != 'undefined' ) {
		capture = true;
	}
	
	if ( event == 'allchange' ) {
		registerEvent(elem, 'change', callback, capture);
		registerEvent(elem, 'click', callback, capture);
		registerEvent(elem, 'keyup', callback, capture);
		return;
	}
	
	if ( elem.addEventListener ) {
		elem.addEventListener(event, callback, capture);
	} else {
		elem.attachEvent('on'+event, callback, capture); 
	}
}