﻿/**
 *Author: Jerome S. Conde
 *UI Developer
 *Impact Proximity
 */

function gatherParam(){
	return {range:$("input[name='rdoDate']:checked").val()}
}

function invokeAutoSuggest(){

	var locale = "en_gb";
		if(window.location.href.match(/ar_ae/g)){
			locale = "ar_ae";
		}

	/**
	 *Invoke auto suggest function here
	 */
	$("input[name='rdoDate']:eq(0)").attr("checked","checked");
	ajaxDomain = ajaxDomain != "" ? ajaxDomain : "http:";
	var ajaxURL = ajaxDomain+"//www.osnetwork.com/showguide/online/search_" + currentPageLocale + ".aspx"; 		 		
	$("input.AutoSuggest")
	.suggest(ajaxURL,{delimiter:"|",delay:50,fnParam:gatherParam});
	
	/**
	 * Show all Programs handler
	 */
	var enterKey = "enter keywords";
	var plsSelect = "please select";

	$("div.Keyword img.Icon")
	.eq(0)
	.css({cursor:'pointer'})
	.one("click",function(){
		var loadingMsg = "loading...";
			if(locale == "ar_ae") loadingMsg = "جاري التحميل...";

		var $input = $("input.AutoSuggest");
		$input.addClass("Loading");
		$input.val(loadingMsg);
		$.get(ajaxURL,{showAll:"true"},function(txt){
			displayResults(txt);
			$input.val(plsSelect);
			$input.removeClass("Loading");
		});
	})
	.bind("click",function(){
		if($(".SuggestResult:hidden").length){
			$("#iFrame").show();
		}
		else $("#iFrame").hide();
		$(".SuggestResult").toggle();
	})
	;
	
	if(!$("input.AutoSuggest").attr("value")) 
		$("input.AutoSuggest").attr("value",enterKey);
	$("input.AutoSuggest")
	.bind("focus",function(){
		var pls = $(this).val();
		if(pls.indexOf(enterKey) > -1) $(this).val("");
		if(pls.indexOf(plsSelect) > -1) $(this).val("");
		$(".SuggestResult").hide();
		$("#iFrame").hide();
	})
	.bind("blur",function(){
		if($(this).val() == "") $(this).val(enterKey);
	})
	;
	
	function displayResults(txt){
		var result = document.createElement("UL");
		var $results = $(result);
		var items = txt.split("|");
		var input = $("input.AutoSuggest");
		var offset = $(input).offset();
		
		$results
		.appendTo("body")
		.addClass("SuggestResult")
		.css({
			width: input.width() + 'px',
			position:'absolute',
			top: (offset.top + 4 + input.height()) + 'px',
			left: offset.left + 'px'
		})
		;
		if($.browser.msie && parseInt($.browser.version) <= 6){
			$("#iFrame").remove();
			$("<iframe></iframe>")
			.attr("id","iFrame")
			.insertBefore(".SuggestResult")
			.css({
				width: input.width() + 'px',
				height: $(".SuggestResult").height() + 'px',
				position: 'absolute',
				top: (offset.top + 4 + input.height()) + 'px',
				left: offset.left + 'px'
			})
			;
		}
		
		for(var i=0;i<items.length;i++){
		//var limit = 100;
		//if(items.length < 100) limit = items.length;
		//for(var i=0;i<limit;i++){
			$results.append(
				"<li>"+ items[i] +"</li>"
			);
		}
		
		$("li",result)
		.css({
			width: input.width() - 26 + 'px'
		})
		.bind("click",
			function(){
				$("input.AutoSuggest").val($(this).text()).focus();
				$(".SuggestResult").hide();
				$("#iFrame").hide();
			}
		)
		.bind("mouseover",
			function(){
				$(this).css({background:'#f2f2f2'});
			}
		)
		.bind("mouseout",
			function(){
				$(this).css({background:'#ffffff'});
			}
		)
		;
	}
}
