var formName = "searchForm";
var textFieldName = "query";
var searchBoxID = "search"; // id of div where text input field resides
var layerOffsetTop = 3;
var layerOffsetLeft = -220;
var cnum=0;

function _onLoad() 
{
   
}

function _keyDown()
{
    _setSearchLayerPosition();
    _executeSearch();
}

function _showLayer(id)
{
    $get(id).style.visibility = "visible";
}

function _hideLayer(id)
{
    $get(id).style.visibility = "hidden";
} 
function _showDispLayer(id)
{
    $get(id).style.display='block';
}

function _hideDispLayer(id)
{
    $get(id).style.display='none';
} 

function _setSearchLayerPosition()
{
    $get("search_layer").style.top = $getElementPosition(searchBoxID).top + $getObjectHeight(searchBoxID) + layerOffsetTop + "px";
    $get("search_layer").style.left = $getElementPosition(searchBoxID).left + layerOffsetLeft + "px";
	//$get("noAjaxResults").style.top = $getElementPosition(searchBoxID).top + $getObjectHeight(searchBoxID) + layerOffsetTop + "px";
    //$get("noAjaxResults").style.left = $getElementPosition(searchBoxID).left + layerOffsetLeft + "px";
}

function _callSearch(ev){
    	if (!ev) var ev = window.event;
        cnum++;
        if ((ev.keyCode==10)||(ev.keyCode==13)){
        	 getSearchResults(segment);
       } else{
    	   window.setTimeout('if (' + cnum + '==cnum) _executeSearch();', 500);
        }
}

function _executeSearch()
{   
	_setSearchLayerPosition();
    var query = document.forms[formName][textFieldName].value;
    if (query.length > 0)
    {
		NtgAjaxSearch.performSearch(query, "teen", populateSearchResults);

    }
}

function _onSearchCompleted()
{
    var results = "";
    for (var i = 0; i < searcher.results.length; i++) 
    {
        // if something returned, show layer
        _showLayer("search_layer");
    
        var thisResult = searcher.results[i];
    
        if (i <= 4)
        {
            $get("result" + (i + 1) + "_title").innerHTML = '<a href="' + thisResult.url + '">' + thisResult.title + '</a>';
            $get("result" + (i + 1) + "_content").innerHTML = thisResult.content;
        }
    }
}

function populateSearchResults(map){
     if(map == null){	
     //no search string entered
  
		_hideLayer("search_layer");
		_hideDispLayer("noAjaxResults");
	 }else if(map["noResults"] != null){
		 _hideLayer("search_layer");
		 _showDispLayer("noAjaxResults");
	 }else{									//display search results
	    _showLayer("search_layer");
	     _hideDispLayer("noAjaxResults"); 

	     var productIds =  map["product-id"];
	     var productNames =  map["product-name"];
	     var productUrls =  map["product-url"];
		 var productImages =  map["product-image"];
		 var productDiv = 	$get("product");
		 var productListDiv = 	$get("productList");
		 var showAllProdRslt = $get("showall_prodRslt");
		 //display products	 
		 if(productIds != null){
			  productDiv.style.display='block'; 
			  productListDiv.style.display='block';
			  dwr.util.setValue("productsSearchTotal" , map["product-searchtotal"]);
			  dwr.util.setValue("productsDisplayTotal" , productIds.length);
		   	  $get("productViewAll").href=map["product-viewAll"];
		   	  if ( showAllProdRslt != null ){
		   	  	showAllProdRslt.href=map["product-viewAll"];
		   	  } 
		   	for(var i=0; i<3; i++){
				if(productNames[i] == null){
					$get("productimage-"+(i+1)).style.display='none';
					$get("producturl-"+(i+1)).style.display='none';
				}else{
					$get("productimage-"+(i+1)).style.display='block';
					$get("producturl-"+(i+1)).style.display='block';
					$get("producturl-"+(i+1)).innerHTML=productNames[i];
					$get("producturl-"+(i+1)).href=productUrls[i];
					$get("productimage-"+(i+1)).src=productImages[i];
				}
			}
		}else{
			productDiv.style.display='none'; 
			productListDiv.style.display='none'; 
			for(var i=0; i<3; i++){
				$get("productimage-"+(i+1)).style.display='none';
				$get("producturl-"+(i+1)).style.display='none';
			}
		}

		//display regimens
		 var regimenIds =  map["regimen-id"];
	     var regimenNames =  map["regimen-name"];
	     var regimenUrls =  map["regimen-url"];
		 var regimenImages =  map["regimen-image"];
		 var regimenDiv = 	$get("regimen");
		 var regimenListDiv = 	$get("regimenList");
		 if(regimenIds != null){
			 regimenDiv.style.display='block'; 
			 regimenListDiv.style.display='block';
		  	dwr.util.setValue("regimenSearchTotal" , map["regimen-searchtotal"]);
		    dwr.util.setValue("regimenDisplayTotal" , regimenIds.length);
		   	$get("regimenViewAll").href=map["regimen-viewAll"];
		   	for(var i=0; i<2; i++){
				if(regimenNames[i] == null){
					$get("regimenimage-"+(i+1)).style.display='none';
					$get("regimenurl-"+(i+1)).style.display='none';
				}else{
					$get("regimenimage-"+(i+1)).style.display='block';
					$get("regimenurl-"+(i+1)).style.display='block';
					$get("regimenurl-"+(i+1)).innerHTML=regimenNames[i];
					$get("regimenurl-"+(i+1)).href=regimenUrls[i];
					$get("regimenimage-"+(i+1)).src=regimenImages[i];
				}
					
			}
		  }else{
			regimenDiv.style.display='none'; 
			regimenListDiv.style.display='none'; 
			for(var i=0; i<2; i++){
					$get("regimenurl-"+(i+1)).style.display='none';
					$get("regimenimage-"+(i+1)).style.display='none';
			}
		  }

		  //display expert centers
		 var expertCenterNames =  map["expertCenter-name"];
	     var expertCenterUrls =  map["expertCenter-url"];
		 var expertCenterDiv = 	$get("expertCenter");
		 var expertCenterListDiv = 	$get("expertCenterList");
		 if(expertCenterNames != null){
		 	
			 expertCenterDiv.style.display='block'; 
			 expertCenterListDiv.style.display='block';
		 	dwr.util.setValue("expertCenterSearchTotal" , map["expertCenter-searchtotal"]);
		    dwr.util.setValue("expertCenterDisplayTotal" , expertCenterNames.length);
		   	$get("expertCenterViewAll").href=map["expertCenter-viewAll"];
		  	for(var i=0; i<3; i++){
		  		//alert("expertCenterNames  "+expertCenterNames[i]+" expertCenterUrls "+i+" = "+expertCenterUrls[i]);
				if(expertCenterNames[i] == null){				
					$get("expertCenterUrl-"+(i+1)).style.display='none';
				}else{
					$get("expertCenterUrl-"+(i+1)).style.display='block';
					$get("expertCenterUrl-"+(i+1)).innerHTML=expertCenterNames[i];
					$get("expertCenterUrl-"+(i+1)).href=expertCenterUrls[i];
				}
			}
		  }else{
			expertCenterDiv.style.display='none'; 
			expertCenterListDiv.style.display='none'; 
		  }


		 //display whats New products	 
		 var whatsNewIds =  map["whatsNew-id"];
	     var whatsNewNames =  map["whatsNew-name"];
	     var whatsNewUrls =  map["whatsNew-url"];
		 var whatsNewImages =  map["whatsNew-image"];
		 var whatsNewDiv = 	$get("whatsNew");
		 var whatsNewListDiv = 	$get("whatsNewList");
		 if(whatsNewIds != null){
			 whatsNewDiv.style.display='block'; 
			 whatsNewListDiv.style.display='block';
		    dwr.util.setValue("whatsNewSearchTotal" , map["whatsNew-searchtotal"]);
		    dwr.util.setValue("whatsNewDisplayTotal" , whatsNewIds.length);
		   	$get("whatsNewViewAll").href=map["whatsNew-viewAll"];
		   	for(var i=0; i<2; i++){
				if(whatsNewNames[i] == null){
					$get("whatsNewurl-"+(i+1)).style.display='none';
					$get("whatsNewimage-"+(i+1)).style.display='none';
				}else{
					$get("whatsNewurl-"+(i+1)).style.display='block';
					$get("whatsNewimage-"+(i+1)).style.display='block';
					$get("whatsNewurl-"+(i+1)).innerHTML=whatsNewNames[i];
					$get("whatsNewurl-"+(i+1)).href=whatsNewUrls[i];
					$get("whatsNewimage-"+(i+1)).src=whatsNewImages[i];
				}
			}
		  }else{
			whatsNewDiv.style.display='none'; 
			whatsNewListDiv.style.display='none'; 
			for(var i=0; i<2; i++){
				$get("whatsNewurl-"+(i+1)).style.display='none';
				$get("whatsNewimage-"+(i+1)).style.display='none';
			}
		  }
	
		
	 }
}


function _trim(text, numOfChars)
{
    if (text.length <= numOfChars)
    {
         return text;
    }
    
    return substr(text, numOfChars) + "...";
}
        
function _detectMouseClick(evt)
{
    evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt)
    {
        var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
        if (elem)
        {
            if (elem.id != "search_layer")
            {
                _hideLayer("search_layer");
            }
        }
    }
}

if (document.all)
{
    //document.onmouseup = _detectMouseClick;
    document.attachEvent("onmouseup", _detectMouseClick)
}
else
{
    document.addEventListener("onmouseup", _detectMouseClick, false);
}