//Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'

function createAjaxObj()
{
	var httprequest=false
	if (window.XMLHttpRequest)
	{ // if Mozilla, Safari etc
		httprequest=new XMLHttpRequest()
		if (httprequest.overrideMimeType)
		httprequest.overrideMimeType('text/xml')
	}
	else 
		if (window.ActiveXObject)
		{ // if IE
			try 
			{
				httprequest=new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e){
			try{
				httprequest=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
			}
		}
	return httprequest
}
function processGetPost()
{
	var myajax=ajaxpack.ajaxobj
	var myfiletype=ajaxpack.filetype
	document.getElementById("txtHint").innerHTML="<div align='center'><img src='2-0.gif' />Loading...</div>";
	if (myajax.readyState == 4)
	{ //if request of file completed
		if (myajax.status==200 || window.location.href.indexOf("http")==-1)
		{ //if request was successful or running script locally
			//document.cookie=
			//document.getElementById("txtHint").innerHTML=""
			
			if (myfiletype=="txt")
				document.getElementById("txtHint").innerHTML=myajax.responseText
			else
				alert(myajax.responseXML)
		}
	}
}
function processGetPost1()
{
	var myajax=ajaxpack.ajaxobj
	var myfiletype=ajaxpack.filetype
	document.getElementById("txtHint1").innerHTML="<div align='center'><img src='2-0.gif' />Loading...</div>";
	if (myajax.readyState == 4)
	{ //if request of file completed
		if (myajax.status==200 || window.location.href.indexOf("http")==-1)
		{ //if request was successful or running script locally
			//document.cookie=
			//document.getElementById("txtHint").innerHTML=""
			
			if (myfiletype=="txt")
				document.getElementById("txtHint1").innerHTML=myajax.responseText
			else
				alert(myajax.responseXML)
		}
	}
}
var ajaxpack=new Object()
ajaxpack.basedomain="http://"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj()
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=0 //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype)
{
	
	//alert(parameters)
	//setCookie('url',url )
	//setCookie('para',parameters )
	
	//alert(getCookie('url'))
	//alert(getCookie('para'))
	ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
	//if (ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
		var parameters=parameters+"&ajaxcachebust="+new Date().getTime()
	
	if (this.ajaxobj)
	{
		
		this.filetype=filetype
		this.ajaxobj.onreadystatechange=callbackfunc
		
		this.ajaxobj.open('GET', url+"?"+parameters, true)
		this.ajaxobj.send(null)
		
	}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype)
{
	ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
	if (this.ajaxobj)
	{
		this.filetype=filetype
		this.ajaxobj.onreadystatechange = callbackfunc;
		this.ajaxobj.open('POST', url, true);
		this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		this.ajaxobj.setRequestHeader("Content-length", parameters.length);
		this.ajaxobj.setRequestHeader("Connection", "close");
		this.ajaxobj.send(parameters);
	}
}
function saveselectedtabindex(ulid, index)
{ //remember currently selected tab (based on order relative to other tabs)
	if (enabletabpersistence==1) //if persistence feature turned on
		setCookie(ulid, index)
}

function getCookie(Name)
{ 
	var re=new RegExp(Name+"-[^;]+", "i"); //construct RE to search for target name/value pair
	if (document.cookie.match(re)) //if cookie found
	return document.cookie.match(re)[0].split("-")[1] //return its value
	return ""
}

function setCookie(name, value)
{
	document.cookie = name+"-"+value //cookie value is domain wide (path=/)
}
function clerCookie()
{
	
	setCookie('para',"" )
	setCookie('url',"" )
	//alert("clear thanh cong")
}
//ACCESSIBLE VARIABLES (for use within your callback functions):
//1) ajaxpack.ajaxobj //points to the current ajax object
//2) ajaxpack.filetype //The expected file type of the external file ("txt" or "xml")
//3) ajaxpack.basedomain //The root domain executing this ajax script, taking into account the possible "www" prefix.
//4) ajaxpack.addrandomnumber //Set to 0 or 1. When set to 1, a random number will be added to the end of the query string of GET requests to bust file caching of the external file in IE. See docs for more info.

//ACCESSIBLE FUNCTIONS:
//1) ajaxpack.getAjaxRequest(url, parameters, callbackfunc, filetype)
//2) ajaxpack.postAjaxRequest(url, parameters, callbackfunc, filetype)

///////////END OF ROUTINE HERE////////////////////////


//////EXAMPLE USAGE ////////////////////////////////////////////
/* Comment begins here

//Define call back function to process returned data
function processGetPost(){
var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ if request was successful or running script locally
if (myfiletype=="txt")
alert(myajax.responseText)
else
alert(myajax.responseXML)
}
}
}

/////1) GET Example- alert contents of any file (regular text or xml file):

ajaxpack.getAjaxRequest("example.php", "", processGetPost, "txt")
ajaxpack.getAjaxRequest("example.php", "name=George&age=27", processGetPost, "txt")
ajaxpack.getAjaxRequest("examplexml.php", "name=George&age=27", processGetPost, "xml")
ajaxpack.getAjaxRequest(ajaxpack.basedomain+"/mydir/mylist.txt", "", processGetPost, "txt")

/////2) Post Example- Post some data to a PHP script for processing, then alert posted data:

//Define function to construct the desired parameters and their values to post via Ajax
function getPostParameters(){
var namevalue=document.getElementById("namediv").innerHTML //get name value from a DIV
var agevalue=document.getElementById("myform").agefield.value //get age value from a form field
var poststr = "name=" + encodeURI(namevalue) + "&age=" + encodeURI(agevalue)
return poststr
}

var poststr=getPostParameters()

ajaxpack.postAjaxRequest("example.php", poststr, processGetPost, "txt")
ajaxpack.postAjaxRequest("examplexml.php", poststr, processGetPost, "xml")

Comment Ends here */