// object: ajaxObject
//	
// var users = new ajaxObject('users');
// 		creates the div with the id users as a ajaxobject
// 
// users.url = 'newuser.php'; 
//		when ever the trigger has been clicked this will be the next page 
// 
// users.onload = functionUsersClick;
//		calls the funtion functionUsresClick when the page has been loaded
//
//	users.trigger([,[key1=value1&key2=value2]]) 
//		to trigger ajax you would put this in a onclick. 
//  	** this also works with in the ajax panel ** 
//
// 			ie: onclick="javascript:users.trigger(this.id)
// 	
//  function retrForms(ID) 
// 		turns all input fields in a form into a string with key and value to pass 
// 		to the next page..
// 			ie: onclick="javascript:users.trigger(retrForms(<form id>))"
// 
//	
//  you would want to add 'document.onload=users.trigger();' to the javascript
//  to enable the users.url to load on the page load. 
// 


function ajaxObject (ID) {	

	this.ID = ID; 
	this.Type = 'live'; // datasource
	this.trigger = functionTrigger;
	this.url = null;
	this.onload = null;
	
	function functionTrigger(object) {
	
		var url = this.url;
		var id = this.ID;
		var obj = this;
		
		var Ajaxobject = (window.ActiveXObject) ? 
	  		new ActiveXObject("Microsoft.XMLHTTP") :
 				new XMLHttpRequest(); 
 				
 		if (Ajaxobject) {
			Ajaxobject.onreadystatechange =  function () {
				
				if (Ajaxobject.readyState == 4 && Ajaxobject.status == 200) {
					var divID = document.getElementById(id);
					divID.innerHTML = Ajaxobject.responseText;  
					if (obj.onload) {obj.onload();}
				}
			}
		}	                             
	             
		// var url = (object) ? url + '?' + object : url;
		
		if (object) {
			Ajaxobject.open("POST",url,true);
			Ajaxobject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			Ajaxobject.setRequestHeader("Content-length", object.length);
			Ajaxobject.setRequestHeader("Connection", "close");
			Ajaxobject.send(object);
		} else {
			Ajaxobject.open("GET",url,true);
			Ajaxobject.send(null);
		}
	}
}
function isArray(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}
function setMethod(type) {
	document.getElementById('method').value = type;
}

function confirmAction() {
	var type = document.getElementById('method').value;
	if (type == 'delete') {
		return confirm("Are you sure you want to delete this item from the database?");
	}
}
function retrForms(ID) {

	var items = '';
	var forms = document.getElementById(ID);
		
	var formInput = forms.getElementsByTagName('input');

	for (i=0; i<formInput.length; i++) {
		if (i > 0) items = items + '&';
		items=items+formInput[i].name+"="+formInput[i].value;
	}
	
	var formInput = forms.getElementsByTagName('select');

	for (x=0; x<formInput.length; x++) {
		if (i > 0) items = items + '&';
		items=items+formInput[x].name+"="+formInput[x].value;
	}	
	
	var formInput = forms.getElementsByTagName('textarea');
	
	for (x=0; x<formInput.length; x++) {
		if (i > 0) items = items + '&';
		items=items+formInput[x].name+"="+formInput[x].value;
	}	
		
	return items;		
	
}



