//interprete de javascript en ajax
var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
/**
* Eval script fragment
* @return String
*/
String.prototype.evalScript = function()
{
	return (this.match(new RegExp(tagScript, 'img')) || []).evalScript();
};
/**
* strip script fragment
* @return String
*/
String.prototype.stripScript = function()
{
        return this.replace(new RegExp(tagScript, 'img'), '');
};
/**
* extract script fragment
* @return String
*/
String.prototype.extractScript = function()
{
        var matchAll = new RegExp(tagScript, 'img');
        return (this.match(matchAll) || []);
};
/**
* Eval scripts
* @return String
*/
Array.prototype.evalScript = function(extracted)
{
                var s=this.map(function(sr){
                var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1];
                if(window.execScript){
                window.execScript(sc);
                }
                else
                {
                 window.setTimeout(sc,0);
                }
                });
                return true;
};
/**
* Map array elements
* @param {Function} fun
* @return Function
*/
Array.prototype.map = function(fun)
{
        if(typeof fun!=="function"){return false;}
        var i = 0, l = this.length;
        for(i=0;i<l;i++)
        {
                fun(this[i]);
        }
        return true;
};

// JavaScript Document

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

function procesarajax(CapaRetorno,Archivo,URL)
{
	var objetoAjax=CapaRetorno.id;
	objetoAjax= crearajax();
	
	objetoAjax.open("POST",Archivo,true);
	objetoAjax.onreadystatechange=function() 
	{
		if (objetoAjax.readyState==3) 
		{
			CapaRetorno.innerHTML="<br><center><img src='"+PATH+"img/ajax.gif' style='border:none;display: block;' align='absmiddle' /></center>";
		}
		if (objetoAjax.readyState==4)
		{
			if(objetoAjax.status==200)
			{
			  var scs=objetoAjax.responseText.extractScript();    //capturamos los scripts
				CapaRetorno.innerHTML = objetoAjax.responseText;
        scs.evalScript();       //ahora si, comenzamos a interpretar todo  
			}
			else if(objetoAjax.status==404)
			{
				CapaRetorno.innerHTML = "woww...la pagina esta en mantenimiento, disculpanos..!"; // pagina no existe
			}
			else
			{
				//mostramos el posible error
				CapaRetorno.innerHTML = "Error en la transmicion de datos, intentelo de nuevo :".ajax.status;
			}
		}
	}
	objetoAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objetoAjax.send(URL);
} 

function replaceHtml(el, html) 
{
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
}

function getElement(aID)
{
  return (document.getElementById) ? document.getElementById(aID): document.all[aID];
} 


//////////////////////////////////////////////////////////////////////////////////////////////////
// FUNCIONES PARA EL MANEJO DE LA CAPA MOBIL
if(document.layers) {NAV=1;}
else if(document.all) {NAV=2;}
else {NAV=0;}
var OX,OY,OZ;
var capamobil;
var PXX=0,PYY=1,PZZ=2;
//document.body.attachEvent=('onload', A(capa)); 
//addEvent(document.body,'load',A,false);
function A(capamobiltemp)
{
	
	capamobil=capamobiltemp;
	var alto=(screen.height/2);
	var ancho=(screen.width/2);

	OX=parseInt(ancho)-parseInt(capamobil.offsetWidth/2);
	OY=parseInt(alto)-parseInt(capamobil.offsetHeight/2)-alto/2;
	if(OY < 50)
		OY = 50;
	OZ=1;
	
	/*capamobil.style.top=OX;
	capamobil.style.left=OY;
	capamobil.style.zIndex=OZ;*/
}
function B()
{
	
	//capaoscuro=getElement('oscuro');
	//var tamanooscuro=capaoscuro.offsetHeight-810;
	//alert(PS(PYY));
	//if(tamanooscuro >= PS(PYY))
	if(capamobil)
	capamobil.style.top=parseInt(PS(PYY)+OY)+ "px";
	//alert(NAV+' - '+PYY+' - '+PS(PYY)+' - '+OY)
	//capamobil.style.zIndex=parseInt(PS(PZZ)+OZ);
	//capamobil.style.left=PS(PXX)+OX;
	return false;
}
function PS(p)
{

var v=0;
switch(p)
 {
 case PXX: {switch(NAV) {
 case 0: {v=window.pageXOffset;} break;
 case 1: {v=document.documentElement.scrollLeft;} break;
 case 2: {v=document.body.scrollLeft;} break;
 default: return 0;
 } } break;
 case PYY: {
	
	 switch(NAV) {
 case 0: {v=window.pageYOffset;} break;
 case 1: {v=document.documentElement.scrollTop;} break;
 case 2: {v=document.body.scrollTop;} break;
 default: return 0;
 } } break;
 case PZZ: {return 1;} break;
 default: return 0;
 }
 
return v;
}


/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

function mostrarcapa(capa)
{
	getElement(capa).style.visibility = "visible";
}

function ocultarcapa(capa)
{
	getElement(capa).style.visibility = "hidden";
}

function mostrarcapadisplay(capa)
{
	getElement(capa).style.display = "";
}

function ocultarcapadisplay(capa)
{
	getElement(capa).style.display = "none";
}

function habilita(obj)
{
	obj.disabled = false;	
}

function deshabilita(obj)
{
	obj.disabled = true;	
}

/**
FUNCIONES DE DREAMWEAVER PARA EL ROLLOVER DE IMAGENES
*/
function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
  {
    if ((x=MM_findObj(a[i]))!=null)
    {
		document.MM_sr[j++]=x; 
		if(!x.oSrc) 
			x.oSrc=x.src; 
		x.src=a[i+2];
		
	}
  }
}
/////////////////////////////////////////////////////////////////
// Agregar estas

function operaroscuro()
{
	capaoscuro=getElement('oscuro');
	capaoscuro.style.display="";
	var mastama=parseInt(getElement('outerframe').offsetHeight);
	capaoscuro.style.height=mastama+ "px";;
	capaoscuro.style.width=getElement('outerframe').offsetWidth+ "px";;
}

function ocultaroscuro()
{
	capaoscuro=getElement('oscuro');
	capaoscuro.style.display="none";
}

function getElementPosition(obj){
var position = new Object();
position.left = calcLeftPosition(obj);
position.top = calcTopPosition(obj);
return position;
}

function calcLeftPosition (obj){
var curleft = 0;
if (obj.offsetParent) {
while (1) {
curleft+=obj.offsetLeft;
if (!obj.offsetParent) {
break;
}
obj=obj.offsetParent;
}
} else if (obj.x) {
curleft+=obj.x;
}
return curleft
}

function calcTopPosition(obj){
var curtop = 0;
if (obj.offsetParent) {
while (1) {
curtop+=obj.offsetTop;
if (!obj.offsetParent) {
break;
}
obj=obj.offsetParent;
}
} else if (obj.y) {
curtop+=obj.y;
}
return curtop;
}

function cerrarinicio()
{
	ocultaroscuro();
	var capa="info";
	CapaRetorno = getElement(capa);
	CapaRetorno.style.display="none";
	CapaRetorno.innerHTML="";
}

function cerrar_edicion()
{
	ocultaroscuro();
	var capa='editar';
	var CapaRetorno;
	CapaRetorno = getElement(capa);
	CapaRetorno.style.display = "none";
}

function validar_enter(e)
{
	var keynum;
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	if (keynum == 13)
	{
		return true;
	}
	else
	{
		return false;	
	}
}

function mensaje_ayuda(ayuda)
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(220/2)+ "px";
	Capa.style.left=(screen.width/2)-(385/2)+ "px";
	var Archivo=PATH+"mensajes.php";
	var URL="ayuda="+ayuda;
	Capa.style.display = "";
	procesarajax(Capa,Archivo,URL);
}

function mensaje_nocambio()
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(450/2)+ "px";
	Capa.style.left=(screen.width/2)-(385/2)+ "px";
	var Archivo=PATH+"mensajenocambio.php";
	var URL="";
	Capa.style.display = "";
	Capa.focus();
	procesarajax(Capa,Archivo,URL);
	//document.mensajenocambia['mensajenocambio'].focus();
	A(Capa);
}


function limitador_textarea(textarea, contador, limite) 
{
	if (textarea.value.length > limite) 
		textarea.value = textarea.value.substring(0, limite);
	else 
		contador.value = limite - textarea.value.length;
}


function ver_minimenu()
{
	CapaPOS=getElement('posminimenu');
	CapaMenu=getElement('minimenu');
	POS=getElementPosition(CapaPOS);
	CapaMenu.style.left=(POS.left-10)+ "px";
	CapaMenu.style.top=POS.top+ "px";
	 $("#minimenu").show("normal");
}


//Funcion que envia abre por ajax la ventana de solicitud de unirse a un equipo
function abrirSolicitud(capa,Archivo,useridinvi,userid)
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(500/2)+ "px";
	Capa.style.left=(screen.width/2)-(400/2)+ "px";
	var URL="useridinvi="+useridinvi+"&userid="+userid;
	Capa.style.display = "";
	Capa.focus();
	//window.open(Archivo+'?'+URL);
	procesarajax(Capa,Archivo,URL);
}

//Funcion que envia abre por ajax la ventana de solicitud de unirse a un equipo
function abrirPregunta(Archivo,URL)
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(300/2)+ "px";
	Capa.style.left=(screen.width/2)-(400/2)+ "px";
	//var URL="curso_id="+curso_id;
	Capa.style.display = "";
	Capa.focus();
	//window.open(Archivo+'?'+URL);
	procesarajax(Capa,Archivo,URL);
}

//funcion que oculta la capa de invitacion
function cancelaInvitacion(capa)
{
	ocultaroscuro();
	CapaRetorno = getElement('info');
	CapaRetorno.style.display="none";
}

//funcion que procesa y envia la invitacion  a unirse a un equipo
function procesarInvitacion(capa,Archivo,URL,useridequipo)
{
	CapaRetorno = getElement('info');
	procesarajax(CapaRetorno,Archivo,URL);
	if(document.getElementById(useridequipo))
		document.getElementById(useridequipo).style.display="none";
	setTimeout('CapaRetorno.style.display="none";',4000);
	setTimeout('ocultaroscuro();',4000);
}

//Funcion que me abre la capa para enviar mensajes a los usuarios
function abrirMensajeEquipo(capa,user_id,Archivo)
{
	URL='user_id='+user_id;
	CapaRetorno = getElement(capa);
	procesarajax(CapaRetorno,Archivo,URL);
	CapaRetorno.style.display='';
}
//funcion que selecciona todos los checks de la capa de enviar mensajes
function seleccionaTodos(objform)
{
	cadenaid=objform.cadenaid.value;
	if(cadenaid!="")
	{
		cadenaid=cadenaid.split(",");
		if(objform.todos.checked==true)
			Valor=true;
		else
			Valor=false;
		for(i=0;i<cadenaid.length;i++)
		{
			objform.elements["chk"+cadenaid[i]].checked=Valor;
		}
	}
}
//funcion que abre el cuadro de texto para escribir un nuevo mensaje en el muro
function abreTextoMensaje(objform,Archivo,Capa,Capa2)
{
	var users_id="";
	objform=document.forms[objform];
	CapaActual = getElement(Capa2);
	cadenaid=objform.cadenaid.value;
	if(cadenaid!="")
	{
		cadenaid=cadenaid.split(",");
		for(i=0;i<cadenaid.length;i++)
		{
			if(objform.elements["chk"+cadenaid[i]].checked==true)
			{
				if(users_id=="")
				{
					users_id=cadenaid[i];
				}
				else
				{
					users_id+=","+cadenaid[i];
				}
			}
		}
		if(users_id!="")
		{
			URL="users_id="+users_id;
			CapaRetorno = getElement(Capa);
			procesarajax(CapaRetorno,Archivo,URL);
			CapaRetorno.style.display='';
		}
	}
	CapaActual.style.display='none';
	if(cadenaid!="")
		setTimeout("document.forms[\"FrmMsjEqu\"].mensaje.focus();",1200);
}

//Funcion que envia los datos del menje por ahax para su procesamiento
function enviarMensajes(objform,users_id,Archivo,Capa)
{
	objform=document.forms[objform];
	URL="mensaje="+objform.mensaje.value+"&users_id="+users_id;
	CapaRetorno = getElement(Capa);
	procesarajax(CapaRetorno,Archivo,URL);
	CapaRetorno.style.display='none';
}
//funcion que abre el cuadro de texto para escribir un nuevo mensaje en el muro
function abreTextoMensaje1(users_id,Archivo,Capa)
{
	URL="users_id="+users_id;
	CapaRetorno = getElement(Capa);
	procesarajax(CapaRetorno,Archivo,URL);
	CapaRetorno.style.display='';
}
function eliminarMensajeTablero(user_id,tablero_id,Archivo,Capa,Autor)
{
	URL="Autor="+Autor+"&user_id="+user_id+"&tablero_id="+tablero_id;
	CapaRetorno = getElement(Capa);
	procesarajax(CapaRetorno,Archivo,URL);
}
function listaTablero(Capa,Archivo,user_id,Autor)
{
	URL="user_id="+user_id+"&Autor="+Autor;
	CapaRetorno = getElement(Capa);
	setTimeout("procesarajax(CapaRetorno,\""+Archivo+"\",\""+URL+"\");",500);
}
function verTodoEquipo(Capa,Archivo,userid)
{
	URL="userid="+userid;
	CapaRetorno = getElement(Capa);
	procesarajax(CapaRetorno,Archivo,URL);
}
function eliminarUsuarioEquipo(Archivo,userid,userid_elimina)
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(500/2)+ "px";
	Capa.style.left=(screen.width/2)-(400/2)+ "px";
	var URL="userid="+userid+"&userid_elimina="+userid_elimina;
	Capa.style.display = "";
	Capa.focus();
	//window.open(Archivo+'?'+URL);
	procesarajax(Capa,Archivo,URL);
}

//funcion que procesa y envia la solicitud de eliminacion de un equipo
function procesarEliminacion(capa,Archivo,URL,userideliminado)
{
	CapaRetorno = getElement('info');
	procesarajax(CapaRetorno,Archivo,URL);
	document.getElementById(userideliminado).style.display="none";
	setTimeout('CapaRetorno.style.display="none";',4000);
	setTimeout('ocultaroscuro();',4000);
}

function verMiEquipo(CapaRetorno,Archivo,userid)
{
	CapaRetorno = getElement(CapaRetorno);
	URL='user_id='+userid;
	procesarajax(CapaRetorno,Archivo,URL);
}

//Funcion que envia abre por ajax la ventana de solicitud de unirse a un equipo
function verEquipoJugador(Archivo,user_id)
{
	operaroscuro();
	Capa=getElement('info');
	Capa.style.position="absolute";
	Capa.innerHTML="";
	Capa.style.top=(screen.height/2)-(700/2)+ "px";
	Capa.style.left=(screen.width/2)-(400/2)+ "px";
	var URL="userid="+user_id;
	Capa.style.display = "";
	Capa.focus();
	//window.open(Archivo+'?'+URL);
	procesarajax(Capa,Archivo,URL);
}

function verAmigosComun(CapaRetorno,Archivo,user_id,user_id_busc)
{
	CapaRetorno = getElement(CapaRetorno);
	URL='user_id='+user_id+'&user_id_busc='+user_id_busc;
	procesarajax(CapaRetorno,Archivo,URL);
}

function aceptarSolicitud(user_id,user_id_secundario,registro_id,Capa,Archivo,ValorAceptacion,Evento,Capanotificacion,Capabotones)
{
	URL="user_id="+user_id+"&user_id_secundario="+user_id_secundario+"&registro_id="+registro_id+"&codinoti="+Capanotificacion+"&ValorAceptacion="+ValorAceptacion;
	CapaRetorno = getElement(Capa);
	procesarajax(CapaRetorno,Archivo,URL);
	document.getElementById(Capanotificacion).style.display='none';
	document.getElementById(Capabotones).style.display='none';
}



