// JavaScript Document


	window.onload = rayrose;

	function rayrose(){
		runMenuFix();

	}

	function $(e){
		return document.getElementById(e);
	}
	
	function preload(name){
		var img	= new Image();
		img.src	= name;
	}
	
	function preloadImage(name){
		var img = new Image();
		img.src  = '/images/menu_over/' + name + '.png';
	}
	
	function runMenuFix(){
		
		var ul	= $("main_menu_holder");
		for(var i = 0; i < ul.childNodes.length; i++){
			var li = ul.childNodes[i];
			if(li.nodeName == "LI") runMenuFixItem(li);
		}
	}
	
	function runMenuFixItem(li){
		var a		= li.childNodes[0];
		var str		= li.className ? li.className : '';
		var rem		= "main_menu_";
		var name	= str.substr(rem.length);
		var cls		= a.className;
		var selected = (cls);
		
		preloadImage(name);
		
		var IE6=(navigator.userAgent.toLowerCase().indexOf('msie 6') != -1) && (navigator.userAgent.toLowerCase().indexOf('msie 7') == -1)  && (navigator.userAgent.toLowerCase().indexOf('msie 8') == -1)  && (navigator.userAgent.toLowerCase().indexOf('msie 9') == -1)
		if(!IE6) return false;
		
		li.onclick = function(){document.location.href = a.href;}
		li.onmouseover = function(){
			if(!selected) a.style.backgroundImage = "url('/images/menu_over/" + name + ".png')"
			a.style.cursor = "pointer";
			li.style.cursor = "pointer";

		}
		li.onmouseout = function(){
			if(!selected) a.style.backgroundImage = "url('/images/menu_off/" + name + ".png')"
		}
	}
	
	function getVar(name){
		get_string = document.location.search;         
		return_value = '';
		do{ //This loop is made to catch all instances of any get variable.
			name_index = get_string.indexOf(name + '=');
			if(name_index != -1){
				get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
				end_of_value = get_string.indexOf('&');
				if(end_of_value != -1)	value = get_string.substr(0, end_of_value);                
				else value = get_string;                
				if(return_value == '' || value == '') return_value += value;
				else return_value += ', ' + value;
			}
		}
		while(name_index != -1)	space = return_value.indexOf('+');
		while(space != -1){ 
			return_value = return_value.substr(0, space) + ' ' + 
			return_value.substr(space + 1, return_value.length);
			space = return_value.indexOf('+');
		}
		return(return_value);        
	}

	function getSection(){
		return getVar('SX');
	}
	
	function setupFilter(sectionID){
		var form = $('filter_form');	
		
		//Setup section variable
		form.SX.value = sectionID ? sectionID : getSection();

		//Rename Selects
		setupSelectNames(form);
		//Set the dropdown init values
		setupValues(form);		
		//Setup downdowns to refresh page on change
		setupSelects(form);
		//Add the drop down values to the search box on submit
		setupSubmit(form);
	}
	
	function setupSelects(form){
		//loop through the form items
		
		for(var i in form){
			var f = form[i];
			if(f && f.name){ //Check it exists
				if(f.type == "select-one"){
					f.onchange  = function(){form.onsubmit(); form.submit();}
				}
			}
		}
	}
	
	function setupSelectNames(form){
		//loop through the form items
		
		for(var i in form){
			var f = form[i];
			if(f && f.name){ //Check it exists
				if(f.type == "select-one"){
					var n = f.name.substr(2,f.name.indexOf('0_')-2); //Extract the name
					f.name = n;
				}
			}
		}
	}
	
	function setupSubmit(form){
		form.onsubmit = function(){
			var str = '';
			for(var i in form){
				var f = form[i];
				if(f && f.name && f.value){ 
					if(f.type == "select-one"){
						var n = f.name;//f.name.substr(2,f.name.indexOf('0_')-2); //Extract the name
						str += (str ? '@' : '') + n + "_" + f.value;
					}
				}
			}
			form.SS.value = str;
			return true;
		}
	}
	
	function setupValues(form){
		//loop through the form items
		for(var i in form){
			var f = form[i];
			if(f && f.name){ //Check it exists
				if(f.name == "REFPAGE") f.value = "";
				else if(f.name == "PAGE") continue;
				else if(f.name == "RANDOM") continue;				
				else{
					var n = '';
					if(f.type == "select-one") n = getVarFromString(f.name,getVar('SS'));
					else n = getVar(f.name); //Find the get variable	
					if(n) f.value = n; //Set the form element
				}
			}
		}

	}
	
	function getVarFromString(name,string){
		var items = string.split("%40");
		for(var i = 0; i < items.length; i++){
			var parts = items[i].split("_");
			if(parts[0] == html_entity_decode(name)){
				return unescape(parts[1]);
			}
		}
	}
	
	function html_entity_decode(str) {
 		var ta=document.createElement("textarea");
		ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
		return ta.value;
	}	
	
	function setupSearch(){
		
		var sectionID = getSection();
		var form = $('filter_form');


		//Select the main menu
		var ul = $('subMenuHolder');
		for(var i = 0; i < ul.childNodes.length; i++){
			var li = ul.childNodes[i];
			if(li.nodeName != "LI") continue;
			var a = li.childNodes[0];
			if(a.id == "subMenuItem_" + sectionID) a.className = "sub_menu_selected";
		}

		//Loop through the matched items	
		var div = $('searchResults');
		var j = 0;
		for(var i = 0; i < div.childNodes.length; i++){
			var box = div.childNodes[i];
			if(box.nodeName != "DIV") continue;
			j++;
			if(box.className == "shop_box"){
				//Loop through the boxes and find the first a
				for(var j in box.childNodes){
					var a = box.childNodes[j];
					if(a.nodeName == "A") break;
				}
				if(a){
					var href = a.href;
					var parts = href.split("#");
					var id = parts[1].substr(1);
					var parts = href.split(".html");
					href = '/shop/info_' + id + ".html";
					a.href = href;
					
					for(var k in a.childNodes){
						var p = a.childNodes[k];
						if(p.className == "description") break;
					}
					//Format the description -- NEEDS MORE
					if(p){
						var lines = p.innerHTML.split("\n");
						var s = '';
						for(var l in lines){
							if(lines[l].length < 2) continue;
							var parts = lines[l].split(":");
							s += '<span>' + parts[0] + '</span> ' + parts[1] + "<br />";
						}
						p.innerHTML = s;
					}
				}
				
			}
		}
	}
	
	
	function setupImages(){
		var div = $('prod_sub_images');
		if(div) for(var i in div.childNodes){
			var a = div.childNodes[i];
			if(a.nodeName == "A"){
				a.onclick = function(){
					changeImage(this.href);		
					return false;
				}
			}
		}
		showThumbs();
	}
	
	
	function hideRadios(){

		var div = $("colour_links");
		for(var i in div.childNodes){
			if(div.childNodes[i].nodeName == "P"){
				var p = div.childNodes[i];
				for(var j in p.childNodes){
					if(p.childNodes[j].nodeName == "INPUT"){
						var input = p.childNodes[j];
						input.style.display = "none";
					}
				}
			}
		}	
		
		
	}
	

	
	function changeColour(id){
		showThumbs(id);
		highlightColour(id);
		changeImage(getDefaultImage(id));
		selectRadio(id);
	}
	
	function selectRadio(id){
		var f = $('addtocart');				
		var r = f.v_1_1;
		for(var i in r){
			if(r[i].value == id) r[i].checked = true;
		}
	}

	
	function showThumbs(id){
		var show = id ? id : 1;
		//loop through each showing relevents and hiding others
		var div = $('prod_sub_images');
		if(div) for(var i in div.childNodes){
			var a = div.childNodes[i];
			if(a.nodeName == "A"){
				if(a.className == 'i'+show){
					a.style.display = "block";
				}else{
					a.style.display = "none";	
				}
			}
		}
	}
	
	function highlightColour(id){
		var div = $("colour_links");
		var count = 0;
		for(var i in div.childNodes){
			if(div.childNodes[i].nodeName == "P"){
				var p = div.childNodes[i];
				count ++;
				for(var j in p.childNodes){
					if(p.childNodes[j].nodeName == "A"){
						var a = p.childNodes[j];
						if(count == id){
							a.className = "prod_selected";
						}else{
							a.className = "";
						}
					}
				}
			}
		}	
	}
	
	function getDefaultImage(id){
		var div = $('prod_sub_images');
		if(div) for(var i in div.childNodes){
			var a = div.childNodes[i];
			if(a.nodeName == "A"){
				if(a.className == 'i'+id){
					return a.href;	
				}
			}
		}
	}
	

	function changeImage(src){
		if(!src) return;
		var img = $('main_image');
		img.src = src;
	}
	
	function setupCart(){
		//Go through cart setting each special which needs it.
		var table = $('shoppingCart');
		var tbody = getDOM(table,'nodeName','TBODY')[0];
		//Get the TRs
		var trs = getDOM(tbody,'className','productLine');
		for(var i in trs){
			var tr = trs[i];
			var tds = getDOM(tr,'nodeName','TD');
			
			//Descrtiptions
			var productNames = getDOM(tds[0],'className','productName');
			formatDescription(productNames[1]);

			//Remove link
			var rl = getDOM(tds[0],'className','removeButton')[0];
			removeLink(rl);

			//Prices
			var price1 = getDOM(tds[1],'className','price')[0];
			formatPrice(price1);
			var price2 = getDOM(tds[2],'className','price')[0];
			formatPrice(price2);
		}
		if(!(trs.length > 0)) {
			table.style.display = "none";
		};
		
	}
	
	function getId(container,id){
		var a = getDom(container,'id',id);
		if(!a || a.length == 0) return false;
		return a[0];
	}
	
	
	function getDOM(container,attr,value){
		var r = new Array();
		for(var i in container.childNodes){
			var a = container.childNodes[i];
			if(a[attr] == value){
				r.push(a);
			}
		}
		return r;
	}
	
	function nextDOM(container,nodeName){
		for(var i in container.childNodes){
			var a = container.childNodes[i];
			if(a.nodeName == nodeName) return a;
		}
		return false;		
	}
	
	function formatDescription(container){
		if(!container) return;
		var lines = container.innerHTML.split(",");
		var s = '';
		for(var l in lines){
			var line = lines[l];
			if(line.length < 2) continue;
			var parts = line.split(":");
			s += '<span>' + parts[0] + '</span> ' + parts[1] + "<br />";
		}
		container.innerHTML = s;
	}

	function formatPrice(container){
		var price = container.innerHTML.substr(1);
		if(price.substr(price.indexOf(".")+1,2) == "00") price = price.substr(0,price.indexOf("."));
		container.innerHTML = "<span>&euro;&nbsp;</span>" + price;
	}
	
	function removeLink(container){
		var p = nextDOM(container,'P');
		p.style.display = "none";
		var new_p = document.createElement("p");
		new_p.innerHTML = "<a href='#'>Remove this item</a>";
		new_p.onclick = function(){
			var f = $('cartForm');
			var input = nextDOM(p,'INPUT');
			input.checked = true;
			f.submit();
			return false;
		}
		p.parentNode.insertBefore(new_p,p);
	}
	
	function calcTax(total,vat){
		var euro = "&#128;";
		if(total.indexOf(euro)>=0) total = total.substr(total.indexOf(euro)+euro.length);		
		total = html_entity_decode(total);
		if( total.indexOf(" ") >= 0 ) total = total.substr(0,total.indexOf(" "));
		if(!vat) vat = 0.175;
		var inc = new Number(total * (1 + vat));
		return "&euro;" + inc.toFixed(2);
	}
	
	function fmtMoney(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + '$' + num + '.' + cents); }
	
	function submitCart(){
		var f = $('cartForm');
		var hidden = document.createElement("input");
		hidden.setAttribute("type","hidden");
		hidden.setAttribute("name","ACTION_BUYNOW.x");
		hidden.setAttribute("value","2");
		f.appendChild(hidden);
		f.submit();
	}
	
	function submitForm($value,$name){
		if(!$name) $name = "ACTION";
		var f = $('cartForm');
		if($value){
			var hidden = document.createElement("input");
			hidden.setAttribute("type","hidden");
			hidden.setAttribute("name",$name);
			hidden.setAttribute("value",$value);
			f.appendChild(hidden);
		}
		f.submit();
		return false;
	}

	function submitNext(){
		return submitForm('Next>');
	}
	
	function submitPrev(){
		return submitForm('<Back');
	}

	function updateCart(){
		return submitForm();
	}

	/* SECTION PAGES */
	function setupSection(){
		var product_boxes_holder = $('product_boxes');
		var product_boxes = getDOM(product_boxes_holder,'className','shop_box');
		for(var i in product_boxes){
			var div 	= product_boxes[i];
			var a 	= getDOM(div,'nodeName','A')[0];
			var span = getDOM(a,'nodeName','SPAN')[1];
			var h1 	= getDOM(span,'nodeName','H1')[0];
			var p 	= getDOM(span,'nodeName','P')[0];
			var title = h1.innerHTML;
			var parts = title.split(" - ");
			h1.innerHTML = parts[0];			
			if(parts.length == 2){
				var h2 = document.createElement("h2");
				h2.innerHTML = parts[1];
				p.parentNode.insertBefore(h2,p);
			}
		}
	}
	
	function setupColours(){
		//Main Title
		var form 	= $('addtocart');
		var div 	= getDOM(form,'nodeName','DIV')[0];
		var div 	= getDOM(div,'nodeName','DIV')[0]; 
		var h1 		= getDOM(div,'nodeName','H1')[0];
		var parts 	= h1.innerHTML.split(" - ");
		h1.innerHTML = parts[ 0 ];
		
		
		var colour_links_holder = $('colour_links');
		var colour_links = getDOM(colour_links_holder,'nodeName','P');
		for(var i in colour_links){
			var p 			= colour_links[i];
			var a 			= getDOM(p,'nodeName','A')[0];
			var parts 		= a.innerHTML.split(" - ");
			a.innerHTML 	= parts[ parts.length - 1 ];
		}
		
	}
	function setupPrice(){
		var p = $('price');
		var content = p.innerHTML;
		var price = content.substr(1,100);
		var dec = price.split(".");
		if(dec[1].length < 1) dec[1] = "00";
		else if(dec[1].length < 2) dec[1] = dec[1] + "0";
		p.innerHTML = "&euro;" + dec[0] + "." + dec[1];
	}