// JavaScript Document
var suggrestedResultIdPrx = "_suggrestControlId_";
var totalSuggrestedPtss = "0";
var suggrestSelectedIdPts = "0";
var currentpK="";
var queryTextSettedFlag = "";
var suggestResultMainDivId = "";
var resultMainDivId = "";
var bgColor = "#04519a";
var bgColorOnOver = "#0066CC";
var mainJsonAjaxReq="";
var asciicode = '';
var jqLength = "";
var newCount = 0;
$(document).ready( function() {
                        // artist search auto suggestions
                     $("#searchStr").keyup( function(e){
                              //Load the JSON data from test.js, passing along additional data, and access a name from the returned JSON data.
                              resultMainDivId = "searchStr";
                              suggestResultMainDivId = "outputText";
                                    var url = null;
									var searchval = $(this).val();
									searchval = searchval.replace(/[^a-zA-Z0-9]+/g, '');
									if(searchval.length<2 ){
										$("#"+suggestResultMainDivId).html("");
										$("#"+suggestResultMainDivId).css({position:'absolute',display:'none'});
										return;
									}
                                    url = "synonym.php?searchStr="+$(this).val();
                                   
								   asciicode = getASCIICode(e);
								  
								   if((asciicode >= 65 && asciicode <= 90) || (asciicode >= 97 && asciicode <= 122) || (asciicode>=48 && asciicode <= 57) || (asciicode==8) || (asciicode==188) || (asciicode==59) || (asciicode==222) || (asciicode==192) || (asciicode==219) || (asciicode==221) || (asciicode==220) || (asciicode==46)){
                                    if((currentpK != 13) && (currentpK != 38) && (currentpK != 40)){
                                    
                                          if(mainJsonAjaxReq.readyState > 0 && mainJsonAjaxReq.readyState < 4){
	                                          mainJsonAjaxReq.abort();
										  }
										  var jsonAjaxReq = $.getJSON(url,
                                                        {}, //pass additional data (no additional data needed)
                                                        function(jsonData){
															jsonInternal(jsonData);
														}
                                          );
										  mainJsonAjaxReq = jsonAjaxReq;
                               
                                    }
								   }
 
                     });
                     $("#searchStr").keypress( function(){
                              return submitNoEnter();
                     });      
                      $("#searchStr").focus( function(){
                             if(document.getElementById('searchStr').value=="Enter Search keyword")
	{
		document.getElementById('searchStr').value="";
	}
                     });   
					  
                  });
document.onclick=checkSearchSuggestBox

function checkSearchSuggestBox(e){
      var target = (e && e.target) || (event && event.srcElement);
      var obj = document.getElementById('outputText');
      checkSearchSuggestParent(target,"outputText")?obj.style.display='none':null;
} 
function checkSearchSuggestParent(t,divControlId){
      while(t.parentNode){
            if(t==document.getElementById(divControlId)){
                  return false
            }
            t=t.parentNode
      }
      return true
} 
function setSearchKeyword(controlId,keyword){
      document.getElementById(controlId).value=keyword;
	  document.getElementById('searchStr').value=keyword;
      document.getElementById(suggestResultMainDivId).style.display = 'none';
	  window.location = 'homeopathic.php?act=viewCat&searchStr='+keyword+"&Submit=";
      queryTextSettedFlag = true;  
}
function submitNoEnter() {
  document.onkeypress = submitNoEnter1;
}

function submitNoEnter1(e) {
  var keyCd = "";
  if (document.layers)
     keyCd = e.which;
  else if (document.all)
     keyCd = event.keyCode;
  else if (document.getElementById)
     keyCd = e.keyCode;

  if(keyCd == 13 && queryTextSettedFlag != true){
        if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
         setSearchKeyword(resultMainDivId,document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).innerHTML);
        }
		else
		{
			var searchStr = document.getElementById('searchStr').value;
			if(searchStr != '')
				document.searchFrm.submit();
			else
				alert('Please enter search keyword.');			
		}
       return false; 
  }else{
     return true; 
  }
}
function getkeycode(e) {
    if (document.layers)
        return e.which;
    else if (document.all)
        return event.keyCode;
    else if (document.getElementById)
        return e.keyCode;
    return 0;
}
function selectReplacement(event) {
      	var pK = "";
        pK = parseInt(getkeycode(event));
        currentpK = pK;		
        if(currentpK == 38 || currentpK == 40 ){
        if(totalSuggrestedPtss > 0){			
        switch (currentpK) {
            case 40: // down arrow                 
				 if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                   document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColor                            
              }
               if(suggrestSelectedIdPts >= totalSuggrestedPtss){
                               suggrestSelectedIdPts = "1";
                     }else{
                           suggrestSelectedIdPts++;
                    }
                     if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                     document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColorOnOver;
					 document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).focus();
               }
			   newCount = 0;
               return false;
               break;
             case 38: // up arrow
				if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                   document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColor;               
               }				   
               if(suggrestSelectedIdPts == 1){                           
						   newCount++;						   
                     }else{
						 if(suggrestSelectedIdPts > 0)
                     		suggrestSelectedIdPts--;
                     }               
			   if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                        document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColorOnOver;
						document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).focus();
               }
			   if(newCount == 1)
			   {
				   if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                   	document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColor;               
               	   }
				   queryTextSettedFlag = true;							   
				   document.getElementById(resultMainDivId).focus();
			   }
			   if(newCount == 2)
			   {
				   queryTextSettedFlag = true;							   
				   document.getElementById(resultMainDivId).focus();
				   document.getElementById(suggestResultMainDivId).style.display = 'none';
			   }
               return false;
               break;
             case 27: // escape
               //setSearchKeyword(resultMainDivId,document.getElementById('searchStr').value)
			   //document.getElementById(suggestResultMainDivId).style.display = 'none';
			   //gsc_handledown(__results, __query);
              return false;
              break;
      }
      }       
    }                                
}
function jsonInternal(jsonData)
{	                                                            																	
	if(jsonData.equalizes!=""){
		var suggestedData="<ul style = \"margin:0px; padding: 0px; \">";
		
		$.each(jsonData.equalizes, 
		function(i,item){
			suggestedData = suggestedData+"<li id=\""+suggrestedResultIdPrx+(i+1)+"\" tabindex=\""+(i+1)+"\" onclick=\"setSearchKeyword('"+resultMainDivId+"','"+item.s+"')\" onmouseout=\"this.style.background='"+bgColor+"'\" onmouseover=\"this.style.background='"+bgColorOnOver+"';this.style.cursor = 'pointer';this.style.cursor = 'hand'\"  ";
			suggestedData = suggestedData+" style=\"padding-left:2px;padding-top:0px;padding-bottom:2px;background:"+bgColor+";width:180px;cursor: pointer;float:left;font:11px;font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF; \"";
			suggestedData = suggestedData+">"+item.s+"</li>";
			totalSuggrestedPtss = i+1;
			jqLength = totalSuggrestedPtss;
			}
		);
		if(jqLength > 20)
		{
			document.getElementById(suggestResultMainDivId).style.height = '300px';
			document.getElementById(suggestResultMainDivId).style.overflow = 'auto';
		}
		else
		{
			document.getElementById(suggestResultMainDivId).style.height = '';
			document.getElementById(suggestResultMainDivId).style.overflow = '';
		}
		suggestedData = suggestedData+"</ul>";
		$("#"+suggestResultMainDivId).html(suggestedData);
		$("#"+suggestResultMainDivId).css({position:'absolute',width:'180px',display:'block',align:'left',border:'1px solid #AAAAAA'});                                                       
		queryTextSettedFlag = false;                                              			  
	}else{
		$("#"+suggestResultMainDivId).html("");
		$("#"+suggestResultMainDivId).css({position:'absolute',display:'none'});
	}
	suggrestSelectedIdPts = "0";
	newCount = 0;
	document.onkeydown=selectReplacement;	
}

function getASCIICode(e) {
	code = -1;
	if (window.event)
	code = e.keyCode;
	else if (e.which)
	code = e.which;
	return code;
}