//allows to quickly collect value of controller by its id or name (if its radio button)
function getPropertyValue(elementNameOrId, formName)
{
	var elementPointer = document['forms'][formName][elementNameOrId];
	if (elementPointer != undefined)
	{
		var elementValue;
		var elementType = elementPointer.type;
	
		if (elementType == "text" || elementType == "hidden") // INPUT
		{
			elementValue = document.getElementById(elementNameOrId).value;
			return elementValue;
		}
		else if (elementType == "select-one") // SELECT
		{
			elementValue = document.getElementById(elementNameOrId).options[document.getElementById(elementNameOrId).selectedIndex].value;
			return elementValue;
		}
		else if (elementType == undefined) // either Radio group or something else
		{
			/* elementPointer can be called differently in different browsers
			"[object]"					// IE 8
			"[object HTMLCollection]"	// IE 5, 6, 7; Opera
			"[object NodeList]"			// FF; Chrome
			"[object Collection]"		// Safari */
			if (elementPointer == "[object]" || elementPointer == "[object NodeList]" || elementPointer == "[object HTMLCollection]" || elementPointer == "[object Collection]")
			{
				for (i=0; i < elementPointer.length; i++)
				{
					if (elementPointer[i].checked == true)
					{
						var radioValue = elementPointer[i].value;
					}
				}
				
				if (radioValue == undefined)
					return -1;
				else return radioValue;
			}
			else
			{
				return -1;
			}
		}
		else // value not set
		{
			return -1;
		}
	}
	else // elementPointer does not exist
		return -1;
}


//appends number with zeroes
function append0(string_number, spaces_needed)
{
	var returned_value = '';
	var rounded = Math.floor(string_number);
	
	number_length = rounded.toString().length;
	number_of_zeros_needed = spaces_needed - number_length;
	
	for (i = 0; i < number_of_zeros_needed; i++)
	{
		returned_value = "0" + returned_value;
	}
	returned_value = returned_value + string_number;

	return returned_value;
}


//formats the string
function number_format(nStr)
{
	//round to 2 places
	nStr = nStr * 100;
	nStr = Math.round(nStr);
	nStr = nStr / 100;
	
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	switch(x2.length)
	{
		case 0: x3 = '.00'; break;
		case 2: x3 = x2 + '0'; break;
		default: x3 = x2;
	}
	return x1 + x3;
}



//switches tabs on ajax pages
function open_tab(that)
{
	active_tab = that; // accept value which tab to select
	
	//array that contains all tabs
	var tabs_array = ['Specifications', 'Description', 'Accessories', 'Sample', 'Reviews', 'More Info'];
	
	
	
	if (that == "Accessories" && document.getElementById('accessory_reloaded').value == 0) // if accessories tab and wasn't reloaded, reload it
	{
		reload_accessories();
		document.getElementById('accessory_reloaded').value = 1;
	}
	
	// dehighlight other tabs
	for (i=0; i<tabs_array.length; i++)
	{
		document.getElementById("tab_container" + tabs_array[i]).innerHTML = "<a href=\"javascript: void(0);\" id=\"tab" + tabs_array[i] + "\" onclick=\"open_tab('" + tabs_array[i] + "')\"><img src=\"images/ajax/tabs/tab.jpg\"><br /><span>" + tabs_array[i] + "</span>";
		
		document.getElementById("tab_area_" + tabs_array[i]).style.display = 'none';
	}
	
	// highlight clicked tab
	document.getElementById("tab_container"+that).innerHTML = "<img src=\"images/ajax/tabs/tab-on.jpg\"><br /><span>" + that + "</span>";
	
	document.getElementById("tab_area_" + that).style.display = '';
}


function reload_accessories() // reloads accessories tab
{
	var accessory_items = document.getElementById('accessory_items').value;
	document.getElementById('tab_area_Accessories').innerHTML = '<div style="align: center; width: 700px"><img src="images/ajax/ajax-loader_2.gif"></a>';
	
	// create XMLHttpRequest
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) XMLHttpRequestObject = new XMLHttpRequest();
	else if (window.ActiveXObject) XMLHttpRequestObject = new ActiveXObject ("Microsoft.XMLHTTP");
	
	// send XMLHttpRequest
	if (XMLHttpRequestObject)
	{
		// find processor
		XMLHttpRequestObject.open("POST", "includes/products/ajax/accessory_get.php", true);
		XMLHttpRequestObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		
		// receive XMLHttpRequest
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 || XMLHttpRequestObject.readyState == "complete")
			{
				//keepOn[container] = 0;
				var response = XMLHttpRequestObject.responseText;

				// parse javascript
				var b = response.split(/\<\/?script[^\<]*\>/i)[1];
				eval(b);
				
				// output XMLHttpRequest response
				
				document.getElementById('tab_area_Accessories').innerHTML = response;
			}
		}
		// POST data
		XMLHttpRequestObject.send("accessory_items=" + accessory_items); // send arguments
	}

}


function cart_add_main()
{
	cart_add(document.getElementById('model').value, document.getElementById('cart_quantity').value, 1);
}


//dynamic add to cart
function cart_add(cart_model, cart_quantity, show_message, scheme)
{
	if (show_message == 1) // if this is not set, it would just use default arguments
	{	
		if (cart_quantity.length < 1) // quantity not set (accessory)
		{
			cart_quantity = document.getElementById('cart_quantity_' + cart_model.replace(/-/g, '_')).value;
			message_type = "accessory";
		}
		else // clicked from main area
		{
			message_type = "main";	
		}
		// show message
	}

	cart_quantity = cart_quantity.replace(/[^0-9]*/g, ""); // clear up quantity to purely numeric
	if (cart_quantity < 1) cart_quantity = 1;
	
	//ajax
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) XMLHttpRequestObject = new XMLHttpRequest();
	else if (window.ActiveXObject) XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		
	if (XMLHttpRequestObject)
	{
		XMLHttpRequestObject.open("POST", 'cart_add5.php');
		XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
			{
				var xmlDocument = XMLHttpRequestObject.responseXML;
				var option_array = xmlDocument.getElementsByTagName("option");
				var added_to_cart = option_array[0].firstChild.data;
				
				//which message area to use
				if (message_type == "accessory")
					cart_message_id = 'cart_message_' + cart_model.replace(/-/g, '_');
				else if (message_type == "main")
					cart_message_id = 'cart_message_main';
				
				cart_message_pointer = document.getElementById(cart_message_id);
				cart_message_ok = "<br><img src=\"img_appearance/basic/buttons/ajax/fb-ok.gif\" style=\"cursor: pointer\" onclick=\"document.getElementById('" + cart_message_id + "').style.display='none'\">";
				
				switch(added_to_cart)
				{
					case "0": case 0: // error
						alert("Unable to add to cart.");
					break;
					case "1": case 1: // added
						document_images = document.getElementsByTagName('img');
						//light up go to cart buttons
						for (img_i = 0; img_i < document_images.length; img_i++)
						{
							if (document_images[img_i].className == "go_to_cart_no_button")
							{
								document_images[img_i].className = "go_to_cart_yes_button";
							}
						}
						cart_message_pointer.innerHTML = cart_quantity + " " + cart_model + " added to cart." + cart_message_ok;
						cart_message_pointer.className = "goodField";
						cart_message_pointer.style.display = "";
						setTimeout("turn_off('" + cart_message_id + "')", 3000);
					break;
					case "2": case 2: // updated
						cart_message_pointer.innerHTML = cart_quantity + " " + cart_model + " added to cart." + cart_message_ok;
						cart_message_pointer.className = "goodField";
						cart_message_pointer.style.display = "";
						setTimeout("turn_off('" + cart_message_id + "')", 3000);
					break;
				}




			}
		}
		XMLHttpRequestObject.send('cart_quantity=' + cart_quantity + '&cart_model=' + cart_model + '&cart_format=2');
	}
}


function go_to_cart(cart_button_id, cart_message_id)
{
	cart_button_pointer = document.getElementById(cart_button_id);
	if (cart_button_pointer.className == 'go_to_cart_yes_button')
	{
		window.location = "cart5.php";
	}
	else
	{
		cart_message_pointer = document.getElementById(cart_message_id);
		cart_message_ok = "<br><img src=\"img_appearance/basic/buttons/ajax/fb-ok.gif\" style=\"cursor: pointer\" onclick=\"document.getElementById('" + cart_message_id + "').style.display='none'\">";
		cart_message_pointer.className = "badField";
		cart_message_pointer.innerHTML = "Cart is empty" + cart_message_ok;
		cart_message_pointer.style.display = "";
		setTimeout("turn_off('" + cart_message_id + "')", 3000);
	}
}

function turn_off(container_id)
{
	document.getElementById(container_id).style.display = "none";
	//for (var i=0; i<11; i++)
	//	setTimeout("setOpacity('" + container + "', " + (10 - i) + ")", 50 * i);
}




