if (location.host.indexOf("inforchat.com")!=-1){
	var uri = location.href;
	uri = unescape(uri);
	window.location.replace("http://inforchat.ya.com" + uri.toString().split(location.host)[1]);
}

// Inforchat Check Url
function checkUrl(url) {
	var checkUrl = false;
	if ((url.indexOf("inforchat3.ya.com")<0)&&(url.indexOf("inforchat.ya.com")<0)&&(url.indexOf("inforchat.jif.es")<0)) {
		checkUrl = false;
	} else {
		checkUrl = true;
	}
	return checkUrl;
}

function bInvalid(url){
	var dIndex = url.indexOf("d=");
	var d, dDate, year, month, day, hour, minute, dNow, yearNow, monthNow, dayNow, hourNow, minuteNow;
	var bInvalid = false;
	if (dIndex != -1) {
		d = url.substring(dIndex + 2, url.length);	
		dDate = new Date(parseInt(d));
		year = dDate.getYear();
		month = dDate.getMonth();
		day = dDate.getDate();
		hour = dDate.getHours();
		minute = dDate.getMinutes();
		dNow = new Date();
		yearNow = dNow.getYear();
		monthNow = dNow.getMonth();
		dayNow = dNow.getDate();
		hourNow = dNow.getHours();
		minuteNow = dNow.getMinutes();
		if ((year == yearNow) && (month == monthNow) && (day == dayNow) && (hour == hourNow) && (minute == minuteNow)){
			bInvalid = true;	
		} 
	}
	return bInvalid;
}

// Inforchat Entrance Functions

function checkGuest(f) {
	if (getParameter("c")!=null) f.canal.value = "#" + getParameter("c");
	else channel="#Amistad";
	if (f.NI.value == "") {
		alert("Tienes que introducir tu NICK");
		f.NI.focus();
		return false;
	} else if (!checkString(f.NI.value)) {
		alert("El nick debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		return false;
	} else {
		f.submit();
	}
}

function checkUser(f) {
	if (getParameter("c")!=null) f.canal.value = "#" + getParameter("c");
	else channel="#Amistad";
	if (f.NI.value == "") {
		alert("Tienes que introducir tu NICK");
		f.NI.focus();
		return false;
	} else if (f.PW.value == "") {
		alert("Tienes que introducir tu PASSWORD");
		f.PW.focus();
		return false;		
	} else if (!checkString(f.NI.value)) {
		alert("El nick debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		return false;
	} else if (!checkString(f.PW.value)) {
		alert("El password debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		return false;
	} else {
		f.submit();
	}
}

function launchRegister(f) {
	if (ignoreSpaces(f.N.value).length<3) {
		alert ("Introduce el nick, minimo 3 caracteres");
		f.N.focus();
		return false;
	} else if (!checkString(f.N.value)) {
		alert ("El nick debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		f.N.focus();
		return false;
	}
	f.submit();
}

// Forget Password

function testforget(f) {
	if (ignoreSpaces(f.N.value).length<1) {
		alert ("Introduce el nick");
		f.N.focus();
		return false;
	}
	return true;
}
function forgetTest(f) {
	if (testforget(f)) {
		f.submit();
	}
}

// Change Password

function testChange(f) {

	if (ignoreSpaces(f.N.value).length<1) {
		alert ("Introduce el nick");
		f.N.focus();
		return false;
	}
	if (ignoreSpaces(f.UP.value).length<1) {
		alert ("Introduce la antigua contraseña");
		f.UP.focus();
		return false;
	}
	if (ignoreSpaces(f.NUP.value).length<1) {
		alert ("Introduce la nueva contraseña");
		f.NUP.focus();
		return false;
	}
	if (f.NUP.length>15) {
		alert ("La nueva contraseña es demasiado larga");
		f.NUP.focus();
		return false;
	}
	if (f.NUP.length<4) {
		alert ("La nueva contraseña es demasiado corta");
		f.NUP.focus();
		return false;
	}
	if (!checkString(f.NUP.value)) {
		alert("La contraseña distingue entre mayúsculas y minúsculas. Debe tener entre 4 y 15 caracteres (a-z y 0-9), exceptuando el punto (.) la Ñ, y caracteres especiales");
		f.NUP.focus();
		return false;
	}
	if (ignoreSpaces(f.NUP2.value).length<1) {
		alert ("Reescribe la contraseña");
		f.NUP2.focus();
		return false;
	}
	if (f.NUP.value!=f.NUP2.value) {
		alert ("Las dos contraseñas deben ser idénticas");
		f.NUP2.focus();
		return false;
	}
	return true;
}

function changeTest(f) {
	if (testChange(f)) {
		f.submit();
	}
}

// Create Channel Functions

function testCreate(f) {
	if (ignoreSpaces(f.newchannel.value).length<3 ) {
		alert ("Introduce el nombre del canal, minimo 3 caracteres");
		f.newchannel.focus();
		return false;
	} else if (!checkString(f.newchannel.value)) {
		alert ("El nombre del canal debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		f.newchannel.focus();
		return false;
	}
	if (ignoreSpaces(f.NI.value).length<3) {
		alert ("Introduce el nick de entrada, minimo 3 caracteres");
		f.NI.focus();
		return false;
	} else if (!checkString(f.NI.value)) {
		alert ("El nick de entrada debe tener un máximo de 16 caracteres. Puede contener letras, números o guiones, pero no espacios ni caracteres especiales");
		f.NI.focus();
		return false;
	}
	f.CH.value= '#' + f.newchannel.value;
	return true;
}

function createChannel(f) {
	if (testCreate(f)) {
		if (f.type[1].checked && f.passchannel.value == "") {
			alert("Introduce el password del canal");
			f.passchannel.focus();
		} else {
			f.method="post";
			f.submit();		
		}
	}
}

// Registration Functions

function nickRegister(f) {
	if (test(f)) {
		f.submit();
	}
}

function checkNickFree(f) {
	if (testMini(f)) {
		f.submit();
	}
}

function testMini(f) {
	// Nick Test
	if (ignoreSpaces(f.N.value).length<1) {
		alert ("Introduce el nick a registrar");
		f.N.focus();
		return false;
	}
	if (f.N.value.length>15) {
		alert ("El nick es demasiado largo");
		f.N.focus();
		return false;
	}
	if (ignoreSpaces(f.N.value).length<4) {
		alert ("El nick es demasiado corto");
		f.N.focus();
		return false;
	}
	if (!checkString(f.N.value)) {
		alert("El nick debe tener entre 4 y 15 caracteres (a-z y 0-9), exceptuando el punto (.) la Ñ, y caracteres especiales");
		f.N.focus();
		return false;
	}
	return true;
}

function test(f) {
	// Nick Test
	if (ignoreSpaces(f.N.value).length<1) {
		alert ("Introduce el nick a registrar");
		f.N.focus();
		return false;
	}
	if (f.N.value.length>15) {
		alert ("El nick es demasiado largo");
		f.N.focus();
		return false;
	}
	if (ignoreSpaces(f.N.value).length<4) {
		alert ("El nick es demasiado corto");
		f.N.focus();
		return false;
	}
	if (!checkString(f.N.value)) {
		alert("El nick debe tener entre 4 y 15 caracteres (a-z y 0-9), exceptuando el punto (.) la Ñ, y caracteres especiales");
		f.N.focus();
		return false;
	}
	// Password Test
	if (ignoreSpaces(f.UP.value).length<1) {
		alert ("Introduce la contraseña");
		f.UP.focus();
		return false;
	}
	if (f.UP.value.length>15) {
		alert ("La contraseña es demasiado larga");
		f.UP.focus();
		return false;
	}
	if (ignoreSpaces(f.UP.value).length<4) {
		alert ("La contraseña es demasiado corta");
		f.UP.focus();
		return false;
	}
	if (!checkString(f.UP.value)) {
		alert("La contraseña distingue entre mayúsculas y minúsculas. Debe tener entre 4 y 15 caracteres (a-z y 0-9), exceptuando el punto (.) la Ñ, y caracteres especiales");
		f.UP.focus();
		return false;
	}
	if (ignoreSpaces(f.UP2.value).length<1) {
		alert ("Reescribe la contraseña");
		f.UP2.focus();
		return false;
	}
	if (f.UP.value!=f.UP2.value) {
		alert ("Las dos contraseñas deben ser idénticas");
		f.UP2.focus();
		return false;
	}
	// Born Date Test
	if (!validateDate(f.BD.options[f.BD.selectedIndex].value,f.BM.options[f.BM.selectedIndex].value,f.BY.value) ) {
		alert ("La fecha de nacimiento introducida no es válida");
		f.BD.focus();
		return false;
	}
	// Province Test
	if (f.PR.options[f.PR.selectedIndex].value=="-1") {
		alert ("Selecciona una provincia");
		f.PR.focus();
		return false;
	}
	// Sex Test
	if (f.SX.options[f.SX.selectedIndex].value=="0") {
		alert ("Selecciona un sexo");
		f.SX.focus();
		return false;
	}
	// E-mail Test
 	if (f.EM.value.length==0) {
		alert ("La dirección de e-mail que has introducido no es válida.\n Recuerda que las direcciones de e-mail deben contener una @ para separar el nombre del dominio o proveedor de correo que ya tengas, al estilo nombre@correo.com");
		f.EM.focus();
		return false;
	}
	if (f.EM.value.length>255) {
		alert ("Tu dirección de email de contacto es demasiado larga");
		f.EM.focus();
		return false;
	}
	if (f.EM.value.length<5 || !validateMail(f.EM.value) ) {
		alert ("La dirección de e-mail que has introducido no es válida.\n Recuerda que las direcciones de e-mail deben contener una @ para separar el nombre del dominio o proveedor de correo que ya tengas, al estilo nombre@correo.com");
		f.EM.focus();
		return false;
	}
	// Conditios Check Test
	if(!f.CO.checked) {
		alert("Por favor marca la casilla indicando que estás de acuerdo con las condiciones del servicio.\n");
		return false;
	}
	return true;
}

// Renewal Test

function testRenewal(f) {
	if (ignoreSpaces(f.N.value.length) < 1) {
		alert('Introduce el nick');
		return false;
	}
	if (ignoreSpaces(f.UP.value).length<1) {
		alert ("Introduce la contraseña");
		f.UP.focus();
		return false;
	}
	if (f.UP.value!=f.UP2.value) {
		alert ("Las dos contraseñas deben ser idénticas");
		f.UP2.focus();
		return false;
	}
	return true;
}

function renewalTest(f) {
	if (testRenewal(f)) {
		f.submit();
	}
}

// Generic
function validateDate(dd, mm, yyyy) {
    if (!yyyy) return false;
    if (yyyy<1850) return false;
    if (!mm) return false;
    if (!dd) return false;
    var test = new Date(yyyy, mm-1, dd);
    if ( (test.getFullYear() != yyyy) || (mm-1 != test.getMonth()) || (dd != test.getDate()) ) return false;
    return true;
}

function validateMail(email) {
    var caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.";
    var i;
    var valido = true;
    var pos_arroba = email.indexOf("@");
    var pos_ultimo_punto = email.lastIndexOf(".");
    var email_minus = email.toLowerCase();
    var trozo;
    
    if (pos_arroba == -1) return false;
    if (email_minus.indexOf("login@yaonline.es") != -1) return false;
    if (pos_ultimo_punto == -1) return false;
    trozo = email.substring(0, pos_arroba);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) return false;
    valido = true;
    trozo = email.substring(1+pos_arroba, pos_ultimo_punto);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) return false;
    valido = true;
    trozo = email.substring(1+pos_ultimo_punto, email.length);    
    if ((trozo.length >= 2)&&(trozo.length <= 3)) {
        for(i=0;i<trozo.length;i++) {
            if (caracteres.indexOf(trozo.charAt(i)) == -1) {
                valido = false;
                break;
            }
        }    
        if (!valido) return false;
    } else {
        return false;
    }
    return true;
}

function checkString(cadena) {
	var caracteres = "abcdefghijklmnopqrstuvwxyz0123456789_-ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var i;
	var valido = true;
	if (cadena.length < 16) {
		for(i=0;i<cadena.length;i++) {
			if (caracteres.indexOf(cadena.charAt(i)) == -1) {
				valido = false;
				break;
			}
		}
	} else {
		valido = false;
	}
	return valido;
}

function getParameter (parameterName) {
	var queryString = window.location.search; 
	var parameterName = parameterName + "=";
	if ( queryString.length > 0 ) {
		begin = queryString.indexOf ( parameterName );
		if ( begin != -1 ) {
			begin += parameterName.length;
			end = queryString.indexOf ( "&" , begin );
			if ( end == -1 ) {
				end = queryString.length
			}
			return unescape ( queryString.substring ( begin, end ) );
		}
		return "null";
	}
}

function ignoreSpaces(string) {
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	temp += splitstring[i];
	return temp;
}

// Search Functions

function doOnKeyPress(e, nr){
  if (e.keyCode == 13) {
    doOnSubmit(nr);
  }
  return true;
}

function inputKeyPress(e,f){	if (e.keyCode == 13) doOnSubmit(f);	return true;}

function doOnSubmit(f) {
    var i = 0;
  var context = "all";

  if (document.getElementById("web").checked ) {
    context = "webs";
  }else if (document.getElementById("fotos").checked ) {
	context = "fast-img";
  }else{ 
    context = "news";
  }
  
   var query = f.q.value;

  if (context == "fast-video"){
    submitYaTV("video",f);
  }else if (context == "fast-img") {
    self.location.href = "http://busca.ya.com/search?origen=social&buscar="+query+"&destino=imagen";  
  }else {
		if (context=="news") {
			self.location.href = "http://busca.ya.com/search?origen=social&buscar="+query+"&destino=news";	
		}else{
			self.location.href = "http://busca.ya.com/search?origen=social&buscar="+query+"&destino=web"; 
		}
  }
}

function submitYaTV(target, nr) {
  var href1 = "http://www2.yatv.com/jsp/JYatvSearchResults.jsp?s=15177&mode=text&results=5&format=";
  var href2 = "&query=";
  var query = "";
  var query = document.forms[nr].q.value;
  if (query == "") top.location.href = "http://www.yatv.com";
  else top.location.href =  href1.concat(target).concat(href2).concat(query);
}

// Publicity Rotation 

// Chat window

function move1(whichlayer){
	tlayer=eval(whichlayer)
	if (tlayer.top>0&&tlayer.top<=5){
		tlayer.top=0
		setTimeout("move1(tlayer)",pause[j])
		setTimeout("move2(document.main.document.second)",pause[j])
		return
	}
	if (tlayer.top>=tlayer.document.height*-1){
		tlayer.top-=5
		setTimeout("move1(tlayer)",100)
	}
	else {
		tlayer.top=scrollerheight
		tlayer.document.write(slideimages[i])
		tlayer.document.close()
		if (i==slideimages.length-1)
			i=0
		else
			i++
		if (j==pause.length-1)
			j=0
		else
			j++
	}
}
 
function move2(whichlayer){
	tlayer2=eval(whichlayer)
	if (tlayer2.top>0&&tlayer2.top<=5){
		tlayer2.top=0
		setTimeout("move2(tlayer2)",pause[j])
		setTimeout("move1(document.main.document.first)",pause[j])
		return
	}
	if (tlayer2.top>=tlayer2.document.height*-1){
		tlayer2.top-=5
		setTimeout("move2(tlayer2)",100)
	}
	else{
		tlayer2.top=scrollerheight
		tlayer2.document.write(slideimages[i])
		tlayer2.document.close()
		if (i==slideimages.length-1)
			i=0
		else
			i++
		if (j==pause.length-1)
			j=0
		else
			j++
	}
}
 
function move3(whichdiv){
	tdiv=eval(whichdiv)
	if (tdiv.style.pixelTop>0&&tdiv.style.pixelTop<=5){
		tdiv.style.pixelTop=0
		setTimeout("move3(tdiv)",pause[j])
		setTimeout("move4(second2)",pause[j])
		return
	}
	if (tdiv.style.pixelTop>=tdiv.offsetHeight*-1){
		tdiv.style.pixelTop-=5
		setTimeout("move3(tdiv)",100)
	}
	else{
		tdiv.style.pixelTop=scrollerheight
		tdiv.innerHTML=slideimages[i]
		if (i==slideimages.length-1)
			i=0
		else
			i++
		if (j==pause.length-1)
			j=0
		else
			j++
	}
}
 
function move4(whichdiv){
	tdiv2=eval(whichdiv)
	if (tdiv2.style.pixelTop>0&&tdiv2.style.pixelTop<=5){
		tdiv2.style.pixelTop=0
		setTimeout("move4(tdiv2)",pause[j])
		setTimeout("move3(first2)",pause[j])
		return
	}
	if (tdiv2.style.pixelTop>=tdiv2.offsetHeight*-1){
		tdiv2.style.pixelTop-=5
		setTimeout("move4(second2)",100)
	}
	else{
		tdiv2.style.pixelTop=scrollerheight
		tdiv2.innerHTML=slideimages[i]
		if (i==slideimages.length-1)
			i=0
		else
			i++
		if (j==pause.length-1)
			j=0
		else
			j++
	}
}
 
function startscroll(){
	if (document.all){
		move3(first2)
		second2.style.top=scrollerheight
	}
	else if (document.layers){
		document.main.visibility='show'
		move1(document.main.document.first)
		document.main.document.second.top=scrollerheight+5
		document.main.document.second.visibility='show'
	}
}	

	