// JavaScript Document

function descargar(fichero) {
	if (document.forms.descargas.nombre.value.length<3 ||
 	    !isValidEmail(document.forms.descargas.email.value)) {
		alert("Debe cubrir el formulario correctamente para poder realizar la descarga");		
	}else {
		document.forms.descargas.file.value=fichero;
		document.forms.descargas.submit();
	}
}

function isValidEmail(email){
    var RegExp = /^((([a-z]|[A-Z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[A-Z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/
    if(RegExp.test(email)){
        return true;
    }else{
        return false;
    }
} 

function crearXHR() {
	var xhrObject=false;
	try {
		xhrObject = new ActiveXObject("MSXML2.XMLHTTP");
	} catch (exception1) {
		try {
		      xhrObject = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(exception2) {  xhrObject = false;  }
	}
	if (!xhrObject && window.XMLHttpRequest) {
		xhrObject = new XMLHttpRequest();
	}
	return xhrObject; // Devolve false se non se puido crear
}

function cargarNoticias(cgi,limit) {
	var xhr=crearXHR();
	if (xhr) {
		var obx=document.getElementById('noticias');
		obx.innerHTML="&nbsp;<br/><center><strong>Cargando noticias...</strong></center><br/><br/>";
		xhr.open("POST",cgi,true);
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // Enviamos por POST
		xhr.onreadystatechange = function() {
			if (xhr.readyState==4 && xhr.status==200) {
				mostrarNoticias(obx,xhr.responseXML);
			}else if (xhr.readyState==4 && xhr.status!=200) obx.innerHTML="&nbsp;<br/><center><strong style='color:red'>Error cargando recurso!</strong></center><br/><br/>";
		}
		xhr.send("limit="+limit+"&t="+new Date().getTime()); // Enviamos datos POST
	}
}

function cargarCalendario(cgi) {
	var xhr=crearXHR();
	if (xhr) {
		var obx=document.getElementById('calendario');
		//obx.innerHTML="&nbsp;<br/><center><strong>Cargando calendario...</strong></center><br/><br/>";
		xhr.open("POST",cgi,true);
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // Enviamos por POST
		xhr.onreadystatechange = function() {
			if (xhr.readyState==4 && xhr.status==200) {
				obx.innerHTML=xhr.responseText;
			}else if (xhr.readyState==4 && xhr.status!=200) obx.innerHTML="&nbsp;<br/><center><strong style='color:red'>Error cargando calendario!</strong></center><br/><br/>";
		}
		xhr.send("t="+new Date().getTime()); // Enviamos datos POST
	}
}

var offsetX, offsetY;
var moveTarget=null;

function handleDown(e)
{
	moving=true;
	var e = new MouseEvent(e);
	
	moveTarget = e.target.parentNode;
	addListener("mousemove", handleMove);
	addListener("mouseup", handleUp);
	//var chat = document.getElementById("chat");
	moveTarget.style.zIndex = "1100";
	offsetX = e.x - parseInt(moveTarget.style.left);
	offsetY = e.y - parseInt(moveTarget.style.top);
}

function handleMove(e)
{	
	var e = new MouseEvent(e);
	var x = e.x - offsetX;
	e.target.style.left = x + "px";
	var y = e.y - offsetY;
	e.target.style.top = y + "px";
	
    /*
	var e = new MouseEvent(e);
	var contido = document.getElementById("contido");
	var x = parseInt(contido.style.left);
	var y = parseInt(contido.style.top);
	var width = parseInt(contido.style.width);
	var height = parseInt(contido.style.height);
	var ewidth = parseInt(e.target.style.width);
	var eheight = parseInt(e.target.style.height);
	if(e.x < x || e.x + ewidth > x + width || e.y < y || e.y + eheight > y + height){
		handleUp(e);		
	}else {
		var x = e.x - offsetX;
		e.target.style.left = x + "px";
		var y = e.y - offsetY;
		e.target.style.top = y + "px";
	}
	*/
}

function handleUp(e)
{
	//var e = new MouseEvent(e);
	removeListener("mousemove", handleMove);
	removeListener("mouseup", handleUp);	
	moveTarget=null;
	moving=false;
}

function addListener(type, callback)
{
	if (document.addEventListener) {
	document.addEventListener(type, callback, false);
	} else if (document.attachEvent) {
	document.attachEvent("on" + type, callback, false);
	}
}

function removeListener (type, callback)
{
	if (document.removeEventListener) {
	document.removeEventListener(type, callback, false);
	} else if (document.detachEvent) {
	document.detachEvent("on" + type, callback, false);
	}
}
function MouseEvent(e)
{
	if(e) this.e = e;
	else this.e = window.event;
		
	if(e.pageX) this.x = e.pageX;
	else this.x = e.clientX;
	
	if(e.pageY) this.y = e.pageY;
	else this.y = e.clientY;	
	
	if (moveTarget!=null) this.target = moveTarget;
	else if(e.target) this.target = e.target;
	else this.target = e.srcElement;	
}
