var ms = 
{
	 timeout: []
	,selects: {}
	,init: function()
	{
		ms.form = $(document.ms_form);
		if(typeof document.ms_form == 'undefined') return false;
		
		ms.inputs = {};
		ms.inputs.search = $("input[name=terms]")
								.clickclear({c1:'#c72b96',c2:'#000'})
								.bind("focus",function(){$(this).parent().addClass("border-1px");})
								.bind("blur",function(){$(this).parent().removeClass("border-1px");})
								.bind("keypress",ms.set_timeout);
		
		ms.container = document.getElementById("results");
		ms.noresults = document.getElementById("noresults");
		ms.didyoumean = $("#didyoumean");
		ms.didyoumean.link = ms.didyoumean.find("a");
		
		ms.paginations = $(".pagination_next").show();
		
		ms.form.find(":radio,:checkbox").bind("click",function(){ms.page(0);ms.search();});
		cs.init();
		$("#paginationactivebottom a").live('click',function(){$.scrollTo("#searchbox",500);});
		ms.search();
		
	}
	,search: function()
	{
		cs.close();
		ms.loader(true);
		$.ajax({url:'/app/actions/request.php?action=search&'+Math.random()
			,type:'POST',data:ms.form.serialize()
			,success: function(data)
			{
				data = eval("("+data+")");
				//debug(data);
				if(data.html == '')
				{
					ms.container.innerHTML = '';
					ms.noresults.style.display = 'block';
					ms.paginations.hide();
					
				}
				else
				{
					ms.noresults.style.display = 'none';
					ms.container.innerHTML = '<table class="chs" cellspacing=0 cellpadding=0 width=100%>'+data.html+'</table>';
					if(data.totalpage == 1)
						ms.paginations.hide();
					else
						ms.paginations.each(function()
						{
							this.innerHTML = data.pagination;
						}).show();
				}
				
				if(data.didyoumean!='')
					ms.didyoumean.show().link.html(data.didyoumean);
				else
					ms.didyoumean.hide();
				
				ms.loader(false);
				$cart.checkif_added();
			}});
		
	}
	,set_timeout:function()
	{
		clearTimeout(ms.timeout);
		ms.timeout = setTimeout(function(){ms.page(0);/*ms.search();*/},800);
	}
	,loader: function(show)
	{
		if(show)
			ms.inputs.search.addClass('loader');
		else
			ms.inputs.search.removeClass('loader');

		return ms;
	}
	,reset:function()
	{
		ms.form.get(0).reset();
		ms.form.find(":text,.custom-select").val("").trigger("blur");
		ms.form.find(":checkbox").removeAttr('checked');
		cs.reset();
		ms.search();
	}
	,page:function(p)
	{
		ms.form.find("input[name=p]").val(p);
		ms.search();
		return false;
	}
	
	
};

var cs = 
{
	 has_items:false
	,init: function()
	{
		var $inputs = $(".custom-select");
		if($inputs.length==0) return ms;
		cs.has_items = true;
		
		$inputs.each(function()
		{
			var input = $(this);
			var container = $("#"+input.attr("alt"));
			var id  = input.attr("alt");
			
			input.parent().find(".opvalue")
					.bind("click",cs.open)
					.find("div").attr({id:'opvalue-'+id})
					.data('id',id);
			
			var selected = input.val()==''?":eq(0)":"[rel='"+input.val()+"']";
			$('#opvalue-'+id).append(container.find("a"+selected).html());
			
			ms.selects[input.attr("alt")] = {html:container.html(),typeclass:input.hasClass('first')?'first':'last'};
		});
		
		this.container = $('<div id="selectbox" />')
							.hide().appendTo("body")
							.hoverIntent({over:function(){},out:cs.close,timeout:300});
		
	}
	,open:function()
	{
		if(!cs.has_items) return;
		$(".opvalue").removeClass('hover');
		var offset = $(this).addClass('hover').offset();
		var id = $(this).find("div").data("id");
		if(cs.container.data('current') == id) return cs.close();
		
		cs.container.height("auto").width("auto")
					.removeClass('selectbox-last')
					.removeClass('selectbox-first')
					.data('current',id)
					.html(ms.selects[id].html)
					.css({top:offset.top+'px',left:offset.left+'px'})
					.show()
					.width(cs.container.width()+20);
		
		
		if(cs.container.height() > 200)
			cs.container.height(200);
		
		if(cs.container.width() < 100)
			cs.container.width(110);
		
		if(ms.selects[id].typeclass == 'last')
			cs.container.css({left:offset.left-cs.container.outerWidth()}).addClass("selectbox-last");
		else
			cs.container.addClass("selectbox-first");
			
		var a = cs.container.find("a").data('id',id).bind("click",cs.select);
		
		var selected = cs.container.find("a[rel='"+$("input[alt='"+id+"']").val()+"']").addClass('selected');
		if(selected.length==0)
			selected = a;
		
		selected.get(0).focus();
	}
	,close:function()
	{
		if(!cs.has_items) return;
		$(".opvalue").removeClass('hover');
		cs.container.hide().data('current','');
		return cs;
	}
	,select:function()
	{
		if(!cs.has_items) return;
		var $this = $(this);
		$("input[alt='"+$this.data('id')+"']").val($this.attr("rel"));
		$("#opvalue-"+$this.data('id')).html($this.html());
		cs.close();
		ms.page(0);
		//ms.search();
		return false;	
	}
	,reset:function()
	{
		if(!cs.has_items) return;
		cs.close();
		for(var i in ms.selects)
		{
			$("#opvalue-"+i).html($("#"+i).find(":eq(0)").html());	
		}
	}
};



$(ms.init);
