function create_request_object() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

function send_request(page, args, func) {
	// Create query string.
	var output_array = [];
	for (var key in args) {
		output_array.push(key + "=" + escape(args[key]));
	}
	query_string = output_array.join("&");

	var req = create_request_object();
	// Create request string.
	page = WEB_PATH + page;

	if (query_string) {
		page += "?" + query_string;
	}
	req.open("get", page, false);
	req.send(null);
	response = req.responseText;
	req.abort();

	if (func == undefined) func = refresh_page;

	return func(response);
}

function send_request2(method, page, args, async, func) {
	// Create query string.
	var output_array = [];
	for (var key in args) {
		output_array.push(key + "=" + escape(args[key]));
	}
	query_string = output_array.join("&");

	var req = create_request_object();
	// Create request string.
	page = WEB_PATH + page;

	if (method == 'GET') {
		page += "?" + query_string;
	}

	req.open(method, page, false);
	if (method == 'GET') {
	   req.send(null);
	} else {
	    req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    req.setRequestHeader('Content-Length',query_string.length);
	    req.send(query_string);
	}
	response = req.responseText;
	req.abort();

	if (func == undefined) func = refresh_page;

	return func(response);
}

function send_request_async(method, page, output_array) {
	// Create query string.
	query_string = output_array.join("&");

	var req = create_request_object();
	// Create request string.
	page = SECURE_WEB_PATH + page;

	if (method == 'GET') {
		page += "?" + query_string;
	}

	req.open(method, page, true);
	if (method == 'GET') {
	   req.send(null);
	} else {
	    req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    req.setRequestHeader('Content-Length',query_string.length);
	    req.onreadystatechange = function(){
	    	if(req.readyState == 4){
	    		result_string = req.responseText;
		    	var result_array = result_string.split(',', 3);
		        letter_id = result_array[0];
		        var time = result_array[1];
		        var draft_count = result_array[2];
		        afterSaveLetter(letter_id, time, draft_count);
//		        req.abort();
	    	}
	    }
	    req.send(query_string);
	}
}


function response_debug() {
    alert(response);
}

function text_replace(response) {
    var pos = response.indexOf("|");

    if(pos > -1) {
		var div_name = response.substr(0, pos);
		var contents = response.substr(pos + 1);
        document.getElementById(div_name).innerHTML = contents;
    } else {
    	alert("ERROR:\n\n" + response);
    }
}

function no_response(response) { }

function rc(response) {
    return(response);
}

function redirect(response){
    window.location = WEB_PATH+response;
}