﻿// JavaScript File

/*
*	Parameters:
*	reqType:	  the HTTP request type, GET / POST
*	url:		  the url of the server program
*	asynch:		  send asychronosly or not
*	respHandle:   the function to handle the response
*	arguments[4]: data of POST request 
*/
function httpRequest(reqType, url, asynch, respHandle) {
	var request;
	// Mozilla / Gecko-based browsers
	if(window.XMLHttpRequest) {
		request = new XMLHttpRequest();
		if(request.overrideMimeType) {
			request.overrideMimeType("text/xml");
        }
	} else if(window.ActiveXObject) {
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if(!request) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	// test for null or undefined object
	if(request) {
		request.onreadystatechange = function() {
			if(typeof respHandle != 'function') { 
				handleResponse(request);
			} else {
				respHandle(request);
			}
		}
		request.open(reqType, url, asynch);
		// if reqType is POST, 4th argument is the POSTed data
		if(reqType.toLowerCase() == "post") { 
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			request.send(arguments[4]);
		} else {
			request.send(null);
		}
	} else {
		alert("Your browser doesn't permit AJAX operations!");
	}
}
/*
*	Parameters:
*	reqType:	  the HTTP request type, GET / POST
*	url:		  the url of the server program
*	asynch:		  send asychronosly or not
*	respHandle:	  the function to handle the response
*	arguments[4]: data of POST request 
*/
function httpRequest(reqType, url, asynch, respHandle) {
	var request;
	// Mozilla / Gecko-based browsers
	if(window.XMLHttpRequest) {
		request = new XMLHttpRequest();
		if(request.overrideMimeType) {
			request.overrideMimeType("text/xml");
        }
	} else if(window.ActiveXObject) {
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if(!request) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	// test for null or undefined object
	if(request) {
		request.onreadystatechange = function() {
			if(typeof respHandle != 'function') { 
				handleResponse(request);
			} else {
				respHandle(request);
			}
		}
		
		request.open(reqType, url, asynch);
		// if reqType is POST, 4th argument is the POSTed data
		if(reqType.toLowerCase() == "post") { 
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			request.send(arguments[3]);
		} else {
			request.send(null);
		}
	} else {
		alert("Your browser doesn't permit AJAX operations!");
	}
}

function layerAct(id, istate) { // 1 = visible, 0 = hidden
	if(document.layers) {
		var obj = document.layers[id];
		if(obj) {
			obj.visibility = istate ? "show" : "hide";
			obj.display = istate ? "block" : "none";
		}
	} else if(document.getElementById) {
		var obj = document.getElementById(id);	
		if(obj) {
			obj.style.visibility = istate ? "visible" : "hidden";
			obj.style.display = istate ? "block" : "none";
		}
	}
	else if(document.all) {
		var obj = document.all[id];
		if(obj) {
			obj.style.visibility = istate ? "visible" : "hidden";
			obj.style.display = istate ? "block" : "none";
		}
	} else {
		alert("Layers are disabled in your browser!");
	}
}
