// Author: Kuan

// File Name: AJAXClass.js

// Website: www.ThaiFreelanceBid.com

// Created Date: 17 Oct 2006

// webmaster@thaifreelancebid.com



var xmlhttp;

var response_text = "";

var function_name = "";



function AJAXClass(){

	//Variables

	this.url = "";

	this.method = "GET";

	this.parameters = new Array();

	this.paramstr = "";



	//Check Browser

	if(window.ActiveXObject){

		//IE

		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

	}else{

		//FF, NS

		xmlhttp = new XMLHttpRequest();

	}



	//Create Parameter String

	this.createParameters = function(){

		if(this.parameters.length > 0){

			for(i=0; i<this.parameters.length; i++){

				this.paramstr += encodeURI(this.parameters[i]) + "&";

			}

			this.clearParameter();

			return this.paramstr.substr(0, this.paramstr.length-1);

		}else{

			return null;

		}

	}

	

	//Send Query

	this.send = function(){

		if(xmlhttp != null){

			var tempurl = this.url;

			var param = this.createParameters();

			if(this.method.toLowerCase()=="get"){

                var cDate = new Date();

				var timeParam = "TimeStamp=";

                timeParam += cDate.getFullYear();

                timeParam += "-" + (cDate.getMonth() + 1);

                timeParam += "-" + cDate.getDate();

                timeParam += "-" + cDate.getHours();

                timeParam += "-" + cDate.getMinutes();

                timeParam += "-" + cDate.getSeconds();

				if(param!=null){

					tempurl += "?"+param;

					param = null;

					tempurl += "&" + timeParam;

				}

				else {

	                if (tempurl.indexOf("?") > 0) tempurl += "&"; else tempurl += "?";

					tempurl += timeParam;

				}

			

			}

			xmlhttp.onreadystatechange = funcStateChange;

			xmlhttp.open(this.method, tempurl, true);



			//Check POST 

			if(this.method.toLowerCase()=="post"){

				xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

			}

			

			xmlhttp.send(param);

		}

	}



	//Add Parameter

	this.addParameter = function(name, value){

		this.parameters.push(name + "=" + value);

	}

	

	//Clear Parameters

	this.clearParameter = function(){

		this.parameters = null;

		this.parameters = new Array();

	}

}



//Business Method

function funcStateChange(){

	var LOAD = 4;

	var SUCCESS = 200;

	if(xmlhttp.readyState == LOAD){

		if(xmlhttp.status == SUCCESS){

			var result = xmlhttp.responseText;	

			if(result != ""){

				response_text = "";

				response_text = result;

				eval(function_name);

			}

		}else{

			alert("Error HTTP Return State: "+xmlhttp.status);

		}

	}

}

function Next(){

	location.href()

	}
