/**
 * @author Jesse Chrestler
 * 07/21/2008
 */
function clearAdvancedSearch(){
	for (var i in config.search.options) {
		$("." + config.search.options[i] + " + div > ul > li input").attr({checked: false});
	}
}
binding.add({
	".accordian div:even":{
		selectedClass:"open",
		disabledClass:"closed",
		before: [
			{target:".accordian .open + div:first", type:"slideUp"}
		],
		after:[
			{target:".accordian .open + div:first", type:"slideDown"}
		],
		afterSelectAgain:function(){
			$(".accordian .open + div").slideUp();
			$(".accordian .open").removeClass("open").addClass("closed");
		}
	},/*
	".accordian div:first-child a":{
		selectedClass:"open",
		disabledClass:"closed",
		autoStart:false,
		relativeTarget:"parent",
		before: [
			{target:".accordian .open + div", type:"slideUp"}
		],
		after:[
			{target:".accordian .open + div", type:"slideDown"}
		],
		afterSelectAgain:function(){
			$(".accordian .open + div").slideUp();
			$(".accordian .open").removeClass("open").addClass("closed");
		}
	},*/
	".btn-adv-search": {
  	parent: "ul",
		beforeSelect:function(){
			var dl = $(".dealer-locator");
			if(dl.hasClass("selectedMenuItem"))
				dl.removeClass("selectedMenuItem");
			dl.hide();
			$('.dealer-locator-panel').slideUp();
			clearAdvancedSearch();
			
		},
  	after: [
			/*ryder-remarked-out{target:".billboard-ad-container", type:"fadeOut", speed:"fast"},*/
			/*ryder-added*/
			{target:".billboard-ad-container, .blank-header", type:"fadeOut", speed:"fast"},
  		{target:".advanced-search", type:"fadeIn", afterAnim:function(){$(".advanced-search").css({display:"block"})}}
  	],
  	selectedClass: 'selected-button'
	},
	".btn-view-all": {
	defaultAction:true,
	trackHistory:true,
  	parent: "ul",
		beforeSelect:function(){
			$(".dealer-locator").show();
			carousel.load();
			$(".header-top h2").empty().prepend("Collections");
			clearAdvancedSearch();
		},
  	after: [
			{target:".advanced-search", type:"fadeOut", speed:"fast"},
			/*ryder-remarked-out{target:".billboard-ad-container", type:"fadeIn",*/
			/*ryder-added*/
			{target:".billboard-ad-container, .blank-header", type:"fadeIn", afterAnim:function(){$(".billboard-ad-container").css({display:"block"})}}
  	],
  	selectedClass: 'selected-button'
	},
	".page-button":{
		parent:"ul",
		selectedClass:'selected-button'
	},
	".collection a":{
		autoStart:false,
		selectedClass:"selected-image",
		lastSelectedClass:"last-image",
		target:".collection",
		async:true,
		beforeSelect:function(el){
				genderSelection.remove();
				oel = $(".selected-image");
				if(oel.html() != null){
					var id = oel.attr("id");
					oel.find("img").animate({
							width:75,
							height:125,
							marginTop:5,
							marginLeft:24
						}, this.speed, function(){
							//var path =  config.image.directory + watches[id].id + "/" +  watches[id].id + config.image.small + config.image.ext;
							//oel.attr({src:path});
						oel.find(".image-text-link").fadeIn();
					});
				}
				el.find(".image-text-link").hide();
				if(el.html() != null){
					var id = el.attr("id");
					//console.log(id)
					//var path = config.image.directory + watches[id].id + "/" +  watches[id].id + config.image.large + config.image.ext;
					//el.find("img").attr({src:path});
					//if(watches[id].name != "Bulova Swiss")							
					el.find("img").animate({
							width:125,
							height:225,
							marginTop:-20,
							marginLeft:0
						}, this.speed, function(){
							genderSelection.add(el);
						});
					//else
					//window.location = "http://www.bulova.ch/brands/bulovaint/bulovaint.aspx";
				}
			}
		
	},
	".clock a":{
		defaultAction:true,
		trackHistory:true,
		selectedClass:"selected-clock"
		/*
		afterSelect: function(el){

			var p = el.parents(".clock");
			var i = p.attr("id");
			var id = watches[i].id;
			var name = watches[i].name;
			var aname = name.split(" ");
			name = "";
			for(var i = 0; i < aname.length; i++)name += aname[i].substring(0,1).toUpperCase() + aname[i].substring(1, aname[i].length).toLowerCase() + " ";
			$(".header-top h2").empty().prepend(name + "Collection");
			$(".btn-view-all").css({display:'block'}).removeClass('selected-button');
			carousel.load({params:{coll_id:id}});
		}
	    */
	},
	".product a":{
		afterSelect:function(el){
			var p = el.parents(".product");
			var i = p.attr("id");
			var id = watches[i].id;
			var cid = searchResult.id;
			var type = "brand";
			if(searchResult.type == "product"){
				type = "collection";
			}
			if($(".btn-adv-search").hasClass("selected-button")){
				type = "advancedSearch"
			}
			if(type=="collection")
			    window.location = "product.aspx?brand="+ brand + "&id=" + id + "&coll_id=" + cid + "&origin=" + type ;
			else
			    window.location = "product.aspx?brand="+ brand + "&id=" + id + "&origin=search";
		}
	},
	".gender-container a":{
		defaultAction:true,
		trackHistory:true,
		selectedClass:"selected-gender",
		afterSelect:function(el){
			/*
			var image = $(".selected-image");
			var gender = (el.hasClass("mens")) ? "Men's " : "Ladies' ";
			var name = watches[image.attr("id")].name;
			var aname = name.split(" ");
			name = "";
			for(var i = 0; i < aname.length; i++)name += aname[i].substring(0,1).toUpperCase() + aname[i].substring(1, aname[i].length).toLowerCase() + " ";
			$(".header-top h2").empty().prepend( gender + name + "Collection");
			//$(".btn-view-all").css({display:'block'}).removeClass('selected-button');
			//carousel.load({params:{coll_id: watches[image.attr("id")].id, gender: (el.hasClass("mens")?1:2)}})
			*/
			genderSelection.hide();
		}
	},
	'.btn-clear-all':{
		trackHistory:true,
		afterSelect:function(){clearAdvancedSearch();}
	},
	'.btn-search2':{
		trackHistory:true
	}
});

var config = {
	image:{
		directory: "/images/watches/" + brand + "/",
		small:"-sm",
		large:"-lg",
		ext:".jpg"
	},
	search:{
		options:[
			'band-material',
			'band-type',
			'dial-feature',
			'dial-type',
			'face-color',
			'face-shape',
			'gender',
			'movement',
			'occasion',
			'special-features',
			'water-resistance',
			'price-range'
		]
	}
}

var genderSelection = {
	add:function(el){
		if (el.children(".gender-container").html() == null) {
			var id = el.attr("id");
			var html = "<div class='gender-container'>";

			html += "<a href='#coll_id=" + watches[id].id + "&coll_name=" + watches[id].name + "&gender=1' class='mens'></a>" +
			"<a href='#coll_id=" + watches[id].id + "&coll_name=" + watches[id].name + "&gender=2' class='ladies'></a>";	
			
			html += "</div>";
			el.append(html);
			this.show(el);			
			binding.bind();
		}
	},
	remove:function(){
		$('.gender-container').remove();
		$('.mens').remove();
		$('.ladies').remove();
	},
	show:function(el){
		var id = el.attr("id");
		if(id != null){
			var m = $(".mens");
			var w = $(".ladies");
			var gc = $(".gender-cotainer");
			if(watches[id].gender == 1){
				m.css({display:"block", left:34});
				w.css({display:"none"});
			}else if(watches[id].gender == 2){
				m.css({display:"none"});
				w.css({display:"block", left:25});
			}else if(watches[id].gender == 3){
				m.css({display:"block"});
				w.css({display:"block"});
			}else{
				m.css({display:"none"});
				w.css({display:"none"});
			}
		}
		
		//this.moveTo(el);
		$(".gender-container").fadeIn("slow");
		return this;
	},
	hide:function(){
		$(".gender-container").hide();
		return this;
	}
}

var search = ""
if(typeof $(document).getUrlParam == "function"){
	search = $(document).getUrlParam("search");
}
$(document).ready(function(){
	$('.btn-search2').attr({href:"#search"});
	$('.btn-clear-all').attr({href:"#clear"});
	$('.btn-adv-search').attr({href:'#advanced-search'});
	$('.btn-view-all').attr({href:'#view-all'});
	
	$(".accordian .closed + div").hide();
	var isSearching = window.location.hash.indexOf("=") == -1
	
	$(".scroller-imagery").carousel({
		cycle:false,
		loop:true,
		minWidth:955,
		nextButton:'.btn-forward-arrow',
		prevButton:'.btn-back-arrow',
		getPage:function(page){
			if(page < 10){
				page = "0" + page
			}
			return '<li><a href="#" title="Page '+page+'" class="btn-page'+page+'"><span>Page '+page+'</span></a></li>';
		},
		scroll:7,
		json:{
			root:'watches',
			getRecord:function(carousel, data, index, rec){
				var path = config.image.directory + rec.sku + "/" + rec.sku + config.image.large + config.image.ext;
				/*if(rec.name=='Bulova Swiss'){
				return "<li id='" + index + "' class='" + data.type + "'>" +
							"<a href='http://www.bulova.ch/brands/bulovaint/bulovaint.aspx' title='" + rec.alt + "'>" + 
								"<img class='image-link' alt='" + rec.alt + "' src='" + path + "'/>" +
							"</a>" +
							"<div>" +
								"<a class='image-text-link' href='http://www.bulova.ch/brands/bulovaint/bulovaint.aspx' title='" + rec.name + "'>" +
									rec.name.replace(/\s/g, "<br />") +
								"</a>" + 
							"</div>" + 
						"</li>";
				}else{*/
				return "<li id='" + index + "' class='" + data.type + "'>" +
							"<a href='#coll_id=" + rec.id + "&coll_name=" + rec.name + "' title='" + rec.alt + "'>" + 
								"<img class='image-link' alt='" + rec.alt + "' src='" + path + "'/>" +
							"</a>" +
							"<div>" +
								"<a class='image-text-link' href='#coll_id=" + rec.id + "&coll_name=" + rec.name + "' title='" + rec.name + "'>" +
									rec.name.replace(/\s/g, "<br />") +
								"</a>" + 
							"</div>" + 
						"</li>";//}
			},
			onLoad:function(carousel, data){
				binding.bind();
				var watches = window.watches = data.watches;
				var searchResult = window.searchResult = data;
				if(watches.length == 1 && searchResult.type == "product"){
					var id = watches[0].id;
					var cid = searchResult.id;
			        window.location = "product.aspx?brand="+ brand + "&id=" + id + "&origin=search";
                		}
				window.carousel = carousel;
			},
			url:"searchresults.aspx",
			params:{start:0, limit:100},
			autoLoad:isSearching
		}
	});
  

	$(".as-body input").bind("click", function(){
		 var params = {};
	 	 for(var i in config.search.options){
		 	var opt = config.search.options[i];
		 	$("." + opt + " + div > ul > li input[type='checkbox']:checked").each(function(){
				if(params[opt] == undefined)params[opt] = $(this).val();
				else params[opt] += "," + $(this).val();
			})
		 }
		 var hash = [];
		 for(var i in params)hash.push(i + "=" + params[i]);
		 $(".btn-search2").attr({href:"#" + hash.join("&")});
	});
  if(typeof $.historyInit == "function")
		$.historyInit(pageload);
/*
  $(".btn-clear-all").bind("click",function(){
 	 $("input[type='checkbox']:checked").attr({checked:false});
 })
 $(".btn-search2").bind("click",function(){
 	 var params = {};
 	 for(i in config.search.options){
	 	var opt = config.search.options[i];
	 	$("." + opt + " + div > ul > li input[type='checkbox']:checked").each(function(){
			if(params[opt] == undefined)
				params[opt] = $(this).val();
			else
				params[opt] += "," + $(this).val();
		})
	 }
	 $(".header-top h2").empty().prepend("Search Results");
	 carousel.load({params: params});
 	})
*/
	//$('.billboard-ad').cycle('fade');
	$('.advanced-search-ad div').cycle('fade');
	if(search != null && search.toLowerCase() == "yes"){
		search = null;
		$('.btn-adv-search').click();
	}			
})
 