
//Jquery color plugin!!!
(function(d){d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(f,e){d.fx.step[e]=function(g){if(!g.colorInit){g.start=c(g.elem,e);g.end=b(g.end);g.colorInit=true}g.elem.style[e]="rgb("+[Math.max(Math.min(parseInt((g.pos*(g.end[0]-g.start[0]))+g.start[0]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[1]-g.start[1]))+g.start[1]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[2]-g.start[2]))+g.start[2]),255),0)].join(",")+")"}});function b(f){var e;if(f&&f.constructor==Array&&f.length==3){return f}if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55]}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}if(e=/rgba\(0, 0, 0, 0\)/.exec(f)){return a.transparent}return a[d.trim(f).toLowerCase()]}function c(g,e){var f;do{f=d.curCSS(g,e);if(f!=""&&f!="transparent"||d.nodeName(g,"body")){break}e="backgroundColor"}while(g=g.parentNode);return b(f)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]}})(jQuery);


var curPage=1;
var home_index=1;
var home_speed=6000;

jQuery(document).ready(function(){
	//set the label inside the text input on the right col
	$("#search_box").focus(function(){
		if($(this).val()=="City or Zip"){$(this).val("");};
	}).blur(function(){
		if($(this).val()==""){$(this).val("City or Zip");};
	});
	
	//allow enter button in the address input field on the find-retailer page
	var addrInput=$("#addressInput");
	if(addrInput.length){
		addrInput.keypress(function(event){
			if(event.keyCode=='13'){
				searchLocations();
			};
		});
	};
	
	
	//homepage image sliders!
	setTimeout(nextHome,home_speed);
	
});

function nextHome(){
	var follower=$("#home_follow").children();
	if(follower.length&&(home_speed>0)){
		var imgs=$("#slideshow").children();
		var count=imgs.length;
		follower.removeClass("active");
		$(follower[home_index]).addClass("active");
		imgs.css({"z-index":"1"});
		var last_index=home_index-1;
		if(last_index<0){
			last_index=count-1;
		}
		$(imgs[last_index]).css("z-index","77");
		var alt=$(imgs[home_index]).fadeTo(0,0).removeClass("hidden").css("z-index","99").fadeTo(1000,1).attr("alt");
		$("#image_text").html(alt);
		var rel=$(imgs[home_index]).attr("rel");
		$("#content").attr("class","clearfix");
		if(rel){
			$("#content").animate({"backgroundColor":rel},1000);
		}
		home_index++;
		if(home_index==count){home_index=0;};
		if(home_speed>0){
			setTimeout(nextHome,home_speed);
		}
	};
}

function setHome(index){
	var follower=$("#home_follow").children();
	if(follower.length){
		home_speed=0;
		var imgs=$("#slideshow").children();
		var count=imgs.length;
		follower.removeClass("active");
		imgs.css({"z-index":"1"});
		var last_index=home_index-1;
		if(last_index<0){
			last_index=count-1;
		}
		$(imgs[last_index]).css("z-index","77");
		
		home_index=index;
		$(follower[home_index]).addClass("active");
		
		var alt=$(imgs[home_index]).fadeTo(0,0).removeClass("hidden").css("z-index","99").fadeTo(1000,1).attr("alt");
		$("#image_text").html(alt);
		var rel=$(imgs[home_index]).attr("rel");
		$("#content").attr("class","clearfix");
		if(rel){
			$("#content").animate({"backgroundColor":rel},1000);
		}
		home_index++;
		if(home_index==count){home_index=0;};
		//setTimeout(nextHome,home_speed);
	};
}


//paging functions for the find-retailer page
var perPage=10;


function doPaging(){
	var buffer="";
	var items=$("#populate");
	if(items.length&&(items.children().length>perPage)){
		if(curPage>1){
			buffer+="<li><a href=\"javascript:void(0)\" onclick=\"javascript:gotoPage("+(curPage-1)+")\">Previous</a></li>";
		};
		for(var i=0;i<items.children().length;i+=perPage){
			var cPage=((i/perPage)+1);
			buffer+="<li>";
			if(cPage!=curPage){
				buffer+="<a href=\"javascript:void(0)\" onclick=\"javascript:gotoPage("+cPage+")\">"+cPage+"</a>";
			}else{
				buffer+="<span class=\"active\">"+cPage+"</span>";
			}
			buffer+="</li>";
		};
		if(curPage<Math.ceil(items.children().length/perPage)){
			buffer+="<li><a href=\"javascript:void(0)\" onclick=\"gotoPage("+(curPage+1)+")\">Next</a></li>";
		};
	};
	var paging=$("#paging");
	if(paging.length){
		paging.html(buffer);
		paging.children(":first").addClass("first");
		paging.children(":last").addClass("last");
	};

};

function gotoPage(page,noscroll){
	var items=$("#populate");
	if(items.length&&(items.children().length>perPage*(page-1))){
		var start=((page-1)*perPage);
		var end=start+perPage-1;
		curPage=page;
		items.children().css("display","none");
		var index=0;
		items.children().each(function(){
			if(index>=start&&index<=end){
				$(this).css("display","block");
			};
			index++;
		});
		if(!noscroll){
        $('html,body').animate({scrollTop: 700}, 100);
        }
		doPaging();
		/*if(start==0){
			items.children(":lt("+end+")").css("display","block");
		} else {
			items.children(":lt("+end+"):gt("+start+")").css("display","block");
		};*/
	};
	return false;
};

