var xmlHttp

function ajaxdisplay (url, load, divdisplay, type) {
	xmlHttp=GetXmlHttpObject ();
	if (xmlHttp==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url2 = url+"&sid"+Math.random();
	xmlHttp.onreadystatechange=function() {
		stateChanged (load, divdisplay, type);
	};
	xmlHttp.open("GET",url2,true);
	xmlHttp.send(null); 
}
function stateChanged(load, divdisplay, type){

	if(load) {
		try {
			if (xmlHttp.readyState==1){
			document.getElementById(load).style.display="block";
			} if (xmlHttp.readyState==2) {
				document.getElementById(load).style.display="block";
			} if (xmlHttp.readyState==3) {
				document.getElementById(load).style.display="block";
			}
		} catch (e) {
		}
	}
	if (xmlHttp.readyState==4) {
		if(xmlHttp.status == 200){
			if(load) {
				try {
					document.getElementById(load).style.display="none";
				} catch (e) {
				}
			}
			if(type) {
				if (divdisplay) {
					document.getElementById(divdisplay).value=xmlHttp.responseText;
				}
				if(document.readyState) {
					if (document.readyState=="complete") {
					     suggestInput_init();
					}
				} else {
					try {
					  	if (window.captureEvents) {
						    window.captureEvents(Event.LOAD)
//						    window.onload=suggestInput_init();
						}
					}
					catch (e) {
	//				  	suggestInput_init();
					}
				}
			} else {
				if(divdisplay) {
//alert(xmlHttp.responseText);
					document.getElementById(divdisplay).innerHTML=xmlHttp.responseText;				
					
					if (divdisplay == "del_msg") { // delete message
						var o_b = document.getElementById("o_b").value;
						var o_d = document.getElementById("o_d").value;
						var s_f = document.getElementById("s_f").value;
						var data_search = document.getElementById("data_search").value;
						var type = document.getElementById("type").value;
						var p = document.getElementById("p").value;
						
						var link = 'inc/dinamic_list.php?message&o_b=' + o_b + '&o_d=' + o_d + '&s_f=' + s_f + '&data_search=' + data_search + '&type=' + type + '&p=' + p + '&ajax=1';
						SimpleAJAXCall(link, SimpleAJAXCallback, '', 'admin_messages');
					}
					
					if (document.getElementById("temp_action")) {
						if (document.getElementById("temp_action").value == 'del_cat') {
							var hash = document.getElementById("hash").value;
							var type = document.getElementById("type").value;
							new Ajax.PeriodicalUpdater('admin_catalog', '../inc/request.php?action=get_catalog&type=' + type + '&hash=' + hash, {
								  method: 'get', frequency: 600, decay: 1
							});
						}
					}
					
					if (document.getElementById("my_action")) {
						if (document.getElementById("my_action").value == 'del_photo') { // delete user's avatar
							document.getElementById("user_photo").style.display = "none";
							document.getElementById("ph_title").innerHTML = "<B>Upload photo</B> (available formats: jpg or gif; max size: 5Mb)";						
						}
						if (document.getElementById("my_action").value == 'del_video') { // delete user's video
							document.getElementById("user_video").style.display = "none";
							document.getElementById("vi_title").innerHTML = "<B>Upload video</B> (available format: flv; max size: 20Mb)";						
						}
						
						if (document.getElementById("my_action").value == 'delete_photo_gallery') { // delete photo form gallery
							var gallery = document.getElementById("current_gallery").value;
							var this_photo = document.getElementById("current_photo").value;
							var quantity = document.getElementById("gallery_quantity_" + gallery).value;
							var new_quantity = quantity - 1;
							document.getElementById("gallery_quantity_" + gallery).value = new_quantity;
							
							if (new_quantity == 0) {
								document.getElementById('this_gallery_' + gallery).style.display = "none";
							} else {
								if (new_quantity > 1)
									var gallery_text = ' photos';
								else
									var gallery_text = ' photo';
									
								document.getElementById("gallery_" + gallery).innerHTML = new_quantity + gallery_text;	
								document.getElementById("pictureId_" + this_photo).style.display = "none";					
							} 	
						}
						
						if (document.getElementById("my_action").value == 'del_user') { // delete user
							var user = document.getElementById("current_user").value;
							document.getElementById("user_" + user).style.display = "none";	
						}
						if (document.getElementById("my_action").value == 'del_user_page') { // delete user and return to all users list
							location.href="index.php?users&deleted";
						}
					}
				}
				
			}
			return true;
		} else {
			if (load) {
				document.getElementById(load).style.display="none";
			}
			if (type) {
				//document.getElementById(divdisplay).value="HTTP " + xmlHttp.status;
			} else {
				if (divdisplay){
					//document.getElementById(divdisplay).innerHTML="HTTP " + xmlHttp.status;
				}	
			}
	    }
	}
}

function sendRequest(frm, load, divdisplay) {
 
	var oForm = document.forms[frm];
	var sBody = getRequestBody(oForm);

	var oOptions = {
    	method: "post",
        parameters: sBody,
        onSuccess: function (oXHR, oJson) {
            document.getElementById(divdisplay).innerHTML=oXHR.responseText;
						
			if (divdisplay == 'send') {
				document.getElementById("send_form").style.display = "none";
			}
			if (frm == 'all_catalog') {
				var hash = document.getElementById("hash").value;
				var type = document.getElementById("type").value;
				new Ajax.PeriodicalUpdater('admin_catalog', '../inc/request.php?action=get_catalog&type=' + type + '&hash=' + hash, {
					  method: 'get', frequency: 600, decay: 1
				});
				document.getElementById("new_value").value = 'new value';
			}
			if (frm == 'add_user_info') {
				document.getElementById("add_user_form").style.display = 'none';
			}
        },
        onFailure: function (oXHR, oJson) {
            alert("An error occurred: " + oXHR.statusText);
        }
    };   
    var oRequest = new Ajax.Request(oForm.action, oOptions);  
}
 
function getRequestBody(oForm) {
 
	var aParams = new Array(); 
     for (var i=0; i < oForm.elements.length; i++) {
         if(oForm.elements[i].type == "radio" || oForm.elements[i].type == "checkbox"){
         	if(oForm.elements[i].type == "radio"){
         		if(oForm.elements[i].checked ) {
         			var sParam = oForm.elements[i].name;
         			sParam += "=";
         		   	sParam += oForm.elements[i].value
//alert(oForm.elements[i].value);
         		}
         	} else {
//alert (oForm.elements[i].value);
				if (oForm.elements[i].value == 'on') {
					var sParam = oForm.elements[i].name;
	         		sParam += "=";
	         		sParam += oForm.elements[i].checked;
				}	
         	}
         } else {
			oForm.elements[i].value = oForm.elements[i].value;
         	var sParam = oForm.elements[i].name;
        	sParam += "=";
         	sParam += encodeURIComponent(oForm.elements[i].value);
         }
//alert(sParam);
         aParams.push(sParam);
     } 
     return aParams.join("&");        
}

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;
}