/*  ### GOOGLE ANALYTICS ###  */

var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23404344-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();


/*  ### GENERALES ###  */

///		Función para buscar elementos por su clase con IE.

var getElementsByClassNameIE = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

/// Funciones para aumentar y disminuir el tamaño del texto.

var vOriginal= .80;
vIncremento = 0;
vTamano = 0;

function Aumentar() {
	vIncremento += .25;
	vTamano = vOriginal + vIncremento;
	document.getElementById("TEXTO").style.fontSize = vTamano + "em";
}
function Reducir() {
	vIncremento -= .25;
	vTamano = vOriginal + vIncremento;
	document.getElementById("TEXTO").style.fontSize = vTamano + "em";
}
function Restaurar() {
	document.getElementById("TEXTO").style.fontSize = vOriginal + "em";
	vTamano = 0;
	vIncremento = 0;
}


///	 Funciones para controlar el botón de vover.

var vNumPaginas = -1;

function retroceder() {  vNumPaginas --; }
function volver() { history.go(vNumPaginas); }

///	 Función para abrir ventanas.

function AbrirVentana(pUrl, pAlto, pAncho)
{
	/*
	alert(pAlto.length);
	var vAlto = (pAlto.length > 0 && pAlto != '0') ? pAlto : '400';
	var vAncho = (pAncho.length > 0 && pAncho != '0') ? pAncho : '400';
	*/
	var vCaracteristicas='scrollbars=3, resizable=no, width='+ pAncho +', height='+ pAlto +', top=25, left=25';
	var ventana = window.open("", "", vCaracteristicas);
	ventana.location = pUrl;
}

function Imprimir(pNoticia)
{
	var vCaracteristicas='scrollbars=3, resizable=no, width=650, height=500, top=25, left=25';
	var ventana = window.open("", "", vCaracteristicas);
	ventana.location = '../varios/imprimir.php?idnoticia='+ pNoticia;
}

function Recomendar(pNoticia, pSeccion)
{
	var vCaracteristicas='scrollbars=0, resizable=no, width=450, height=350, top=25, left=25';
	var ventana = window.open("", "", vCaracteristicas);
	ventana.location = '../varios/recomendar.php?idnoticia='+ pNoticia +'&seccion='+ pSeccion;
}

function AmpliarFoto(pFoto, pCarpeta, pGaleria, pAlto, pAncho)
{
	var vAncho = pAncho+360;
	var vAlto = (pAlto > 300) ? pAlto+140 : 450;
	var vCaracteristicas = 'scrollbars=0, width='+ vAncho +', height='+ vAlto +', top=20, left=20';
	var ventana = window.open("", "", vCaracteristicas);
	switch (pCarpeta)
	{
	case 'tienda' :	ventana.location = '../tienda_kukumbar/amp_foto.php?foto='+ pFoto;
							break;
	case 'galeria' :	ventana.location = '../varios/amp_foto_galeria.php?foto='+ pFoto +'&galeria='+ pGaleria;
							break;
	case 'noticias' :	ventana.location = '../portada/amp_foto.php?foto='+ pFoto +'&an='+ pAncho +'&al='+ pAlto;
							break;	
	}
}

function AmpliarTrailer(pTrailer)
{
	var vCaracteristicas='scrollbars=0, width=775, height=390, top=20, left=20';
	var ventana = window.open("", "", vCaracteristicas);
	ventana.location = '../portada/amp_trailer.php?t=' + pTrailer;	
}

/*  ### FORMULARIOS ###  */

/// Función que sólo permite introducir números en un formulario.

function SoloNum()
{
	if ( event.keyCode >= 58 || event.keyCode <= 47)
		event.keyCode=0;
}

///	 Funciones para controlar el número de caracteres de un textarea.

function ContarTexto(pCampo, pBarraContador, pLimiteCar)
{
	//	Ancho del texto
	var vAnchoCampo =  parseInt(pCampo.style.width);
	var vContCar = pCampo.value.length;
	//	Quitar el texto sobrante
	if (vContCar > pLimiteCar)
	{ 
		pCampo.value = pCampo.value.substring(0, pLimiteCar);
	}
	else
	{ 
		// progress bar percentage
		var vPorcentaje = parseInt(100 - ((pLimiteCar - vContCar) * 100)/pLimiteCar);
		document.getElementById(pBarraContador).style.width =  parseInt((vAnchoCampo*vPorcentaje)/100) + "px";
		// color correction on style from CCFFF -> CC0000
		PonerColor(document.getElementById(pBarraContador), vPorcentaje, "background-color");
	}
}

function PonerColor(obj, percentage, prop)
{
	obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}

///	 Funciones de insercción de texto en los formularios.

function DepuraRegistro()
{
	if (document.formu_registro.fDisponibilidad.value == 'N')
	{
		alert("Por favor, debes comprobar la disponibilidad de los campos\n'usuario' y 'dirección electrónica'\npulsando en el botón 'comprobar disponibilidad'.");
		return false;
	}

	if (document.formu_registro.fNombre.value.length <= 2)
	{
		document.formu_registro.fNombre.style.backgroundColor = "#FDF402";
		document.formu_registro.fNombre.focus();
		return false;
	}
	else
		document.formu_registro.fNombre.style.backgroundColor = "#FFFFFF";

	if (document.formu_registro.fApellidos.value.length <= 2)
	{
		document.formu_registro.fApellidos.style.backgroundColor = "#FDF402";
		document.formu_registro.fApellidos.focus();
		return false;
	}
	else
		document.formu_registro.fApellidos.style.backgroundColor = "#FFFFFF";

	if (document.formu_registro.fCodigo.value.length == 0)
	{
		document.formu_registro.fCodigo.style.backgroundColor = "#FDF402";
		document.formu_registro.fCodigo.focus();
		return false;
	}
	else
	{
		if (document.formu_registro.fCodigo.value.toLowerCase() != document.formu_registro.fCodigoIni.value.toLowerCase())
		{
			document.formu_registro.fCodigo.style.backgroundColor = "#FDF402";
			document.formu_registro.fCodigo.focus();
			document.formu_registro.fCodigo.value = '';
			return false;
		}
		else		
			document.formu_registro.fApellidos.style.backgroundColor = "#FFFFFF";
	}

	return true;
}

function DepuraEmail(pCorreo)
{
	var vLongArroba = pCorreo.indexOf('@');
	var vLongPunto = pCorreo.indexOf('.');

	if (pCorreo.indexOf('@') == -1)
		return false;
	if (pCorreo.indexOf('@') == -1 || pCorreo.indexOf('@') == 0 || pCorreo.indexOf('@') == pCorreo.length)
		return false;
	if (pCorreo.indexOf(".") == -1 || pCorreo.indexOf(".") == 0 || pCorreo.indexOf(".") == pCorreo.length)
		return false;
	if (pCorreo.indexOf('@', (vLongArroba+1)) != -1)
		return false;
	if (pCorreo.substring(vLongArroba-1, vLongArroba) == "." || pCorreo.substring(vLongArroba+1, vLongArroba+2) == ".")
		return false;	
	if (pCorreo.indexOf(".", (vLongArroba+2)) == -1)
		return false;
	if (pCorreo.indexOf(" ") != -1)
		return false;

	return true;
}

function Disponibilidad(pIdentificador, pEmail)
{
	var vOk = 'S';
	if (document.formu_registro.fIdentificador.value.length == 0)
	{
		document.formu_registro.fIdentificador.style.backgroundColor = "#FDF402";
		document.formu_registro.fIdentificador.focus();
		vIdOk = 'N';
	}
	else
	{
		if (document.formu_registro.fIdentificador.value.length <= 4)
		{
			document.formu_registro.fIdentificador.style.backgroundColor = "#FDF402";
			document.formu_registro.fIdentificador.focus();
			vIdOk = 'N';
		}
		else
		{		
			document.formu_registro.fIdentificador.style.backgroundColor = "#FFFFFF";
			vIdOk = 'S';
		}
	}

	if (document.formu_registro.fEmail.value.length == 0)
	{
		document.formu_registro.fEmail.style.backgroundColor = "#FDF402";
		document.formu_registro.fEmail.focus();
		vEmailOk = 'N';
	}
	else
	{
		if (!DepuraEmail(document.formu_registro.fEmail.value))
		{
			document.formu_registro.fEmail.style.backgroundColor = "#FDF402";
			document.formu_registro.fEmail.focus();
			vEmailOk = 'N';
		}
		else
		{			
			document.formu_registro.fEmail.style.backgroundColor = "#FFFFFF";
			vEmailOk = 'S';
		}
	}

	if (vIdOk == 'S' && vEmailOk == 'S')
	{
		document.formu_registro.fDisponibilidad.value = 'S';
		xajax_Disponibilidad(pIdentificador, pEmail);
	}

/*
	var vAlto = (screen.availHeight/2)-75;
	var vAncho = (screen.availWidth/2)-250;
	var vCaracteristicas='scrollbars=no, resizable=no, status=no, width=500, height=150, top=' + vAlto + ', left=' + vAncho;
	var ventana = window.open("", "", vCaracteristicas);
	ventana.location = 'disponibilidad.php?identificador=' + pIdentificador + '&email=' + pEmail;
*/

}


function DepuraAcceso()
{
	//	Depuro que tengo los datos.
	if (document.formu_acceso.fUsuario.value.length == 0)
	{
		document.formu_acceso.fUsuario.style.backgroundColor = "#FDF402";
		document.formu_acceso.fUsuario.focus();
		return false;
	}
	if (document.formu_acceso.fClave.value.length == 0)
	{
		document.formu_acceso.fClave.style.backgroundColor = "#FDF402";
		document.formu_acceso.fClave.focus();
		return false;
	}
}

function DepurarClave()
{
	if (document.formu_clave.fClave.value.length == 0)
	{
		document.formu_clave.fClave.style.backgroundColor = "#FDF402";
		document.formu_clave.fClave.focus();
		return false;
	}
	else
		document.formu_clave.fClave.style.backgroundColor = "#FFFFFF";

	if (document.formu_clave.fNuevaClave.value.length == 0)
	{
		document.formu_clave.fNuevaClave.style.backgroundColor = "#FDF402";
		document.formu_clave.fNuevaClave.focus();
		return false;
	}
	else
		document.formu_clave.fNuevaClave.style.backgroundColor = "#FFFFFF";

	if (document.formu_clave.fNuevaClave1.value.length == 0)
	{
		document.formu_clave.fNuevaClave1.style.backgroundColor = "#FDF402";
		document.formu_clave.fNuevaClave1.focus();
		return false;
	}
	else
		document.formu_clave.fNuevaClave1.style.backgroundColor = "#FFFFFF";
	
	return true;
}

function DepuraBuscador()
{
	if (document.FORMU_BUSCADOR.cad.value.length == 0)
	{
		document.FORMU_BUSCADOR.cad.style.backgroundColor = "#FDF402";
		document.FORMU_BUSCADOR.cad.focus();
		return false;
	}

	return true;
}

function DepurarRecordarClave()
{
	if (document.recordarclave.fEmail.value.length == 0)
	{
		alert("Por favor, debe rellenar el campo 'dirección electrónica'.");
		document.recordarclave.fEmail.focus();
		return false;
	}
	else if (!DepuraEmail(document.recordarclave.fEmail.value))
	{
		alert("Por favor, debe rellenar el campo 'dirección electrónica' con una dirección válida.");
		document.recordarclave.fEmail.focus();
		return false;
	}

	return true;
}


/*  ### SEGURIDAD ###  */

///	 Función para evitar copiar y pegar texto.

function Seg()
{
	document.onselectstart = function() {return false;} // ie
	document.onmousedown = function() {return false;} // mozilla
}

///	 Funciones para evitar descargar las fotos.

function OcultarFoto(pAlto, pGaleria)
{
	if (pGaleria == 'fatimarios')
	{
		var vCapa = document.getElementById('NOCOPIAR');
		var vAlto = pAlto + 20;

		if (!vCapa) return true;
		vCapa.style.display="block";
		vCapa.style.height = vAlto + 'px';

		vCapa.onmousedown = BotonDerecho;
		vCapa.oncontextmenu = new Function("return false");
	}
}

function NoCopiar()
{
	var vMensaje = "Vaya, lo sentimos, pero no te dejamos descargar la foto.\nPero puedes comprarla ... visita la página de su autora\n\nwww.kukumbar.com/fatima";
	alert (vMensaje);
}

function BotonDerecho(e) 
{
	if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
	{
		NoCopiar();
	}

	if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) 
	{
		NoCopiar();
	}
}


/*  ### MISCELANOUS ###  */


///	 Funciones que muestran u ocultan capas.

function Activar(pCapa)
{
	var vCapa = document.getElementById(pCapa);

	if (!vCapa) return true;

	if (vCapa.style.display == 'block')
		vCapa.style.display="none";
	else
		vCapa.style.display="block";
}

///	 Función para escribir una dirección de correo sin SPAM

function PonerCorreo(pNombre, pDominio, pSufijo)
{
	document.write('<a href="' + 'mailto:' + pNombre + '@' + pDominio + '.' + pSufijo + '">' + pNombre + '@' + pDominio + '.' + pSufijo + '</a>');
}

///	 Scroll de la barra de estado

var data = "AVCRKIFLST";
var done = 1;

function statusIn(text)
{
	decrypt(text, 2, 20);
}

function decrypt(text, max, delay)
{
	if (done)
	{
		done = 0;
		decrypt_helper(text, max, delay,  0, max);
   }
}

function decrypt_helper(text, runs_left, delay, charvar, max)
{
	if (!done)
	{
		runs_left = runs_left - 1;
		var status = text.substring(0, charvar);
		for (var current_char = charvar; current_char < text.length; current_char++)
		{
			status += data.charAt(Math.round(Math.random()*data.length));
		}
		
		window.status = status;
		var rerun = "decrypt_helper('" + text + "'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
		var new_char = charvar + 1;
		var next_char = "decrypt_helper('" + text + "'," + max + "," + delay + "," + new_char + "," + max + ");"
		if(runs_left > 0)
		{
			setTimeout(rerun, delay);
		}
		else
		{
			if (charvar < text.length)
			{
				setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
			}
			else
			{
				done = 1;
	         }
		}
	}
}

/// Funciones que ilumina las celdas del calendario

function Sobre(pCelda)
{ 
	var vCelda = document.getElementById(pCelda);
	if (!vCelda) return true;

	vCelda.style.fontWeight = "bold";
} 
	
function Fuera(pCelda)
{ 
	var vCelda = document.getElementById(pCelda);
	if (!vCelda) return true;

	vCelda.style.fontWeight = "normal";
}

///	 	Función para cambiar las pestañas de las noticias breves.

function VerNoticiasDerecha(pPestana, pNoticia, pSeccion)
{
	vNavegador = navigator.appName;

	// Ponemos la pestaña ACTIVA como INACTIVA.
	if (vNavegador == 'Netscape')
	{
		var aPestanas = document.getElementById('MENUBREVES').getElementsByClassName('ACTIVA');
		for (var i=0; i < aPestanas.length; i++)
			aPestanas[i].className = 'INACTIVA';
	}
	else
	{
		var aPestanas = getElementsByClassNameIE("ACTIVA", "A", document.getElementById("MENUBREVES")); 
		for (var i=0; i < aPestanas.length; i++)
			aPestanas[i].className = 'INACTIVA';
	}

	//	Activamos la pestaña y mostramos la información.
	pPestana.className = 'ACTIVA';
	xajax_NoticiasDerecha(pNoticia, pSeccion);
}

//	Función que muestra la capa para realizar el comentario.

function Comentar(event, pCapa)
{
	// La variable IE determina si estamos utilizando IE
	var IE = document.all ? true : false;
	// Si no utilizamos IE capturamos el evento del mouse
	if (!IE) document.captureEvents(Event.MOUSEMOVE);

	var tempX = 0;
	var tempY = 0;

	if (IE)
	{	//	para IE
		tempX = document.body.scrollLeft + 135;
		if (pCapa == 'NOTICIA')
			tempY = document.getElementById(pCapa).offsetHeight - 205;
		else
			tempY = document.getElementById(pCapa).offsetHeight - 200;
	}
	else 
	{	//	para netscape
		tempX = (screen.width/2)-375 + 'px';
		if (pCapa == 'NOTICIA')
			tempY = (document.getElementById(pCapa).offsetHeight - 40) +'px';
		else
			tempY = (document.getElementById(pCapa).offsetHeight - 55) +'px';
	}
	if (tempX < 0) tempX = 0;
	if (tempY < 0) tempY = 0;

	//modificamos el valor del id posicion para indicar la posicion del mouse

	document.getElementById('COMENTAR').style.top = tempY;
	document.getElementById('COMENTAR').style.left = tempX;
	document.getElementById('COMENTAR').style.display = 'block';

	document.COMENTARIO.fTexto.focus();
	return;
}
