﻿var _req = false;
var _div_sorce = '';
var _div_target = '';

function checkJax() {
    var req = false;
    if (typeof XMLHttpRequest != 'undefined' && window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch (e) { }
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e) { }
        }
    }
    if (req) return true;
    else return false;
}

function MakeRequest(url, div_sorce, div_target) {
    var req = false;
    _div_sorce = div_sorce;
    _div_target = div_target;

    if (url.indexOf('?') > 0) {
        url = url + '&r=' + Math.random();
    }

    if (div_sorce == '' && typeof XMLHttpRequest != 'undefined' && window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
            req.div_sorce = div_sorce;
            req.div_target = div_target;
            req.onreadystatechange = jaxhandler;
            _req = req;
            req.open("GET", url, true);
            req.send(null);
            return;
        } catch (e){}
    } else if (div_sorce == '' && window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
        if (req) {
            req.onreadystatechange = jaxhandler;
            _req = req;
            req.open("GET", url, true);
            req.send();
            return;
        }
    }


    if (!req && div_sorce != '') 
        IframeRequest(url, div_sorce, div_target); 
}

function jaxhandler() {
    var r = null; var trg = null;
    try {
        if (this && this != 'undefined' && this != null) {
            r = this;
            trg = r.div_target;
        }
    } catch (e) { }
    if (r == null || trg == null || r == 'undefined') {
        r = _req;
        trg = _div_target;
    }
    if(r.readyState == 4 && r.status == 200)  document.getElementById(trg).innerHTML = r.responseText;
}

/*--IframeRequest--*/
var elem = null;
function IframeRequest(url, div_sorce, div_target) {
    if(elem == null) elem = document.createElement('div');
    elem.innerHTML = '<iframe id="frame_'+div_target+'" name="frame_'+div_target+'" onload="on_frame_load(\''+div_sorce+'\',\''+div_target+'\')" height="0" width="0" frameborder="0" src="'+url+'"></iframe>';
    document.getElementById(div_target).parentNode.appendChild(elem);
}
function on_frame_load(div_sorce, div_target){
    var doc = GetFrameDocument(document.getElementById('frame_'+div_target));
    if (div_sorce != '') document.getElementById(div_target).innerHTML = doc.getElementById(div_sorce).innerHTML;
    else document.getElementById(div_target).innerHTML = doc.body.innerHTML;   
}
function GetFrameDocument(IFrame){
    if(IFrame.contentDocument) return IFrame.contentDocument; // For NS6
    else if(IFrame.contentWindow) return IFrame.contentWindow.document; // For IE5.5 and IE6
    else return IFrame.document; //other browser
}

