﻿// JScript File


function getDidYouMean(div_id, content)
{
	
	    //alert('Div ID: ' + div_id + '\n\t Text: ' + content);
		https = getHTTPObject();		
		des_id = div_id;		
		https.open("GET", "SearchFiles/DidYouMean.asp?content=" + escape(content), true);
		https.onreadystatechange = handleReportResponse;		
		https.send(null);
		
	}





	subject_id = '';
	browser = '';
	des_id = '';
	var http;
	var https;
	function handleHttpResponse() {
		if (http.readyState == 4) {
			if (subject_id != '') {
				fillBox(http.responseText);
			}
		}
	}
	function fillBox(filltext)	{
		var val =document.getElementById(subject_id);
		if(browser=='moz'){
			document.getElementById(subject_id).innerHTML = filltext;
		}else{
			//fClassName = document.getElementById(des_id).className;
			var sOpts = "<select name='"+val.name+"' id='"+val.id+"' class='"+val.className+"' width='200'>"
			sOpts += http.responseText;
			document.getElementById(subject_id).outerHTML = sOpts  + "</SELECT>";
		}
	}
	function handleReportResponse() {
		if (https.readyState == 4) {				
				document.getElementById(des_id).innerHTML = https.responseText;
		}
	}
	function createRequest() {
		  var request;
		  try {
			request = new XMLHttpRequest();
			browser = 'moz'
		  } catch (tryMS) {
			try {
			  request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (otherMS) {
			  try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			  } catch (failed) {
				request = null;
			  }
			}
		  }
		  return request;
	}
	function getHTTPObject() {
		var xmlhttp;
		/*@cc_on
		@if (@_jscript_version >= 5)
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				browser = 'ie';
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
					browser = 'ie';
				} catch (E) {
					xmlhttp = false;
				}
			}
		@else
		xmlhttp = false;
		@end @*/
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
			try {
				xmlhttp = new XMLHttpRequest();
				browser = 'moz'
			} catch (e) {
				xmlhttp = false;
			}
		}
		return xmlhttp;
	}
	 // We create the HTTP Object




/*  Ajax_Search.js  /*

/*
	This is the JavaScript file for the AJAX Suggest Tutorial

	You may use this code in your own projects as long as this 
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.DynamicAJAX.com
	
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/
//Gets the browser specific XmlHttpRequest Object
var searchString = "";
var searchReq;
function pausecomp(millis)
{
	var date = new Date();
	var curDate = null;
	
		do { curDate = new Date(); }
		while(curDate-date < millis);
		
} 

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}

//Our XmlHttpRequest object to get the auto suggest


//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest(e, txtBox,catego,maincatego,catsel)
 {
 alert('d');
	var eventInstance = window.event ? event : e; 
 // handle i.e. (charCode) and firefox (keyCode)
 var unicode = eventInstance.charCode ? eventInstance.charCode : eventInstance.keyCode; 
 //alert(unicode);
 
	//if(window.event.keyCode != 13)
	if(unicode != 13)
	{
	//alert('ok');
	var str = unescape(document.getElementById(txtBox).value);
	//alert(str)
	str = str.trim();
	//str = trim(str,"%20");
	searchString = str;
	//alert(str)
	str = escape(str);
	if (str.length != 0) 
	{
		searchReq = getXmlHttpRequestObject();
		if (searchReq.readyState == 4 || searchReq.readyState == 0)
		 {
			
			document.getElementById('loadImage').style.visibility = "";
			//var categostr = escape(document.getElementById(catego).value);
			var maincategostr = escape(document.getElementById(maincatego).value);
			
			sendValue = '?search=' + str +'&categostr=' + 'all' +'&maincategostr=' + maincategostr +'&catsel=' + catsel;
			//alert(sendValue);
			
			//searchReq.open("GET", 'searchSuggest.asp' + sendValue, true);
			searchReq.open("GET", 'SearchFiles/SearchSuggest.aspx' + sendValue, true);
			searchReq.onreadystatechange = handleSearchSuggest; 
			searchReq.send(null);
		}
	}else
		clearDiv('search_suggest');
	
	}
	else
		clearDiv('search_suggest');
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {

	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		//alert(searchReq.responseText);
		var str = searchReq.responseText;//.split("<br />");
		//alert(str.length);
		if (str != 1) 
		{
			/*for(i=0; i < str.length - 1; i++) 
			{
			
				searchString=searchString.toUpperCase();
				searchString = searchString.replace(/%20/g," ");
				str[i]=str[i].toUpperCase();
				newSearchString = "<b>"+searchString+"</b>";
				var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
				suggest += 'onmouseout="javascript:suggestOut(this);" ';
				suggest += 'onclick="javascript:setSearch(this.title);" ';
				suggest += 'class="suggest_link" title = "' + str[i] + '" >' + str[i].replace(searchString,newSearchString) + '</div>';
				ss.innerHTML += suggest;
				
			}*/
			ss.innerHTML = searchReq.responseText;
			getMe();
		}else {
			
			clearDiv('search_suggest');
			
		}
		
	}
}

//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';
}
//Click function
function setSearch(value,type) 
{
	document.getElementById('txtSearchContent').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	clearDiv('search_suggest');
	//SearchValidation();
//	var cctr=document.createElement("input");
//	cctr.name="searchtype";
//	cctr.type="hidden";
//	cctr.value=type;		
//	document.forms[0].appendChild(cctr);
//	document.forms[0].submit();
	
}
function setManualSubmit(val){
	document.getElementById('txtSearchContent').value =val;
	document.getElementById('didYouMean').innerHTML = '';
	clearDiv('didYouMean');
	//document.form1.submit();
	return false;
}
function getMe()
{
	setXY('txtSearchContent','search_suggest');

	document.getElementById('search_suggest').style.visibility='';
	document.getElementById('loadImage').style.visibility = "hidden";
	document.getElementById('search_suggest').style.width = document.getElementById('txtSearchContent').offsetWidth+"px";
	
}
function setXY( oElement,tElement )
{
oElement = document.getElementById(oElement);
var iReturnxValue = 0;
var iReturnyValue = 0;
	while( oElement != null ) 
	{
		iReturnxValue += oElement.offsetLeft;
		iReturnyValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
tElement = document.getElementById(tElement);
iReturnyValue = 29+iReturnyValue;
iReturnxValue = iReturnxValue;
tElement.style.left=iReturnxValue+"px";
tElement.style.top=iReturnyValue+"px"; 
//alert(iReturnxValue);
//alert(iReturnyValue);
}
function  clearDiv(subj){
document.getElementById(subj).style.visibility='hidden';	
	
}
function trim(str, chars) {
	//return str.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "");
	//return ltrim(rtrim(str, chars), chars);
	return str.trim();
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

/*  End Ajax_Search.js  */

function js_waterMark_Focus(objname, waterMarkText, waterMarkStyle, normalStyle)
 {
 obj = document.getElementById(objname);
 if(obj.value == waterMarkText)
 {
 obj.value="";
 obj.className = normalStyle
 }
 }
 function js_waterMark_Blur(objname, waterMarkText, waterMarkStyle, normalStyle)
 {
 obj = document.getElementById(objname);
 if(obj.value == "")
 {
   obj.value=waterMarkText;
   obj.className = waterMarkStyle
 }
 else
 {
 obj.className = normalStyle
 }
 }
 
 

/*---------------------------- Search Validation   -------------------------------------*/
function SearchValidation()
{   
    var search=document.getElementById("ddlSearchFilter");    
    var sVal = search.value;    
    var txtsearch = document.getElementById("txtSearchContent");
    var nume=/\D/;
    var chr= "^[a-zA-Z0-9]*$"; 
    var Sa = /^[a-zA-Z]/;
    var num = "0123456789"; 
    //alert(sVal);
    if((txtsearch.value=="")||(txtsearch.value == 0)||(txtsearch.value=="Your search ends here"))
    {
        alert('Please enter your keywords to search!');
        txtsearch.focus();
        return false;
    }
//    if(sVal == 0 || sVal == 5 || sVal == 8)
//    {               
//        if(chr.match(txtsearch.value) || txtsearch.value == "" || txtsearch.value == 0)
//        {  
//            alert("Please enter alpha numeric only");
//            txtsearch.focus();
//            return false;
//        }
//    }
//    
//    else if(sVal == 2)
//    {        
//        var temp=txtsearch.value;          
//        if(txtsearch.value == "" || txtsearch.value == 0 || temp.toString().match(/^[-]?\d*\.?\d*$/))
//        {            
//            alert("Please enter valid Author only");
//            txtsearch.focus();
//            return false;
//        }      

//    }    
//    
//    else if(sVal == 6)
//    {        
//        var temp=txtsearch.value;          
//        if(txtsearch.value == "" || txtsearch.value == 0 || temp.toString().match(/^[-]?\d*\.?\d*$/))
//        {            
//            alert("Please enter valid Artist only");
//            txtsearch.focus();
//            return false;
//        }      

//    }    
//    
//    else if(sVal == 3)
//    {
//       var obj = txtsearch.value;      
//        if (obj.length ==13)
//        {            
//            if(isNaN(txtsearch.value) || txtsearch.value == "" || txtsearch.value == 0)
//            {   
//                alert("Please enter valid Book ISBN");
//                txtsearch.focus();
//                return false;
//            }
//            return true;
//        }
//        else if (obj.length ==10)
//        {
//                return true;
//        }      
//        alert("Enter Valid 10 or 13 Digit ISBN");
//        return false;
//   }
   
   
} 


