//Modulo Ajax para AttaNetworks


//metodo para crear el objeto XMLHTTPResquest segun el navegador
function object_ajax() {
	if (window.XMLHttpRequest){ //Mozilla, Firefox, Opera 8.01, Safari
		ajax = new XMLHttpRequest();
	}
	else{
		if(window.ActiveXObject){ //IE
			try {
				ajax= new ActiveXObject ("Microsoft.XMLHTTP");
			}
			catch (e){
				try {
					ajax = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (E){
					ajax= null;
				}
			}
		}
		else{ //Older Browsers
			alert("Your Browser does not support Ajax!");
			ajax= null;
		}
	}
	return ajax;
}

//realiza una peticion al servidor por POST
function ajax_post(direccion_url,values,funcion_respuesta){
	ajax=object_ajax(); //crear objeto
	valuessend=values; //variables
	URL=direccion_url; //URL
	ajax.open("POST",URL,true); //abrir procesador
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); //cabeceras POST
	ajax.onreadystatechange=funcion_respuesta;
	ajax.send('&'+valuessend); //enviar variables
}

//realiza una peticion al servidor por GET
function ajax_get(direccion_url,values,funcion_respuesta){
	ajax=object_ajax(); //crear objeto
	valuessend=values; //variables
	URL=direccion_url; //URL
	ajax.open("GET",URL+"?"+valuessend,true); //abrir procesador
	ajax.onreadystatechange=funcion_respuesta;
	ajax.send(null); //envío nulo de variables
}



//te devuelve los valores de los campos de un formulario para
//enviarlos tanto por get como por post
//permite mediante javascript recoger los datos de un formulario
function form_values(id_form) {
	var obj=document.getElementById(id_form).elements;
	var aresult=new Array;
	$x=0;
	for (i=0; i<obj.length; i++) {
		if (obj[i].tagName == "INPUT") {
			if ((obj[i].type == "checkbox") || (obj[i].type == "radio")) {
				if (obj[i].checked) {
					aresult[$x++]= obj[i].name + "=" + obj[i].value;
				}
			}
			else{
				if (obj[i].type != "button") {
					aresult[$x++]= obj[i].name + "=" + obj[i].value;
				}
			}
		}
		else{
			if (obj[i].tagName == "SELECT") {
				var sel = obj[i];
				if (sel.selectedIndex!=-1){
					aresult[$x++]= sel.name + "=" + sel.options[sel.selectedIndex].value;
				}
				else{
					aresult[$x++]= sel.name + "=";
				}
			}
			else{
				if (obj[i].tagName == "TEXTAREA") {
					aresult[$x++]= obj[i].name + "=" + obj[i].value;
				}
			}
		}
	}
	return aresult.join('&');
}


//muestra un mensaje en un div
function showmessage(mensaje, itipo, comando){
	var color;
	var cabecera;
	var screenX;
	var screenY;

	if (itipo==0){
		color='background-color: rgb(51, 204, 0);';
		cabecera='Datos Salvados Correctamente';
	}
	else{
		color='background-color: rgb(204,51, 0);';
		cabecera='Error en el Salvado de Datos';
	}

	document.getElementById('div_ok').innerHTML='<table style="text-align: center;width:100%;text-align:center;" border="0" cellpadding="0" cellspacing="0">'
	+'<tbody><tr align="center"><td style="'+ color +'"><span style="font-weight: bold;">'+ cabecera +'</span></td></tr>'
	+'<tr align="center"><td>'+ mensaje +'</td></tr>'
	+'<tr align="center"><td><input value="OK" onclick="document.getElementById(\'div_ok\').style.visibility=\'hidden\';' + comando + '" type="button"  style="margin-bottom: 3px;"/></td></tr></tbody></table>';

	var div=document.getElementById('div_ok');
	var bblaleft =window.pageXOffset;
	div.style.left = '40%';
	var bblatop =window.pageYOffset;
	div.style.top = '1800px';

	//esto es scriptaculous
	Effect.SlideDown('div_ok');
	document.getElementById('div_ok').style.visibility='visible';
}


//Esta funcion devuelve si un objeto de javascript es un array o no
function isArray(obj) {
	if (obj.constructor.toString().indexOf("Array") == -1){
		return false;
	}else{
		return true;
	}
}


//Funcion que añade un option nuevo al select por DOM en vez de innerHTML
// selObj 	-> Objeto Select
// value	-> Valor del option
// text		-> Texto del option
// reiniciar -> Si es 1 elimina los options del select.

function addOption(selObj, value, text, reiniciar) {
	if (reiniciar==1) {
		selObj.length=0;
	}
	var nuevaOpcion=document.createElement("option");
	nuevaOpcion.value=value;
	nuevaOpcion.innerHTML=text;
	selObj.appendChild(nuevaOpcion);
}