function ajax(url,target){ 
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request");
		return false;
	}	
	var now = new Date();
	url=""+url+"&dd="+now.getTime();
	xmlHttp.onreadystatechange=function() { 
		if (target != 'none') {
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")	 { 
				var div = document.getElementById(target);
				div.innerHTML = xmlHttp.responseText;
				//div.style.border = '1px solid green';
				var x = div.getElementsByTagName("script");   
				for(var i=0;i<x.length;i++) {  
					eval(x[i].text);  
				}  
				//retrigger onLoad to get all kinds of mootools JS to work in the new content
				//window.fireEvent('domready');
			}
		} 
	}
	//xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	//xmlHttp.setRequestHeader('X-Referer', document.location);	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try {
		 // Firefox, Opera 8.0+, Safari
		 xmlHttp=new XMLHttpRequest();
	} catch (e) {
		//Internet Explorer
		try  {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)  {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function ajaxform(url,target,form) {
	form = document.getElementById(form);
	var formvars = getform(form);	
	url = url+'&'+formvars;
	ajax(url,target);
}
   
function getform(obj) {
	var getstr = '';
	//input
	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		//text/hidden
		if (obj.getElementsByTagName("input")[i].type == "text" || obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
        }
		//checkbox
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
           } else {
              getstr += obj.getElementsByTagName("input")[i].name + "=&";
           }
        }
		//radiobutton
        if (obj.getElementsByTagName("input")[i].type == "radio") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
           }
		}  
	}
	//select
	for (i=0; i<obj.getElementsByTagName("select").length; i++) {		
		var sel = obj.getElementsByTagName("select")[i];
		getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
	}
	//textarea
	for (i=0; i<obj.getElementsByTagName("textarea").length; i++) {	
		getstr += obj.getElementsByTagName("textarea")[i].name + "=" + URLEncode(obj.getElementsByTagName("textarea")[i].value) + "&";
	}	
	return getstr;
}

function URLEncode(clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

