/*******************************************************************************
*
* AJAX functions
*
* Copyright (c) 2006-2009 Trigmax Solutions, LLC
* All rights reserved.
*
* http://www.trigmax.com
*
******************************************************************************/
//*****************************************************************************
//
//
//*****************************************************************************
//*****************************************************************************
//
//
//
//
//*****************************************************************************
var ajx_obj=null;
var debug_ok = 'n';  // 'y' or 'n'
function submit_form(baseUrl, form_name) {
var FullUrl = buildFullUrl(baseUrl, form_name);
submit_ajax(FullUrl);
} // submit_form(form_name)
function buildFullUrl(baseUrl, form_name) {
var the_form = document[form_name];
var the_formLength = the_form.elements.length;
var FullUrl = baseUrl;
var escaped_str = "";
for(var fidx=0;fidx<the_formLength;fidx++) {
switch(the_form.elements[fidx].type) {
case "text":
escaped_str = escape(the_form.elements[fidx].value);
FullUrl += "&"+the_form.elements[fidx].name + "=" + escaped_str ;
break;
case "select-one":
escaped_str = escape(the_form.elements[fidx].options[the_form.elements[fidx].selectedIndex].value);
FullUrl += "&"+the_form.elements[fidx].name + "=" + escaped_str ;
break;
case "radio":
if (the_form.elements[fidx].checked) {
escaped_str = escape(the_form.elements[fidx].value);
FullUrl += "&"+the_form.elements[fidx].name + "=" + escaped_str ;
}
break;
default:  // such as type='hidden'
escaped_str = escape(the_form.elements[fidx].value);
FullUrl += "&"+the_form.elements[fidx].name + "=" + escaped_str ;
break;
}
} // end for(var fidx=0;fidx<the_formLength;fidx++)
//alert("../lib/ajax.js -- FullUrl="+FullUrl);
return FullUrl;
} // function buildFullUrl(baseUrl, form_name)
function submit_ajax(url) {
ajx_obj=null ;
if (window.XMLHttpRequest) {
ajx_obj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
ajx_obj = new ActiveXObject("Microsoft.XMLHTTP")
} else {
ajx_obj=null;
return false;
}
ajx_obj.onreadystatechange=stateChecker;
ajx_obj.open('GET', url, true);
ajx_obj.send(null);
} // submit_ajax(url)
function stateChecker() {
if (ajx_obj.readyState==4) {
if (ajx_obj.status==200) {
//
//
var result = eval('(' + ajx_obj.responseText + ')');
//alert("../lib/ajax.js -- JSON="+result);
parseAjax(result);
} else {
if (debug_ok == 'y') {
document.getElementById('msgBody').innerHTML= "<font style='font-family: arial; font-size: 12px; color:666666; line-height: 1.4;'>Failed to get response:"+ ajx_obj.statusText +"; status code="+ajx_obj.status+"<br> ResponseText:"+ajx_obj.responseText+" </font>";
}
}
}
} // stateChecker()
function randomByTime(range) {
var now = new Date();
var thisSec = parseInt(now.getSeconds());
thisSec = thisSec % range;
return thisSec;
}
function randomByMath(range) {
if (Math.random) {
return Math.round(Math.random() * (range-1));
} else { // just in case the Math function is not available
var thisSec = randomByTime(range);
return thisSec;
}
}
