var SearchResults = {

	CurrentTag: null,
	AddNewTag: function(iID) {

		$("#NewTag_"+iID).css("display","none");
		$("#InputTag_"+iID).css("display","block");
		
		setTimeout(function() {
		$("BODY").bind("click",SearchResults.InputBlur);
		},50);
		SearchResults.CurrentTag = iID;

	},

	InputBlur: function(e) {

		var oEl = window.addEventListener ? e.target : e.srcElement;
		
		if ($(oEl).parents(".inputtag:first").length == 0)
		{
			$("#InputTag_"+SearchResults.CurrentTag).css("display","none");
			$("#NewTag_"+SearchResults.CurrentTag).css("display","block");
			$("BODY").unbind("click",SearchResults.InputBlur);
		}

	},

	ApplyNewTag: function(iID) {

		var oInputTag = $("#InputTag_"+iID).find("INPUT");
		var sTag = oInputTag.val();

		if (sTag == "Suggest a new tag" || sTag.replace(/\s/gi,"") == "")
			return;
		
		// eLad, please return the html tags
		/*
		$.ajax({
		   type: "POST",
		   url: ROOT_URL+"ReturnTags.asp?rnd="+new Date().getTime(),
		   data: {id:iID,sTag:sTag},
		   success: function(all){
		*/
				
				var sReturnedTags = "<span class=\"color1\">Tags:</span> <a href=\"\">a</a>, <a href=\"\">b</a>,<a href=\"\">c</a>, <a href=\"\">d</a>, <a href=\"\">scif</a>, <a href=\"\">thirst2</a>,<a href=\"\">blood</a>, <a href=\"\">birthday</a>, <a href=\"\">mtv</a>, <a href=\"\">youth</a>,<a href=\"\">wolfs</a>...";
				
				$("BODY").unbind("click",SearchResults.InputBlur);
				$("#Tags_"+iID).html(sReturnedTags);
				oInputTag.val("Suggest a new tag");
				$("#NewTag_"+iID).css("display","block");
				$("#InputTag_"+iID).css("display","none");
				$("#NewTag_"+iID).find(".txt").html("Thanks!");
				setTimeout(function() {
					$("#NewTag_"+iID).find(".txt").html("add new tag");
				},900);

		/*
		   }
		});
		*/
		

	},

	IntervalCommunityLinks: null,
	CommunityPrevEl: null,
	CommunityLinksMouseOver: function(oEv,oEl) {

		try {clearInterval(SearchResults.IntervalCommunityLinks);}
		catch (e){}

		if (SearchResults.CommunityPrevEl != null)
			SearchResults.CommunityLinksMouseOut(null,SearchResults.CommunityPrevEl,true);

		SearchResults.CommunityPrevEl = oEl;
		$(oEl).children(':eq(1)').css('display','block');
		$(oEl).find(".Arrow-Bottom").removeClass("Arrow-Bottom").addClass("Arrow-Top");
		
	},

	CommunityLinksMouseOut: function(oEv,oEl,bNotCheckEv) {

		if (bNotCheckEv)
		{
			
			$(oEl).children(':eq(1)').css('display','none');
			$(oEl).find(".Arrow-Top").removeClass("Arrow-Top").addClass("Arrow-Bottom");
			SearchResults.CommunityPrevEl = null;
			
		} else {

			var oElTo = window.addEventListener ? oEv.relatedTarget : oEv.toElement;

			
			SearchResults.IntervalCommunityLinks = setInterval(function() {

				try {clearInterval(SearchResults.IntervalCommunityLinks);}
				catch (e){}
				
				if ($(oElTo).parents(".CommunityLinks:first").length == 0) {
					$(oEl).children(':eq(1)').css('display','none');
					$(oEl).find(".Arrow-Top").removeClass("Arrow-Top").addClass("Arrow-Bottom");
					SearchResults.CommunityPrevEl = null;
				}

			},500);
		}
	},

	CloseCommunityLinks: function(oEl) {
		var oLinksContent = $(oEl).prev();
		$(oEl).children(':eq(1)').css('display','none');
		$(oEl).find(".Arrow-Top").removeClass("Arrow-Top").addClass("Arrow-Bottom");
	},

	OpenCloseCommunityLinks: function(oEl) {
		var oLinksContent = $(oEl).prev();
		if (oLinksContent.css("display") == "none")
		{
			oLinksContent.css("display","block");
			$(oEl).find(".Arrow-Bottom").removeClass("Arrow-Bottom").addClass("Arrow-Top");
		} else {
			oLinksContent.css("display","none");
			$(oEl).find(".Arrow-Top").removeClass("Arrow-Top").addClass("Arrow-Bottom");
		}
	},

	WebStreamingLinksPos: function(oEl) {
		$("#WebStreamingLinks-Options").css("left",(getLeft(oEl)+14)+"px");
	},


	oRequest: {pageIndex:1,period:"month"},

	getSearchQuery:function () {
		var searchQuery=$("#hp-search-query").val();
		if ($.inArray(searchQuery,MiniHP.SearchRadioValues)>-1) searchQuery="";
		return searchQuery;
	},

	initRequestFromQS:function () {

		var params={};
		location.search.substr(1).replace(/(.*?)=(.*?)(?:&|$)/g,function (match,key,value) {
			if (!value) value="";
			value=decodeURIComponent(value.replace(/\+/g," "));
			if (!params[key]) params[key]=[];
			params[key].push(value);
		});

		$.extend(SearchResults.oRequest,params);

		var q=SearchResults.oRequest.q || SearchResults.oRequest.searchQuery || "";

		if (q) $("#hp-search-query,#hp-episode-search-query").val(q);
		if (SearchResults.oRequest.episode) $("#MiniSearchEpisode").val(SearchResults.oRequest.episode);
		if (SearchResults.oRequest.season) $("#MiniSearchSeason").val(SearchResults.oRequest.season);
		if (SearchResults.oRequest.addToSearchQuery) $("#qContent").val(SearchResults.oRequest.addToSearchQuery);
		if (SearchResults.oRequest.range) ; // TODO SET RANGE.

		
		var oLis = $("#lstSearchOptionsApr").children(".selected");
		if (oLis.length) {
			var oSpanNav = oLis.find(".spannav");
			if (oSpanNav.length) {
				if (MiniHP && MiniHP.SearchGroup) {
					MiniHP.SearchGroup = oSpanNav.html().toLowerCase().replace(/\s/gi,"");
				}
			}
		}
		

	},

	DoRequest: function(oProps,bReset) {
		if (bReset) {
			SearchResults.oRequest = {pageIndex:1,period:"month"}
		}

		for (var i in oProps) SearchResults.oRequest[i] = oProps[i];

		$("#SearchResults").css("display","none");
		$("#SearchResultsLoader").css("display","block");

		var options=$.extend({
			searchType:$("#hp-search-type").val(),
			searchQuery:SearchResults.getSearchQuery()
		},SearchResults.oRequest);

		options.page=options.pageIndex || options.page || "";
		options.q=options.searchQuery || options.q || "";

		//options.mode="search";

		delete options.searchQuery;
		delete options.pageIndex;

		return location.href="/search-results.asp?"+$.param(options);

		$.ajax({
			type: "POST",
			url: ROOT_URL+"magazine-new-controls.asp?rnd="+new Date().getTime(),
			data: {
				ctl:"HpSearchResults",
				options:JSON.stringify(options)
			},
			success: function(msg){
				$("#HpSearchResultsPlaceHolder").html(msg);

				$("#SearchResultsLoader").css("display","none");
				$("#SearchWebResults").css("display","none");
				$("#SearchResults").css("display","block");

				$("#SearchResults_Pages").find(".C").removeClass("bold");
				$("#SearchResults_NextPage").removeClass("disabled");
				$("#SearchResults_PreviousPage").removeClass("disabled");

				//$("#SearchResults_Tabs").children().removeClass('TabHover');

				if (SearchResults.oRequest.By)
					$("#SearchResults_Tabs").children(".Tab"+SearchResults.oRequest.By).addClass('TabHover')
				
				if (SearchResults.oRequest.SearchType)
				{
					$("#SearchResults_SearchOptions").children().removeClass("selected");
					$("#SearchResults_SearchOptions").children(".SearchType"+SearchResults.oRequest.SearchType).addClass("selected");
				}
			
				if ($("#SearchResults_Pages").children().length == SearchResults.oRequest.page)
				{
					$("#SearchResults_NextPage").addClass("disabled");
				} else if (SearchResults.oRequest.page == 1)
				{
					$("#SearchResults_PreviousPage").addClass("disabled");
				}
				$("#SearchResults_Pages").children(":eq("+(SearchResults.oRequest.page-1)+")").find(".C").addClass("bold");
			}
		});

		/*
		 Values: 
			SearchResults.oRequest {
				Query,
				SearchType,
				page,
				SortBy,
				By (optional values: Week|Month|Year|All),
				DeepSearch,
				Letter,
				PageSize
			}
		*/
	}
}

$(SearchResults.initRequestFromQS);

function loadFirstFullLengthLink(query,isSeries) { loadFirstLinkOf(query,isSeries,true); }
function loadFirstTrailer(query,isSeries) { loadFirstLinkOf(query,isSeries,false); }

function loadFirstLinkOf(query,isSeries,full) {
	var win=window.open("about:blank");
	win.document.write("loading...");
	var data={ categoryName:full ? "Full Movie" : "Trailers / Previews" };
	query=SearchWebResults.createSearchQuery(query,null,isSeries,data);
	$log("query = "+query);
	SearchWebResults.createWebSearchWithCallback(function (res) {
		var url=processVideoLinkUrl(res[0].url,res[0].titleNoFormatting);
		win.location.href=url;
	},data).execute(query);
}