function URLencode(sStr) 
{
   return escape(sStr).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g, '%2F').replace(/\./g, '%2E');
}

function doSearch(newwindow)
{
 
	location.href = "../../search/"+URLencode(document.mainform.SEARCHEB.value);	
	return false;
}


function doSuggSearch(urloffset,query)
{
    if (urloffset != "0") 
      location.href = "../../"+urloffset+"/"+URLencode(query);   
     else 
      location.href = "../../"+URLencode(query);             
    return false;
}
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() 
{	
        var http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
		return http_request;
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Returns the node text value 
function GetAttribute (node, attr)
{
	 return node.getAttribute(attr) ;
}

//Returns the node text value 
function GetInnerText (node)
{
	 return (node.textContent || node.innerText || node.text || getNodeText(node) ) ;
	 
	 //return node.innerText;
}

function getNodeText(node) 
{
        if (node.nodeType == 3 || node.nodeType == 4)
                return node.data;
        
        for (var i = 0; i < node.childNodes.length; i++) {
                var text = getNodeText(node.childNodes[i]);
                if (text)
                        return text;
        }
        
        return null;
}
//Mouse over function
function suggestOver(div_value) 
{	
	div_value.className = 'suggest_link_over';
}

//Mouse out function
function suggestOut(div_value) 
{	
	div_value.className = 'suggest_link';
}

function hideDiv(divName){
return;
	tempDiv = document.getElementById(divName);
	if (!tempDiv) {
		return;
	}
	if (tempDiv.style.display=="block"){
	     tempDiv.style.display="none";
	}
}

function showDiv(divName){
return;
	tempDiv = document.getElementById(divName);
	if (!tempDiv) {
	  return;
	}
	if (tempDiv.style.display=="none"){
		tempDiv.style.display="block";
	 }
}

function hideDiv2(divName)
{
	tempDiv = document.getElementById(divName);
	if (!tempDiv) {
		return;
	}
	
	tempDiv.style.display = 'none';
}

function showDiv2(divName)
{
	var tempDiv = document.getElementById(divName);
	if (!tempDiv) {
		return;
	}

	tempDiv.style.display = 'inline';
}

//Called when the AJAX response is returned.
function handleSearchSuggest() 
{	
	if (searchReq.readyState == 4) 
	{		
		var ss = document.getElementById('search_suggest')		
		ss.innerHTML = '';		
		
		var xmldoc = searchReq.responseXML;
		var suggestionsNode = xmldoc.getElementsByTagName('suggestions').item(0);
		
		var suggNodes = suggestionsNode.getElementsByTagName('sugg');
		if (suggNodes.length == 0)
		{
			ss.style.visibility = "hidden"; 
			return;
		}
		
		var idValue; 
		var textValue; 
			
		var suggest = "";
		
		suggest += "<table bgcolor=\"EEEEEE\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:180px;\">";
		suggest += "<tr>";
		suggest += '<td height="25" valign="middle" class="suggest_link_over" style="font-family:arial;color:#000055" size="100%" align="left" colspan="2">';
		suggest += "<b>&nbsp;&nbsp;Select one...</b>";
		suggest += "</td>";
		suggest += "</tr>";
 
		var aoffset="author";
		var coffset="categories";			
		for (var i=0; i < suggNodes.length; i++) 
		{			
	   		textValue = GetInnerText(suggNodes[i]);
			idValue = GetAttribute(suggNodes[i], 'xtype');

			suggest += '<tr class="suggest_link" cellpadding="0" cellspacing="0" onmouseover="suggestOver(this);" onmouseout="suggestOut(this);" onclick="doSuggSearch(\''+idValue+'\',\''+textValue.replace(/ /g,"_").replace('\'', '\\\'').replace(/_&_/g, '_amp_') + '\');"> ';			

			
			suggest += '<td><b>';

 			if (idValue != "0") 
			  suggest += textValue+" ("+idValue+")";
			 else
			  suggest += textValue;
			
			suggest += '</b></td>';
			
			suggest += '<td align="right" style="font-size:10;" >';
 			if (idValue != "0") 
				suggest += '' + ' Song';
			else
				suggest += '' + ' Artist';
 			
			suggest += '</td>';				
			suggest += '</tr>';
		}	
		
		suggest += '<tr size="100%">';
			suggest += '<td height="25" valign="middle" class="suggest_link_over" style="font-family:arial;" size="100%" align="right" colspan="2">';
			suggest += '</td>';
			
		suggest += "</tr>";
		
		suggest += "</table>";
		ss.innerHTML = suggest;	
		ss.style.visibility = ""; 
	}
}



function ss() 
{	

	if (searchReq.readyState == 4 || searchReq.readyState == 0) 
	{		
		var str = escape(document.getElementById('SEARCHEB').value);	
		pageTracker._trackEvent("Ajax", "search", "Misc");	
		searchReq.open("GET", '../../lyricssql.php?ltrs=a' + str, true);		
		searchReq.onreadystatechange = handleSearchSuggest; 		
		searchReq.send(null);	
	}		
}
