

function ajax_request(div2change, page, callback_function){
	
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	    http_request = new XMLHttpRequest();
	    if (http_request.overrideMimeType) {
         	// set type to text/html
            http_request.overrideMimeType('text/html; charset=UTF-8');
         }
	} else if (window.ActiveXObject) { // IE
	    try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
	}
	
	http_request.onreadystatechange = function(){
    	if (http_request.readyState == 4) {
    	
    		var response = http_request.responseText.split("%%%%");
    	
    		div2change.innerHTML = response[1];
    		
    		if(callback_function){
    			callback_function(response[0]);
    		}
    		
    		jQuery(document).ready(function($) {
			  $('a[rel*=facebox]').facebox() 
			})
		}
	};
	
	http_request.open('GET', page, true);
	http_request.send(null);
}

// Send a form


function send_form(formname, action, params, callback){

	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	    http_request = new XMLHttpRequest();
	    if (http_request.overrideMimeType) {
         	// set type to text/html
            http_request.overrideMimeType('text/html; charset=UTF-8');
         }
	} else if (window.ActiveXObject) { // IE
	    try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
	}
	
	http_request.onreadystatechange = function(){
    	if (http_request.readyState == 4) {
    	
    		var response = http_request.responseText.split("%%%%");
    	
    		if(response[0] == "spam"){
    			window.alert("Nice try, Spammer");
    		}else{
    			callback(response[0],response[1]);
    		}
		}
	};
	
	var formvars = "";
	var elem;
	var elemType;
	
	for(var i=0;i<document.forms[formname].elements.length;i++){
		
		elem = document.forms[formname].elements[i];
		
		if(elem.type){
			
			elemType = elem.type;
			
			if((elemType == "radio" || elemType == "checkbox") && elem.checked == true){
				formvars += elem.name + "=";
				formvars += elem.value;
			}else if(elemType.indexOf("select") != -1){
				formvars += elem.name + "=";
				formvars += elem.options[elem.selectedIndex].value;
			}else if(elemType.indexOf("select") == -1 && elemType != "radio" && elemType != "checkbox"){
				formvars += elem.name + "=";
				formvars += elem.value;
			}
			
			formvars += "&";
		}
	}
	
	http_request.open('POST', action, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
    http_request.setRequestHeader("Content-length", formvars.length);
    http_request.setRequestHeader("Connection", "close");
	http_request.send(formvars);

}

