/* Function to pre-load images */
function loadIMG() {
	img1 = new Image(75,22)
	img1.src = "../../img/buttons/view_b.gif"
	
	img2 = new Image(75,22)
	img2.src = "../../img/buttons/order_now_b.gif"
	
	img3 = new Image(75,22)
	img3.src = "../../img/buttons/preorder_now_b.gif"
	
	img4 = new Image(200, 150)
	img4.src = "../../img/tiles/make_it_a_bundle_b.gif"
	
	img5 = new Image()
	img5.src = "../../img/buttons/add_to_cart_plus_b.gif"
}

/* Function to open a window */
function OpenWind(url, width, height) {
	var Win = window.open(url,"Preview",'width=' + width + ',height=' + height + ',resizable=yes,scrollbars=no,location=no,menubar=no,status=no' );
}

/* Function to open a window */
function OpenWindSet(url, width, height, resizeable, scrollbars, location, menubar, status) {
	var Win = window.open(url,"Preview",'width=' + width + ',height=' + height + ',resizable=' + resizeable + ',scrollbars=' + scrollbars + ',location=' + location + ',menubar=' + menubar + ',status=' + status);
}

/* Function to hide sub-menus */
function hideSubs() {}

/* Function to hide and show sub-menus */
function show(id) {
	var d = document.getElementById(id);
	
	if (d.style.display == 'none') {
		hideSubs();
		d.style.display='block';
	
	} else if (d.style.display == 'block') {
		d.style.display='none';
	}
}

/* Function to auto clear input field */
function clearInput(id) {
	document.getElementById(id).value="";
}

/* Function to show icon change */
function expandArrow(id, state) {
	var d = document.getElementById(id);
	
	if (state == 1) {
		d.src = '../img/icons/expanding_arrow_down.gif';
	}
}

/* Function to jump CC number fields */
function fieldJump(field) {
	var f = document.getElementById(field);
	var len = f.value.length;
	
	if (len == 4) {
	
		switch (field) {
			case "ccnum1":
				document.getElementById("ccnum2").focus();
				break;
			
			case "ccnum2":
				document.getElementById("ccnum3").focus();
				break;
				
			case "ccnum3":
				document.getElementById("ccnum4").focus();
				break;
		}
	}
}

/* Function to change pagination page */
function chgPage(domain, value, order, sec, sort) {

	var path = "?sec=" + sec + "&sid=" + value + "&sort=" + sort; 

	if (order != '') {
		path = path + "&order=" + order + "&sort=" + sort;
	}
	
	location.href = path;
	
}

/* Function to check for OTHER field */
function chkOther(value, field, other_value) {
	if (value == other_value) {
		document.getElementById(field).disabled = false;
	} else {
		document.getElementById(field).disabled = true;
	}
}

/* Function to calculate total plus shipping cost */
function calcShipping(subtotal, type) {

	var sub = Number(subtotal);

	switch (type) {
		case "1":
			document.getElementById('track_num_value').innerHTML = 'Yes';
			document.getElementById('delivery_time_value').innerHTML = '3 Business Days';
			document.getElementById('cost_value').innerHTML = '0.00';
			document.getElementById('shipping_value').innerHTML = '0.00';
			
			
			
			/* Set Shipping Value */
			var shipping = Number(0.00);
			break;
			
		case "2":
			document.getElementById('track_num_value').innerHTML = 'No';
			document.getElementById('delivery_time_value').innerHTML = '3-10 Business Days';
			document.getElementById('cost_value').innerHTML = '10.50';
			document.getElementById('shipping_value').innerHTML = '10.50';
			
			/* Set Shipping Value */
			var shipping = Number(10.50);
			break;
			
		case "3":
			document.getElementById('track_num_value').innerHTML = 'Yes';
			document.getElementById('delivery_time_value').innerHTML = '1-3 Business Days';
			document.getElementById('cost_value').innerHTML = '20.00';
			document.getElementById('shipping_value').innerHTML = '20.00';
			
			/* Set Shipping Value */
			var shipping = Number(20.00);
			break;
			
		case "4":
			document.getElementById('track_num_value').innerHTML = 'Yes';
			document.getElementById('delivery_time_value').innerHTML = '1-2 Business Days';
			document.getElementById('cost_value').innerHTML = '35.00';
			document.getElementById('shipping_value').innerHTML = '35.00';
			
			/* Set Shipping Value */
			var shipping = Number(35.00);
			break;
	}
	
	/* Calculate Total */
	var total = sub + Number(shipping);
	
	/* Set Total Value */
	document.getElementById('total_value').innerHTML = total.toFixed(2);
	
	/* Apply Values to Hidden Fields */
	document.getElementById('shipping_method_value').value = type;
	document.getElementById('shipping_cost_value').value = shipping.toFixed(2);
}

/* ------------------------------------------------------------------------------------------ */
/* Function to calculate total plus shipping cost */
function calcShpTotal(subtotal, shipping, type) {

	var sub = Number(subtotal);
	var shipping = Number(shipping);
	
	/* Calculate Total */
	var total = sub + shipping;
	
	/* Set Total Value */
	document.getElementById('total_value').innerHTML = total.toFixed(2);
	document.getElementById('shipping_value').innerHTML = shipping.toFixed(2);
	
	/* Apply Values to Hidden Fields */
	document.getElementById('shipping_method_value').value = type;
	document.getElementById('shipping_cost_value').value = shipping.toFixed(2);
}

/* ------------------------------------------------------------------------------------------ */
/* Function to check and uncheck all boxes */
function CheckAll(chk_name, form_name) {

	var frm_name = document.getElementById(form_name);
	var chk_count = frm_name.ids.length;
	
	if (document.getElementById(form_name + '_chk_all').checked == true) {
	
		for (i = 0; i < chk_count; i++) {
			frm_name.ids[i].checked = true;
		}
		
	} else {

		for (i = 0; i < chk_count; i++) {
			frm_name.ids[i].checked = false;
		}

	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to copy text */
function ClipBoard(field) {
	
	holdtext.innerText = document.getElementById(field).innerText;
	Copied = holdtext.createTextRange();
	Copied.execCommand("Copy");
	
}

/* ------------------------------------------------------------------------------------------ */
/* Function to set the opacity */
function setOpacity(obj, opacity) {

	opacity = (opacity == 100)?99.999:opacity;
	
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
	
}

/* ------------------------------------------------------------------------------------------ */
/* Function to hide a message box after a short delay */
function fadeMsgOut(objectID, opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objectID);
			
		if (opacity >= 0) {
			setOpacity(obj, opacity);
			opacity = opacity - 10;
			window.setTimeout("fadeOut('"+objectID+"',"+opacity+")", 75);
		
		} else {
		
			obj.style.width = 0;
			obj.style.height = 0;
			obj.style.display = 'none';
			
		}
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to fade DIV out */
function fadeOut(objectID, opacity) {

	if (document.getElementById) {
		obj = document.getElementById("div_" + objectID);
		
		if (opacity >= 0) {
			setOpacity(obj, opacity);
			opacity = opacity - 10;
			window.setTimeout("fadeOut('"+objectID+"',"+opacity+")", 25);
		
		} else {
		
			obj.style.display = 'none';
			document.getElementById("off_" + objectID).style.display = 'none';
			document.getElementById("on_" + objectID).style.display = 'block';
		
		}
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to fade DIV in */
function fadeIn(objectID, opacity) {

	if (document.getElementById) {
		obj = document.getElementById("div_" + objectID);
			
		if (opacity <= 100) {
			obj.style.display = 'block';
			obj.style.width = '618px';
			
			setOpacity(obj, opacity);
			opacity = opacity + 10;
			window.setTimeout("fadeIn('"+objectID+"',"+opacity+")", 25);
		
		} else {
		
			document.getElementById("on_" + objectID).style.display = 'none';
			document.getElementById("off_" + objectID).style.display = 'block';
		
		}
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to toggle the disability of an item */
function toggleDisable(id) {
	
	if (document.getElementById('gift_note_chk').checked == true) { 
	
		document.getElementById(id).disabled = false;
		document.getElementById('chars_left').disabled = false;
		document.getElementById(id).focus();
		
	} else { 
	
		document.getElementById(id).disabled = true;
		document.getElementById('chars_left').disabled = true;
		
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to count number of characters in a field */
function countChars(max, field, remain_field) {

	if (document.getElementById(field).value.length > max) {
	
		alert("You've reach the limit of " + max + " characters for this field.");
		
	} else {
	
		document.getElementById(remain_field).value = max - document.getElementById(field).value.length;
		
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to hide/show alternate address fields */
function showHideAlternateFields() {

	if (document.getElementById('use_secondary').checked == true) {
		var visible_fields = 'block';
	} else {
		var visible_fields = 'none';
	}
		
		
	document.getElementById('fname_b').style.display= visible_fields;
	document.getElementById('lname_b').style.display= visible_fields;
	document.getElementById('address1_b').style.display= visible_fields;
	document.getElementById('address2_b').style.display= visible_fields;
	document.getElementById('city_b').style.display= visible_fields;
	document.getElementById('state_province_b').style.display= visible_fields;
	document.getElementById('country_b').style.display= visible_fields;
	document.getElementById('zip_postal_b').style.display= visible_fields;
	document.getElementById('warning_msg_b').style.display= visible_fields;

}

/* ------------------------------------------------------------------------------------------ */
/* Function to hide/show gift note fields */
function showHideGiftNoteFields() {

	if (document.getElementById('gift_note_chk').checked == true) {
		var visible_fields = 'block';
	} else {
		var visible_fields = 'none';
	}
		
		
	document.getElementById('giftnote_field').style.display= visible_fields;
	document.getElementById('giftnote_chars_left').style.display= visible_fields;

}

/* ------------------------------------------------------------------------------------------ */
/* Function to hide/show radio button arrow */
function showHideRadioArrow(radio_num, free) {

	switch (radio_num) {
		case 1:
			document.getElementById('arr_2').style.color= '#ddd';
			document.getElementById('arr_3').style.color= '#ddd';
			document.getElementById('arr_4').style.color= '#ddd';
			break;
			
		case 2:
			document.getElementById('arr_2').style.color= '#333';
			document.getElementById('arr_3').style.color= '#ddd';
			document.getElementById('arr_4').style.color= '#ddd';
			break;
			
		case 3:
			document.getElementById('arr_2').style.color= '#ddd';
			document.getElementById('arr_3').style.color= '#333';
			document.getElementById('arr_4').style.color= '#ddd';
			break;
			
		case 4:
			document.getElementById('arr_2').style.color= '#ddd';
			document.getElementById('arr_3').style.color= '#ddd';
			document.getElementById('arr_4').style.color= '#333';
			break;
			
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to change the admin page area */
function chgTab(tab) {

	switch (tab) {
		case ("customer_details"):
			document.getElementById("customer_details").style.display = "block";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("secondary_details"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "block";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("gift_note"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "block";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("associate"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "block";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("system_info"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "block";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("referrer"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "block";
			document.getElementById("coupon_code").style.display = "none";
			break;
			
		case ("coupon_code"):
			document.getElementById("customer_details").style.display = "none";
			document.getElementById("secondary_details").style.display = "none";
			document.getElementById("gift_note").style.display = "none";
			document.getElementById("associate").style.display = "none";
			document.getElementById("system_info").style.display = "none";
			document.getElementById("referrer").style.display = "none";
			document.getElementById("coupon_code").style.display = "block";
			break;
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to focus a field onLoad */
function focusField(step) {

	switch (step) {
		case ("step1"):
			
			document.checkout_form.user_email.focus();
			break;
			
		case ("step2"):
			break;
			
		case ("step3"):
		
			document.checkout_form.ccname.focus();
			break;
		
	}
}

/* ------------------------------------------------------------------------------------------ */
/* Function to hide/show change buttons/fields */
function hideShowChangeFields(field, status) {

	switch (status) {
		
		case "show":
			document.getElementById(field + '_txt').style.display='none';
			document.getElementById(field + '_field').style.display='inline';
			document.getElementById(field + '_field').focus();
			document.getElementById(field + '_update').style.display='inline';
			document.getElementById(field + '_cancel').style.display='inline';
			break;
			
		
		case "hide":
			document.getElementById(field + '_txt').style.display='inline';
			document.getElementById(field + '_field').style.display='none';
			document.getElementById(field + '_update').style.display='none';
			document.getElementById(field + '_cancel').style.display='none';
			break;
	
	}
}