﻿//AJAX class
function AJAX(){
	//members of this class
	var objRequest;
	var page='';
	var eventHandler='';
	var __arguments='';
	
	//ajax intialize function
	this.getAJAX = function(url){
		//to avoid the cache file
		var dt=new Date();
		if(url.indexOf('?')==-1) url+='?';
		url=url+'&'+dt.getTime()
		page=url;
		//start the request
		if(window.XMLHttpRequest){
			objRequest = new XMLHttpRequest();
			objRequest.onreadystatechange = this.processReqChange;
			objRequest.open("GET", url, true);
			objRequest.send(null);
		}else{
			if(window.ActiveXObject){
				objRequest = new ActiveXObject("Microsoft.XMLHTTP");
				if(objRequest){
					objRequest.onreadystatechange = this.processReqChange;
					objRequest.open("GET", url, true);
					objRequest.send();
				}
			}
		}
	}
	
	//ajax response part
	this.processReqChange = function(){
		this.response='';
		this.page=page;
		if(objRequest.readyState == 4){
			if(eventHandler=='')
				eventHandler='_completed';
			var _function='';
			_function+='try{\n';
			_function+=eventHandler+'(';
			if(objRequest.status == 200){
				//if success
				this.response=objRequest.responseText
				_function+='this,true'
			}else{
				//if failed (or timeout)
				this.response=objRequest.responseText;
				_function+='this,false'
			}
			if(__arguments!=''){
				_function+=','+__arguments;
			}
			_function+=');'
			_function+='\n';
			_function+='}catch(e){alert("error"+e);};';
			eval(_function);
		}
	}
	
	//ajax event handler
	this.setEventHandler = function(_fnname,_arguments){
		eventHandler=_fnname;
		__arguments=_arguments;
	}
}

function XMLDoc(divID,url){

	var req;
				
	this.loadXMLDoc = function(){
		
		if (window.XMLHttpRequest) {
		
			req = new XMLHttpRequest();
			req.onreadystatechange = this.processReqChange;
			req.open("GET", url, true);
			req.send(null);
		
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = this.processReqChange;
				req.open("GET", url, true);
				req.send();
			}
		}
	}
	
		this.processReqChange = function(){
		
		if (req.readyState == 4) {
		    
		    if (req.status == 200) {
		        
		        var objdivId = document.getElementById(divID);
		        if(objdivId){
		        var res = req.responseText;
		        if(res!=''){
							document.getElementById(divID).innerHTML=res;
							}else{
							objdivId.style.display='none';}
		        }
		    } else {
		        
		        if(document.getElementById(divID)){
							document.getElementById(divID).innerHTML = "Loading failed! <br><a href='" + url + "' target=_blank>" + url + "</a>";
						}
		    }
		}
	}
}
