var http = new Array(3);
http[0] = getHTTPObject();
http[1] = getHTTPObject();
http[2] = getHTTPObject();

function getHTTPObject() { 
	if (typeof XMLHttpRequest != 'undefined') { 
		return new XMLHttpRequest(); 
	} 
	try { 
		return new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (e) { 
		try { 
			return new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (e) {} 
	} 
	return false; 
}

function get(url, param, parser, index) {
	http[index].open("GET", url + "?" + param, true);
	http[index].onreadystatechange = function () {
		if (http[index].readyState == 4) {
			text = http[index].responseText;
			eval(parser+"(text)");
		}
	};
	http[index].send(null);
}

function postFormToDiv(url, formId, divId, index) {
	http[index].open("POST", url, true);
	http[index].setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	http[index].send(encodeURI(getFormValues($(formId))));
	http[index].onreadystatechange = function () {
		if (http[index].readyState == 4) {
			text = http[index].responseText;
			setHtml(divId, text);
		}
	};
}

function getToDiv(url, param, divid, index) {
	if(typeof index == 'undefined')
		index = 0;
	http[index].open("GET", url + "?" + param, true);
	http[index].onreadystatechange = function () {
		if (http[index].readyState == 4) {
			text = http[index].responseText;
			setHtml(divid, text);
		}
	};
	http[index].send(null);
}

function getToFormField(url, param, fieldId, index) {
	if(typeof index == 'undefined')
		index = 0;
	http[index].open("GET", url + "?" + param, true);
	http[index].onreadystatechange = function () {
		if (http[index].readyState == 4) {
			text = http[index].responseText;
			$(fieldId).value = text;
		}
	};
	http[index].send(null);
}

function delete_post(id) {
	if(confirm("Borrar noticia?"))
		getToDiv("admin.php", "mode=news&action=delete&id=" + id, "posts-status", 0);
}
		
		
function useHttpResponse() {
  if (http.readyState == 4) {
    var textout = http.responseText;
	eval(parser+'(textout)');
  }
}

function admin_page_request(text) {
    document.getElementById("admin-data").innerHTML = text;
}

function admin_logout(text) {
    location.href = "../admin";
}

function mail_submenu(text) {
    document.getElementById("mail-submenu").innerHTML = text;
}

function getFormValues(fobj, valFunc) {
   var str = "";
   var valueArr = null;
   var val = "";
   var cmd = "";
   for(var i = 0; i < fobj.elements.length; i++)
   {
	   switch(fobj.elements[i].type)
	   {
		   case "text":
		   case "password":
		   case "hidden":
		   case "textarea":
				if(valFunc)
				{
					//use single quotes for argument so that the value of
					//fobj.elements[i].value is treated as a string not a literal
					cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
					val = eval(cmd)
				}
				str += fobj.elements[i].name +
				 "=" + escape(fobj.elements[i].value) + "&";
				 break;
		   case "select-one":
				str += fobj.elements[i].name +
				"=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
				break;
	   }
   }
   str = str.substr(0,(str.length - 1));
   return str;
}

function setFormValues(form, string) {

   for( var i = 0; i < form.elements.length; i++ )
   {
	   switch(form.elements[i].type)
	   {
		   case "text":
		   case "textarea":
				form.elements[i].value = string;
				break;
	   }
   }
}

function setHtml(div, content) {
	// Set HTML and execute JS
    var search = content;
	var script;

	document.getElementById(div).innerHTML = content;
	
    while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i))
    {
      search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length);
      
      if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break;
      
      block = search.substr(0, search.indexOf(RegExp.$1));
      search = search.substring(block.length + RegExp.$1.length);
      
	  eval(block);
	  /*
	  var oScript = document.createElement('script');
      oScript.text = block;
      document.getElementsByTagName("head").item(0).appendChild(oScript);
	  */
    }
	fetching = 0;
} 
