var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""
var loadstatustext="<img src='loading.gif' width=16 height=16 align=absmiddle /> چند لحظه..."

function ajaxpage(url, containerid) {
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject) { // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e) {
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e) {}
		}
	}
	else
		return false

	document.getElementById(containerid).innerHTML=loadstatustext

	page_request.onreadystatechange= function() {
		loadpage(page_request, containerid)
	}

	if (bustcachevar) //if bust caching of external page
		bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
		page_request.open('GET', url+bustcacheparameter, true)
		page_request.send(null)
}

function loadpage(page_request, containerid) {
	if (page_request.readyState == 4 &&
		(page_request.status==200 || window.location.href.indexOf("http")==-1) )
		document.getElementById(containerid).innerHTML=page_request.responseText
}


// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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
}

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) {
	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 processGetPost() {
	document.getElementById('orderdiv').innerHTML=loadstatustext
	var myajax= ajaxpack.ajaxobj
	var myfiletype= ajaxpack.filetype
	if (myajax.readyState == 4) {
		if (myajax.status==200 || window.location.href.indexOf("http")==-1) {
			if (myfiletype == "txt") {
				document.getElementById("orderdiv").innerHTML= myajax.responseText
			}
			else
				alert(myajax.responseXML)
		}
	}
}

function IRprocessGetPost() {
	document.getElementById('checkdiv').innerHTML=loadstatustext
	var myajax= ajaxpack.ajaxobj
	var myfiletype= ajaxpack.filetype
	if (myajax.readyState == 4) {
		if (myajax.status==200 || window.location.href.indexOf("http")==-1) {
			if (myfiletype=="txt")
				document.getElementById("checkdiv").innerHTML= myajax.responseText;
			else
				alert(myajax.responseXML)
		}
	}
}