// JavaScript Document

	var xmlHttp;
	var ajaxResponse = "";
	var ajaxMethod = 1;
	var ajax_template;
	var arr_items=new Array();
	//var xmlHttp2;

	function GetXmlHttpObject_1()
	{
		var xmlHttp=null;
		try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return xmlHttp;
	}
	

	function GetXmlHttpObject_2()
	{
		var xmlHttp2=null;
		try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp2=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				xmlHttp2=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				xmlHttp2=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return xmlHttp2;
	}


	function CreateXmlHttpObject()
	{ 
		var objXMLHttp=null;	
		if(window.XMLHttpRequest)	
			objXMLHttp=new XMLHttpRequest()	;
		else if (window.ActiveXObject)	
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
		return objXMLHttp;
	}

	function checkKeyTyped(e)
	{
		var keynum;
		var keychar;
		var numcheck;
		
		if(window.event) // IE
		{
		  keynum = e.keyCode;
		}
		else if(e.which) // Netscape/Firefox/Opera
		{
		  keynum = e.which;
		}
		keychar = String.fromCharCode(keynum);
		numcheck = /\d/;
		//return !numcheck.test(keychar);
		return keynum;
	}			

	function ajax_search(frm,target,thisUrl,cleardata,func)
	{	
		//xmlHttpx=GetXmlHttpObject_1();
		xmlHttpx=CreateXmlHttpObject();
	
		if (xmlHttpx.readyState != 0)
			xmlHttpx.abort(); 

		if(cleardata == undefined) cleardata = true;
		if(func == undefined) func = "";
		
		if(thisUrl.indexOf("?") == -1) thisUrl = thisUrl + "?xyz=0"
		
			if (xmlHttpx==null)
			{
				alert ("Your browser does not support AJAX!");
				return;
			} 

			xmlHttpx.onreadystatechange=function x() 
			{ 
					if(target != "" && !document.getElementById(target)) alert(target + " does not exist");
					status = document.getElementById(target + "_status") ? target + "_status" : "";
					if(xmlHttpx.readyState==4)
					{
						if(xmlHttpx.status == 200)
						{
							if(target != "")
							{
								//alert(target);
								if(status != "")
									document.getElementById(status).innerHTML="&nbsp;";

								//ajaxMethod = 1;
								if(ajaxMethod == 1)
									document.getElementById(target).innerHTML=xmlHttpx.responseText;
								else
									document.getElementById(target).innerHTML=method_2(xmlHttpx.responseText);
								ajaxMethod = 1;
							}
							else
								ajaxResponse = xmlHttpx.responseText;
							
							if(func != "") 
								eval(func);
						}
					}
					else
					{
						if(target != "")
						{
							if(status != "")
								document.getElementById(status).innerHTML="<span style='color:#DD0000'>Please wait...</span>";
							
							if(cleardata)
									document.getElementById(target).innerHTML="please wait...";
						}
					}
			};
	
			xmlHttpx.open("GET",thisUrl+"&sid="+Math.random(),true);
			xmlHttpx.send(null);
	}

	function method_2(str)
	{
		eval(str);
		var message_no_result="No result";
		//Get Dynamic Template
		var final_string=' '; 
		//alert(arr_items.length+ " Rows");
		str=document.getElementById(ajax_template).innerHTML;
		str = str.replace(/%7B/g,"{");
		my_template_bkup = str.replace(/%7D/g,"}");
		
		flds = getTags(my_template_bkup);
		a = new Array();
		for (i=0;i<(arr_items.length-1);i++)
		{
			my_template=my_template_bkup;
			for (j=0;j<flds.length;j++)
			{
				if(flds[j] == "image")
					a.push("image = " + arr_items[i][flds[j]]);
				my_template=my_template.replace(eval("/{" + flds[j] + "}/g"),arr_items[i][flds[j]]);
			}
			final_string=final_string+my_template;	
		}
		
		/*
		if(arr_items.length==0){
			document.getElementById("dynamicContent").innerHTML=message_no_result;
		}else{
			document.getElementById("dynamicContent").innerHTML=final_string;
		}	
		*/
		return final_string;
	}
	
	function getTags(str)
	{
		found = true;
		arr = new Array();
		start = -1;
		end = -1;
		while(found)
		{
			start = str.indexOf("{",(start+1));
			end = str.indexOf("}",(end+1));
			if(start > -1 && end > -1)
				arr.push(str.substring((start+1),(end)));
			else
				found = false;
		}
		return arr;
	}
	
	function ajax_search2(frm,target,thisUrl,cleardata,func)
	{
			xmlHttp2=GetXmlHttpObject_2();
			
			if(cleardata == undefined) cleardata = true;
			if(func == undefined) func = "";
			
			if (xmlHttp2==null)
			{
				alert ("Your browser does not support AJAX!");
				return;
			} 

			xmlHttp2.onreadystatechange=function x() 
			{ 
				if (xmlHttp2.readyState==4)
				{
					document.getElementById(target).innerHTML=xmlHttp2.responseText;
					if(func != "") eval(func);
				}
				else
				{
					if(cleardata)
						document.getElementById(target).innerHTML="please wait...";
				}
			};

			xmlHttp2.open("GET",thisUrl+"&sid="+Math.random(),true);
			xmlHttp2.send(null);
	}
	
	
	function ajax_test()
	{
			xmlHttp2=GetXmlHttpObject_2();
			
			if(cleardata == undefined) cleardata = true;
			if(func == undefined) func = "";
			
			if (xmlHttp2==null)
			{
				alert ("Your browser does not support AJAX!");
				return;
			} 

			xmlHttp2.onreadystatechange=
			function x() 
			{ 
				newDiv=document.create('div');
				newDiv.setAttribute("id","contacts_list");
				newDiv.innerHTML="My HTML is <b>great</b>";
				
				myDiv.parentNode.replaceChild(myDiv, newDiv);			
				if (xmlHttp2.readyState==4)
				{
					document.getElementById(target).innerHTML=xmlHttp2.responseText;
					if(func != "") eval(func);
				}
				else
				{
					if(cleardata)
						document.getElementById(target).innerHTML="please wait...";
				}
			};


			xmlHttp2.open("GET",thisUrl+"&sid="+Math.random(),true);
			xmlHttp2.send(null);
	}	
	
