var friendForm;
var reviewForm;
slideWidth = 54;
currentPos = 1;
$(function(){
	
	$("#ddFilterForm select").change(function(){
		if($(this).val() != 0 )				
			updateDD( $(this));
	});
	$("#modelDD").change(function(){
		window.location.replace("/home.php?cat="+$(this).val());
	});
	
	$("#prodDetailTabsWrap span").click(function(){pdShowTab($(this).attr("tab"), $(this))});
	$("#assocProdTabsWrap span").click(function(){apShowTab($(this).attr("tab"), $(this))});
	$("#sendToFriend").click(function(){sendToFriend()});
	$(".toggleReviewLink").click(function(){reviewToggle()});
	
		// add a "rel" attrib if Opera 7+
	if(window.opera) {
		if ($("a.jqbookmark").attr("rel") == ""){ // don't overwrite the rel attrib if already set
			$("a.jqbookmark").attr("rel","sidebar");
		}
	}
	$("a.jqbookmark").click(function(event){ event.preventDefault(); addBookmark(this.href, this.title);	});
	$("input.filterBox").click( function(){ filterItems($(this))});
	
	$("#catSortDD").change(function(){
		var currURL = String(window.location);				
		var queryStarts = currURL.indexOf("?");
		currURL = (queryStarts > 0)? currURL.substring(0,queryStarts) : currURL;
		newURL = currURL+"?sort="+$("#catSortDD option:selected").attr("value");
		
		if($("#catSortDD option:selected").attr("sort_direction"))
			newURL +=  "&sort_direction="+$("#catSortDD option:selected").attr("sort_direction");
		

		window.location = newURL;
						
	});
	
	$("#topNav li").hover(function(){$(this).children("ul").show();	},function(){$(this).children("ul").hide();	});
	
	
	if($("#prvSlide").size() > 0)
	{
		slider = $("#sliderCarouel ul");
	$("#prvSlide").click(function(){nextSlide(function(){})});
	$("#nxtSlide").click(previousSlide);
	}

	$("#sliderCarouel a").click(function(event){
		event.preventDefault();
		clearInterval(sliderRotation);
		showSlide($(this));
		slider.find("li").removeClass('activ');
		$(this).parent().addClass('activ');
	});
	//sliderRotation = setInterval(rotate, 3000);
	
	$(".tabContent:not(:first)").hide();
	$("#prodDesc").show();
	$(".prodTab").click(function(){ $(".tabContent").hide(); $("#"+$(this).attr("target")).show(); $(".prodTab").removeClass("activ");$(this).addClass("activ");});
	

});

function updateDD( dropDown){
	catId = dropDown.val();
	target = $("#"+dropDown.attr("ddtarget"));
	
	
	var firstOpt = target.find('option').eq(0);
	$.ajax({ 
			type: "GET",
			url: "home.php", 
			data: "ajaxaction=getCats&cat_id="+catId,
			dataType: "json",
			beforeSend: function(){ $("#ddFilterForm").css({"background-image":"url(/bluetest/cartridge-express/skin1/images/ajax-loader.gif)","background-position":"400px 90px"})},
			success: function(data){ 
				if(!data.success){  window.location.replace("http://www.batteries4bikes.co.uk/home.php?cat="+catId); return false;}
				newOptions = convertToOptions(data.ddoptions);
				target.append(newOptions);
				//target.prepend(firstOpt);
				target.attr("disabled",false);
				$("#ddFilterForm").css({"background-image":"url(/bluetest/cartridge-express/skin1/images/magnify-glass.gif)","background-position":"380px 70px"})
		  }});

}
function convertToOptions(ddoptions){
	var optHtml = "";
	for(var cat in ddoptions)
		optHtml += '<option value="'+cat+'" >'+ddoptions[cat]+'</option>';
		
	return optHtml;
}
function pdShowTab( targetContent, clickedTab ){
	$("#prodDetailTabsWrap span").removeClass("activ");
	clickedTab.addClass("activ");
	$(".prodDetailTabContent").removeClass("activ");
	$("#"+targetContent).addClass("activ");
}
function apShowTab( targetContent, clickedTab ){
	$("#assocProdTabsWrap span").removeClass("activ");
	clickedTab.addClass("activ");
	$(".assocProdTabContent").removeClass("activ");
	$("#"+targetContent).addClass("activ");
}

function sendToFriend(){
	if(friendForm == "" || friendForm == "undefined" || typeof(friendForm) == 'undefined')
		friendForm = $("#send2friendFormWrap").html();
		
	modalWindow(friendForm, "Send to a Friend", true);
	$("#send2friendFormWrap").html("");
}
function reviewToggle(){
	$("#existingReviews").toggle();
	$("#reviewForm").toggle();
	pdShowTab("prodReviews", $("#reviewsTab"))
}
function modalWindow(content, title, animate, callback){
	if(animate == null){ animate = false; }

	if($("#modalWindow").size() == 0){  var newLightbox = '<div id="modalWindowWrapper"></div><div id="modalWindow"><span id="modalTitle"></span><span id="modalClose">Close</span><div id="lbContents"></div></div>';  $("body").append(newLightbox);	 }	
	$("#modalWindow div").html(content);	
	$("#modalTitle").text(title);
	var scrollPos = [ $(window).scrollLeft(), $(window).scrollTop()];
	var windowSize = [$(window).width() , $(window).height()];
	
	$("#modalWindowWrapper").css({"width":windowSize[0]+"px","height":windowSize[1]+"px","top":scrollPos[1]+"px","left":scrollPos[0]+"px"});
	$("#modalWindow").css("top",(((windowSize[1] - $("#modalWindow").height())/2)+scrollPos[1])+"px");
	$("#modalWindow").css("left",(((windowSize[0] - $("#modalWindow").width())/2)+scrollPos[0])+"px");
	$("#modalWindow").css("width",$("#lbContents div").css("width"));
	//$("#modalWindowWrapper").fadeIn();
	$("#modalWindowWrapper").show();
	if(animate)
		$("#modalWindow").show("fast", function(){if(callback){callback()}});
	else
		$("#modalWindow").show(0, function(){if(callback){callback()}});
		
	$("#modalWindowWrapper").click(function(){closeModal();});
	$("#modalClose").click(function(){closeModal();});	
	
	$(window).scroll(function(){modalWindowRePos()});

}

function modalWindowRePos(){
	var scrollPos = [ $(window).scrollLeft(), $(window).scrollTop()];
	var windowSize = [$(window).width() , $(window).height()];
	$("#modalWindowWrapper").css({"width":windowSize[0]+"px","height":windowSize[1]+"px","top":scrollPos[1]+"px","left":scrollPos[0]+"px"});
	$("#modalWindow").css("top",(((windowSize[1] - $("#modalWindow").height())/2)+scrollPos[1])+"px");
}
function closeModal(){

	$("#modalWindow").hide();
	$("#modalWindowWrapper").hide();
	$(window).scroll(function(){});
}
function addBookmark(url, title){


		if (window.sidebar) { // Mozilla Firefox Bookmark
			window.sidebar.addPanel(title, url,"");
		} else if( window.external ) { // IE Favorite
			window.external.AddFavorite( url, title);
		} else if(window.opera) { // Opera 7+
			return true; // do nothing - the rel="sidebar" should do the trick
		} else { // for Safari, Konq etc - browsers who do not support bookmarking scripts (that i could find anyway)
			 alert('Unfortunately, this browser does not support the requested action,'
			 + ' please bookmark this page manually.');
		}	
}


 function setCookie(name, value) {
 var today = new Date()
 var expires = new Date()
 expires.setTime(today.getTime() + 1000*60*60*24*30)
 document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +";path=/"
}
 function getCookie(Name) {
 var search = Name + "="
 if(document.cookie.length > 0) {
 offset = document.cookie.indexOf(search)
 if(offset != -1) {
 offset += search.length
 end = document.cookie.indexOf(";", offset)
 if(end == -1) end = document.cookie.length
 return unescape(document.cookie.substring(offset, end))}
 else return ""
 }
}


function showRecentlyViewed(p0) {

	  if (p0){ 
	  }
	  else {var p0=null;
	  }
	   var p1=getCookie("p1");
	   var p2=getCookie("p2");
	   var p3=getCookie("p3");
	   var p4=getCookie("p4");
	  if (p1){
	  if (p1 !=null) {$("#recentProds ul").append(p1)}
	  if (p2 !="false") {$("#recentProds ul").append(p2)}
	  if (p3 !="false") {$("#recentProds ul").append(p3)}
	  if (p4 !="false") {$("#recentProds ul").append(p4)}
	  }
	  else {$("#recentProds").append("<li class='empty'>You have no recently viewed items.</li>")
	  }
	 
	  if(p0 !=null && p0 != p1 && p0 != p2 && p0 != p3 && p0 !=p4){
	   setCookie("p1",p0)
	   setCookie("p2",p1)
	   setCookie("p3",p2)
	   setCookie("p4",p3)
	  }
	
}
function filterItems( tickbox){
		checked = tickbox.attr("checked");
		target = tickbox.attr("target");
		value = tickbox.attr("value");
		$(".item").each(function(){
			if($(this).attr(target) == value){
				if(checked)
					$(this).removeClass("hide"+target);
				else
					$(this).addClass("hide"+target);
			}
		});
	}
	
	
function rotate(){
	nextSlide( function(){ slider.find("li").removeClass('activ');
		slider.find("li:first").addClass('activ'); } );
	showSlide($("#sliderCarouel a:first"));
}
function showSlide( slide ){
	$("#sliderWrap").css('background-image','url('+slide.attr('largeimage')+')');
	
	$("#sliderWrap h3").text(slide.attr('title'));
	$("#sliderWrap p").text(slide.attr('detail'));
	$("#sliderWrap #findOutMore").attr('href',slide.attr('href'));
	
	
}
function previousSlide(){
		slider.prepend(slider.find("li:last"));
		slider.css("left",'-54px');
		slider.animate({'left':'+=54'}, 500, function() {
		});
			
}
function nextSlide ( callback ){
		slider.animate({'left':'-=54'}, 500, function() {
			slider.append(slider.find("li:first"));
			slider.css("left",0);
			if(callback != undefined)
				callback();
		
		});
}
