var suggrestedResultIdPrx = "_suggrestControlId_";
var totalSuggrestedPtss = "0";
var suggrestSelectedIdPts = "0";
var currentpK="";
var queryTextSettedFlag = "";

var suggestResultMainDivId = "";
var resultMainDivId = "";

var bgColor = "#ffffff";
var bgColorOnOver = "#bebebe";

var alertTimerId = 0;
var isFirstTime = true;

function showAlert (keyvalue){
					
					//alert(alertTimerId);
					//alert("keyup: search data"+$(this).val());
			   		//Load the JSON data from test.js, passing along additional data, and access a name from the returned JSON data.
			   		resultMainDivId = "keyword";
			   		suggestResultMainDivId = "search_suggest";
			   		var fromUrl = null;
			   			var url = null;
			   			if(document.SearchForm.linkToEnable){
			   				if(document.SearchForm.linkToEnable == 0){
				   				url = "searchSuggestArtists.do?q="+keyvalue;
				   			}
				   			if(document.SearchForm.linkToEnable == 1){
				   				url = "searchSuggestGalleries.do?q="+keyvalue;
				   			}
			   				if(document.SearchForm.linkToEnable == 2){
			   					url = "searchSuggestImages.do?q="+keyvalue;
				   			}
			   			}else{
			   				url = "searchSuggestArtists.do?q="+keyvalue;
			   			}
			   			
			   			if(document.SearchForm.from){
			   				fromUrl= 'artist';
			   			}else{
			   				fromUrl = '';
			   			}
			   				
			   			if((currentpK != 13) && (currentpK != 38) && (currentpK != 40)){
				   		
					   		$.getJSON(url,
					   				  {}, //pass additional data (no additional data needed)
						   			  function(jsonData){
						   			  	   var isDataPresent = true;
						   			      //alert(jsonData.equalizes[1].s);
						   			       var suggestedData="<ul style = \"margin:0px 0px 0px 0px !important; padding: 0px; list-style: none; \"  >";
						   			       var noOfItems = 0;
						   			       $.each(jsonData.equalizes, 
						   						   function(i,item){
						   						   		noOfItems = i+1;
						   						   		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'\"  ";
						   						   	    suggrestSelectedIdPts="1";
						   						   	    if(suggrestSelectedIdPts == (i+1)){
						   						   	    	if(fromUrl == ''){
											                	suggestedData = suggestedData+" style=\"padding-left:5px;padding-top:0px;padding-bottom:2px;background:"+bgColorOnOver+";width:275px;height:20px;cursor: pointer;float:left; font:11px arial;color:#000000;\" selected ";  
											                }else{
											                	suggestedData = suggestedData+" style=\"padding-left:5px;padding-top:0px;padding-bottom:2px;background:"+bgColorOnOver+";width:167px;height:20px;cursor: pointer;float:left; font:11px arial !important;color:#000000; text-transform:none !important; margin-left:0px !important;list-style: none!important;\" selected ";  
											                }            
										                }else{
										                	if(fromUrl == ''){
											                	suggestedData = suggestedData+" style=\"padding-left:5px;padding-top:0px;padding-bottom:2px;background:"+bgColor+";width:275px;height:20px;cursor: pointer;float:left;font:11px arial;color:#000000; \"";
											                }else{
											               		suggestedData = suggestedData+" style=\"padding-left:5px;padding-top:0px;padding-bottom:2px;background:"+bgColor+";width:167px;height:20px;cursor: pointer;float:left;font:11px arial !important;color:#000000; text-transform:none !important; margin-left:0px !important;list-style: none!important;\"";
											                }
										                }
										                suggestedData = suggestedData+">"+item.s+"</li>";
										                totalSuggrestedPtss = i+1;
										               
										                
						   						   }
						   					);
						   					suggestedData = suggestedData+"</ul>";
						   					$("#"+suggestResultMainDivId).html(suggestedData);
						   					if(noOfItems > 0){
						   						if(fromUrl == ''){
						   							$("#"+suggestResultMainDivId).css({position:'absolute',width:'280px',display:'block',align:'left',border:'1px solid #878787', marginTop:'22px'  });
						   						}else{
						   							$("#"+suggestResultMainDivId).css({position:'absolute',width:'172px',display:'block',align:'left',border:'1px solid #878787' });
						   						}
						   					}else{
						   						if(fromUrl == ''){
						   							$("#"+suggestResultMainDivId).css({position:'absolute',width:'280px',display:'block',align:'left',border:'0px', marginTop:'22px'  });
						   						}else{
						   							$("#"+suggestResultMainDivId).css({position:'absolute',width:'172px',display:'block',align:'left',border:'0px'  });
						   						}
						   					}
						   					
						   					queryTextSettedFlag = false;
						   					
						   					document.onkeydown=selectReplacement;
						   					
						   			  }
					   		);
				   		
				   		}
}
$(document).ready( function() {
			
				// artist search auto suggestions
			   $("#keyword").keyup( function(){
			   			if(isFirstTime == true){
			   				isFirstTime = false;
			   			}else{
			   				clearTimeout (alertTimerId);
			   			}
				   	    alertTimerId  =  setTimeout("showAlert('"+$(this).val()+"')",350);

			   });
			   $("#keyword").keypress( function(){
			   		return submitNoEnter();
			   });	
			   			   	   
			});


document.onclick=checkSearchSuggestBox

function checkSearchSuggestBox(e){
	var target = (e && e.target) || (event && event.srcElement);
	var obj = document.getElementById('search_suggest');
	checkSearchSuggestParent(target,"search_suggest")?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(suggestResultMainDivId).style.display = 'none';
	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);
  	  }
  	 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: // escape
	           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;
               }
               return false;
               break;
             case 38: // up arrow
                if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
                   document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColor;               
               }
               if(suggrestSelectedIdPts <= 1){
  	   			   suggrestSelectedIdPts = totalSuggrestedPtss;
			   }else{
	               suggrestSelectedIdPts--;
			   }
               if(document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts)){
               		document.getElementById(suggrestedResultIdPrx+suggrestSelectedIdPts).style.background = bgColorOnOver;
               }
               return false;
               break;
             case 38: // down arrow
               //gsc_handledown(__results, __query);
               return false;
               break;
       }
       }
       
     }
                                
}

