/*function sendRequest(file,params,divID,showLoad){
	//alert("file: " + file + ", params: " + params + ", divID: " + divID + ", showLoad: " + showLoad);
	if(showLoad==undefined){
		showLoad=true;
	}else{
		showLoad=false;
	}
	var http = getHTTPObject();
	//for encoded params from formsubmits and such
	params = decodeURI(params);
	var url = file+'?'+params;
	var now = new Date();
	var openFuncExists = false;
	var timeoutId;
	// hack to get IE to refresh all the time by making each url unique by adding a timestamp onto it. (ie tries to cache everything)
	if (url.indexOf("?") > -1) // this url has get params somewhere
	{
		if (url.substr(url.length-1) == "&") // has a & at the end, no need to append another
		{
			url = url + "t=" + now.getTime();
		}
		else // no & on the end, append it
		{
			url = url + "&t=" + now.getTime();
		}
	}
	else // no params on this url. append a ?
	{
		url = url + "?t=" + now.getTime();
	}
	// end IE hack		
	
	http.open("GET", url, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			//if (http.status == 200)
			//{
				window.clearTimeout(timeoutId);
				var output = http.responseText;
				document.getElementById('paypalForm').submit();
				
			//}
		}
	}
	if(showLoad==true){
		document.getElementById(divID).innerHTML = "<div class='loadingBox' align='center'><img src='assets/images/indicator.gif' /></div>";
	}
	http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	http.send(null);
	
	timeoutId = window.setTimeout(
		function() {
			switch (http.readyState) {
				case 1:
				case 2:
				case 3:
					http.abort();
					document.getElementById(divID).innerHTML = "<h2>Error Loading Data</h2>";
					alert("The action you are trying to preform has taken to long.  If this was a search, try limited the criteria.");
					break;
				default:
					break;
			}
		},
		60000 // sixty seconds
	);
}*/
function sendRequest(file,params,divID,showLoad){
	
	if(showLoad==undefined){
		showLoad=false;
	}
	//var http = getHTTPObject();
	var http = new XMLHttpRequest();
	//for encoded params from formsubmits and such
	//params = decodeURI(params);
	url = params;
	var now = new Date();
	var openFuncExists = false;
	var timeoutId;
	
	http.open("POST", file, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if (http.status == 200) {
				window.clearTimeout(timeoutId);
				var output = http.responseText;
				document.getElementById('paypalForm').submit();
			}
		}
	}
	if(showLoad==true){
		document.getElementById(divID).innerHTML = "<div class='loadingBox' align='center'><img src='assets/images/indicator.gif' /></div>";
	}
	http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	http.setRequestHeader("Content-length", url.length);
	http.setRequestHeader("Connection", "close");
	http.send(url);
	
	timeoutId = window.setTimeout(
		function() {
			switch (http.readyState) {
				case 1:
				case 2:
				case 3:
					http.abort();
					document.getElementById(divID).innerHTML = "<h2>Error Loading Data</h2>";
					alert("The action you are trying to preform has taken to long.  If this was a search, try limited the criteria.");
					break;
				default:
					break;
			}
		},
		60000 // sixty seconds
	);
}



// ===================================
// Form submits
// ===================================
function formSubmit(file,obj,divID,ignoreitems){
	var myPostVar = '';
	if(!ignoreitems){var ignoreitems = '';}
	
	for(i=0;i < obj.elements.length;i++){
		if(obj.elements[i].name.length > 0 && ignoreitems.indexOf(obj.elements[i].name)==-1){
			if(obj.elements[i].type=='Radio'||obj.elements[i].type=='radio'||obj.elements[i].type=='Checkbox'||obj.elements[i].type=='checkbox'){
				if(obj.elements[i].checked==true){
					myPostVar += '&' + obj.elements[i].name + '=' + encodeURIComponent(obj.elements[i].value);
				}
			}else if(obj.elements[i].type=='select-multiple'){
				var tempValue='';
				for(k=0;k<obj.elements[i].length;k++){
					if(obj.elements[i].options[k].selected==true){tempValue += obj.elements[i].options[k].value+',';}
				}
				myPostVar += '&' + obj.elements[i].name + '=' + tempValue.substring(0,tempValue.length-1);
				//alert(tempValue);
			}else{
				if (obj.elements[i].value != '') {
					if (i != 0) {
					myPostVar += '&';
					}
					myPostVar += obj.elements[i].name + '=' + encodeURIComponent(obj.elements[i].value);
				}
			}
		}
	}
	sendRequest(file,myPostVar,divID);
}

function ued_encode(arr,current_index) {
	var query = ""
	if(typeof current_index=='undefined') current_index = '';

	if(typeof(arr) == 'object') {
		var params = new Array();
		for(key in arr) {
			var data = arr[key];
			var key_value = key;
			if(current_index) {
				key_value = current_index+"["+key+"]"
			}

			if(typeof(data) == 'object') {
				if(data.length) { //List
					for(var i=0;i<data.length; i++) {
						params.push(key_value+"[]="+ued_encode(data[i],key_value)); //:RECURSION:
					}
				} else { //Associative array
					params.push(ued_encode(data,key_value)); //:RECURSION:
				}
			} else { //String or Number
				params.push(key_value+"="+encodeURIComponent(data));
			}
		}
		query = params.join("&");
	} else {
		query = encodeURIComponent(arr);
	}

	return query;
}
			
function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
			xmlhttp = false;
			}
		}
	@else
	xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		xmlhttp.overrideMimeType("text/xml"); 
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}
