function brandnav() {
	var currDis = document.getElementById('brandsnav').style.display;
	if (currDis == 'none') {
		document.cookie = 'showbrands=true; path=/';
		document.getElementById('brandsnav').style.display = 'block';
	} else {
		document.getElementById('brandsnav').style.display = 'none';
		document.cookie = 'showbrands=true; expires=Fri, 3 Aug 2001 20:47:11 UTC; path=/';
	}
	return false;
}


function salenav() {
	var currDis = document.getElementById('salenav').style.display;
	if (currDis == 'none') {
		document.cookie = 'salenav=true; path=/';
		document.getElementById('salenav').style.display = 'block';
	} else {
		document.getElementById('salenav').style.display = 'none';
		document.cookie = 'salenav=true; expires=Fri, 3 Aug 2001 20:47:11 UTC; path=/';
	}
	return false;
}


function brandSort() {
	var currDis = document.getElementById('brandsort').style.overflow;
	if (currDis == 'hidden') {
		document.getElementById('brandsort').style.overflow = 'visible';
		document.getElementById('blue').src = '/graphics/layout/blueup.gif';
		document.getElementById('brandsort').style.zIndex = '100';
	} else {
		document.getElementById('brandsort').style.overflow = 'hidden';
		document.getElementById('blue').src = '/graphics/layout/bluedown.gif';
		document.getElementById('brandsort').style.zIndex = '1000';
	}
	return false;
}

function prodTabs(ele) {
	var tabs = Array('details','returns','delivery');
	var bg = Array('#eee','#ddd','#ccc');
	for (i=0;i<tabs.length;i++) {
		if (ele == tabs[i]) {
			document.getElementById(tabs[i]).style.display = "block";
			document.getElementById('prod_details').style.backgroundColor = bg[i];
		} else {
			document.getElementById(tabs[i]).style.display = "none";
		}
	}
}

function setDrag(img) {
	var mydrag = new Draggable(img,{ 
		zindex: 10, 
		starteffect: false,
		endeffect: false,
		snap: function(x,y,draggable) { 
			function constrain(n, lower, upper) { 
				if (n < upper) return upper; 
				else if (n > lower) return lower; 
				else return n; 
			} 
			element_dimensions = Element.getDimensions(draggable.element); 
			parent_dimensions = Element.getDimensions(draggable.element.parentNode); 
			return[ 
				constrain(x, 0, parent_dimensions.width - element_dimensions.width), 
				constrain(y, 0, parent_dimensions.height - element_dimensions.height) 
			]; 
		}, 
		revert:false 
	});
}

function centreImg(img, newImg) {
	img.height = newImg.height;
	img.width = newImg.width;
	var h = img.height;
	var w = img.width;
	var topPos = Math.round((h-370)/2);
	var leftPos = Math.round((w-247)/2);
	topPos = topPos+"";
	leftPos = leftPos+"";
	if (topPos.charAt(0) != "-") {
		topPos = "-"+topPos+"px";
		leftPos = "-"+leftPos+"px";
	} else {
		topPos = topPos+"px";
		leftPos = leftPos+"px";
	}
	img.style.top = topPos;
	img.style.left = leftPos;
}

function imgZoom() {
	var img = document.getElementById('large-image_1');
	var zoomLink = document.getElementById('zoom_img');
	var holder = document.getElementById('prod_img');
	if (img.src == window.oText) {
		holder.innerHTML = "<img src='"+window.ozText+"' id='large-image_1' />";
		img = document.getElementById('large-image_1');
		setDrag(img);
		centreImg(img, window.zoomedImg);
		img.style.cursor = "move";
		document.getElementById('zoom').innerHTML = "Zoom Out";
	} else if (img.src == window.bText) {
		holder.innerHTML = "<img src='"+window.zbText+"' id='large-image_1' />";
		img = document.getElementById('large-image_1');
		setDrag(img);
		centreImg(img, window.zoomedBackImg);
		img.style.cursor = "move";
		document.getElementById('zoom').innerHTML = "Zoom Out";
	} else if (img.src == window.zbText) {
		holder.innerHTML = "<a href='#' onclick='imgZoom(); return false;'><img src='"+window.bText+"' id='large-image_1' /></a>";
		img = document.getElementById('large-image_1');
		centreImg(img, window.backImg);
		img.style.cursor = "pointer";
		document.getElementById('zoom').innerHTML = "Zoom In";
	} else {
		holder.innerHTML = "<a href='#' onclick='imgZoom(); return false;'><img src='"+window.oText+"' id='large-image_1' /></a>";
		img = document.getElementById('large-image_1');
		centreImg(img, window.originalImg);
		img.style.cursor = "pointer";
		document.getElementById('zoom').innerHTML = "Zoom In";
	}
}

function backView() {
	var holder = document.getElementById('prod_img');
	var imgSrc = document.getElementById('large-image_1').src
	if (imgSrc.search(/medium/) != -1) {
		holder.innerHTML = "<a href='#' onclick='imgZoom(); return false;'><img src='"+window.bText+"' id='large-image_1' /></a>";
		img = document.getElementById('large-image_1');
		centreImg(img, window.backImg);
		img.style.cursor = "pointer";
		document.getElementById('zoom').innerHTML = "Zoom In";
	} else {
		holder.innerHTML = "<img src='"+window.zbText+"' id='large-image_1' />";
		img = document.getElementById('large-image_1');
		setDrag(img);
		centreImg(img, window.zoomedBackImg);
		img.style.cursor = "move";
		document.getElementById('zoom').innerHTML = "Zoom Out";
	}
}

function frontView() {
	var holder = document.getElementById('prod_img');
	var imgSrc = document.getElementById('large-image_1').src
	if (imgSrc.search(/medium/) != -1) {
		holder.innerHTML = "<a href='#' onclick='imgZoom(); return false;'><img src='"+window.oText+"' id='large-image_1' /></a>";
		img = document.getElementById('large-image_1');
		centreImg(img, window.backImg);
		img.style.cursor = "pointer";
		document.getElementById('zoom').innerHTML = "Zoom In";
	} else {
		holder.innerHTML = "<img src='"+window.ozText+"' id='large-image_1' />";
		img = document.getElementById('large-image_1');
		setDrag(img);
		centreImg(img, window.zoomedBackImg);
		img.style.cursor = "move";
		document.getElementById('zoom').innerHTML = "Zoom Out";
	}
}

function oosCheck() {
	if (document.forms['product'].p[document.forms['product'].p.selectedIndex].className == "oos") {
		alert('Sorry, this size is currently not available.\nPlease select another size, or contact us on 01803 866 681 to find out about availability.');
	} else {
		return false;
	}
}

function setBrand(cat, brand) {
	if (brand > 0) {
		document.cookie = cat+'='+brand+'; path=/';
	} else {
		document.cookie = cat+'='+brand+'; expires=Fri, 3 Aug 2001 20:47:11 UTC; path=/;';
	}
	document.getElementById('sortForm').submit();
}

function setSize(size) {
	if(size != "") {
		var loc = window.location.href;
		var pos = loc.search("&size=");
		if(pos > 0){ var href = loc.substr(0,pos); } else { var href = loc; }
		window.location = href + "&size=" + size;
	} 
}

function setOrder(order) {
	document.cookie = 'sortOrder='+order+'; path=/';
	document.getElementById('sortForm').submit();
}

function buttonOver(e) {
	ele = getSrcElement(e);
	ele.className = "buttonOver";
}

function buttonOut(e) {
	ele = getSrcElement(e);
	ele.className = "button";
}

function rightOver(e) {
	ele = getSrcElement(e);
	ele.className = "float_rightOver";
}

function rightOut(e) {
	ele = getSrcElement(e);
	ele.className = "float_right";
}

function getSrcElement(ele) {
	if (window.event) ele = window.event;  
	var srcEle = ele.srcElement? ele.srcElement : ele.target;  
	return srcEle;
}

function basketSubmit() {
	var hidden = document.createElement('input');
	hidden.setAttribute('type','hidden');
	hidden.setAttribute('name','button-spacer');
	hidden.setAttribute('value','button-spacer');
	document.forms['basket'].appendChild(hidden); 
	document.forms['basket'].submit();
}

function addEvent(obj, evType, fn) { 
	if (obj.addEventListener) { 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent) { 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function removeEvent(obj, evType, fn) { 
	if (obj.removeEventListener) { 
		obj.removeEventListener(evType, fn, false); 
		return true; 
	} else if (obj.detachEvent) { 
		var r = obj.detachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

var oText, ozText, bText, zbText, originalImg, zoomedImg, backImg, zoomedBackImg;

/*window.onload = function() {
	if (document.getElementById('large-image_1')) {
		
		window.oText = document.getElementById('large-image_1').src;
		window.ozText = oText.replace(/medium/,'originals');
		window.bText = oText.replace(/f.jpg/,'b.jpg');
		window.zbText = oText.replace(/medium/,'originals');
		window.zbText = zbText.replace(/f.jpg/,'b.jpg');
		
		window.originalImg = new Image();
		originalImg.src = document.getElementById('large-image_1').src;
		window.zoomedImg = new Image();
		zoomedImg.src = ozText;
		window.backImg = new Image();
		backImg.src = bText;
		window.zoomedBackImg = new Image();
		zoomedBackImg.src = zbText;
		
		addEvent(document.getElementById('zoom_img'), 'click', imgZoom);
		addEvent(document.getElementById('zoom_but'), 'click', imgZoom);
		addEvent(document.getElementById('previous-image'), 'click', frontView);
		addEvent(document.getElementById('next-image'), 'click', backView);
		
	}
	if (document.getElementById('brandLink')) {
		addEvent(document.getElementById('brandLink'), 'click', brandSort);
	}
	if (document.getElementById('product')) {
		var opts = document.forms['product'].p.getElementsByTagName('option');
		for (i=0;i<opts.length;i++) {
			if (opts[i].className != "oos") {
				document.forms['product'].p.selectedIndex = i;
				break;
			}
		}
		addEvent(document.forms['product'].p, 'change', oosCheck);
	}
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++) {
		if (inputs[i].type == 'button' || inputs[i].type == 'submit' || inputs[i].type == 'reset') {
			if (inputs[i].className != 'float_right important') {
				inputs[i].className = 'button';
				addEvent(inputs[i], 'mouseover', buttonOver);
				addEvent(inputs[i], 'mouseout', buttonOut);
			} else {
				addEvent(inputs[i], 'mouseover', rightOver);
				addEvent(inputs[i], 'mouseout', rightOut);
			}
		}
	}
	if (document.forms['basket']) {
		var inputs = document.forms['basket'].getElementsByTagName('input');
		for (i=0;i<inputs.length;i++) {
			if (inputs[i].type == 'text') {
				addEvent(inputs[i], 'keyup', basketSubmit);
			}
			if (inputs[i].type == 'checkbox') {
				addEvent(inputs[i], 'click', basketSubmit);
			}
		}
	}
}*/
	
	$(document).ready(function(){
		$('#mycarousel').jcarousel({
			vertical: true,
			scroll: 1,
			visible: 3,
			wrap: 'circular'
		});
		
		// JQZoom
		
		var jqzOpt = {
			zoomHeight: 370, 
			zoomWidth: 500, 
			xOffset: 15, 
			yOffset: 0, 
			position: "right", 
			title: false
		}
		$(".cImg").click(function(){
			$("#mImg").unbind().html("");
			$("#mImg").html("<a href='"+ $(this).attr("rel") +"' id='pImgLink' class='pImg'><img src='"+ $(this).attr("href") +"' id='pImg' /></a>");
			$("#pImgLink").jqzoom(jqzOpt);
			return false;
		});
		$("#pImgLink").jqzoom(jqzOpt);
		
		
		$("#shiny_reset").click(function(){
			$(':input','#shiny_form').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected'); 
			return false;
		});
		$("#shiny_submit").click(function(){
			var f = "#"+ $(this).attr("rel");
			$(f).val("true");
			$("#shiny_form").submit();
			return false;
		});
		$("#add_button").click(function(){
			if ($("select[name='p']").val() == "") {
				alert("Please select a size.");
				$("select[name='p']").focus();
			} else if ($("select[name='p'] option:selected").hasClass("oos")) {
				alert("Sorry. We don't have this item in that size.");
				$("select[name='p']").focus();
			} else {
				$("#add-to-bag").val("true");
				$("form[name='product']").submit();
			}
			return false;
		});
		$("input#existing").click(function(){
			$("#existing_customers").slideToggle();
			return false;
		});
		$("#usepoints").keyup(function(){
			var num = $(this).val();
			if (num != "") {
				num = parseFloat(num);
				var limit = $("#limitpoints").val();
				limit = parseFloat(limit);
				if (num > limit || isNaN(num)) {
					alert("Please enter a number equal to or lower than the limit for this order of "+ limit +".");
					$(this).val("");
				}
			}
		});
		var int = "";
		function findCustomer() {
			$.ajax({
				type: 'POST',
				url: 'find_customer.php',
				data: 'email='+ $("#referrer").val(),
				success: function(e) {
					if (e == "NO") {
						$("#referrer").css("border","1px solid red");
						$("#found").css("color","red");
						$("#found").text("Customer Not Found");
						$("#ref_id").val("");
					} else {
						if (e == $("#customer").val()) {
							$("#referrer").css("border","1px solid red");
							$("#found").css("color","red");
							$("#found").text("Cannot enter your own email!");
							$("#ref_id").val("");
						} else {
							$("#referrer").css("border","1px solid green");
							$("#found").css("color","green");
							$("#found").text("Customer Found");
							$("#ref_id").val(e);
						}
					}
				}
			});
		}
		$("#referrer").blur(function(){
			if ($("#referrer").val() != "") {
				findCustomer();
			} else { 
				$("#referrer").css("border","1px solid grey");
				$("#found").text("");
				$("#ref_id").val("");
			}
		});
		$("#pointsform").submit(function(){
			var num = $("#usepoints").val();
			num = parseFloat(num);
			var limit = $("#limitpoints").val();
			limit = parseFloat(limit);
			if (num > limit) {
				alert("Please enter a number equal to or lower than the limit for this order of "+ limit +".");
				$("#usepoints").val("");
				return false;
			} else {
				var dis = num/100;
				dis = dis.toFixed(2);
				if (isNaN(dis) || dis == 0) {
					if (!confirm("This will remove any points currently redeemed against this order")) {
						return false;
					}
				} else {
					if (!confirm("This will deduct £"+ dis +" from your order")) {
						return false;
					}
				}
			}
		});
		$(".finish_purchase").click(function(){
			if($("#referrer").val() != "" && $("#ref_id").val() == "") {
				alert("The email you entered was incorrect or not found.\nPlease check it, or delete it before continuing.");
				$("#referrer").focus();
				return false;
			} else {
				if ($("#receipt_points").length > 0) {
					$("#process_points").submit();
					return false;
				}
			}
		});
		$("#fr_link").click(function(){
			window.open("/free_returns.html","free_returns","width=400,height=250");
		});
    
    
    // Postcode finder system.
    
    function postcode_finder() {
        if($("#del_postcode_finder").length > 0) { var postcode = $("#del_postcode_finder").val(); } else { var postcode = ""; }
        $("#postcode_finder").html("Loading...");
        $.ajax({
            type: "GET",
            url: "/cart/includes/postcode.php",
            data: "postcode="+ postcode,
            success: function(e) {
                $("#postcode_finder").html(e);
                $("#postcode_finder_submit").click(function() { postcode_finder(); });
                $("#postcode_finder_id").change(function() { address_finder(); });
            }
        });
    }
    
    function address_finder() {
        if($("#postcode_finder_id").length > 0) { var id = $("#postcode_finder_id").val(); } else { var id = ""; }
        $.ajax({
            type: "GET",
            url: "/cart/includes/address.php",
            data: "id="+ id,
            success: function(e) {
				var addarr = e.split(",");
				if ($("#altdelivery").is(":checked")) {
					$("input[name='d_address1']").val(addarr[1]);
					$("input[name='d_address2']").val(addarr[2]);
					$("input[name='d_address3']").val(addarr[3]);
					$("input[name='d_town']").val(addarr[4]);
					$("input[name='d_county']").val(addarr[5]);
					$("input[name='d_postcode']").val(addarr[6]);
				} else {
					$("input[name='s_organisation']").val(addarr[0]);
					$("input[name='s_address1']").val(addarr[1]);
					$("input[name='s_address2']").val(addarr[2]);
					$("input[name='s_address3']").val(addarr[3]);
					$("input[name='s_town']").val(addarr[4]);
					$("input[name='s_county']").val(addarr[5]);
					$("input[name='s_postcode']").val(addarr[6]);
					$("input[name='d_address1']").val(addarr[1]);
					$("input[name='d_address2']").val(addarr[2]);
					$("input[name='d_address3']").val(addarr[3]);
					$("input[name='d_town']").val(addarr[4]);
					$("input[name='d_county']").val(addarr[5]);
					$("input[name='d_postcode']").val(addarr[6]);
				}
            }
        });
    }
    
    if($("#postcode_finder").length > 0) { postcode_finder(); }
	});

