<!-- 
/*
 * generic ajax code
 *
 * This code may not be used by anyone or entity without written concent from 
 */
//Browser Support Code
function ajaxFunction(submiturl, theForm, writeto, loading_url, noform){

	var ajaxRequest;  // The variable that makes Ajax possible!
  var forumParam='';

	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){

			if(ajaxRequest.readyState == 1 && loading_url){
        document.getElementById(div_id_write).innerHTML ='<div class="loading_img"><img src="'+loading_url+'" /></div>';
      } else if(ajaxRequest.readyState == 4){
			  if(writeto) {
          document.getElementById(writeto).innerHTML = ajaxRequest.responseText;
        }
      
		}
	}

  //--- if it is a sting read div ID fields only
if(noform) {
} else if((typeof theForm == 'string')) {
  forumParam=enumerateDivLoop(theForm, writeto);
} else if(theForm){
  forumParam=enumerateFormLoop(theForm);
}

  /*
  forumParam.replace('[', '%5B');
  forumParam.replace(']', '%5D');
  */
  if(forumParam != '') {
    ajaxRequest.open('POST', submiturl, true);
    ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajaxRequest.setRequestHeader("Content-length", forumParam.length);
    ajaxRequest.setRequestHeader("Connection", "close");
    ajaxRequest.send(forumParam);
  } else {
    ajaxRequest.open("GET", submiturl + forumParam, true);
  	ajaxRequest.send(null); 
  }
}


function enumerateFormLoop(theForm){
  //var theForm = document.forms[myForm]
  //var queryString = '?sumbitted=' + theForm.name + '&';
  var queryString='';
/*
   for(i=0; i<theForm.elements.length; i++){
     queryString += "Element Type: " + theForm.elements[i].type + "\n"
     queryString += "Element Name: " + theForm.elements[i].name + "\n"
     queryString += "Element Value: " + escape(theForm.elements[i].value) +"\n---------\n"
 
   }
 alert(queryString);
*/
   for(i=0; i<theForm.elements.length; i++){
      if(theForm.elements[i].type == "text" 
        || theForm.elements[i].type == "textarea" 
        || theForm.elements[i].type == "hidden" 
        || theForm.elements[i].type == "button"
      ){
        queryString += theForm.elements[i].name
          + "="
          + escape(theForm.elements[i].value)
          + "&"
      } else if(theForm.elements[i].type == "checkbox"){
        //queryString += "Element Checked? " + theForm.elements[i].checked + "\n"
        queryString += theForm.elements[i].name
          + "="
          + escape(theForm.elements[i].checked)
          + "&"
      } else if(theForm.elements[i].type == "select-one"){
        //queryString += "Selected Option's Text: " + theForm.elements[i].options[theForm.elements[i].selectedIndex].text + "\n"
        queryString += theForm.elements[i].name
          + "="
          + escape(theForm.elements[i].text)
          + "&"
      }
   }
   return queryString;

}
function enumerateDivLoop(div_id_read, div_id_write) {
  var rows =document.getElementById(div_id_read).getElementsByTagName('*');
  var queryString='';
//document.getElementById(div_id_write).innerHTML = "";
  for (var key in rows) {
    switch(rows[key].type) {
      case 'text':
      case 'textarea':
      case 'button':
      case 'hidden':
        queryString += rows[key].name + "=" + escape(rows[key].value) + "&"
        break;  
      case 'select-one':      
        if(rows[key].value) {
          queryString += rows[key].name + "=" + escape(rows[key].value) + "&"
        } else {
          queryString += rows[key].name + "=" + escape(rows[key].options[rows[key].selectedIndex].text) + "&"
        }
/*
document.getElementById(div_id_write).innerHTML += rows[key].type + ": " + rows[key].name + " = " + rows[key].value 
+ " (" 
+ rows[key].checked 
+ " ZZZZZZZZ"+rows[key].options[rows[key].selectedIndex].value
+ " WWWWWWWW"+rows[key].options[rows[key].selectedIndex].text
+ ")<br>"
;
*/
        break;
      case 'checkbox':
        if(rows[key].checked) {
          queryString += rows[key].name + "=" + escape(rows[key].value) + "&"
        }
        break;    
      case 2:
        break;
      default:
    }
//document.getElementById(div_id_write).innerHTML += rows[key].type + ": " + rows[key].name + " = " + rows[key].value + " (" + rows[key].checked + rows[key].text+ ")<br>";

  }
  return queryString;
}
function isString(a) {
    return typeof a == 'string';
}


//-->
