//Javascript Includes
//document.write('<script type="text/javascript" src="/media/flashobject/flashobject.js"></script>');

//show the specified element(id)
function showBox(box)
{
	notebox = document.getElementById(box);
	if(notebox){
		notebox.style.display = 'block';
		notebox.style.visibility = "visible";
	}
}

//hide the specified element (id)
function hideBox(box)
{
	notebox = document.getElementById(box);
	if(notebox){
		notebox.style.display = 'none';
		notebox.style.visibility = "hidden";
	}
}

//show the specified helpbox (id) and hide all others
//if an iframe exists, show that as well (for bubbles to show over select boxes in IE)
function helpbox_show(hbox)
{
	elements = document.getElementsByTagName('div');
	for(i=0; i<elements.length; i++){
		if(elements[i].id.indexOf('_helpBox') > -1 && elements[i].id.indexOf(hbox) == -1){
			helpbox_hide(elements[i].id);
			eval('window.clearTimeout(' + elements[i].id + '_timeout);');
		}
	}
	showBox(hbox);
	if(document.getElementById(hbox+'_iframe')) showBox(hbox+'_iframe');
	eval('window.clearTimeout('+hbox+'_timeout);');
}

//hide the specified box(id)
//if an iframe exists, hide that as well (for bubbles to show over select boxes in IE)
function helpbox_hide(hbox){
	hideBox(hbox);
	if(document.getElementById(hbox+'_iframe')) hideBox(hbox+'_iframe');
}

function getElement(elementID){
	if(element = document.getElementById(elementID)){
		return element;
	}else{
		if(element = document.getElementsByName(elementID)){
			element = element[0];
			return element;
		}else{
			return false;
		}
	}
}

function activateOnSelect(list,field){
	field = getElement(field);
	if(list.value == 'other'){
		field.disabled = false;
		field.focus();
	}else{
		field.disabled = true;
	}
}

//enables all form elements in all forms on a page
function enableAll(){
	for(i = 0; i < document.forms.length; i++){
		elements = document.forms[i].getElementsByTagName("input");
		for(j = 0; j < elements.length; j++){
			elements[j].disabled = false;
		}
		elements = document.forms[i].getElementsByTagName("textarea");
		for(j = 0; j < elements.length; j++){
			elements[j].disabled = false;
		}
		elements = document.forms[i].getElementsByTagName("select");
		for(j = 0; j < elements.length; j++){
			elements[j].disabled = false;
		}
	}
}

//pops up a new window with the specified image displayed within a html page.
//the html page then resizes the window to fit the image
function imgPopUp(img){
	day = new Date();
	id = day.getTime();
	URL = "media/images/imagepopup.htm?" + img;
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200,left = 290,top = 212');");
}

//when the user selects the specified item (text) within the specified list (list) display the element
//if they select something else, hide the item
function showOnSelect(list, text, element)
{
	element = document.getElementById(element);
	if(list.value == text){
	element.className = "";
	}else{
	element.className = "hidden";
	}
}

//enables the specified textbox when the checkbox is checked
//disables it when its not
function enableDisable(checkbox, textbox)
{
	textbox = getElement(textbox);
	if(checkbox.checked){
		textbox.disabled = false;
		textbox.focus();
	}else{
		textbox.disabled = true;
	}
}

//enables all form elements within a specified div
function enableAllWithinDiv(div)
{
	div.className = "";
	elements = div.getElementsByTagName("input");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = false;
		elements[j].className = "";
	}
	elements = div.getElementsByTagName("textarea");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = false;
		elements[j].className = "";
	}
	elements = div.getElementsByTagName("select");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = false;
		elements[j].className = "";
	}
}

function showAllWithinDiv(div)
{
	div.style.display = "none";
	elements = div.getElementsByTagName("*");
	for(j = 0; j < elements.length; j++){
		if(elements[j].disabled) elements[j].disabled = false;
		elements[j].style.display = "none";
	}
}

function hideAllWithinDiv(div)
{
	div.style.display = "block";
	elements = div.getElementsByTagName("*");
	for(j = 0; j < elements.length; j++){
		
		elements[j].style.display = "block";
		if(elements[j].disabled) elements[j].disabled = true;
	}
}

//disables all form elements within a specified div
function disableAllWithinDiv(div)
{
	div.className = "disabled";
	elements = div.getElementsByTagName("input");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = true;
		elements[j].className = "disabled";
	}
	elements = div.getElementsByTagName("textarea");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = true;
		elements[j].className = "disabled";
	}
	elements = div.getElementsByTagName("select");
	for(j = 0; j < elements.length; j++){
		elements[j].disabled = true;
		elements[j].className = "disabled";
	}
}
//shows all form elements within the specified div when the specified checkbox is checked
//hides them when it's unchecked.
function showOnCheckbox(checkbox, div)
{
	d = document.getElementById(div);
	if(checkbox.checked){
		enableAllWithinDiv(d);
		showBox(div);
	}else{
		disableAllWithinDiv(d);
		hideBox(div);
	}
}

function equatebillship(textbox)
{
	if(document.details.billship.checked)
	{
		prefix = "shipping_";
		oldprefix = "buyerbill";
		if(textbox.name == "firstname" || textbox.name == "lastname")
		{
			newname = prefix + textbox.name;
		}else{
			newname = prefix + textbox.name.substring(oldprefix.length);
		}
		newelement = document.getElementsByName(newname)
		newelement[0].value = textbox.value;
	}
}

function checkbillship()
{
	if(document.details.billship.checked){
		document.details.shipping_firstname.disabled = true;
		document.details.shipping_firstname.value = document.details.firstname.value;
		
		document.details.shipping_lastname.disabled = true;
		document.details.shipping_lastname.value = document.details.lastname.value;
		
		document.details.shipping_address1.disabled = true;
		document.details.shipping_address1.value = document.details.buyerbilladdress1.value;
		
		document.details.shipping_address2.disabled = true;
		document.details.shipping_address2.value = document.details.buyerbilladdress2.value;
		
		document.details.shipping_city.disabled = true;
		document.details.shipping_city.value = document.details.buyerbillcity.value;
		
		document.details.shipping_state.disabled = true;
		document.details.shipping_state.value = document.details.buyerbillstate.value;
		
		document.details.shipping_postcode.disabled = true;
		document.details.shipping_postcode.value = document.details.buyerbillpostcode.value;
		
		document.details.shipping_country.disabled = true;
		document.details.shipping_country.value = document.details.buyerbillcountry.value;
	}else{
		document.details.shipping_firstname.disabled = false;
		document.details.shipping_lastname.disabled = false;
		document.details.shipping_address1.disabled = false;
		document.details.shipping_address2.disabled = false;
		document.details.shipping_city.disabled = false;
		document.details.shipping_state.disabled = false;
		document.details.shipping_postcode.disabled = false;
		document.details.shipping_country.disabled = false;
	}
}

function hideDialogues()
{
	dialogues = getElementsByClassName(document, "*", 'dialogue');
	for(i=0; i < dialogues.length; i++)
	{
		dialogues[i].style.display = 'none';
	}
	backdrops = getElementsByClassName(document, "*", 'dialogueBackdrop');
	for(i=0; i < backdrops.length; i++)
	{
		backdrops[i].style.display = 'none';
	}
}


function getElementsByClassName(oElm, strTagName, strClassName)
{
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++)
	{
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}
function getDocWidth()
{
	if (document.compatMode && document.compatMode != "BackCompat")
	{
	   theWidth = document.documentElement.clientWidth;
	}
	else
	{
	   theWidth = document.body.clientWidth;
	}
	return theWidth;

}

	
	function removeFromArray(array, item){
		counter = 0;
		output = "";
		for(i = 0; i < array.length; i++){
			if(array[i] !== item && array[i] !== ""){
				output += array[i] + ",";
			}
		}
		return output.split(",");
	}

	//calculates the height of the document
	//(MUST be called after the page has loaded, otherwise
	// screen height will be returned )
	function getDocHeight()
	{
		var y;
		var test1 = document.body.scrollHeight;
		var test2 = document.body.offsetHeight
		if (test1 > test2) // all but Explorer Mac
		{
			y = document.body.scrollHeight;
		}
		else // Explorer Mac;
		     // also Explorer 6 Strict, Mozilla and Safari
		{
			y = document.body.offsetHeight;
		}
	
		return y;
	}
	//Appends an onload event to the page without killing others	
	
	//if the user confirms the message, go to the url
	function confirm_message(message, url)
	{
		if (confirm(message)) { 
			location.href = url; 
		}
	}
