$(document).ready(function(){  	
	$('#searchbox').focus();
	checkQuery();

	globalcount = 0; // Global variable
	pquery = "";
	query = "";
	result = [];
	
	lookup = function (keycount) {
		if(keycount == globalcount) { 
			checkQuery();
			query = $.trim($('#searchbox').val());
			
			if(query.length > 2 && query != pquery) {
				pquery = query;
				getItems(query);
			}
		}
	}
	
	$('#searchbox').keypress(function(e) {
		var key = (e.keyCode ? e.keyCode : e.which);
		
		if(key == 40 || key == 38) {
			if($('#suggest').css('display') == 'block') {
				cycle(key);
			}
			return;
		}
		
		if(key == 13) {
			searchProducts();
			return;
		}
		
		globalcount++;
		setTimeout('lookup('+globalcount+')', 100);
	});
	
	function getItems(query) { 
		$.getJSON("/autosuggest.cfm?q="+query,
		function(data) {
			//var resp =  data.terms[1];
			var resp =  data.terms.productname;
			result = [];
			count = 0;
			index = -1;
			var l = pquery.length;
			if(resp.length == 0) {
				$('#suggest').hide();
				return;
			}
		
			for (var i = 0; i <resp.length; i++) {
				if(i%2==0) {
					var rest = resp[i].substr(l);
					result.push('<li>'+pquery + '<b>' + rest + '</b>' +'</li>');
					count++;
				}									
			 } 
			$('#suggest ul').html(result.join(""));
			$('#suggest').show();
		});
	}
	
	$('body').click(function() {
		hidesuggest();
	});
	
	function hidesuggest() {
		$('#suggest').hide();
	}
	
	$('#suggest ul li').live('click', function(e) {
		var t = $(e.currentTarget).text();//var t = $(e.target).text(); 
		//q = $('#searchbox').val();
	 	setText(t);
	 	searchProducts();
	});
	
	index = -1;
	pindex = 0;
	count = 0;
	
	function cycle(key) {
		if(key == 40) {
			$('#suggest ul li:eq('+pindex+')').removeClass('active');
			
			if(index == count) {
				index = -1; 
				setText(pquery); 
				return;
			}
			
			index++;
			$('#suggest ul li:eq('+index+')').addClass('active');
			
			pindex = index;		

		}
		else {
			$('#suggest ul li:eq('+pindex+')').removeClass('active');
			
			if(index == -1) {	
				setText(pquery);
				return;
			}
			index--;

			$('#suggest ul li:eq('+index+')').addClass('active');
			
			pindex = index;				
		}
		
		setText($('#suggest ul li:eq('+index+')').text());

	}
	
	function setText(value) { //alert(value); 
		$('#searchbox').val(value);
	}
	
	$('#search-btn').click(function(e) {
		searchProducts();
	});
	
	// product search
	function searchProducts() {	
		q = $('#searchbox').val(); 
		if(q.length == 0)
			return;
		
		hidesuggest();
		
		if(typeof(f) == "undefined") {
			window.location = "/q~" + q.replace("&", "-").replace(/ /g,"-") ;
		}
		else {
			clearfilter();
			f["hiddenString"] = q;
			getproducts();
		}
	}	
	
	// check search text and enable/disable search button
	
	function checkQuery() {
		q = $('#searchbox').val(); 
		if(q.length == 0) 
			$("#search-btn").addClass("disabled");
		else 
			$("#search-btn").removeClass("disabled");
	}
	
	// tabs
	var pindex = 0;
	$(".sbtab ul.header li").click(function(e) {
		var p = $(".sbtab ul.header");
		var el = e.target;
		var index = $(".sbtab ul.header li").index(el);
		if(index == pindex) {
			return;
		}
		else {
			
			$(".sbtab ul.header li:eq("+ pindex +")").toggleClass('active');
			$(".sbtab ul.header li:eq("+ index +")").toggleClass('active');
			$(".sbtab ul.content li:eq("+ pindex +")").toggleClass('active');
			$(".sbtab ul.content li:eq("+ index +")").toggleClass('active');
			pindex = index;
		}
		
	});

	//Block for validating Refer A Friend
	$(".popup-save").click(function()
			{
				var emailFilter=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		
				var name = $("input#yourname").val();  						     
			    var email = $("input#youremail").val();  						    
			    var frdName1 = $("input#frdName_1").val();  						     
			    var frdEmail1 = $("input#frdEmail_1").val();  						      
			    var frdName2 = $("input#frdName_2").val();  					     
			    var frdEmail2 = $("input#frdEmail_2").val();
			    var frdName3 = $("input#frdName_3").val();  					     
			    var frdEmail3 = $("input#frdEmail_3").val(); 
			    
			    if (name=='')
		    	{			
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter Your Name");
			    	$("#yourname").focus();
		    	}
			    else if (email=='')
			    {				 
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter Your Email");
			    	$("#youremail").focus();
			    }			
			    else if ( !emailFilter.test(email))
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter a valid Email");
			    	$("#youremail").focus();
			    }			
			    else if (frdName1=='')
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			     	$(".validateMsgClass").html("Enter Your Friend's Name");
			     	$("#frdName_1").focus();
			    }
			    else if (frdEmail1=='')
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			     	$(".validateMsgClass").html("Enter Your Friend's Email");
			     	$("#frdEmail_1").focus();
			    }
			    else if( !emailFilter.test(frdEmail1))
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter a valid Email");
			    	$("#frdEmail_1").focus();
			    }
			    else if( frdEmail2!='' && !emailFilter.test(frdEmail2))
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter a valid Email");
			    	$("#frdEmail_2").focus();
			    }
			    else if( frdEmail3!='' && !emailFilter.test(frdEmail3))
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Enter a valid Email");
			    	$("#frdEmail_3").focus();
			    }
			 else if ( email==frdEmail1 || email==frdEmail2 || email==frdEmail3 || frdEmail1==frdEmail2 || frdEmail1==frdEmail3 || (frdEmail2==frdEmail3 && frdEmail2!='')  )
			    {			    
			    	$(".popup-success-msg").hide();
			    	$(".validateMsgClass").fadeIn();
			    	$(".validateMsgClass").html("Please Enter different Email Ids");
			    }
			    else
			    { 
			    	var output = "";
			    	$(".validateMsgClass").hide();
			    	
					$.ajax({  
					 	type: "POST",  
						url: "./referAjax.cfm?yourname="+ name + "&youremail=" + email + "&frdName_1=" + frdName1 + "&frdEmail_1=" + frdEmail1 + "&frdName_2=" + frdName2 + "&frdEmail_2=" + frdEmail2 + "&frdName_3=" + frdName3 + "&frdEmail_3=" + frdEmail3,   
					    success: function(data) 
					    {  							         
						    output = data;
						    //Outputting data	
							if(output=="")
								document.getElementById('Statusmessage').innerHTML = "No records found";
							else
							{ 
								$(".tellafriend").fadeIn();	
								document.getElementById('frdName_1').value = null;
								document.getElementById('frdEmail_1').value = null;
								document.getElementById('frdName_2').value = null;
								document.getElementById('frdEmail_2').value = null;
								document.getElementById('frdName_3').value = null;
								document.getElementById('frdEmail_3').value = null;								
								//display status message
								
								document.getElementById('Statusmessage').innerHTML = output;									
							}
					    }  
					   });
			    }
			}			
	);

	
});

function showstatus(message) { 
	$("#status").html(message).show("medium").delay(2000).hide("medium");
}



