document.voider = false;
document.newProdMoreCount = 0;
document.selectedItemDetails = [];
document.splatIndex = 150;
document.depColCheck = [];
document.places = [];
document.gId=0;
document.cId=0;
document.mapRun = false;
document.closest = 100000000000000000000000;
document.closestShop= document.closest;
document.Gtick = 0;
document.postcode = "";
document.firstBasketLoad = true;
document.autoDelPass = false;


document.delChoice;

//coin slider payloads
(function($){var params=new Array;var order=new Array;var images=new Array;var links=new Array;var linksTarget=new Array;var titles=new Array;var interval=new Array;var imagePos=new Array;var appInterval=new Array;var squarePos=new Array;var reverse=new Array;$.fn.coinslider=$.fn.CoinSlider=function(options){init=function(el){order[el.id]=new Array();images[el.id]=new Array();links[el.id]=new Array();linksTarget[el.id]=new Array();titles[el.id]=new Array();imagePos[el.id]=0;squarePos[el.id]=0;reverse[el.id]=1;params[el.id]=$.extend({},$.fn.coinslider.defaults,options);$.each($('#'+el.id+' img'),function(i,item){images[el.id][i]=$(item).attr('src');links[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('href'):'';linksTarget[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('target'):'';titles[el.id][i]=$(item).next().is('span')?$(item).next().html():'';$(item).hide();$(item).next().hide();});$(el).css({'background-image':'url('+images[el.id][0]+')','width':params[el.id].width,'height':params[el.id].height,'position':'relative','background-position':'top left'}).wrap("<div class='coin-slider' id='coin-slider-"+el.id+"' />");$('#'+el.id).append("<div class='cs-title' id='cs-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000;'></div>");$.setFields(el);if(params[el.id].navigation)
$.setNavigation(el);$.transition(el,0);$.transitionCall(el);}
$.setFields=function(el){tWidth=sWidth=parseInt(params[el.id].width/params[el.id].spw);tHeight=sHeight=parseInt(params[el.id].height/params[el.id].sph);counter=sLeft=sTop=0;tgapx=gapx=params[el.id].width-params[el.id].spw*sWidth;tgapy=gapy=params[el.id].height-params[el.id].sph*sHeight;for(i=1;i<=params[el.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sHeight=tHeight+1;}else{sHeight=tHeight;}
for(j=1;j<=params[el.id].spw;j++){if(gapx>0){gapx--;sWidth=tWidth+1;}else{sWidth=tWidth;}
order[el.id][counter]=i+''+j;counter++;if(params[el.id].links)
$('#'+el.id).append("<a href='"+links[el.id][0]+"' class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");else
$('#'+el.id).append("<div class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");$("#cs-"+el.id+i+j).css({'background-position':-sLeft+'px '+(-sTop+'px'),'left':sLeft,'top':sTop});sLeft+=sWidth;}
sTop+=sHeight;sLeft=0;}
$('.cs-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('.cs-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});$('#cs-title-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('#cs-title-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});if(params[el.id].hoverPause){$('.cs-'+el.id).mouseover(function(){params[el.id].pause=true;});$('.cs-'+el.id).mouseout(function(){params[el.id].pause=false;});$('#cs-title-'+el.id).mouseover(function(){params[el.id].pause=true;});$('#cs-title-'+el.id).mouseout(function(){params[el.id].pause=false;});}};$.transitionCall=function(el){clearInterval(interval[el.id]);delay=params[el.id].delay+params[el.id].spw*params[el.id].sph*params[el.id].sDelay;interval[el.id]=setInterval(function(){$.transition(el)},delay);}
$.transition=function(el,direction){if(params[el.id].pause==true)return;$.effect(el);squarePos[el.id]=0;appInterval[el.id]=setInterval(function(){$.appereance(el,order[el.id][squarePos[el.id]])},params[el.id].sDelay);$(el).css({'background-image':'url('+images[el.id][imagePos[el.id]]+')'});if(typeof(direction)=="undefined")
imagePos[el.id]++;else
if(direction=='prev')
imagePos[el.id]--;else
imagePos[el.id]=direction;if(imagePos[el.id]==images[el.id].length){imagePos[el.id]=0;}
if(imagePos[el.id]==-1){imagePos[el.id]=images[el.id].length-1;}
$('.cs-button-'+el.id).removeClass('cs-active');$('#cs-button-'+el.id+"-"+(imagePos[el.id]+1)).addClass('cs-active');if(titles[el.id][imagePos[el.id]]){$('#cs-title-'+el.id).css({'opacity':0}).animate({'opacity':params[el.id].opacity},params[el.id].titleSpeed);$('#cs-title-'+el.id).html(titles[el.id][imagePos[el.id]]);}else{$('#cs-title-'+el.id).css('opacity',0);}};$.appereance=function(el,sid){$('.cs-'+el.id).attr('href',links[el.id][imagePos[el.id]]).attr('target',linksTarget[el.id][imagePos[el.id]]);if(squarePos[el.id]==params[el.id].spw*params[el.id].sph){clearInterval(appInterval[el.id]);return;}
$('#cs-'+el.id+sid).css({opacity:0,'background-image':'url('+images[el.id][imagePos[el.id]]+')'});$('#cs-'+el.id+sid).animate({opacity:1},300);squarePos[el.id]++;};$.setNavigation=function(el){$(el).append("<div id='cs-navigation-"+el.id+"'></div>");$('#cs-navigation-'+el.id).hide();$('#cs-navigation-'+el.id).append("<a href='#' id='cs-prev-"+el.id+"' class='cs-prev'>prev</a>");$('#cs-navigation-'+el.id).append("<a href='#' id='cs-next-"+el.id+"' class='cs-next'>next</a>");$('#cs-prev-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'left':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el,'prev');$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-next-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'right':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el);$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$("<div id='cs-buttons-"+el.id+"' class='cs-buttons'></div>").appendTo($('#coin-slider-'+el.id));for(k=1;k<images[el.id].length+1;k++){$('#cs-buttons-'+el.id).append("<a href='#' class='cs-button-"+el.id+"' id='cs-button-"+el.id+"-"+k+"'>"+k+"</a>");}
$.each($('.cs-button-'+el.id),function(i,item){$(item).click(function(e){$('.cs-button-'+el.id).removeClass('cs-active');$(this).addClass('cs-active');e.preventDefault();$.transition(el,i);$.transitionCall(el);})});$('#cs-navigation-'+el.id+' a').mouseout(function(){$('#cs-navigation-'+el.id).hide();params[el.id].pause=false;});$("#cs-buttons-"+el.id).css({'left':'50%','margin-left':-images[el.id].length*15/2-5,'position':'relative'});}
$.effect=function(el){effA=['random','swirl','rain','straight'];if(params[el.id].effect=='')
eff=effA[Math.floor(Math.random()*(effA.length))];else
eff=params[el.id].effect;order[el.id]=new Array();if(eff=='random'){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}
$.random(order[el.id]);}
if(eff=='rain'){$.rain(el);}
if(eff=='swirl')
$.swirl(el);if(eff=='straight')
$.straight(el);reverse[el.id]*=-1;if(reverse[el.id]>0){order[el.id].reverse();}}
$.random=function(arr){var i=arr.length;if(i==0)return false;while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=arr[i];var tempj=arr[j];arr[i]=tempj;arr[j]=tempi;}}
$.swirl=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var x=1;var y=1;var going=0;var num=0;var c=0;var dowhile=true;while(dowhile){num=(going==0||going==2)?m:n;for(i=1;i<=num;i++){order[el.id][c]=x+''+y;c++;if(i!=num){switch(going){case 0:y++;break;case 1:x++;break;case 2:y--;break;case 3:x--;break;}}}
going=(going+1)%4;switch(going){case 0:m--;y++;break;case 1:n--;x++;break;case 2:m--;y--;break;case 3:n--;x--;break;}
check=$.max(n,m)-$.min(n,m);if(m<=check&&n<=check)
dowhile=false;}}
$.rain=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var c=0;var to=to2=from=1;var dowhile=true;while(dowhile){for(i=from;i<=to;i++){order[el.id][c]=i+''+parseInt(to2-i+1);c++;}
to2++;if(to<n&&to2<m&&n<m){to++;}
if(to<n&&n>=m){to++;}
if(to2>m){from++;}
if(from>to)dowhile=false;}}
$.straight=function(el){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}}
$.min=function(n,m){if(n>m)return m;else return n;}
$.max=function(n,m){if(n<m)return m;else return n;}
this.each(function(){init(this);});};$.fn.coinslider.defaults={width:565,height:290,spw:7,sph:5,delay:3000,sDelay:30,opacity:0.7,titleSpeed:500,effect:'',navigation:true,links:true,hoverPause:true};})(jQuery);

//Digitalpassion uri
function uri(a){var b=a!==undefined?true:false;var c=new Object;c.raw=a!==undefined?a:window.location.pathname;c.local=c.raw.search("^(http://|https://|www.)")==-1?true:false;if(c.local==false){c.protocol=c.raw.search("^(http://)")!==-1?"http":"https";var d=c.raw.split("/")[2].split(".");var e=(d[d.length-2].length<=3?"."+d[d.length-2]:"")+"."+d[d.length-1];c.ext=e;c.domain=c.raw.split(c.ext)[0].split(".")[c.raw.split(c.ext)[0].split(".").length-1]+c.ext;c.domain=c.domain.replace(c.protocol+"://","")}else{c.protocol=null;c.ext=null;c.domain=null}c.hashbang=c.raw.search("#!")==-1?false:true;var f=b==true?c.raw:window.location.hash;c.hash=f.slice(f.search("#"));if(c.hash.search("#")==-1){c.hash=null;c.hashless=null}else{c.hashless=c.hash.replace("#","")}var g=c.raw.split("/");if(c.hash==null){c.path=g[g.length-1].slice(0)}else{c.path=g[g.length-1].slice(0,g[g.length-1].search("#"))}return c}

//Coin slider end

function checkShowStock(){
	if($("#showStockQty").attr("rel") == "0"){
		$(".tipper").hide();
	}
}

function checkDelivery(){
	if(document.autoDelPass){
		$("#deliveryDetails .next").button("enable");
		if($("[href=#complete]").length !== 0){
			$("#basketTabs").tabs({disabled: [3,4]});
		}else{
			$("#basketTabs").tabs({disabled: [4]});
		}
		$("a[href=#deliveryDetails] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
	}else{
	
	var total = 0;
	
	$("#deliveryDetails input.required").each(function(){
		if($(this).val().length !== 0){
			total++;
			$("label", $(this).parent()).empty();
		}else{
			$("label", $(this).parent()).empty().append("This field is required");
		}
	});
	
	var failed = false;
	
	if($("#deliveryDetails input.required").length !== total){
		failed = true;
	}
	
	if($("*[name=email]").val() !== $("*[name=email2]").val()){
		failed = true;
		$("label", $("*[name=email2]").parent()).empty().append("This field is must match the above");
	}else{
		$("label", $("*[name=email2]").parent()).empty();
	}
	
	if(!checkEmail($("*[name=email]"))){
		failed = true;
		$("label", $("*[name=email]").parent()).empty().append("The email must be valid");
	}else{
		$("label", $("*[name=email]").parent()).empty();
	}
	
	/*if(regexMatch($("*[name=postcode]").last().val().toUpperCase(), "^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$") !== null){
		$("label", $("*[name=postcode]").last().parent()).empty();
	}else{
		failed = true;
		$("label", $("*[name=postcode]").last().parent()).empty().append("The postcode must be valid");
	}*/
	
	if(failed == false){
		$("#deliveryDetails .next").button("enable");
		if($("[href=#complete]").length !== 0){
			$("#basketTabs").tabs({disabled: [3,4]});
		}else{
			$("#basketTabs").tabs({disabled: [4]});
		}
		$("a[href=#deliveryDetails] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
	}else{
		$("#deliveryDetails .next").button("disabled");
		$("#basketTabs").tabs({disabled: [3, 4]});
		$("a[href=#deliveryDetails] .ui-icon").removeClass("ui-icon-check").addClass("ui-icon-close");
	}
	
}
}

function dev(){
	if(window.location.hash !== "#dev"){
		$(".devHide").hide()
	}
}

function forceComplete(){
	$("#basketTabs").tabs({disabled: [0, 1, 2, 3]});
	$("a[href] .ui-icon").removeClass("ui-icon-check").addClass("ui-icon-close");
	$("a[href=#confirmation] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
	$(".tabHeading li a[href=#confirmation]").click();
}

function checkBasket(){
	
	$("#basket .productRow").each(function(){
		$("input", this).eq(1).attr("disabled", true);
	});
	
	for(var i=0;i<$("#basket .productRow").length;i++){
		if($("input", $("#basket .productRow").eq(i)).eq(0).val() > $("input", $("#basket .productRow").eq(i)).eq(1).val()){
			$(".qtyChecked", $("#basket .productRow").eq(i)).empty().append("<img src='/generic/images/cross.jpg'/>")
		}else{
			$(".qtyChecked", $("#basket .productRow").eq(i)).empty().append("<img src='/generic/images/tick.jpg'/>")
		}
		
		if($("input", $("#basket .productRow").eq(i)).eq(0).val() == 0){
			$(".qtyChecked", $("#basket .productRow").eq(i)).empty().append("<img src='/generic/images/cross.jpg'/>")
		}
		
	}
	
	var failed = false
	for(var g=0;g<$(".stockQty").length;g++){
		if($("img", $(".specialCells")).eq(g).attr("src") == "/generic/images/cross.jpg"){
			failed = true;
		}
	}
	
	var delOption = $(":selected", "#deliveryOption").attr("liwCode");
	document.delOption = delOption
	
	if(delOption < -101){
		var failed = false
	}
	
	if(delOption == -1){
		var failed = true;	
	}
	
	if(failed == false){
		document.basketFailed = true;
		$(".deliverCheck").empty().append("<img src='/generic/images/tick.jpg'/>");
		$("#basket .next").button("enable");
		$("#basketTabs").tabs({ disabled: [2,3,4]});
		$("a[href=#basket] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check")
	}else{
		document.basketFailed = false;
		$(".deliverCheck").empty().append("<img src='/generic/images/cross.jpg'/>");
		$("#basket .next").button("disable");
		$("#basketTabs").tabs({ disabled: [1, 2,3,4]});
		$("a[href=#basket] .ui-icon").removeClass("ui-icon-check").addClass("ui-icon-close");
	}
}

function checkEmail(tar) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test($(tar).val())) {
		return false;
	}else{
		return true;
	}
}

function regexMatch(_var, reg){
	_var = _var.match(reg);
	return _var;
}

function checkPersonal(){
	if(document.customerAccountCode !== ""){
		$("#personalDetails input").attr("disabled", "disabled");
		$("#personalDetails .next").button("enable");
		if($("#deliveryOption option:selected").attr("liwCode") == -101){
			$("#basketTabs").tabs({disabled: [3,2]});
		}else{
			$("#basketTabs").tabs({disabled: [3,4]});
		}
		$("a[href=#personalDetails] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
	}else{
	
	
	var total = 0;
	
	$("#personalDetails input.required").each(function(){
		if($(this).val().length !== 0){
			total++;
			$("label", $(this).parent()).empty();
		}else{
			$("label", $(this).parent()).empty().append("This field is required");
		}
	});
	
	var failed = false;
	
	if($("#personalDetails input.required").length !== total){
		failed = true;
	}
	
	if($("*[name=email]").val() !== $("*[name=email2]").val()){
		failed = true;
		$("label", $("*[name=email2]").parent()).empty().append("This field is must match the above");
	}else{
		$("label", $("*[name=email2]").parent()).empty();
	}
	
	if(!checkEmail($("*[name=email]"))){
		failed = true;
		$("label", $("*[name=email]").parent()).empty().append("The email must be valid");
	}else{
		$("label", $("*[name=email]").parent()).empty();
	}
	
	//post code regex check
	if(regexMatch($("*[name=postcode]").val().toUpperCase(), "^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$") !== null){
		$("label", $("*[name=postcode]").parent()).empty();
	}else{
		failed = true;
		$("label", $("*[name=postcode]").parent()).empty().append("The postcode must be valid");
	}
	
	
	if(failed == false){
		$("#personalDetails .next").button("enable");
		if($("#deliveryOption option:selected").attr("liwCode") == -101){
			$("#basketTabs").tabs({disabled: [3,2]});
		}else{
			$("#basketTabs").tabs({disabled: [3,4]});
		}
		$("a[href=#personalDetails] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
	}else{
		$("#personalDetails .next").button("disabled");
		$("#basketTabs").tabs({disabled: [2,3,4]});
		$("a[href=#personalDetails] .ui-icon").removeClass("ui-icon-check").addClass("ui-icon-close");
	}
}
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function are_cookies_enabled()
{
	var cookieEnabled = (navigator.cookieEnabled) ? true : false;

	if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
	{ 
		document.cookie="testcookie";
		cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
	}
	return (cookieEnabled);
}

function geocodeBasket(){
	function checkStoreDist(end){
		var start = $("#reserveCollectPostcode").val();
		var end = end
		var request = {
			origin:start, 
			destination:end,
			travelMode: google.maps.DirectionsTravelMode.DRIVING
		};
		var directionsServiceBasket = new google.maps.DirectionsService();
		directionsServiceBasket.route(request, function(response, status) {
			if (status == google.maps.DirectionsStatus.OK) {
				var route = response.routes[0];
				var dist = 0
				for (var i = 0; i < route.legs.length; i++) {
					 dist += route.legs[i].distance.value;
				}
				if(dist < document.closestShop){
					document.closestShop = dist
				}
				document.Gtick++
				
				var distance =  parseFloat($("#localDeliveryDistance").attr("rel"));
				
				if(document.Gtick >= $("#storeLocations span").length){
					
					if(document.closestShop > distance*0.621371192){
						$("#basket .deliverCheck").empty().append("<img src='/generic/images/cross.jpg' />");
					}else{
						$("#basket .deliverCheck").empty().append("<img src='/generic/images/tick.jpg' />");
					}
					$("#dialog-reserveCollectPostcode").dialog("close");
				}
			}else{
				if(document.Gtick >= $("#storeLocations span").length){
					$("#dialog-reserveCollectPostcode").append("<span>Google could not determine your location. Please try again.</span>");
				}
			}
		});
	}
	for(var g=0;g<$("#storeLocations span").length;g++){
		checkStoreDist($("#storeLocations span").eq(g).attr("rel"));
	}	
}

function dialog_image(img, title){
	if($("#dialog_image").length ==0){
		$("body").append("<div id='dialog_image' title='"+title+"'><p class='center'><img src='"+img+"'/></p></div>");
	}else{
		$("#dialog_image").empty().append("<p class='center'><img src='"+img+"'/></p>")
	}
	
	$("#dialog_image").dialog({
			modal: true
	});
}

function capitaliseFirstLetter(string){
    return string.charAt(0).toUpperCase() + string.slice(1);
}

function basketLoading(){
	$("#jsonBasket").empty().append("<div class='loading'></div><p>loading basket</p>");
}

function changeAdverts(){
	var target = "#dialog-changeAdverts";
	if($(target).length !== 0){
		if($("#dialog-changeAdverts input").length == 0){
			$("#tabs-changeAdverts").tabs();
			var len = $("#c-slider-left img").length;
			for(var i=0;i<len;i++){
				var append = "<p>"//$("#c-slider-left img").eq(i).attr("src")
				append += '<a class="noUnderline" href=\'javascript:dialog_image("'+$("#c-slider-left img").eq(i).attr("src")+'", "'+$("#c-slider-left a").eq(i).attr("title")+'")\'><img align="left" style="margin-right:10px;vertical-align:middle;" width="50px" height="80px" src="'+$("#c-slider-left img").eq(i).attr("src")+'" /></a>';
				append += "<br>"+unescape($("#c-slider-left a").eq(i).attr("title"));
				append += '<br>Link : <input style="width:300px" value="'+$("#c-slider-left a").eq(i).attr("href")+'"/> <button class="adDelete">Delete</button>'
				append += "</p>"
				append += "<div class='clear'></div>";
				$("#tabs-rightAdverts #loadedAdverts").append(append);
			};
			$(".adDelete").button({
				icons: {
              		primary: "ui-icon-trash"
      		 	},
           	 text: false
       		});
       		$("#advertUpload").button().click(function(){
	       		//upload func
       		});
		}
		
		//$(target).append($("#c-slider-left a img").attr("src"));
		
		$(target).dialog({
			height:500,
			width:700,
			buttons:{
				Cancel:function(){
					$(this).dialog("close");
				},
				Update: function(){
					
				}
			}
		});
	}
}

// number formatting function
// copyright Stephen Chapman 24th March 2006, 22nd August 2008
// permission to use this function is granted provided
// that this copyright notice is retained intact

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {var x = Math.round(num * Math.pow(10,dec));if (x >= 0) n1=n2='';var y = (''+Math.abs(x)).split('');var z = y.length - dec; if (z<0) z--; for(var i = z; i < 0; i++) y.unshift('0'); if (z<0) z = 1; y.splice(z, 0, pnt); if(y[0] == pnt) y.unshift('0'); while (z > 3) {z-=3; y.splice(z,0,thou);}var r = curr1+n1+y.join('')+n2+curr2;return r;}

function updateBasket(data){
    $("#jsonBasket").empty().css("background-image","none");
    if(data !== "" && data.length !== 0){
	    if(document.firstBasketLoad == false){
			$("#dialog-basketRedirect").dialog({
				height: 100,
				width: 400,
				modal: true,
				resizable:false
			});
			$(".ui-dialog-titlebar").hide();
			$("#dialog-basketRedirect button").first().button({ icons: {primary:"ui-icon-triangle-1-w"} })
			.click(function(){
				$("#dialog-basketRedirect").dialog("destroy");
			})
			$("#dialog-basketRedirect button").eq(1).button({ icons: {primary:"ui-icon-cart", secondary:"ui-icon-triangle-1-e"} })
			.click(function(){
				window.location = "/generic/website.asp?page=basket";
			});
		}
		$("#jsonBasket").html("<p><span class='left'>Items :&nbsp;</span><span class='left'> "+data[0].basketQty+"</span></p><br/><p><span class='left'>Costs : &pound;</span><span class='left'>"+formatNumber(data[0].basketTotalPrice,2,',','.','','','','')+"</span><div class='clear'></div></p>");
		$("#basketBox button").show();
        
    }else{
      $("#jsonBasket").html("<p>Your basket is empty</p>");
      $("#basketBox button").hide(); 
    }
    output(document.firstBasketLoad);
    
    if(document.firstBasketLoad == true){
	 	document.firstBasketLoad = false;   
    }
    
    output(document.firstBasketLoad);
}

function output(msg){
	if(getVar("output") == "true"){
		alert(msg);	
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function popitup(url) {
	newwindow=window.open(url,'name','height=500,width=600');
	if (window.focus) {newwindow.focus()}
	return false;
}

function log(message) {
    $("<div/>").text(message).prependTo("#log");
    $("#log").attr("scrollTop", 0);
}

$(document).mousemove(function(e){
    document.mouseX = e.pageX;
    document.mouseY = e.pageY;
});



$(function(){
	$(".textAdvert").click(function(){
		window.location = $(this).attr("href");
	}).css("cursor", "pointer");
	
	dev();/***/
	
	document.cookies = are_cookies_enabled();
	document.editmode = $("#eMode").attr("rel");
    document.websiteMode = $("#websiteMode").attr("rel");
	document.ediPathSuffix = $("#ediPathSuffix").attr("rel");
	document.ciWebsite = $("#ciWebsite").attr("rel");
	document.customerAccountCode = $("#customerAccountCode").attr("rel");
	
	if(document.ciWebsite == 1){
		$(".ciHide").show();
	}
	
	if($("#shopByBrand select option").length !== 0){
		$("#shopByBrand select").change(function(){
		window.location = $(":selected", this).val();
		});
	}
	
	$.ajaxSetup({ cache: false });
	
	if($(".tipper").length !== 0){
		tipperListener()
	}
	
	if ($.browser.msie && $.browser.version.substr(0,1)<8) {
		$("body").append('<div id="dialog-out-date" title="Out of date browser"><p>Your version of Internet Explorer is not fully supported. Some functionality will not be available; please update to the latest version of your chosen browser.</p><p><a href="http://www.google.com/chrome">Google Chrome</a></p><p><a href="http://www.mozilla.com/en-US/firefox/new/">Firefox</a></p><p><a href="http://windows.microsoft.com/en-GB/internet-explorer/products/ie/home">Internet Explorer</a></p></div>');
		
		if(readCookie("noissaplatigid_warn") !== "true"){
			$("#dialog-out-date").dialog({
				modal:true,
				width:400,
				height:250,
				buttons: {
					Continue: function() {
						$( this ).dialog( "close" );
					}
				}
			});
			createCookie("noissaplatigid_warn", "true", 1)
		}
		//The shopping cart requires the use of temporary cookies, please enable cookies to continue.
	}
	
	$('#basketTabs').bind('tabsselect', function(event, ui) {
			
			//Sort personal details
			
			var pData = "/generic/utils/updatePersonalDetailsJSON.asp?";
			
			pData += "customerAccountCode="+document.customerAccountCode+"&";
			
			var regAddressCode = $("#fetchRegisteredDeliveryAddresses *:checked").attr("value") !== undefined ? $("#fetchRegisteredDeliveryAddresses *:checked").attr("value") : "";
			
			pData += "registeredAddressCode="+regAddressCode+"&";
			
			pData += "title="+$("*[name=title]").val()+"&";
			pData += "firstName="+$("*[name=firstName]").val()+"&";
			pData += "surname="+$("*[name=surname]").val()+"&";
			pData += "houseNameNumber="+$("*[name=house]").val()+"&";
			pData += "address1="+$("*[name=address0]").val()+"&";
			pData += "address2="+$("*[name=address1]").val()+"&";
			pData += "town="+$("*[name=town]").val()+"&";
			pData += "county="+$("*[name=county]").val()+"&";
			pData += "postcode="+$("*[name=postcode]").val()+"&";
			pData += "orderRef="+$("*[name=orderRef]").val()+"&";
			pData += "deliveryNotes="+$("*[name=deliveryNotes]").val()+"&";
			
			var email = $("*[name=email]").val() == $("*[name=email2]").val()? $("*[name=email]").val() : "";
			
			pData += "email="+email+"&";
			pData += "telephone="+$("*[name=tel]").val()+"&";
			pData += "mobile="+$("*[name=mobile]").val()+"&";
			
			var register = $("*[name=register]:checked").length
			pData += "register="+register+"&";
			var password = $("*[name=password]").val() == $("*[name=password2]").val() ? $("*[name=password]").val() : "";
			pData += "password="+$("*[name=password]").val()+"&";
			var remember = $("*[name=remember]:checked").length
			
			pData += "rememberMe="+remember+"&";
			
			pData += "deliveryTitle="+$("*[name=title]").last().val()+"&";
			pData += "deliveryFirstName="+$("*[name=firstName]").last().val()+"&";
			pData += "deliverySurname="+$("*[name=surname]").last().val()+"&";
			pData += "deliveryHouseNameNumber="+$("*[name=house]").last().val()+"&";
			pData += "deliveryAddress1="+$("*[name=address0]").last().val()+"&";
			pData += "deliveryAddress2="+$("*[name=address1]").last().val()+"&";
			pData += "deliveryTown="+$("*[name=town]").last().val()+"&";
			var billingSame = $("*[name=billingDeliveryTheSame]:checked").length
			
			pData += "billingDeliveryTheSame="+billingSame+"&";
			pData += "deliveryCounty="+$("*[name=county]").last().val()+"&";
			pData += "deliveryPostcode="+$("*[name=delPostcode]").last().val();
			
			
			$.ajax({
			  url: pData,
			  async: false
			});
			//alert(pData);
			
			var totalProd = $("#basket .productRow").length;
		var itemArray = new Array();
		var qtyArray = new Array();
		var costArray = new Array();
		for(var d = 0; d< totalProd;d++){
			itemArray.push($("#basket .productRow").eq(d).attr("liw"));
			qtyArray.push($("input", $("#basket .productRow").eq(d)).first().val());
			costArray.push(parseFloat($("#basket .productRow").eq(d).attr("cost"))*$("input", $("#basket .productRow").eq(d)).first().val());
		}
		var delLiw = $("option:selected", "#deliveryOption").attr("liwCode");
		
		if(delLiw !== "-1" && delLiw !== "0"){
			
			itemArray.push(delLiw);
			qtyArray.push(1);
			costArray.push($("option:selected", "#deliveryOption").attr("value"));
		}
		
		var url = '/generic/utils/updateBasketJSON.asp?liwCodes='+itemArray+'&productQtys='+qtyArray+'&productPrices='+costArray
		$.ajax({
		  url: url,
		  async: false
		});	
		
	});
	
	window.onbeforeunload = function() {
		if(getVar("page") == "basket"){
			var pData = "/generic/utils/updatePersonalDetailsJSON.asp?";
			
			pData += "customerAccountCode="+document.customerAccountCode+"&";
			
			var regAddressCode = $("#fetchRegisteredDeliveryAddresses *:checked").attr("value") !== undefined ? $("#fetchRegisteredDeliveryAddresses *:checked").attr("value") : "";
			
			pData += "registeredAddressCode="+regAddressCode+"&";
			
			pData += "title="+$("*[name=title]").val()+"&";
			pData += "firstName="+$("*[name=firstName]").val()+"&";
			pData += "surname="+$("*[name=surname]").val()+"&";
			pData += "houseNameNumber="+$("*[name=house]").val()+"&";
			pData += "address1="+$("*[name=address0]").val()+"&";
			pData += "address2="+$("*[name=address1]").val()+"&";
			pData += "address3="+$("*[name=address2]").val()+"&";
			pData += "town="+$("*[name=town]").val()+"&";
			pData += "county="+$("*[name=county]").val()+"&";
			pData += "postcode="+$("*[name=postcode]").val()+"&";
			pData += "orderRef="+$("*[name=orderRef]").val()+"&";
			pData += "deliveryNotes="+$("*[name=deliveryNotes]").val()+"&";
			
			var email = $("*[name=email]").val() == $("*[name=email2]").val()? $("*[name=email]").val() : "";
			
			pData += "email="+email+"&";
			pData += "telephone="+$("*[name=tel]").val()+"&";
			pData += "mobile="+$("*[name=mobile]").val()+"&";
			
			var register = $("*[name=register]:checked").length
			pData += "register="+register+"&";
			var password = $("*[name=password]").val() == $("*[name=password2]").val() ? $("*[name=password]").val() : "";
			pData += "password="+$("*[name=password]").val()+"&";
			var remember = $("*[name=remember]:checked").length
			
			pData += "rememberMe="+remember+"&";
			
			pData += "deliveryTitle="+$("*[name=title]").last().val()+"&";
			pData += "deliveryFirstName="+$("*[name=firstName]").last().val()+"&";
			pData += "deliverySurname="+$("*[name=surname]").last().val()+"&";
			pData += "deliveryHouseNameNumber="+$("*[name=house]").last().val()+"&";
			pData += "deliveryAddress1="+$("*[name=address0]").last().val()+"&";
			pData += "deliveryAddress2="+$("*[name=address1]").last().val()+"&";
			pData += "deliveryAddress3="+$("*[name=address2]").last().val()+"&";
			pData += "deliveryTown="+$("*[name=town]").last().val()+"&";
			
			var billingSame = $("*[name=billingDeliveryTheSame]:checked").length
			
			pData += "billingDeliveryTheSame="+billingSame+"&";
			pData += "deliveryCounty="+$("*[name=county]").last().val()+"&";
			pData += "deliveryPostcode="+$("*[name=delPostcode]").last().val();
			
			
			$.ajax({
			  url: pData,
			  async: false
			});
			
			
			var totalProd = $("#basket .productRow").length;
		var itemArray = new Array();
		var qtyArray = new Array();
		var costArray = new Array();
		for(var d = 0; d< totalProd;d++){
			itemArray.push($("#basket .productRow").eq(d).attr("liw"));
			qtyArray.push($("input", $("#basket .productRow").eq(d)).first().val());
			costArray.push(parseFloat($("#basket .productRow").eq(d).attr("cost"))*$("input", $("#basket .productRow").eq(d)).first().val());
		}
		var delLiw = $("option:selected", "#deliveryOption").attr("liwCode");
		
		if(delLiw !== "-1" && delLiw !== "0"){
			
			itemArray.push(delLiw);
			qtyArray.push(1);
			costArray.push($("option:selected", "#deliveryOption").attr("value"));
		}
		
		var url = '/generic/utils/updateBasketJSON.asp?liwCodes='+itemArray+'&productQtys='+qtyArray+'&productPrices='+costArray
		$.ajax({
		  url: url,
		  async: false
		});	
		}
	}
	if($("#file").length !== 0){
		//$('#file').customFileInput();
		$("#panel button").button();
	}
	
	if($("#dialog-friend").lenght!==0){
		$("#dialog-friend").hide();
		$(".shareEmail").click(function(){
			$("#friend").validate();
			$( "#dialog-friend:ui-dialog" ).dialog( "destroy" );	
			$( "#dialog-friend" ).dialog({
			modal: true,
			resizable: false,
			width:550,
			height:300,
			buttons: {
				Cancel: function() {
					$( this ).dialog( "close" );
				},
				Send: function() {
					$("#friend").submit();
				}
			}
			});
			$("#dialog-friend").dialog("option", "position", 'center');
		})
	}
	
	if(document.editmode == "1"){
		
		if($("#tools-heat").length !== 0){
			$("#tools-heat").change(function(){
				$.getJSON('/generic/utils/updateProductJSON.asp?liwCode='+getVar("liwCode")+'&hotProductLevel='+$("#tools-heat").val(), function(data) {
				});
			});
		}
		
		if(getVar("page") == ""){
			if($("#tools-home").length !== 0){
				$("#tools-home").show();
			}	
		}
		
		if($("#tools-"+getVar("page")).length !== 0){
			$("#tools-"+getVar("page")).show();
		}else{
			if(getVar("page") == ""){
				if($("#tools-home").length !== 0){
					$("#tools-home").show();
				}	
			}else{
				$(".tools").append("No tools for this page.<br/><br/><br/>")
			}
		}
		$("#controls").show();
		$("#controls").css("opacity", 0.8);
		$("#controls").css("right", "-"+$("#controls #panel").css("width"));
		$("#controls #handle").click(function(){
			if($("#controls").attr("rel") !== "out"){
				$("#handle img").attr("src", "/generic/resources/img/arrowRight.png");
				$("#panel").show();
				$("#controls").css("right","-"+$("#controls #panel").css("width"));
				$("#controls").attr("rel", "out");
				$("#controls").animate({
					right: 0
				}, 500);
			}else{
				$("#handle img").attr("src", "/generic/resources/img/arrowLeft.png");
				$("#controls").attr("rel", "in");
				$("#controls").animate({
					right: "-"+$("#controls #panel").css("width")
				}, 500, function(){
					$("#panel", this).hide();
					$(this).css("right", "0px");
				});
			}
		});
	}
	if($("#menuSpill ul").length !== 0){
	 	
    }
	if($(".formSection").length !== 0){
		$(".formSection input").focus(function(){
			var check = $(this).parent().parent().attr("id");
			if(check !== "tabsAddress" && check !== "lookup"){
				$(this).parent().parent().css("background-color", "#FFFFee");
			}else{
				$(this).parent().parent().parent().css("background-color", "#FFFFee");
			}
		}).blur(function(){
			var check = $(this).parent().parent().attr("id");
			if(check !== "tabsAddress" && check !== "lookup"){
				$(this).parent().parent().css("background-color", "white");
			}else{
				$(this).parent().parent().parent().css("background-color", "white");
			}
		});
	}
	
	if($("#postcode").length!==0){
		$("#findUs button").button();
	}
	
	if($("#lookupAgain").length !== 0){
		$("#lookupAgain").button();
		$("#lookupAgain").click(function(){
			$.getJSON('http://findesolutions.com/support/webextend/redrocketpostcodelookup.asp?postCode='+$(".postcode").val(), function(data) {//bookmarker
				var town = data[0].town.toLowerCase();
				$("#tabsAddress .address0").val(data[0].address0)
				$("#tabsAddress .address1").val(data[0].address1)
				$("#tabsAddress .town").val(capitaliseFirstLetter(town))
				$("#tabsAddress .county").val(data[0].county)
				$("#tabsAddress .postcode").val(data[0].postCode)
				$("#tabsAddress .postcode").focus()
			});
		});
	}
	
	if($("#basket select").length !== 0){
		$("#basket .productRow button").each(function(){
			$(this).button({ icons: {primary:'ui-icon-trash'}, text:false })//bookie
		}).click(function(){
			$(this).parents(".productRow").hide();
			$(this).parents(".productRow").find("input").first().val(0);
			
			var none = true;
			$(".productRow").each(function(){
				if($("input", this).first().val() !== "0"){
					none = false;	
				}
			});
			if(none == true){
				$("#basketTabs").hide();
				$(".emptyBasket").show();
			}
			
			
		});
		
		$("#deliveryOption").change(function(){
			if($(":selected", this).attr("liwCode") == "-100"){//local deliv
				$("#localCollectionMessage").show();
				$("#reserveCollectPostcode").keyup(function(e) {
					if(e.keyCode == 13) {
						geocodeBasket();
					}
				});
				$("#dialog-reserveCollectPostcode").dialog({
					modal: true,
					resizable: false,
					buttons: {
						Cancel: function() {
							$( this ).dialog( "close" );
						},
						Submit: function() {
							geocodeBasket();
						}
					}
				});
			$("#basket table tr td[colspan=4]").attr("colspan", 4);
			$("#basket table tr td[colspan=5]").attr("colspan", 4);
			$(".specialCells").show();
			$(".stockqtycol").hide()
			}else{
				if($(":selected", this).attr("liwCode") == "-101"){//reserve and collect
					$("#basket .stockQty").each(function(){
						if($(this).val() == 0){
							$(".priceChange", $(this).parent().parent().parent()).empty().append("&#163;0.00");
							$("input", $(this).parent().parent().parent()).attr("disabled", true);
							$("img", $(this).parent().parent().parent()).fadeTo("fast", 0.5);
							$("p", $(this).parent().parent().parent()).fadeTo("fast", 0.5);
							$(".qtyChecked", $(this).parent().parent().parent()).empty().append("<img src='/generic/images/cross.jpg'/>")
						}
						if($("#basket .stockQty").length == $("#basket :disabled").length/2){
							$("#basket .deliverCheck").empty().append("<img src='/generic/images/cross.jpg'/>");
						}
					});
					$("#basket table tr td[colspan=4]").attr("colspan", 5);
					$(".specialCells").show();
				}else if($(":selected", this).attr("liwCode") !== "-1"){//everything else
					//"please select delivery"
					$("#basket table tr td[colspan=5]").attr("colspan", 4);
					$(".specialCells").hide();
					$("#basket .stockQty").each(function(){
						var tar = $(this).parent().parent().parent();
						var qty =$(".quantityBox", tar).first().val();
						var price = $("span", tar).first().attr("rel");
						var totalPrice = "&#163;"+formatNumber(qty*price,2,',','.','','','','');
						$(".priceChange", tar).empty().append(totalPrice);
						$("input", $(this).parent().parent().parent()).attr("disabled", false);
						$("img", $(this).parent().parent().parent()).fadeTo("fast", 1);
						$("p", $(this).parent().parent().parent()).fadeTo("fast", 1);
						$(".qtyChecked", $(this).parent().parent().parent()).empty().append("<img src='/generic/images/tick.jpg'/>");
						
					});	
				}
					
			}
			
			$("#deliveryCost").empty().append("&#163;"+formatNumber(parseFloat($(this).attr("value")),2,',','.','','','',''));
			$("#deliveryCost").attr("rel", $(this).attr("value"));
			var nodes = $(".priceChange");
			var total = 0;
			var totalExVat = 0;
			for(var l=0;l<nodes.length;l++){
				var addition = nodes.eq(l).attr("rel");
				total += eval(addition);
				totalExVat += eval(addition)*(1-nodes.eq(l).attr("vat")/100);
			}
			total+= parseFloat($("#deliveryCost").attr("rel"))
			totalExVat+= parseFloat($("#deliveryCost").attr("rel"))*(1-$("#deliveryOption :selected").attr("vat")/100);
			$("#totalExVat").empty().append("&#163;"+formatNumber(totalExVat,2,',','.','','','',''));
			$("#totalVat").empty().append("&#163;"+formatNumber(total*0.175,2,',','.','','','',''));
			$("#totalIncVat").empty().append("&#163;"+formatNumber(total,2,',','.','','','',''));
			checkBasket();
		});	
		
		$("#deliveryOption").change();
		checkBasket();
	}
	
	
	if($("#basketTabs").length !== 0){
		$("#deliveryDetails input[type=checkbox]").change(function(){
			if($(this).is(":checked")){
				$("*[name=title]", "#deliveryDetails").val($("*[name=title]").val());
				$("*[name=firstName]", "#deliveryDetails").val($("*[name=firstName]").val());
				$("*[name=surname]", "#deliveryDetails").val($("*[name=surname]").val());
				$("*[name=house]", "#deliveryDetails").val($("*[name=house]").val());
				$("*[name=address0]", "#deliveryDetails").val($("*[name=address0]").val());
				$("*[name=address1]", "#deliveryDetails").val($("*[name=address1]").val());
				$("*[name=town]", "#deliveryDetails").val($("*[name=town]").val());
				$("*[name=county]", "#deliveryDetails").val($("*[name=county]").val());
				$("*[name=delPostcode]", "#deliveryDetails").val($("*[name=postcode]").val());
				$("input", "#deliveryDetails").not("*[name=billingDeliveryTheSame]").attr("disabled", true);
			}else{
				$("input", "#deliveryDetails").not("*[name=billingDeliveryTheSame]").attr("disabled", false).val("");
			}
		}).change();
		
		$("#basketTabs .prev").click(function(){
			$(".tabHeading li a").eq(parseFloat($(this).parent().parent().attr("page"))-2).click();
		});
		
		$("#basketTabs .next").click(function(){
			if($(this).attr("href") == undefined){
				var curTab = ($("#basketTabs").tabs('option', 'selected'));
				if(curTab == 1 && $("#deliveryOption option:selected").attr("liwCode") == -101){
					$(".tabHeading li a").eq(4).click();
				}else{
					$(".tabHeading li a").eq($(this).parent().parent().attr("page")).click();				
				}
			}else{
				if($(this).attr("href") == "#complete"){
					forceComplete();
					return false;
				}else{
					location.href = $(this).attr("href");
				}
			}
			
		});
		
		$("#personalDetails input").first().focus()
		$("#basketTabs").tabs({ disabled: [1,2,3,4] });
		//$("#tabsAddress").hide(); //REMOVED POSTCODE LOOK UP...
		$("#lookupBtn").button();
		//$(".submit", "#personalDetailsForm").button();
		
		$("#basketTabs .prev").button({ icons: {primary:'ui-icon-triangle-1-w'} });
		$("#basketTabs .next").button({ icons: {primary:null, secondary:'ui-icon-triangle-1-e'} }).button("disable");
		
		/*$("#personalDetailsForm").validate({
		 	rules: {
    			passwordConfirm: {
     				equalTo: "#password"
  				},
  				emailConfirm:{
	  				equalTo: "#email"	
  				}
			}
		 });*/
		$("#lookupBtn").click(function(){
			$.getJSON('http://findesolutions.com/support/webextend/redrocketpostcodelookup.asp?postCode='+$("#tabsPostcode").val(), function(data) {
				
				
				var town = data[0].town.toLowerCase();
				$("#tabsAddress .address0").val(data[0].address0)
				$("#tabsAddress .address1").val(data[0].address1)
				$("#tabsAddress .town").val(capitaliseFirstLetter(town))
				$("#tabsAddress .county").val(data[0].county)
				$("#tabsAddress .postcode").val(data[0].postCode)
				
			});
			$("#lookup").slideUp(400, function(){
				$("#tabsAddress").slideDown(400, function(){
					$("#tabsAddress .postcode").focus()
				});
			});
		}).button();
		$("#manualAddress").click(function(){
			
			$("#lookup").slideUp(400, function(){
						$("#tabsAddress").slideDown();
				});
		});
		
	}
	
	if($("#recentlyViewed ul li").length !==0){
		$("#recentlyViewed ul li").mouseenter(function(){
			$("img",this).css("border", "1px solid #dfdfdf");
		}).mouseleave(function(){
			$("img",this).css("border", "1px solid #fff");
		}).click(function(){
			window.location = $(this).attr("rel");
		});
		$("#recentlyViewed ul li").last().addClass("ui-corner-bottom");
	}
	
	if($("#question").length !== 0){
		$("#question button").button();
		$("#questionForm").validate();
	}
	
	if($("#contact").length !== 0){
		$("#contact button").button();
	}
	
    if($("#contact").length !== 0){
		/*$("#contactForm").validate();*/ //book
	}
	
	if($("#map").length !== 0){
		
		var geocoder;
		var map;
		var marker;
		var infowindow;
		var uk = new google.maps.LatLng(55.378, -3.435973);
		
		var options = {
			zoom: 12,
			center: uk,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		
		map = new google.maps.Map(document.getElementById("map"), options);
		
		var directionDisplay;
		var directionsService = new google.maps.DirectionsService();
		directionsDisplay = new google.maps.DirectionsRenderer();
		directionsDisplay.setMap(map);
		directionsDisplay.setPanel(document.getElementById("route"));
		
		function calcRoute(end) {
			var start = getVar("postcode");
			var end = end
			var request = {
				origin:start, 
				destination:end,
				travelMode: google.maps.DirectionsTravelMode.DRIVING
			};
			directionsService.route(request, function(response, status) {
				if (status == google.maps.DirectionsStatus.OK) {
					directionsDisplay.setDirections(response);
					var route = response.routes[0];
					for (var i = 0; i < route.legs.length; i++) {
						var routeSegment = i+1;
						$("#route").empty();
						$("#route").append("<b>Route Segment: " + routeSegment + "</b><br />");
						$("#route").append(route.legs[i].start_address + " to ");
						$("#route").append(route.legs[i].end_address + "<br />");
						$("#route").append(route.legs[i].distance.text + "<br /><br />");
					}
				}
			});
		}
		
		function checkDist(end){
			var start = getVar("postcode");
			var end = end
			var request = {
				origin:start, 
				destination:end,
				travelMode: google.maps.DirectionsTravelMode.DRIVING
			};
			directionsService.route(request, function(response, status) {
				if (status == google.maps.DirectionsStatus.OK) {
					var route = response.routes[0];
					for (var i = 0; i < route.legs.length; i++) {
						dist = parseFloat(route.legs[i].distance.text);
						if(dist<document.closest){
							document.closestId = document.cId
							document.closest = dist
							document.closestBranch = end;
						}
						if(document.cId == $("#list li").length-1){
							$("#list li").eq(document.closestId).children(".gContent").prepend("<b>Closest Store</b><br>"+route.legs[i].distance.text+" away<br>")//.append("<br/><br/><a id='routeClicker' href='javascript: javascript:myfunction()'><span class='ui-icon ui-icon-triangle-1-e right'></span><div class='right'>directions</div></a><div class='clear'></div>")
							$("#list li").eq(document.closestId).click();
						}else{
							document.cId ++;
						}
					}
				}
			});
		}
		
		function printDetails(){
			calcRoute(document.closestBranch);
			$( "#route:ui-dialog" ).dialog( "destroy" );	
			$( "#route" ).dialog({
			modal: true,
			resizable: false,
			width:600,
			height:400,
			buttons: {
				Cancel: function() {
					$( this ).dialog( "close" );
				},
				Print: function() {
					$( this ).dialog( "close" );
				}
			}
			});
			$("#route").dialog("option", "position", 'center');
		}
		
		var markers = [];
		
		geocoder = new google.maps.Geocoder();
		
		for(var i=0;i<$("#list li").length;i++){
			geocoder.geocode({'address': $("#list li").eq(i).attr("branch")}, function(results, status) {
				if (status == google.maps.GeocoderStatus.OK) {
					markers[document.gId] = (results[0].geometry.location);
					if(document.gId == $("#list li").length-1){
						for(var f=0;f<$("#list li").length;f++){
						marker = new google.maps.Marker({
							position: markers[f],
							map: map
						});
						markers[f] = marker;
						marker.setMap(map)
						}
						$(markers).each(function(i, marker){
							checkDist($("#list li").eq(i).attr("branch"));
							$("#list li").eq(i).click(function(){
								if(!$(this).hasClass("clicked")){
									$("#list li").each(function(){
										$(this).removeClass("ui-state-active clicked")
									});
									$(this).addClass("ui-state-active clicked")
									displayPoint(marker, i);
									$("#message").empty().append($(".gContent",this).html());
									if(infowindow !== undefined){
										infowindow.close();
									}
									infowindow = new google.maps.InfoWindow({
										content: $("#message").html()
									});
									infowindow.open(map,marker);
									
									$("#contactDetails").empty().append($(".gInfo", this).html());
									$("#extraInfo").empty().append($(".editable", this).html());                            
								}
							});
							google.maps.event.addListener(marker, 'click', function() {
								displayPoint(marker, i);
							});
						});
					}
					if(getVar("postcode") == ""){
						$("#list li").eq(0).click();
					}
					document.gId++;
				}
			});
			
			$("#list li").each(function(){
                $(this).addClass("ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all")
                .css("padding","5px 12px 5px 12px");
                $(this).mouseover(function(){
                    if(!$(this).hasClass("clicked")){
                        $(this).removeClass("ui-state-default").addClass("ui-state-hover")
                        .css("cursor", "pointer");
                    }
                }).mouseout(function(){
                    $(this).removeClass("ui-state-hover").addClass("ui-state-default")
                    .css("cursor","default");
                });
            });
		}
		
		function displayPoint(marker, index){
			map.panTo(marker.getPosition())
		}
	}
	
    if(getVar("page") == "product"){
        if($(".prodPrice").length !== 0){
            price = parseFloat($(".prodPrice").attr("rel"));
            price = formatNumber(price,2,',','.','','','','')
            $(".prodPrice b").append("&pound;"+price);
        }
        if($(".globalWas").length !== 0){
            price = parseFloat($(".globalWas").attr("rel"));
            price = formatNumber(price,2,',','.','','','','')
            $(".globalWas").append("&pound;"+price);
        }
        $("#datepicker").datepicker({
            showOn: "both",
            buttonImage: "/generic/resources/img/calendar.gif",
            buttonImageOnly: true,
            beforeShowDay: noWeekendsOrHolidays,
            dateFormat: "d MM, yy"
        });
    }
    
    var listInc = 169;
    if($(".imageGridList").length !== 0){
        $(".imageGridList").css("width", "0px");
	        $(".imageGridList div").each(function(){
	            if(parseFloat($(".imageGridList").css("width")) < listInc*3){
	                $(".imageGridList").css("width", (parseFloat($(".imageGridList").css("width"))+listInc)+"px");
	            }
	        $(".imageGridList div").click(function(){
	            document.location = $(this).attr("rel");
	        });
        });
    }
    
    if($(".instanterRight").length !== 0){
        if($(".instanterRight img").attr("src").search(/.jpg/i) == -1){
            $(".instanterRight").hide();
        }
    }
    
    
    if($(".cell").length !== 0){
        $(".cell img").addClass("whiteBorder");
        $(".cell").mouseover(function(){
            $("img", this).removeClass("whiteBorder").addClass("ui-widget-content")
            $(this).css("cursor", "pointer");
        }).mouseout(function(){
            $("img", this).removeClass("ui-widget-content").addClass("whiteBorder");
            $(this).css("cursor", "default");
        }).click(function(){
            document.location = $(this).attr("rel");
        });
    }
    
    if(document.websiteMode == 0){
        if($(".eCom").length !== 0){
            $(".eCom").hide();
        }
    }
    
    if($(".eCom").length !== 0){
        tipperListener();
    }
    
    
    $("body").append('<div class="ui-widget-content hide ref"></div>');
    
    var ssbLength = $("#shopByBrand .ui-widget-content ul li").length;
    var ssbCount = 20;
    var ssbInc = 20;
    
    
    if(ssbLength > ssbInc){
	    for(var i = 20;i<ssbLength;i++){
		 	 $("#shopByBrand .ui-widget-content ul li").eq(i).hide();
	    }
	    $("#shopByBrand .ui-widget-content").append("<div id='ssbMore'><span class='ui-icon ui-icon-triangle-1-s right'></span><span class='right'><b><a href='javascript:void(0);'>more</a></b></span><span class='clear'></span></div>");
    }
    
  $("#ssbMore").click(function(){
     for(var i =ssbCount; i< ssbCount+ssbInc; i++){
	     $("#shopByBrand .ui-widget-content ul li").eq(i).show();
	     if(i>=ssbLength){
		     $("#ssbMore").hide();
	     }
     }
     ssbCount = ssbCount+20;
  });

    if($("#c-slider-left").length !== 0){
        $("a", "#c-slider-left").each(function(){
            $(this).append("<img src='"+document.ediPathSuffix+$(this).attr("rel")+"' />");
        });
    }
    if(!$("#rightCol").hasClass("hide")){
	    basketLoading()
	    $.getJSON('/generic/utils/addToBasketJSON.asp', function(data) {
		    if(data.length !== 0 && data[0].basketTotalPrice !== null){
	        	updateBasket(data);
	   		 }else{
				$("#jsonBasket").html("<p>Your basket is empty</p>");
				$("#basketBox button").hide(); 
				document.firstBasketLoad = false;
	   		 }
	    })
	}
    $.cookie('editMode', "01892");
    
    if($(".optional").length !== 0){
        $(".optional option").each(function(){
            $(this).append("+&pound;"+$(this).attr("rel"));
        });
        $(".optional").change(function(){
            $(".globalPrice b").empty();
            price = parseFloat($(".globalPrice").attr("rel"))+parseFloat($(this+":selected").attr("rel"))
            price = formatNumber(price,2,',','.','','','','')
            $(".globalPrice b").append("&pound;"+price);
        });
    }
    
    if($(".warranty").length !== 0){
        $(".warranty option").each(function(){
            if($(this).attr("rel") !== ""){
                $(this).append("+&pound;"+$(this).attr("rel"));
            }
        });
    }
    
    $("#dialog-login").hide();
    $("#dialog-purchase").hide();
    
    if($(".quant").length !== 0){
        $(".quant").click(function() {
            $(this).focus();
            $(this).select();
        });
    }
   
    if($('#c-slider-left').length !== 0){
        $('#c-slider-left').coinslider({width: 153, height:248, spw: 1, sph: 1, links: true, delay: 4000, effect: "random", titleSpeed: 250});
    }

    
    
    
    if($('#cycle').length !== 0){
        $("#cycle").css("border", "1px solid "+$("#ref").css("border-top-color")).css("border-top-width", 0);
        $("#cycle").append('<div class="hoverer"></div>');
        $.getJSON('/generic/utils/fetchTopBestSellersJSON.asp', function(data) {
            for(var cy =0;cy<data.length;cy++){
                var price = data[cy].displayPrice1;
                var was = data[cy].wasNormalRetailPrice;
                
                var percentOff = 1-(parseFloat($("#priceDropRegisterPercentage").attr("rel"))/100);
                if(data[cy].displayPrice1 <= data[cy].wasNormalRetailPrice*percentOff){
	                was = formatNumber(was,2,',','.','','','','')
	                var diffSplat='<div class="splat splats" style="margin-top:0px;"><div class="splat loweredPrice diffSplatMod></div><div class="clear"></div></div>';
	                var wasApp = '<p class="globalPrice">was</p><p class="globalPrice strike">&pound;'+was+'</p>'
	            	var wasCycleMode = "style='height:60px'";
                }else{
	             	var diffSplat = "";
	             	var wasApp="";
	              	var wasCycleMode = "style='height:83px'";
                }
                price = formatNumber(price,2,',','.','','','','')
                
                var displayPrice = "";
                
                if(data[cy].displayPriceText1 !== "" && data[cy].displayPriceText1 !== undefined){
	                var displayPrice = data[cy].displayPriceText1;
	                var wasCycleMode = "style='height:45px'";
	                
                }
                
                var slide = '<div class="seg" rel="?page=product&liwCode='+data[cy].liwCode+'">';
                slide += '<div class="left"><p class="globalManf title">'+data[cy].manufacturer+'</p><p class="globalModelNo">'+data[cy].modelNo+'</p><p class="desc"'+wasCycleMode+'>'+data[cy].shortDescription+'</p><p>'+data[cy].defaultGuestStockMsg+'<span class="void quantBox ui-widget-content ui-corner-all tipper cooldown textCenter" alt="false" rel="'+data[cy].liwCode+'">?</span></p><p class="globalPrice price">&pound;'+price+'<p class="globalPrice smallText">'+displayPrice+'</p></p>'+wasApp+'</div>';
                slide += '<div class="right"><p>'+diffSplat+'<img src="'+data[cy].imageLargeFilename+'" width="130" height="130" /></p><div class="bumpTop10"></div><span class="ui-icon ui-icon-triangle-1-e right moar"></span><p class="right moar"><a>more</a></p></div>';
                slide += '<div class="clear"></div>';
                slide += '</div>';
                $("#cycle .hoverer").append(slide);
            }
            $("#cycle .seg").css("opacity", "0").hide();
            $("#cycle .seg").first().css("opacity", "1").show();
            tipperListener();
            document.cycleNode = 0;
            document.t;
            document.t=setInterval(cycle, 4000);
            $("#cycle img").css("border", "1px solid white");
            $("#cycle").mouseover(function(){
                $(this).css("background-color", "#FFFFee");
                $("#cycle img").css("border", "1px solid #dfdfdf");
                clearInterval(document.t);
            }).mouseout(function(){
                $(this).css("background-color", "#ffffff"); 
                $("#cycle img").css("border", "1px solid white");
                document.t=setInterval(cycle, 4000);
            }).click(function(){
                window.location = $(".seg:visible",this).attr("rel");
            })
            checkShowStock();
        });
    }
    
    //NavBar Engine
    if($('.buttonMod').length !== 0){
        $('.buttonMod').mouseover(function() {
                $(this).removeClass('ui-state-default buttonMod');
                $(this).addClass('ui-state-hover buttonModHover');
                $(this).prev().css("border-right-width","0px");
        });
        $('.buttonMod').mouseout(function() {
                $(this).removeClass('ui-state-hover buttonModHover');
                $(this).addClass('ui-state-default buttonMod');
                $(this).prev().css("border-right-width","1px");
        });
    }
    if($('.buttonModRight').length !== 0){
        $('.buttonModRight').mouseover(function() {
                $(this).removeClass('ui-state-default buttonModRight');
                $(this).addClass('ui-state-hover buttonModHoverRight');
        });
        $('.buttonModRight').mouseout(function() {
                $(this).removeClass('ui-state-hover buttonModHoverRight');
                $(this).addClass('ui-state-default buttonModRight');
        });
    }
    
    //Search Widget Engine
    if($('#searchBox button').length !== 0){
        $('#searchBox button').button({
            icons: {
                primary: 'ui-icon-search'
            }
        });
    }
    
    //Menu Overspill Engine
    if($('#menuSpill ul li').length !== 0){
        $('#menuSpill ul li').each(function(){
            $(this).button();
        });
    }
    
    //Register button engine
    if($('#registerBox button').length !== 0){
        $('#registerBox button').each(function(){
            $(this).button();
        });
    }
    //Basket button engine
    if($('#basketBox button').length !== 0){
        $('#basketBox button').button({
            icons:{
                primary: 'ui-icon-cart'
            },
            text: 'Open Basket'
        }).click(function(){
			document.location = "?page=basket";
		});
    }
	
    
    // engine
    if($('#productInformation').length !== 0){
        $("#productInformation").tabs();
        $("#productInformation").bind( "tabsload", function(event, ui) {
            if(document.editmode == "1"){
                $(".editable").each(function(){
                    $(this).addClass("ui-state-highlight ui-corner-all");
                    $(this).click(function(){
                        var editData = $(this).html();
                        if($("textarea", this).length == 0){
                            $(this).empty();
                            $(this).append('<form action="" method="post"></form>');
                            
                            $("form", this).append('<textarea cols="30" id="editor_kama" name="editor_kama" rows="10">'+editData+'</textarea>')

                           CKEDITOR.replace( 'editor_kama',
		                        {
		                        height:document.largestCol-100,
		                        skin : 'kama',
		                        toolbar :
		                        [
		                        ['Save','NewPage','Preview'],
		                        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
		                        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
		                        ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
		                        '/',
		                        ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
		                        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
		                        ['Link','Unlink','Anchor'],
		                        ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
		                        ['Style','FontFormat','FontName','FontSize'],'/'
		                        ['TextColor','BGColor'],
		                        ['FitWindow'] // No comma for the last row.
		                        ]
		                    });
                        }
                    });
                });
            }
        })
    }
    
    if(document.editmode == "1"){
        $(".editable").each(function(){
            $(this).addClass("ui-state-highlight ui-corner-all");
            $(this).click(function(){
                if($("textarea", this).length == 0){
                    checkLargestCol();
                    var editData = $(this).html();
                    $(this).empty();
                    $(this).css("height", document.largestCol+"px");
                    $(this).append('<form action="" method="post" style="height: 600px;"></form>');
                    
                    if(getVar("page") == "findUs"){
	                	   $("form", this).append('<input name="branchCode" type="hidden" value="'+$("#list .ui-state-active").attr("branchCode")+'" />')
                    }
                    
                    if($(this).hasClass(".rhc")){
	                    
                    $("form", this).append('<textarea cols="80" id="editor_kama" name="editor_kama_ad" rows="60">'+editData+'</textarea>')
                    }else{
	                
                    $("form", this).append('<textarea cols="80" id="editor_kama" name="editor_kama" rows="60">'+editData+'</textarea>')    
                    }
                    
                    
                    CKEDITOR.replace( 'editor_kama',
                        {
                        height:document.largestCol-100,
                        skin : 'kama',
                        toolbar :
                        [
                        ['Save','NewPage','Preview'],
                        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
                        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
                        ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
                        '/',
                        ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
                        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
                        ['Link','Unlink','Anchor'],
                        ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
                        ['Style','FontFormat','FontName','FontSize'],'/'
                        ['TextColor','BGColor'],
                        ['FitWindow'] // No comma for the last row.
                        ]
                    });
                }
            });
        });
    }
    
    //Share buttons
    if($('.shareButtons .shareEmail').length !== 0){
        $(".shareButtons .shareEmail").button({
            icons: {
                primary: 'ui-icon-mail-closed'
            }
        })
    }
    if($('.shareButtons .sharePrint').length !== 0){
        $(".shareButtons .sharePrint").button({
            icons: {
                primary: 'ui-icon-print'
            }
        }).click(function(){
	      popitup("/generic/utils/print.asp?liwCode="+getVar("liwCode"));  
        });
    }
    
    if($("#share-button-container").length !== 0){
        if($(".share-button-twitter").length !== 0){
            $(".share-button-twitter").click(function(){
                window.open("http://twitter.com/share?url="+document.location);
            })
        }
        if($(".share-button-facebook").length !== 0){
            $(".share-button-facebook").click(function(){
                window.open( "http://www.facebook.com/sharer.php?u="+document.location);
            });
        }
        if($(".share-button-stumble").length !== 0){
            $(".share-button-stumble").click(function(){
                window.open("http://www.stumbleupon.com/submit?url="+document.location);
            });
        }
        if($(".share-button-digg").length !== 0){
            $(".share-button-digg").click(function(){
                window.open("http://digg.com/submit?phase=2&url="+document.location);
            })
        }
        if($(".share-button-delicious").length !== 0){
            $(".share-button-delicious").click(function(){
                window.open("http://del.icio.us/post?url="+document.location);
            })
        }
        if($(".share-button-reddit").length !== 0){
            $(".share-button-reddit").click(function(){
                window.open("http://reddit.com/submit?url="+document.location);
            })
        }
    }
    
    //Add to basket buttons
    if($('.basket').length !== 0){
        $('.basket').button({
            icons:{
                primary: 'ui-icon-cart'
            }
        }).click(function(){
	        $("#dialog-purchase").empty();
            $("#dialog-purchase").css({
                "background-image": "url(/customerResources/css/custom-theme/images/ui-anim_basic_16x16.gif)",
                "background-repeat": "no-repeat",
                "background-position": "center center"
            });
            /*$.getJSON('/generic/utils/fetchAddOnsJSON.asp?liwCode='+getVar("liwCode"), function(data) {
	            
	            if(data.length !== 0){

	            $("#dialog-purchase").css({
                    "background-image": "none"
                });
                for(var kl = 0; kl< data.length; kl++){
                    var price = data[kl].normalRetailPrice;
                    price = formatNumber(price,2,',','.','','','-','')
                    $("#dialog-purchase").append('<span><p><img class="left" height="30" width="30" src="'+document.ediPathSuffix+data[kl].imageLargeFilename+'" /><div class="des left">'+data[kl].shortDescription+'</div><div class="pri left">&pound;'+price+'</div><div class="che left" ><input rel="'+data[kl].normalRetailPrice+'" class="quant quantityBox addonQuant" value="'+$(".quantityBox").val()+'" onKeypress="keypress(event, this)"/></span><input class="bumpLeft10" type="checkbox" rel="'+data[kl].liwCode+'" /></div></p><div class="clear"></div>');
                }
                $("#dialog-purchase").dialog("option", "position", 'center');
                document.liwCodes = "";
	            document.productQtys= "";
	            document.productPrices = "";
	            
	            document.selectedItemDetails.push(getVar("liwCode"));
	            document.selectedItemDetails.push($(".quantityBox").first().val());
	            document.selectedItemDetails.push($(".globalPrice").attr("rel"));
	            
	            
	            $("#dialog-purchase").dialog({
	                resizable: false,
	                width:550,
	                modal: true,
	                buttons: {
	                    "Confirm": function() {
		                    
	                        document.liwCodes += document.selectedItemDetails[0];
	                        document.productQtys += document.selectedItemDetails[1];
	                        document.productPrices += document.selectedItemDetails[2];
	                        $("input[type=checkbox][checked]", $("#dialog-purchase")).each(function() {
	                            document.liwCodes += ","+$(this).attr("rel");
	                            document.productQtys += ","+$(".quantityBox", $(this).parent().parent()).val();
	                            document.productPrices += ","+$(".quantityBox", $(this).parent().parent()).attr("rel");
	                        });
	                        basketLoading()
	                       $.getJSON('/generic/utils/updateBasketJSON.asp?liwCodes='+document.liwCodes+'&productQtys='+document.productQtys+'&productPrices='+document.productPrices, function(data) {
		                       	updateBasket(data);
	                        })
	                        
	                        document.liwCodes = "";
	                        document.productQtys = "";
	                        document.productPrices = "";
	                        
	                        $("#dialog-purchase").dialog("close");
	                    },
	                    "Cancel": function() {
	                        $(this).dialog("close");
	                        document.liwCodes = "";
	                        document.productQtys = "";
	                        document.productPrices = "";
	                    }
	                }
	            });
	            }else{*/
	            
					$.getJSON('/generic/utils/addToBasketJSON.asp?liwCodes='+getVar("liwCode")+'&productQtys='+$(".quantityBox").first().val()+'&productPrices='+$(".globalPrice").attr("rel"), function(data) {
						updateBasket(data);
					})
	            /*}
	            });*/
            
        });
    }
    
    //UNDER CONSTRUCTION
    if($('#newProducts').length !== 0){
        $('#newProducts .cell').each(function(){
            $(this).mouseenter(function(){
                if($(".content .hide", this).is(":hidden")){
                    $(".content .hide", this).css("display","inline");
                }
            }).mouseleave(function(){
                if($(".content .hide", this).is(":visible")){
                    $(".content .hide", this).css("display","none");
                }
            });
        });
    }   
    
    //UNDER CONSTRUCTION
    
    //SEARCH BOX ENGINE
    if($("#search").length !== 0){
        $( "#search" ).autocomplete({
            source: "utils/autoCompleteSearchJSON.asp",
            minLength: 2,
            select: function( event, ui ) {
                document.location = ui.item.url
            }
        });
    }
    
    if($('#newProducts').length !== 0){
        var newProdCount = 0
        $.getJSON('/generic/utils/newProductsJSON.asp', function(data) {
            newProdAppend(data, newProdCount);
            newProdCount += 4;
            $("#newProdMore").click(function(){
                document.newProdMoreCount++;
                newProdAppend(data, newProdCount);
                newProdCount += 4;
                if(document.newProdMoreCount >= 2){
                    $(this).hide();
                }
            });
        });
    }
    
    
    if($("#iCarousel").length !== 0){
        //Begin product slider
    var totWidth=0;
    var positions = new Array();

    $('#slides .slide').each(function(i){
        positions[i]= totWidth;
        totWidth += $(this).width();
        if(!$(this).width()){
            
            return false;
        }
    });
    $('#slides').width(totWidth);
    $('#menu ul li a').mouseover(function(e,keepScroll){
            $('li.menuItem').removeClass('act').addClass('inact');
            $(this).parent().addClass('act');
            var pos = $(this).parent().prevAll('.menuItem').length;
            $('#slides').stop().animate({marginLeft:-positions[pos]+'px'},450);
            e.preventDefault();
            if(!keepScroll) clearInterval(itvl);
    });
    $('#menu ul li.menuItem:first').addClass('act').siblings().addClass('inact');
    var current=1;
    function autoAdvance()
    {
        if(current==-1) return false;
        
        $('#menu ul li a').eq(current%$('#menu ul li a').length).trigger('click',[true]);
        current++;
    }
    var changeEvery = 5000;
    var itvl = setInterval(function(){autoAdvance()},changeEvery);
        
        $("#menu ul li").each(function(){
            $("#menu").css("width", parseFloat($("#menu").css("width"))+60+"px");
        });
        $(".slide").each(function(){
            $(this).css("cursor", "pointer");
        });
        $("#magnify").click(function(){
            jQuery.facebox({ image: $("li.act").children("a").children("img").attr("rel") });
			//$("body").append("")
        });
        
    }
    
    if($(".pageNav").length !== 0){
        $(".beginning").button({
            text: false,
            icons: {
                primary: 'ui-icon-seek-start'
            }
        }).click(function(){
            if(document.start !== 0){
                document.start = 0;
                if(document.data.length < document.shown){
                    document.end = data.length;
                }else{
                    document.end = document.shown;
                }
                sortResults();
            }
        });
        
        $(".prev").button({
            text: false,
            icons: {
                primary: 'ui-icon-triangle-1-w'
            }
        }).click(function(){
            if(document.start>=document.shown){
                document.start -= document.shown;
                sortResults();
            }
        });;
        
        $(".next").button({
            text: false,
            icons: {
                primary: 'ui-icon-triangle-1-e'
            }
        }).click(function(){
            if(document.start + document.shown < document.data.length){
                document.start += document.shown;
                sortResults();
            }
        });
        
        $(".end").button({
            text: false,
            icons: {
                primary: 'ui-icon-seek-end'
            }
        }).click(function(){
            if(document.end !== document.data.length){
                document.start = document.data.length-document.data.length%document.shown;
                sortResults();
            }
        });
        
        $(".asc").button({
            text: false,
            icons: {
                primary: 'ui-icon-triangle-1-n'
            }
        }).click(function(){
            document.reverse = false;
            sortResults();
        });
        
        $(".desc").button({
            text: false,
            icons: {
                primary: 'ui-icon-triangle-1-s'
            }
        }).click(function(){
            document.reverse = true;
            sortResults();
        });
        
        $(".pnNav").change(function(){
            $(".pnNav").val($(this).val());
            document.sortBy = $(".pnNav").val();
            sortResults();
        });
        
        //$(".shown").selectmenu(); fg alpha stages
        
        $(".shown").change(function(){
            $(".shown").val($(this).val());
            if($(".shown").val() == Math.floor($(".shown").val())){
                document.shown = parseFloat($(".shown").val());
                document.start = 0;
                if(data.length < document.shown){
                    document.end = data.length;
                }else{
                    document.end = document.shown;
                }
            }else{
                document.start = 0;
                document.shown = document.data.length;
            }
            sortResults();
        });
    }
    
    if($('#carousel').length !== 0){
        $("#carousel").css("opacity", 0);
        $.getJSON('/generic/utils/hotProductsJSON.asp', function(data) {
            document.carouLen = data.length;
            document.carouCounter = 0;
            for(var l=0;l<data.length;l++){
	            
	            if(data[l].forbidOnlinePricing == -1){
		            var price = "";
	            }else{
		        	var price = data[l].displayPrice1;
                	price = formatNumber(price,2,',','.','','','','')    
	            }
                $("#carousel").append('<a class="centerText" href="?page=product&liwCode='+data[l].liwCode+'"><img src="'+data[l].imageLargeFilename+'" width="100%" /><p class="textCenter globalPrice">&pound;'+price+'</p><p class="textCenter globalManf">'+data[l].manufacturer+'</p><p class="textCenter globalModelNo">'+data[l].modelNo+'</p></a>');
                
                if(data[l].forbidOnlinePricing == -1){
	            	$("#carousel .globalPrice").eq(l).empty().append($("#forbidOnlinePricingText").attr("rel"));
                }
                
            }
            $("#carousel img").one("load",function(){
                document.carouCounter++;
                if(document.carouCounter>=document.carouLen){
                    carouselStart();
                }
            });
        });
        
        
    }
    
    if($("#categoryList").length !== 0){
        path = ""
        path+= "/generic/utils/";
        if(getVar("categoryCode") !== ""){
            path+="fetchCategoryListJSON.asp?categoryCode=";
            path+=getVar("categoryCode")
            pager="departmentCode";
        }else if(getVar("manfCode") !== ""){
            path+= "manfCategoryListJSON.asp?manfCode=";
            path+=getVar("manfCode")
            pager="manfCode";
        }else if(getVar("page") == "saleList"){
			path+= "fetchSaleListJSON.asp";
			pager="departmentCode";
		}else if(getVar("page") == "search"){
			path+= "fetchSearchResultsJSON.asp?searchString=";
			path+=getVar("searchString")
			pager="departmentCode";
		}
        $.getJSON(path, function(data){
            document.data = data;
            document.carbonCopy = data;
            document.start = 0;
            document.shown = 10;
            if(data.length < document.shown){
                document.end = data.length;
            }else{
                document.end = document.shown;
            }
            document.sortBy = "displayPrice1";
            document.reverse = false;
            for(var ps=0;ps<data.length;ps++){
                if(document.high == undefined && document.low == undefined){
                    document.high = data[ps].displayPrice1;
                    document.low = data[ps].displayPrice1;
                }else{
                    if(data[ps].displayPrice1 > document.high){
                        document.high = data[ps].displayPrice1;
                    }
                    if(data[ps].displayPrice1 < document.low){
                        document.low = data[ps].displayPrice1;
                    }
                }
            }
            
            
            if(document.high <100){
                var base = (Math.ceil((Math.ceil(document.high/10)*10)/5));
                    
                prices = [
                    {"lesser":"0.00","larger":base-0.01},
                    {"lesser":base+".00","larger":base*2-0.01},
                    {"lesser":base*2+".00","larger":base*3-0.01},
                    {"lesser":base*3+".00","larger":10000000000000000000}
                ]
            }else if(document.high<1000){
                var base = (Math.ceil((Math.ceil(document.high/100)*100)/5));
                    
                prices = [
                    {"lesser":"0.00","larger":base-0.01},
                    {"lesser":base+".00","larger":base*2-0.01},
                    {"lesser":base*2+".00","larger":base*3-0.01},
                    {"lesser":base*3+".00","larger":10000000000000000000}
                ]
            }else if(document.high<10000){
                var base = (Math.ceil((Math.ceil(document.high/1000)*1000)/5));
                    
                prices = [
                    {"lesser":"0.00","larger":base-0.01},
                    {"lesser":base+".00","larger":base*2-0.01},
                    {"lesser":base*2+".00","larger":base*3-0.01},
                    {"lesser":base*3+".00","larger":10000000000000000000}
                ]
            }else{
                var base = (Math.ceil((Math.ceil(document.high/10000)*10000)/5));
                    
                prices = [
                    {"lesser":"0.00","larger":base-0.01},
                    {"lesser":base+".00","larger":base*2-0.01},
                    {"lesser":base*2+".00","larger":base*3-0.01},
                    {"lesser":base*3+".00","larger":10000000000000000000}
                ]
            }
                
            document.prices = prices
            
        
        for(var pc=0;pc<prices.length;pc++){
            if(prices[pc].larger == 10000000000000000000 ){
                $("#priceCol").append('<div class="priCol left"><input class="left" id="pc'+pc+'" checked="true" type="checkbox" /><label class="left" for="pc'+pc+'">&pound;'+prices[pc].lesser+'+</label><div class="clear"></div></div>');
            }else{
                $("#priceCol").append('<div class="priCol left"><input class="left" id="pc'+pc+'" checked="true" type="checkbox" /><label class="left" for="pc'+pc+'">&pound;'+prices[pc].lesser+' - &pound;'+prices[pc].larger+'</label><div class="clear"></div></div>');
            }
        }
        $("#priceCol").append('<div class="clear"></div>');
        $("#priceCol").show();
        $("#priceCol input").click(function(){
            filterData();
            if(getVar("categoryCode") !== ""){
                updateDepColNum();
            }
        }); 
        if(pager == "departmentCode"){
                manfs = [];
                for(var mf=0;mf<data.length;mf++){
                    if(manfs.length !== 0){
                        var mf_check = false
                        for(var mfc=0;mfc<manfs.length;mfc+=3){
                            if(data[mf].manufacturer == manfs[mfc]){
                                mf_check = true;
                                manfs[mfc+2]++;
                            }
                        }
                        if(mf_check == false){
                            manfs.push(data[mf].manufacturer);
                            manfs.push(data[mf].manfCode);
                            manfs.push(1);
                        }
                    }else{
                        manfs.push(data[mf].manufacturer);
                        manfs.push(data[mf].manfCode);
                        manfs.push(1);
                    }
                }
            }else if(pager == "manfCode"){
                manfs = [];
                for(var mf=0;mf<data.length;mf++){
                    if(manfs.length !== 0){
                        var mf_check = false
                        for(var mfc=0;mfc<manfs.length;mfc+=3){
                            if(data[mf].category == manfs[mfc]){
                                mf_check = true;
                                manfs[mfc+2]++;
                            }
                        }
                        if(mf_check == false){
                            manfs.push(data[mf].category);
                            manfs.push(data[mf].departmentCode);
                            manfs.push(1);
                        }
                    }else{
                        manfs.push(data[mf].category);
                        manfs.push(data[mf].departmentCode);
                        manfs.push(1);
                    }
                }
            }
            document.manfs = manfs;
            
			$("#departmentCol").append('<div class="specialCol left"><input class="left" id="depAll" checked="true" type="checkbox" /><a class="left">Select All</a><div class="clear hide"></div></div>');
			$("#departmentCol").append('<div class="specialCol left"><input class="left" id="depNone" type="checkbox" /><a class="left">Select None</a><div class="clear hide"></div></div>');
			
			$("#departmentCol #depAll").click(function(){
				$("#departmentCol input").attr("checked", true);
				$("#departmentCol #depNone").attr("checked", false);
				filterData();
			});
			
			$("#departmentCol #depNone").click(function(){
				$("#departmentCol input").attr("checked", false);
				$("#departmentCol #depNone").attr("checked", true);
				filterData();
			});
	
            for(var o=0;o<manfs.length;o+=3){
                if(pager=="departmentCode"){
                    if(o/4 == Math.floor(o/4)){
                        $("#departmentCol").append('<div class="clear"></div>');
                    }
                    $("#departmentCol").append('<div class="depCol left"><input class="left" id="'+manfs[o+1]+'" rel="'+manfs[o]+'" checked="true" type="checkbox" /><a class="left" for="'+manfs[o+1]+'">'+manfs[o]+' ('+manfs[o+2]+')</a><div class="clear hide"></div></div>');
                }else if(pager == "manfCode"){
                    if(o/4 == Math.floor(o/4)){
                        $("#departmentCol").append('<div class="clear"></div>');
                    }
                    $("#departmentCol").append('<div class="depCol left"><input class="left" id="'+manfs[o+1]+'" rel="'+manfs[o]+'" checked="true" type="checkbox" /><a class="left" for="'+manfs[o+1]+'">'+manfs[o]+'</a><div class="clear hide"></div></div>');
                }
                document.depColCheck.push(manfs[o+1], true);
            }
			
			$("#departmentCol .depCol a").mouseover(function(){
				$(this).css("text-decoration", "underline");
			}).mouseout(function(){
				$(this).css("text-decoration", "none");
			}).click(function(){
				$("#departmentCol .depCol input").attr("checked", false);
				$("input", $(this).parent()).attr("checked", true);
				filterData();
				var p=0;
					for(var g=0;g<$("#departmentCol input").length;g++){
						if($("#departmentCol input").eq(g).attr("checked") == true && $("#departmentCol input").eq(g).parent().hasClass("depCol")){
							p++;
						}
					}
					if(p==$("#departmentCol input").length-2){
						$("#depAll").attr("checked", true)
					}else{
						$("#depAll").attr("checked", false);
					}
					
					if(p==0){
						$("#depNone").attr("checked", true);
					}else{
						$("#depNone").attr("checked", false);
					}
			});
			
            $("#departmentCol").append('<div class="clear"></div>');
            $("#departmentCol").show();
                $("#departmentCol input").click(function(){
                    for(var dcc=0;dcc<document.depColCheck.length;dcc++){
                        if($(this).attr("id") == document.depColCheck[dcc]){
                            if(document.depColCheck[dcc+1] == true){
                                document.depColCheck[dcc+1] = false;
                            }else{
                                document.depColCheck[dcc+1] = true;
                            }
                        }
                    }
                    filterData();
                });
				$("#departmentCol input").change(function(){
					var p=0;
					for(var g=0;g<$("#departmentCol input").length;g++){
						if($("#departmentCol input").eq(g).attr("checked") == true && $("#departmentCol input").eq(g).parent().hasClass("depCol")){
							p++;
						}
					}
					if(p==$("#departmentCol input").length-2){
						$("#depAll").attr("checked", true)
					}else{
						$("#depAll").attr("checked", false);
					}
					
					if(p==0){
						$("#depNone").attr("checked", true);
					}else{
						$("#depNone").attr("checked", false);
					}
				});
				
        sortResults();
        });
    }
    
    function updateDepColNum(){
        $("#departmentCol").empty();
        manfs = document.manfs
        data = document.data;
        for(var cdc=0; cdc<manfs.length; cdc+=3){
            manfs[cdc+2] = 0;
        }
        
        for(var udd=0;udd<data.length;udd++){
            for(var oldM = 0; oldM<manfs.length; oldM+=3){
                if(data[udd].manufacturer == manfs[oldM]){
                    manfs[oldM+2]=manfs[oldM+2]+1;
                }
            }
        }
        for(var replace=0;replace<manfs.length;replace+=3){
            if(replace/4 == Math.floor(replace/4)){
                $("#departmentCol").append('<div class="clear"></div>');
            }
            $("#departmentCol").append('<div class="depCol left"><input id="'+manfs[replace+1]+'" checked="true" type="checkbox" /><label for="'+manfs[replace+1]+'">'+manfs[replace]+' ('+manfs[replace+2]+')</label></div>');
        }
        for(var dcr=0; dcr<document.depColCheck.length;dcr+=2){
            $("#"+document.depColCheck[dcr]).attr("checked", document.depColCheck[dcr+1]);
        }
        $("#departmentCol").append('<div class="clear"></div>');
        $("#departmentCol input").click(function(){
            for(var dcc=0;dcc<document.depColCheck.length;dcc++){
                if($(this).attr("id") == document.depColCheck[dcc]){
                    if(document.depColCheck[dcc+1] == true){
                        document.depColCheck[dcc+1] = false;
                    }else{
                        document.depColCheck[dcc+1] = true;
                    }
                }
            }
            filterData();
        });
    }
    
    if($("#contentLoader").length !== 0){
        $.getJSON("/generic/utils/fetchContentJSON.asp?contentCode="+getVar("contentCode"), function(data){
            $("#contentLoader").append(data[0].HTML);
        })
    }
    
    if($("#navBar").length !== 0){
        
        $('#navBar').addClass("ui-state-default");
        navigationFirstChild = true;
        $('#navBar ul li').each(function(){
            if($(this).hasClass("disabled")){
                $(this).removeClass("ui-state-default").addClass("ui-state-active");
            }
            if($(this).next().hasClass("floatRight")){
                $(this).addClass("laster");
            }
            $(this).css("border-right-width", 0);
            if(navigationFirstChild == true){
                $(this).addClass("ui-corner-left");
                $(this).css({"margin-left": "-1px"});
            }
            navigationFirstChild = false;
            $(this).addClass("ui-state-default");
            if($(this).hasClass("disabled")){}else{
                $(this).mouseover(function(){
                    if($(this).next().hasClass("floatRight")){}else{
                        $(this).next().css("border-left-width", 0);
                    }
                    if($(this).hasClass("disabled")){}else{
                        $(this).removeClass("ui-state-default").addClass("ui-state-hover").css({"cursor" : "pointer"});
                    }
                    $(this).css("border-right-width", "1px");
                }).mouseout(function(){
                    if($(this).hasClass("laster")){}else{
                        $(this).css("border-right-width", 0);
                    }
                    $(this).next().css("border-left-width", "1px"); 
                    $(this).removeClass("ui-state-hover").addClass("ui-state-default").css("cursor", "default");
                }).mousedown(function(){
                    $(this).removeClass("ui-state-hover").addClass("ui-state-active");
                }).mouseup(function(){
                    $(this).removeClass("ui-state-active").addClass("ui-state-hover");
                }).mouseleave(function(){
                    $(this).removeClass("ui-state-active").addClass("ui-state-detault");
                }).click(function(){
                    if($(this).attr("rel") !== "login"){
						if($(this).attr("rel") == "logoff"){
							document.location = "/generic/utils/logoff.asp";
						}else{
                        document.location = $(this).attr("rel");
					}
					}else{
                        //login
                        $( "#dialog-login" ).dialog({
                            resizable: false,
                            height:250,
                            modal: true,
                            buttons: {
                                "Login": function() {
                                    $("#login-form").submit();
                                },
                                Cancel: function() {
                                    $( this ).dialog( "close" );
                                }
                            }
                        });
                        $("#un").focus();
                        $('#pw').keyup(function(e) {
                            
                            if(e.keyCode == 13) {
                                $("#login-form").submit();
                            }
                        });
                    }
                });
            }
        });
        $('#navBar ul li').last().css("border-right-width", "1px")
        
        $("#navBar ul .floatRight").prev().css("border-right-width", "1px");
    }
    
    natDays = [
      [8, 8, 'uk'], [12, 24, 'uk'], [3, 17, 'uk'],
      [4, 27, 'za'], [5, 25, 'ar'], [6, 6, 'se'],
      [7, 4, 'us'], [8, 17, 'id'], [9, 7, 'br'],
      [10, 1, 'cn'], [11, 22, 'lb'], [12, 12, 'ke']
    ];

    function nationalDays(date) {
        for (i = 0; i < natDays.length; i++) {
          if (date.getMonth() == natDays[i][0] - 1
              && date.getDate() == natDays[i][1]) {
            return [false, natDays[i][2] + '_day'];
          }
        }
      return [true, ''];
    }
    
    function noWeekendsOrHolidays(date) {
        var noWeekend = $.datepicker.noWeekends(date);
        if (noWeekend[0]) {
            return nationalDays(date);
        } else {
            return noWeekend;
        }
    }

    function noWeekendsOrHolidays(date) {
        var noWeekend = $.datepicker.noWeekends(date);
        if (noWeekend[0]) {
            return nationalDays(date);
        } else {
            return noWeekend;
        }
    }
    
    if($("#departments").length !== 0){
        $("#departments .menu li").each(function(){
            $(this).css("margin-left", (20*$(this).attr("rel"))+"px");
        });
        if(getVar("categoryCode") !== ""){
            $("#menu"+getVar("categoryCode")).prepend('<span class="ui-icon ui-icon-triangle-1-e left"></span>').css("margin-left", parseFloat($("#menu"+getVar("categoryCode")).css("margin-left"))-16+"px");
        }
    }
    
    if($(".quantMod").length !== 0){//REVIEW REQ
        $(".btn").css("padding", "3px");//make a perma fix
        $(".btn").css("padding-top", "2px");//make a perma fix
        $(".btn").css("border-left", "0");//make a perma fix
    }
    
    if($('#c-slider-main').length !== 0){
        $('#c-slider-main').coinslider({width: 270, height:202, spw: 1, navigation: false, sph: 1, links: true, delay: 2500, effect: "random", titleSpeed: 250});
    }
    
	if($("#recentlyViewed .content ul li").length == 0){
		$("#recentlyViewed").hide();
	}
    
    if($("#otherPeopleBought").length !== 0){
        if($("#otherPeopleBought .cell").length == 0){
            $(".bestSellersBar").hide();
        }
    };
    
    if($("#cellContainer").length !== 0){
        if($("#cellContainer .cell").length == 0){
            $(".bestSellersBar").hide();
        }
    };
    
    if($("#departments").length !== 0){
		var shortMenuCount = 20;
		var shortMenuLength = $("#departments .menu li").length;
		if($("#shortMenu").attr("rel") == "1"){
			for(var g=20;g<$("#departments .menu li").length;g++){
				$("#departments .menu li").eq(g).hide();
			}
			$("#departments .menu").append("<div id='shortMenuMore'><span class='ui-icon ui-icon-triangle-1-s right'></span><span class='right'><b><a href='#'>more</a></b></span><span class='clear'></span></div>");
		}
		$("#shortMenuMore").click(function(){
		for(var i=shortMenuCount;i<shortMenuCount+20;i++){
			$("#departments .menu li").eq(i).show();
			if(i>=shortMenuLength){
				$("#shortMenuMore").hide();
				break;
			}
		}
		shortMenuCount+=20;
		});
	}
	
	if(getVar("showme") == "true"){
		$("#container").show();
	}
	
	if($("#container").length !== 0){
		if($("#container").length !== 0 && $("#container ul li").length !== 0){
				//Get data
				var selecter
				document.data = new Array();
				document.cycle = 0;
				for(var i = 0;i<$("#container ul li").length; i++){
					var child = new Array();
					child.push($("#container ul li img").eq(i).attr("src"));
					child.push($("#container ul li .caption").eq(i).html());
					document.data.push(child);
				}
				$("#container").empty();
				//Make Nests
				$("#container").append("<img id='image' /><div id='info'></div><div id='iDetails'>This is the details</div>")
				
				function push(){
				
				if(document.cycle < document.data.length-1){
					document.cycle++
				}else{
					document.cycle=0
				}
					$('#container img').attr("src", document.data[document.cycle][0]).css({left:"120px", opacity:0});
					$('#container #info').html(document.data[document.cycle][1]).css({left:"320px", opacity:0});
					$("#container img").animate({
						left:"30px",
						opacity:1
					}, 300, function(){
						$("#container #info").animate({
							queue: true,
							left:"260px",
							opacity:1
						}, 300);
					})
					setTimeout(out, 2000);
				};
				
				function out(){
					$("#container img").animate({
						left:"15px",
						opacity:0
					}, 300, function(){
						$("#container #info").animate({
							left:"220px",
							opacity:0
						}, 300);
					})
					setTimeout(push2, 1500);
				}
				
				function push2(){
				
				if(document.cycle < document.data.length-1){
					document.cycle++
				}else{
					document.cycle=0
				}
					$('#container img').attr("src", document.data[document.cycle][0]).css({left:"400px", opacity:0});
					$('#container #info').html(document.data[document.cycle][1]).css({left:"5px", opacity:0});
					$("#container img").animate({
						left:"430px",
						opacity:1
					}, 300, function(){
						$("#container #info").animate({
							queue: true,
							left:"35px",
							opacity:1
						}, 300);
					})
					setTimeout(out2, 2000);
				};
				
				function out2(){
					$("#container img").animate({
						left:"460px",
						opacity:0
					}, 300, function(){
						$("#container #info").animate({
							left:"65px",
							opacity:0
						}, 300);
					})
					setTimeout(push, 1500);
				}
				
				push();
			}
	}
	if($("#basket input").length !== 0){
		$(".stockQty").attr('disabled', 'disabled');
		$("#basket input").keyup(function(event){
			if(event.which >= 48 && event.which <= 57 || event.which == 8 || event.which == 46 || event.which >= 96 && event.which <= 105){
				var perItem = parseFloat($("span", $(this).parent().parent().parent()).attr("rel"));
				$(".priceChange", $(this).parent().parent().parent()).attr("rel", $(this).val()*perItem);
				$(".priceChange", $(this).parent().parent().parent()).empty().append("&#163;"+formatNumber($(this).val()*perItem,2,',','.','','','',''));
				var nodes = $(".priceChange");
				var total = 0;
				for(var l=0;l<nodes.length;l++){
					var addition = nodes.eq(l).attr("rel");
					total += eval(addition);
				}
				total+= parseFloat($("#deliveryCost").attr("rel"))*1.175;
				$("#totalExVat").empty().append("&#163;"+formatNumber(total*0.825,2,',','.','','','',''));
				$("#totalVat").empty().append("&#163;"+formatNumber(total*0.175,2,',','.','','','',''));
				$("#totalIncVat").empty().append("&#163;"+formatNumber(total,2,',','.','','','',''));
				
				if($(this).val() > $(".stockQty", $(this).parent().parent().parent()).val()){
					$(".qtyChecked", $(this).parent().parent().parent()).empty().append("<img src='/generic/images/cross.jpg' />");
				}else{
					$(".qtyChecked", $(this).parent().parent().parent()).empty().append("<img src='/generic/images/tick.jpg' />");
				}
				checkBasket();
			}
			if($(this).val() == 0){
				$(".qtyChecked", $(this).parent().parent().parent()).empty().append("<img src='/generic/images/cross.jpg' />");
			}
			
		});
		checkBasket();
	}
	
	if($("#personalDetails").length !== 0){
		$("#personalDetails input").change(function(){
			checkPersonal();
		});
		$("#personalDetails input").keyup(function(e) {
			checkPersonal();
		});
	}

	checkShowStock();
	$("#basketTabs").bind( "tabsshow", function(event, ui) {
		if(ui.panel.id == "confirmation"){
			$(".confirmMessage").hide();
			
			var orderType = document.delOption == -101? 1:2;
			
			
			$.ajax({
			  url: '/generic/utils/createOrderJSON.asp?orderType='+orderType,
			  dataType: 'json',
			  async: false,
			  success: function(data) {
				if(data[0].webOrderCode  !== "null"){
					$(".confirmMessage").slideDown();
					$(".confirmMessage .refNo").append(data[0].webOrderCode);
				}else{	
				}
				$("*[href=#confirmation] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
				
			}
			});
			
			
			/*
			$.getJSON(, function(data) {
				if(data[0].webOrderCode  !== "null"){
					$(".confirmMessage").slideDown();
					$(".confirmMessage .refNo").append(data[0].webOrderCode);
				}else{	
				}
				$("*[href=#confirmation] .ui-icon").removeClass("ui-icon-close").addClass("ui-icon-check");
				
			});
			*/
			
			$("#basketTabs").tabs({disabled: [0,1,2,3]});
		}else if(ui.panel.id == "personalDetails"){
			$("*[name=title]").focus();
			checkPersonal();
		}else if(ui.panel.id == "deliveryDetails"){
			if($("#fetchRegisteredDeliveryAddresses").length !== 0){
					$("#deliveryDetails input").not("#fetchRegisteredDeliveryAddresses input, .delNotes input, .delNotes textarea").attr("disabled", "disabled");
					$("#fetchRegisteredDeliveryAddresses input").change(function(){
						$.getJSON('/generic/utils/fetchRegisteredDeliveryAddressJSON.asp?registeredAddressCode='+$(this).attr("value"), function(data) {
							$("*[name=address0]").last().val(data[0].address1);
							$("*[name=address1]").last().val(data[0].address2);
							$("*[name=address2]").last().val(data[0].address3);
							$("*[name=town]").last().val(data[0].town);
							$("*[name=county]").last().val(data[0].county);
							$("*[name=delPostcode]").last().val(data[0].postcode);
							document.autoDelPass = true;
							checkDelivery();
						});
					});
					
					$("#fetchRegisteredDeliveryAddresses input[checked]").change();
				}else{
			if($("#deliveryDetails input").eq(1).val() == ""){
				$("*[name=title]").last().val($("*[name=title]").first().val());
				$("*[name=firstName]").last().val($("*[name=firstName]").first().val());
				$("*[name=surname]").last().val($("*[name=surname]").first().val());
				$("*[name=house]").last().val($("*[name=house]").first().val());
				$("*[name=address0]").last().val($("*[name=address0]").first().val());
				$("*[name=address1]").last().val($("*[name=address1]").first().val());
				$("*[name=town]").last().val($("*[name=town]").first().val());
				$("*[name=county]").last().val($("*[name=county]").first().val());
				$("*[name=delPostcode]").val($("*[name=postcode]").val());
				
			}
			checkDelivery();
		}
		$("#deliveryDetails input").change(function(){checkDelivery()});
		}
		
		
	});
	
	if(getVar("page") == "basket"){
		checkBasket();
		
		if($(".productRow").length == 0){
			//no prods in basket
			$("#basketTabs").hide();
			$(".emptyBasket").show();
		}
	}
	
	if(getVar("page") == "basket"){
		
		if(window.location.hash == "#confirmation"){
			$("#basketTabs").tabs({disabled: [0,1,2,3]});
			$("#basketTabs .tabHeading li a span.ui-icon").not($("#basketTabs .tabHeading li a span.ui-icon").last()).removeClass("ui-icon-check").addClass("ui-icon-close")
		}	
	}
	
    //TWITTER ENGINE
    if($('#twitter').length !== 0){
        $.jTwitter($("#twitter").attr("rel"), 5, function(data, userdata){
            $.each(data, function(i, post){
                $('#posts').append("<p>"+post.text+"</p>");
            });
        });
        $("#posts").css("background-image", "none");
    }
	
});//end $(function(){});

function checkLargestCol(){
    var cols = ["leftCol", "midCol", "rightCol"];
    for(var checklc=0;checklc<3;checklc++){
        if(checklc == 0){
            document.largestCol =  parseFloat($("#"+cols[checklc]).css("height"));
        }else{
            if(document.largestCol < parseFloat($("#"+cols[checklc]).css("height"))){
                document.largestCol = parseFloat($("#"+cols[checklc]).css("height"))
            }
        }
    }
}

function changeSplat(){
    $(".splats").each(function(){
        if($(this).children().length !== 1){
            target = $(this).children(".selected")
            target.css("z-index", document.splatIndex).removeClass("selected");
            
            if(document.splatPing == true){
                document.splatPing = false;
                $(this).children().last().prev().css("z-index", 101);
            }
            
            if(target.next().next().hasClass("splat")){
                target.next().next().addClass("selected");
            }else{
                $(this).children().first().addClass("selected");
                document.splatPing = true;
            }
            document.splatIndex = document.splatIndex+1;
        }
    });
}

function keypress(e, tar){
    if ([e.keyCode||e.which]==8){//this is to allow backspace
    	return true;
    }
    if ([e.keyCode||e.which] < 48 || [e.keyCode||e.which] > 57){
        e.preventDefault? e.preventDefault() : e.returnValue = false;
    }
    
    if(document.getSelection() == $(tar).val()){
	    return true;
    }
    
    if($(tar).val().length == 2){
        e.preventDefault? e.preventDefault() : e.returnValue = false;
    }
}

function filterData(){
    document.data = [];
    for(var d=0;d<document.carbonCopy.length;d++){
        p = document.carbonCopy[d].displayPrice1;
        c = $("#priceCol .priCol");
        l = prices;
        if((p<=parseFloat(l[0].larger) && p>parseFloat(l[0].lesser) && c.eq(0).children("input").attr("checked") == true) || (p<=parseFloat(l[1].larger) && p>parseFloat(l[1].lesser) && c.eq(1).children("input").attr("checked") == true) || (p<=parseFloat(l[2].larger) && p>parseFloat(l[2].lesser) && c.eq(2).children("input").attr("checked") == true) || (p<=parseFloat(l[3].larger) && p>parseFloat(l[3].lesser) && c.eq(3).children("input").attr("checked") == true)){
            if(pager == "departmentCode"){
                if($("#"+document.carbonCopy[d].manfCode).attr("checked") == true){
                    document.data.push(document.carbonCopy[d]);
                }
            }else if(pager == "manfCode"){
                if($("#"+document.carbonCopy[d].departmentCode).attr("checked") == true){
                    document.data.push(document.carbonCopy[d]);
                }
            }
        }
    }
    document.start = 0;
    sortResults();
}

function checkPrices(){
	checkShowStock();
    prices = document.prices;
    data = document.carbonCopy;
    for(var cpf = 0; cpf<prices.length; cpf++){
        var passed = false;
        for(cpaf = 0; cpaf<data.length ; cpaf++){
            if(data[cpaf].displayPrice1 <= prices[cpf].larger && data[cpaf].displayPrice1 > prices[cpf].lesser){
                passed = true;
			}
        }
        if(passed == false){
            $("#priceCol .priCol").eq(cpf).children("input").attr("disabled", true);
            $("#priceCol .priCol").eq(cpf).children("label").css("color", "grey");
            $("#priceCol .priCol").eq(cpf).children("input").attr("checked", true);
        }
    }
};

function cycle(){
    $("#cycle .seg").eq(document.cycleNode).animate({
        opacity: 0
    }, 1000, function(){
        $(this).hide();
    });
    
    if(document.cycleNode+1 < $("#cycle .seg").length){
        $("#cycle .seg").eq(document.cycleNode+1).show();
        $("#cycle .seg").eq(document.cycleNode+1).animate({
            opacity: 1
        }, 1000);
        document.cycleNode++;
    }else{
        $("#cycle .seg").eq(0).show();
        $("#cycle .seg").eq(0).animate({
            opacity: 1
        }, 1000);
        document.cycleNode=0;
    }
}

function navHandler(data){
    $("#navBar").css("border-left", "0px");
    document.navData = data;
    if(getVar("page") == "home" || getVar("page") == ""){
        $("#navBar").append('<button class="left first"><span class="ui-button-text">Home</span></button>');
        $("#navBar button").last().button();
        $("#navBar button").last().button("disable");
        $("#navBar button").last().css({"opacity": 1}).addClass("ui-state-active");
    }else{
        $("#navBar").append('<button class="left first"><span class="ui-button-text">Home</span></button>');
        $("#navBar button").last().button()
        $("#navBar button").last().button().click(function(){
            document.location="?page=home";
        });
    }
    for(var c = 0; c<data.length; c++){
    if(getVar("page") == "content" && getVar("contentCode") == data[c].code){
            $("#navBar").append('<button class="left ui-state-active"><span class="ui-button-text">'+data[c].description+'</span></button>')
            $("#navBar button").last().button();
            $("#navBar button").last().button("disable");
            $("#navBar button").last().css({"opacity": 1}).addClass("ui-state-active");
            
        }else{
            $("#navBar").append('<button class="left" rel="'+c+'"><span class="ui-button-text">'+data[c].description+'</span></button>')
            $("#navBar button").last().button();
            $("#navBar button").last().button().click(function(){
                document.location = "?page=content&contentCode="+(document.navData[$(this).attr("rel")].code);
            });
        }
    }
    if(getVar("page") == "login"){
        $("#navBar").append('<button class="right"><span class="ui-button-text">Login</span></button>');
        $("#navBar button").last().button();
        $("#navBar button").last().button("disable");
        $("#navBar button").last().css("opacity", 1).addClass("ui-state-active");
    }else{
        $("#navBar").append('<button class="right"><span class="ui-button-text">Login</span></button>');
        $("#navBar button").last().button();
        $("#navBar button").last().button().click(function(){
            document.location= "?page=login";
        });
    }
    $("#navBar").append('<div class="clear"></div>');//left ui-button ui-button-text-only ui-widget ui-corner-left ui-state-active buttonModActive ui-state-default buttonMod

    $("#navBar button").each(function(){
        if($(this).hasClass("left") && !$(this).hasClass("first")){
            if($(this).hasClass("ui-state-active")){
                $(this).prev().css("border-right-width", "0");
            }else{
                $(this).css("border-left-width", "0");
            }
        }
    }).mouseover(function(){
        if($(this).hasClass("left") && !$(this).hasClass("first")){
            $(this).prev().css("border-right-width", "0");
            $(this).css("border-left-width","1px");
        }
    }).mouseout(function(){
        if($(this).hasClass("left") && !$(this).hasClass("first")){
            $(this).prev().css("border-right-width", "1px");
            $(this).css("border-left-width","0");
        }
    });

    $("#navBar button").last().css({
        "-moz-border-radius-topright":"4px",
        "-webkit-border-top-right-radius":"4px",
        "border-top-right-radius":"4px",
        "-moz-border-radius-bottomright":"4px",
        "-webkit-border-bottom-right-radius":"4px",
        "border-bottom-right-radius":"4px",
        "margin-right":"-1px",
        "border-left-width":"1px"
    });

}

function carouselStart(){

    $("#carousel").animate({
        opacity:1
    }, 1000);
    $('#carousel').Carousel({
            itemWidth: 90,
            itemHeight: 90,
            itemMinWidth: 50,
            items: 'a',
            reflections: 0.000001,
            rotationSpeed: 1.8
    });
}

function sortResults(){
    $("#categoryList .products").empty();
    data = document.data
    if(data.length == 0){
        $("#categoryList .products").append('<p class="textCenter"><em>No products selected</em></p>')
        .css({
            "padding-top": "15px",
            "padding-bottom": "15px"
        });
    }else{
        $("#categoryList .products").css({
            "padding-top": 0,
            "padding-bottom": 0
        });
    }
    
    if(data.length - document.start < document.shown){
        document.end = data.length;
    }else{
        document.end = document.start + document.shown;
    }
    if(document.sortBy == "displayPrice1" || document.sortBy == "stockQty"){
        dataType = parseInt;
    }else{
        dataType = function(a){return a.toUpperCase()};
    }
    
    
    data.sort(sort_by(document.sortBy, document.reverse, dataType));
    
    for(var k=document.start; k<document.end;k++){
	    if(data[k].forbidOnlinePricing == -1){
		    var price = $("#forbidOnlinePricingText").attr("rel");
	    }else{
		    var price = data[k].displayPrice1;
        	price = "&pound;"+formatNumber(price,2,',','.','','','','')
	    }
	    
        if(data[k].HotProductLevel == 2){//temp change [orig = 3];
            hot = '<div class="splat splats"><div class="splat hotDeal selected"></div><div class="clear"></div></div>';
        }else{
            hot = "";
        }
        
        var percentOff = 1-(parseFloat($("#priceDropRegisterPercentage").attr("rel"))/100);
        if(data[k].displayPrice1 <= data[k].wasNormalRetailPrice*percentOff){
            diffSplat='<div class="splat splats"><div class="splat loweredPrice diffSplatMod"></div><div class="clear"></div></div>';
            var oldPrice = parseFloat(data[k].wasNormalRetailPrice);
        }else{
            diffSplat = "";
        }
        
        var buttons;
        var btnMod;
        
        switch (document.websiteMode){
			case "0":
				buttons = "";
            	btnMod = "btnModShift"
			break;
			case "1":
				if(data[k].forbidOnlinePricing == -1 || data[k].forbidOnlinePurchase == -1){
					buttons = "";
            		btnMod = "btnModShift"
        		}else{
	        		buttons = '<span class="buttonFix"><span class="void"><p><input rel="'+data[k].displayPrice1+'" class="quant quantityBox" value="1" onKeypress="keypress(event, this)"/><span rel="'+data[k].liwCode+'" class="basket bumpLeft5 sortAddBasket">Add</span></p></span></span>'
            		btnMod = "bumpTop15";
        		}
			break;
			case "2":
				if(data[k].forbidOnlinePricing == -1 || data[k].forbidOnlineReservation == -1 || data[k].stockQtyReserveAndCollect <= 0){
					buttons = "";
            		btnMod = "btnModShift"
        		}else{
	        		buttons = '<span class="buttonFix"><span class="void"><p><input rel="'+data[k].displayPrice1+'" class="quant quantityBox" value="1" onKeypress="keypress(event, this)"/><span rel="'+data[k].liwCode+'" class="basket bumpLeft5 sortAddBasket">Add</span></p></span></span>'
            		btnMod = "bumpTop15";
        		}
			break;
			case "3":
				if(data[k].forbidOnlinePricing == -1 || (data[k].forbidOnlineReservation == -1 && data[k].forbidOnlinePurchase == -1) || (data[k].forbidOnlinePurchase == -1 && data[k].stockQtyReserveAndCollect <= 0)){
					buttons = "";
            		btnMod = "btnModShift"
        		}else{
	        		buttons = '<span class="buttonFix"><span class="void"><p><input rel="'+data[k].displayPrice1+'" class="quant quantityBox" value="1" onKeypress="keypress(event, this)"/><span rel="'+data[k].liwCode+'" class="basket bumpLeft5 sortAddBasket">Add</span></p></span></span>'
            		btnMod = "bumpTop15";
        		}
			break;
		}
		
		var vat = "";
		
		if(document.ciWebsite == 1){
			
			var secPrice = data[k].displayPrice2;
        	secPrice = formatNumber(secPrice,2,',','.','','','','')
			
			vat = "<b class='globalPrice'>&pound;"+secPrice+' <a class="smallText">'+data[k].displayPriceText2+'</a></b>';
		}
		
		var normalPriceText = "";
		
		if(data[k].displayPriceText1 !== "" && data[k].displayPriceText1 !== undefined){
			normalPriceText = '<a class="smallText globalPrice"><b>'+data[k].displayPriceText1+'</b></a>'
		}
		
        if(diffSplat !== ""){
            $("#categoryList .products").append('<div class="clItem" rel="'+data[k].liwCode+'">'+hot+'<div class="clImage"><img src="'+data[k].imageLargeFilename+'" height="70px" width="70px" /></div><div class="clInfo"><span class="clInfoHug"><div style="height:20px;width:0px;"></div><span class="globalManf"><b>'+data[k].manufacturer+' '+data[k].modelNo+'</b></span></br><div style="height:3px;"></div></span>'+data[k].shortDescription+' </br><div style="height:3px;"></div><span class="devHide">'+vat+'</span></div><div class="clQuant diff">'+diffSplat+'<p class="pri globalPrice">'+price+'</p><p>'+normalPriceText+'</p><p class=" globalPrice">was</p><p class="old globalPrice">&pound;'+oldPrice+'</p></div><div class="clPrice '+btnMod+'"><span class="cooldown">'+data[k].defaultGuestStockMsg+'<span class="void quantBox quantityBox ui-widget-content ui-corner-all tipper" alt="false" rel="'+data[k].liwCode+'">?</span></span>'+buttons+'</div><div class="clear"></div></div>');
        }else{
            $("#categoryList .products").append('<div class="clItem" rel="'+data[k].liwCode+'">'+hot+'<div class="clImage"><img src="'+data[k].imageLargeFilename+'" height="70px" width="70px" /></div><div class="clInfo"><span class="clInfoHug"><div style="height:20px;width:0px;"></div><span class="globalManf"><b>'+data[k].manufacturer+' '+data[k].modelNo+'</b></span></br><div style="height:3px;"></div></span>'+data[k].shortDescription+' </br><div style="height:3px;"></div><span class="devHide">'+vat+'</span> </div><div class="clQuant"><p class="pri globalPrice">'+price+'</p><p>'+normalPriceText+'</p></div><div class="clPrice '+btnMod+'" ><span class="cooldown">'+data[k].defaultGuestStockMsg+'<span class="void quantBox quantityBox ui-widget-content ui-corner-all tipper" alt="false" rel="'+data[k].liwCode+'">?</span></span>'+buttons+'</div><div class="clear"></div></div>');
        }
        
         $(".quant").click(function() {
            $(this).focus();
            $(this).select();
        });
    }
    $(".clItem").mouseover(function(){
        $("img", this).css("border", "1px solid #dfdfdf");
    }).mouseout(function(){
        $("img", this).css("border", "1px solid white");
    });
    tipperListener();
    
    $('.sortAddBasket').button({
            icons:{
                primary: 'ui-icon-cart'
            }
        }).click(function(){
            $("#dialog-purchase").empty();
            $("#dialog-purchase").css({
                "background-image": "url(/customerResources/css/custom-theme/images/ui-anim_basic_16x16.gif)",
                "background-repeat": "no-repeat",
                "background-position": "center center"
            });
            document.liwCodes = $(this).attr("rel");
			document.productQtys = $("input", $(this).parent()).val();
			document.productPrices = $("input", $(this).parent()).attr("rel");
            /*$.getJSON('/generic/utils/fetchAddOnsJSON.asp?liwCode='+$(this).attr("rel"), function(data) {
                $("#dialog-purchase").css({
                    "background-image": "none"
                });
				if(data.length !== 0){
				
					for(var kl = 0; kl< data.length; kl++){
						var price = data[kl].normalRetailPrice;
						price = formatNumber(price,2,',','.','','','','')
						$("#dialog-purchase").append('<span><p><img class="left" height="30" width="30" src="'+document.ediPathSuffix+'/productImages/basketProductImages/'+data[kl].imageLargeFilename+'" /><div class="des left">'+data[kl].shortDescription+'</div><div class="pri left">&pound;'+price+'</div><div class="che left" ><input rel="'+data[kl].normalRetailPrice+'" class="quant quantityBox" value="1" onKeypress="keypress(event, this)"/><input class="bumpLeft10" type="checkbox" rel="'+data[kl].liwCode+'" /></div></p></span><div class="clear"></div>');
					}
					$("#dialog-purchase").dialog("option", "position", 'center');
					document.liwCodes = "";
            document.productQtys= "";
            document.productPrices = "";
            
            document.selectedItemDetails.push($(this).attr("rel"));
            document.selectedItemDetails.push($("input", $(this).parent()).val());
            document.selectedItemDetails.push($("input", $(this).parent()).attr("rel"));
            
            $("#dialog-purchase").dialog({
                resizable: false,
                width:550,
                modal: true,
                buttons: {
                    "Confirm": function() {
                        
                        document.liwCodes += document.selectedItemDetails[0];
                        document.productQtys += document.selectedItemDetails[1];
                        document.productPrices += document.selectedItemDetails[2];
                        
                        
                        $("input[type=checkbox][checked]", $("#dialog-purchase")).each(function() {
                            document.liwCodes += ","+$(this).attr("rel");
                            document.productQtys += ","+$(".quant", $(this).parent().parent()).val();
                            document.productPrices += ","+$(".quant", $(this).parent().parent()).attr("rel");
                        });
                                                
                        basketLoading()
                        $.getJSON('/generic/utils/updateBasketJSON.asp?liwCodes='+document.liwCodes+'&productQtys='+document.productQtys+'&productPrices='+document.productPrices, function(data) {
	                        updateBasket(data);
                        })
                        
                        document.liwCodes = "";
                        document.productQtys = "";
                        document.productPrices = "";
                        $("#dialog-purchase").dialog("close");
                    },
                    "Cancel": function() {
                        $(this).dialog("close");
                        document.liwCodes = "";
                        document.productQtys = "";
                        document.productPrices = "";
                    }
                }
            });
				}else{*/
					basketLoading()
					 $.getJSON('/generic/utils/addToBasketJSON.asp?liwCodes='+document.liwCodes+'&productQtys='+document.productQtys+'&productPrices='+document.productPrices, function(data) {
	                        updateBasket(data);
					})
				/*}
            });*/
            
        });
    
    if($(".clItem").length !== 0){
        $(".clItem").click(function(){
            if(document.voider == false){
                window.location = "/generic/website.asp?page=product&liwCode="+$(this).attr("rel");
            }
        }).mouseover(function(){
            $(this).addClass("productListHighlight");
        }).mouseout(function(){
            $(this).removeClass("productListHighlight");
        });
        $(".clItem .void").mouseover(function(){
            document.voider = true;
        }).mouseout(function(){
            document.voider = false;
        });
    }
    
    $("#categoryList .products").append('<div class="clear"></div>');
    
    $(".pageTicker").empty();
    
    if(document.data.length/document.shown == Math.floor(document.data.length/document.shown)){
        totalPages = Math.floor(document.data.length/document.shown);
    }else{
        totalPages = Math.floor(document.data.length/document.shown) + 1;
    }
    
    $(".pageTicker").append((Math.floor(document.start/document.shown)+1)+"/"+totalPages);
    
    if(document.end == document.data.length){
        $(".end").button("disable").button("refresh");      
        $(".next").button("disable").button("refresh");
    }else{
        $(".end").button("enable").button("refresh");
        
        $(".next").button("enable").button("refresh");
    }
    
    if(document.start == 0){
        $(".beginning").button("disable")
        $(".prev").button("disable")
    }else{
        $(".beginning").button("enable")
        $(".prev").button("enable")
    }
    
    if(document.reverse == false){
        $(".asc").button("disable")
        $(".desc").button("enable");
    }else{
        $(".desc").button("disable")
        $(".asc").button("enable");
    }
    $("button").button("refresh");
    
    $('#categoryList .products .clItem').last().css('border-bottom-width', '0');
    $(".products").css("background-image", "none");
    
    checkPrices();
    checkShowStock();
    
}

function newProdAppend(data, id){
    for(var i=id;i<id+4;i++){
        if(i == id){
            var chosen = "first";
            var cellChoice = "cellL";
        }else{
            var chosen = "";
            var cellChoice = "";
        }
        if(i<4){
            var hider = "";
        }else{
            var hider = "opacityHide heightHide";
        }
        if(data[k].forbidOnlinePricing !== -1){
	        var price = data[i].displayPrice1;
	        var was = data[i].wasNormalRetailPrice;
	        
	        price = formatNumber(price,2,',','.','','','','')
	    }else{
		    var price = "";
	    }
	     var price = data[i].displayPrice1;
        var was = data[i].wasNormalRetailPrice;
        
        price = formatNumber(price,2,',','.','','','','');
        
        var percentOff = 1-(parseFloat($("#priceDropRegisterPercentage").attr("rel"))/100);
        if(data[i].displayPrice1 <= data[i].wasNormalRetailPrice*percentOff){
	       	was = formatNumber(was,2,',','.','','','','')
        	var wasApp = '<p class="globalPrice textCenter cooldown">was</p><p class="globalPrice strike textCenter cooldown">&pound;'+was+'</p>'
        	var modelHeight = ""
        }else{
          	var wasApp="";
          	var modelHeight = ''
        }
        var color = $(".ref").css("border-top-color");
        
        var priceText = "";
        
        if(data[i].displayPriceText1 !== "" && data[i].displayPriceText1 !== undefined){
	     	var priceText = data[i].displayPriceText1;
        }
        
        var hot = '<div class="splat splats"><div class="splat frontNew selected"></div><div class="clear"></div></div>';//?page=product&liwCode='+data[i].liwCode+';
      	
       $("#newProducts").append('<div class="cell '+cellChoice+' hCell left ui-corner-all" style="border: 1px solid '+color+'" rel="?page=product&liwCode='+data[i].liwCode+'"><div class="textCenter bumpTop10 bumpBottom10"><div class="cImg" >'+hot+'<img src="'+data[i].imageLargeFilename+'" height="110" width="110" /></div></div><div class="globalManf textCenter close">'+data[i].manufacturer+'</div><div class="globalModelNo textCenter close" '+modelHeight+'>'+data[i].modelNo+'</div><div class="textCenter text cooldown cStock centerText">'+data[i].defaultGuestStockMsg+'<span class="void quantBox ui-widget-content ui-corner-all tipper cooldown textCenter" alt="false" rel="'+data[i].liwCode+'">?</span></div><div class="globalPrice text cPrice textCenter">&pound;'+price+'</div><div class="smallText textCenter globalPrice">'+priceText+/*wasApp+*/'</div><div style="height:5px;"></div><span class="ui-icon ui-icon-triangle-1-e right"></span><a class="moar right">more</a></div>')
        
       if(data[i].forbidOnlinePricing == -1){
	       $("#newProducts .globalPrice").last().empty().append($("#forbidOnlinePricingText").attr("rel"));
       }
       
    }
    $("#newProducts img").css("border", "1px solid white");
    tipperListener();
    $(".cell").each(function(){
        $(this).addClass("whiteBorder");
        $(this).mouseover(function(){
            $(this).css("background-color", "#ffffee");
            $("img", this).css("border", "1px solid #dfdfdf");
            $(this).css("cursor", "pointer");
        }).mouseout(function(){
            $(this).css("background-color", "#ffffff");
            $("img", this).css("border", "1px solid white");
            $(this).css("cursor", "default");
        }).click(function(){
            document.location = $(this).attr("rel");
        });
    });
    
    $("#newProducts").append('<div class="clear"></div>');
    $(".heightHide").slideToggle("fast", function(){
        $(this).animate({
            opacity:1
        }, 500);
        $(this).removeClass("heightHide");
    });
    if(hider !== ""){
        scrollBottom();
    }
    checkShowStock();
}

function tipperListener(){
$(".tipper").mouseover(function(){
    var target = $(this);
    var string ='<div class="ui-corner-all ui-widget box shadow" id="tooltip"><div class="clear"></div><div class="ui-widget-header ui-corner-top heading tipHead">Stock by Branch</div><div class="ui-widget-content ui-corner-bottom content"><div class="loading"></div></div></div>'
    //$(target).parent().append(string);
    $("body").append(string);
    $("#tooltip").css("position","absolute").css("width", "auto").css("z-index", 9999).css("left", document.mouseX+10).css("top", document.mouseY+10)//.dropShadow({left: 4, top: 4, blur: 2, opacity: 0.3, color:"black"});
    $.getJSON('/generic/utils/fetchBranchStockLevelJSON.asp?liwCode='+$(this).attr("rel"), function(data) {
        var addString="";
        for(var i=0;i<data.length;i++){
            addString += "<p class='cooldown'>"
            addString += "<span class='left'>"+data[i].branch+"</span>"
            addString += "<span class='right'>"+data[i].stockQty+"</span>"
            addString += "<div class='clear'><div>";
            addString += "</p>";
        }
    $("#tooltip .ui-widget-content").empty().append(addString).css("width", "auto");
    })
    }).mouseout(function(){
        $("#tooltip").remove();//.removeShadow()
    })      
}

function scrollBottom(){
    $('body').animate({scrollTop: $("body").height()}, 700);
}

function showAddress(address) {
  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          
        } else {
          map.setCenter(point, 13);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
        }
      }
    );
  }
}

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)
            
         //Restores all the blank spaces.
         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);        
         }
jQuery.cookie = function (key, value, options) {

    // key and value given, set cookie...
    if (arguments.length > 1 && (value === null || typeof value !== "object")) {
        options = jQuery.extend({}, options);

        if (value === null) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? String(value) : encodeURIComponent(String(value)),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
