﻿/*
Design By Xinge At 2007-05-22
Demo:http://www.sysapi.com/test/ajax2/test.htm
*/
var please_wait = null;
var http_request = false;
init_request();

function open_url(url, target) {
 	var link;
	
	if (!document.getElementById) return false;
 	
	if (please_wait != null) document.getElementById(target).innerHTML = please_wait;
 	
	if (window.ActiveXObject) {
  		link = new ActiveXObject("Microsoft.XMLHTTP");
 	} else if (window.XMLHttpRequest) link = new XMLHttpRequest();

 	if (link == undefined) return false;

 	link.onreadystatechange = function() { response(link, url, target); }
 	link.open("GET", url, true);
 	link.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=GB2312");
 	link.send(null);
}

function response(link, url, target) {
	//alert(link.readyState + ' -- ' + target);
	//alert(link.readyState);
	if (link.readyState < 4) {
		document.getElementById(target).innerHTML = "<img src='/images/loading.gif' alt='loading...'><span style='padding-left:6px; font-size: 14px; color:#FF9900';>载入中，请稍后...</span>";
	} else {
		document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the fallowing errorcode: " + link.status;
	}
}

function set_loading_message(msg) {
 	please_wait = msg;
}







////////////////////////////////////////////////////////////////////////////////////







function init_request(){
    http_request = false;
    if(window.XMLHttpRequest) { //Mozilla
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {//MiME
            http_request.overrideMimeType("text/xml");
        }
    }
    else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) { //
        document.write("<font color=green>浏览器版本太低，导致不能正常显示数据<br/>推荐使用IE6.0+或者FireFox浏览器</font>");
        return false;
    }    
}

function get_request(url){
    init_request();
    http_request.onreadystatechange = processRequest;
    http_request.open("GET", url, true);
    http_request.send(null);
}

function get_request2( url, type ){
    init_request();
    if( type == "text" )
            http_request.onreadystatechange = processRequest;
    else if( type == "xml" )
        http_request.onreadystatechange = processXmlRequest;
    http_request.open("GET", url, true);
    http_request.send(null);
}

//the user can custom the function
function get_request3( url, myProcess ){
    init_request();        
    http_request.onreadystatechange = myProcess;
    http_request.open("GET", url, true);
    http_request.send(null);
}

function post_request( url, sinfo ) {//
    init_request();
    http_request.onreadystatechange = processRequest;

    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-Length",sinfo.length);    
    http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    http_request.send(sinfo);
}


function post_request2( url, sinfo, type ) {//
    init_request();
    if( type == "text" )
            http_request.onreadystatechange = processRequest;
    else if( type == "xml" )
            http_request.onreadystatechange = processXmlRequest;
    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-Length",sinfo.length);    
    http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    http_request.send(sinfo);
}

//this function gave the user too much free to write his method
function post_request3( url, sinfo, myProcess ) {//
    init_request();
    http_request.onreadystatechange = myProcess;

    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-Length",sinfo.length);    
    http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    http_request.send(sinfo);
}

// text
function processRequest() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) { 
           pageChange( http_request.responseText );
        } else { 
            alert("connect the server wrong!"+http_request.status);
        }
    }
}

//xml
function processXmlRequest() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
           pageChange( http_request.responseXml );
        } else {
            alert("connect the server wrong!");
        }
    }
}