﻿function DoForumSearch(qId,isAdvanced)
{
    if(window.event)
    {
	    event.returnValue = false;
	    event.cancelBubble = true;
    }
    if (qId==undefined) qId =document.getElementById("_fqu");
	if(qId)
	{
	    if (qId.value!="")
	    {
		    var qParam=(isAdvanced)?"qa":"q";
		    var query=Add2Query(qParam,escape(qId.value));
		    query = Add2Query("_pstate","srch",query);
		    query=Add2Query("pg","",query);
		    query=Add2Query("comp","forum",query);
		    document.location= "?"+query;
//		    GetSearchResults("","?"+query); // first parameter is to be ignored
	    }
	    else
	    {
	        alert ("noSearchString");
	    }
	}
	else alert("Search Error");
	return false;
}

/********* Function to run search A-Synchronously**************/

var XMLHttpRequestObj = null;
function GetForumSearchResults(e, qStr) // e always comes, even when called for "onload". But no use for it in this method
{
        if (qStr==undefined) qStr = document.location.search;
        
        if ( qStr.indexOf("&_pstate=srch")>-1 ||
             (qStr.indexOf("&_pstate=advsrch")>-1 && qStr.indexOf("&IsCallback=true")>-1)
           )
        {
//            setTimeout("ShowWaitMsg()", 1); // setTimeout is JS's mulit-thread. Fixes the fact that animated gif wasn't animated
		    var HTTP_Request = null;
		    var Src = "";

		    Src ="../Public/SearchResults.aspx" + qStr;

		    HTTP_Request = newXMLHttpRequest();
    		
		    if(HTTP_Request)
		    {
			    HTTP_Request.onreadystatechange = CheckAndLoad;
			    HTTP_Request.open('GET', Src, true);
			    HTTP_Request.send(null);

			    XMLHttpRequestObj = HTTP_Request;
		    }
		    else
		    {
			    alert('There was a problem with the request.\nObject XMLHttpRequest is not created.\nPlease wait for alternative loading.');
    //			document.location.href = Src;
		    }
		}
}

function CheckAndLoad()
{
	if(XMLHttpRequestObj)
	{
		if(XMLHttpRequestObj.readyState == 4) //Completed
		{
			if(XMLHttpRequestObj.status == 200) //OK
			{
				var htmldoc = XMLHttpRequestObj.responseText;
				if(htmldoc)
				{
					var element = document.getElementById("idSearchResults");
					if(element)
					{
					    element.style.paddingTop=0;
						element.innerHTML = htmldoc;
//						HideMsgWait();
					}
				}
			} 
			else 
			{
				alert('There was a problem with the request. Status code: ' + XMLHttpRequestObj.status);
			}
		}
	}
}


function newXMLHttpRequest()
{
	var httpRequest = false;
	if(window.XMLHttpRequest) //Mozilla, Safari
	{
		httpRequest = new XMLHttpRequest();
		if(httpRequest.overrideMimeType)
		{
			httpRequest.overrideMimeType("text/xml");
		}
	}
	else
	{
		if(window.ActiveXObject) //IE
		{
			try
			{
				httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e01)
			{
				try
				{
					httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e02)
				{}
			}
		}
	}
	
	return httpRequest;
}

function TxtKeyEventHandlerForum(qId,isAdvanced)
{
//alert("keycode="+e.which) 
    if(window.event)
    {
       if(event.keyCode==13)
       {
    	    event.cancelBubble = true;
    	    event.returnValue = false;
    	    return DoForumSearch(qId,isAdvanced);
       }
    }
    /*else
    {
        if(e)
        {
            if(typeof(e.which)!="undefined")
            {
                if( e.which==13)
                {
    	            e.cancelBubble = true;
    	            e.returnValue = false;
    	            return DoForumSearch(qId,isAdvanced);
                }
            }
        }
    }  */
   
}

/* Attach events*/ 

if ( window.attachEvent ) 
 window.attachEvent("onload", GetForumSearchResults);
else
{
window.addEventListener( "load", GetForumSearchResults, false );
}


