// Javascript realizado por Juan Searle, MetroWeb 1998. jsearle@metroweb.es

// FUNCIONES DE GESTION DE COOKIES PARA LA MASCOTA. 

//*************************Bill-Dortch**********************************************

// Para obtener el valor del literal de la cookie
// una vez conocido el punto de inicio

function valorCookie(posicionInicio) {
	var posicionFinal = document.cookie.indexOf(";",posicionInicio)
	if (posicionFinal == -1) posicionFinal = document.cookie.length
	return unescape(document.cookie.substring(posicionInicio,posicionFinal))
}

// Para buscar el valor del literal de la cookie
// una vez conocido el nombre de esta

function getCookie(nombre) {
	var argumento = nombre + "="
	var longitudArgumento = argumento.length
	var longitudCookie = document.cookie.length
	var i = 0
	while (i < longitudCookie) {
		var j = i + longitudArgumento
		if (document.cookie.substring(i,j) == argumento) return valorCookie(j)
		i = document.cookie.indexOf(" ",i) + 1
		if (i == 0) break
	}
	return null
}

// Para inyectar una cookie
// una vez conocido el nombre y el valor de esta

function setCookie(nombre,valor) {
	var argv = setCookie.arguments
	var argc = setCookie.arguments.length
	var expiracion = (2 < argc)? argv[2] : null
	var path = (3 < argc)? argv[3] : null
	var domain = (4 < argc)? argv[4] : null
	var secure = (5 < argc)? argv[5] : false
	document.cookie = nombre + '=' + escape(valor) + ((expiracion == null)? "" : ("; expires=" + expiracion.toGMTString())) + ((path == null)? "" : ("; path=" + path)) + ((domain == null)? "" : ("; domain=" + domain)) + ((secure == true)? "; secure" : "")
}

//*****************************************************************************

// Para obtener el valor literal de un parametro determinado 
// conocido el identificador de la cookie y el propio parametro

function obtenerParametro(identificador,parametro) {
	var literalEntrante = getCookie(identificador)
	if (literalEntrante == null) {
		return 0
	}
	var posicionInicial = literalEntrante.indexOf(parametro)
	if (posicionInicial == -1) {
		return 0
	}
	var posicionFinal = literalEntrante.indexOf("xx",posicionInicial)
	var literalSaliente = literalEntrante.substring(posicionInicial + 4,posicionFinal)
	return literalSaliente
}

// Para inyectar la cookie con los parametros, caracteres y valores
// de la mascota en el espacio determinado por el identificador 'uno', 'dos' o 'tres'

function inyectarCookie(identificador,nombreUsuario,clave,nombre,sexo,edad,peso,felicidad,alimentacion,sueno,sed,higiene,salud,disciplina,extra1,extra2,meta,inte,acti,agre,inmu,fechaUltimaVisita,cumpleTroklio)
{
	var fechaExpiracion = new Date()
	fechaExpiracion.setTime(fechaExpiracion.getTime() + (100*24*60*60*1000))
	ruta = "/metroshow/interpet/"
	var literalVariables = "USUA" + nombreUsuario
	literalVariables += "xxCLAV" + clave
	literalVariables += "xxNOMB" + nombre
	literalVariables += "xxSEXO" + sexo
	literalVariables += "xxEDAD" + edad
	literalVariables += "xxPESO" + peso
	literalVariables += "xxFELI" + felicidad
	literalVariables += "xxALIM" + alimentacion
	literalVariables += "xxSUEN" + sueno
	literalVariables += "xxSEDD" + sed
	literalVariables += "xxHIGI" + higiene
	literalVariables += "xxSALU" + salud
	literalVariables += "xxDISC" + disciplina
	literalVariables += "xxEXT1" + extra1
	literalVariables += "xxEXT2" + extra2
	literalVariables += "xxMETA" + meta
	literalVariables += "xxINTE" + inte
	literalVariables += "xxACTI" + acti
	literalVariables += "xxAGRE" + agre
	literalVariables += "xxINMU" + inmu
	literalVariables += "xxVISI" + fechaUltimaVisita
	literalVariables += "xxTROK" + cumpleTroklio + "xx"
	if (location.protocol=='http:') {
		setCookie(identificador,literalVariables,fechaExpiracion,ruta)
	} else {
		setCookie(identificador,literalVariables,fechaExpiracion)
	}
}

function crearNuevaMascota() {
	ponerStatus('Creando la mascota... por favor, espera...')
	if (document.forms[0].hueco.selectedIndex==0) identificador = "uno"
	if (document.forms[0].hueco.selectedIndex==1) identificador = "dos"
	if (document.forms[0].hueco.selectedIndex==2) identificador = "tres"
	if (document.forms[0].hueco.selectedIndex==3) {
		alert('Tiene que elegir un sitio donde ubicar la nueva mascota')
		return false
	}
	fechaHoy = new Date()
	nombreUsuario = "Vacio"
	clave = "Vacio"
	if (document.forms[0].nombreAsignado.value=='') {
		alert('Tiene que elegir un nombre para la nueva mascota')
		return false
	}
	nombre = document.forms[0].nombreAsignado.value
	if (document.forms[0].sexo.selectedIndex==0) sexo = "Macho"
	if (document.forms[0].sexo.selectedIndex==1) sexo = "Hembra"
	if (document.forms[0].sexo.selectedIndex==2) sexo = (Math.random()<0.5)? "Macho" : "Hembra"
	if (document.forms[0].sexo.selectedIndex==3) {
		texto='No ha elegido sexo para la nueva mascota. \n ¿Desea que sea aleatorio?'
		if (confirm(texto)) {
			sexo = (Math.random()<0.5)? "Macho" : "Hembra"
		} else {
			return false
		}
	}
	ponerStatus('Inicializando recursos geneticos...')
	meta = Math.random()
	if (meta<0.2) meta=0.5
	inte = Math.random()
	if (inte<0.2) inte=0.5
	acti = Math.random()
	if (acti<0.2) acti=0.5
	agre = Math.random()
	if (agre<0.2) agre=0.5
	inmu = Math.random()
	if (inmu<0.2) inmu=0.5
	edad = 0
	peso = 10 + ((1-meta)*30)-(10*acti)
	peso = estabilizar(peso)
	felicidad = 25 + (10*inte) + (10*inmu) + (10*acti)
	felicidad = estabilizar(felicidad)
	alimentacion = 25 - (5*acti) - (5*agre) - ((1-inmu)*5)
	alimentacion = estabilizar(alimentacion)
	sueno = 60 - ((1-meta)*20) - ((1-inmu)*20)
	sueno = estabilizar(sueno)
	sed = 50
	sed = estabilizar(sed)
	higiene = 20
	higiene = estabilizar(higiene)
	salud = 100*inmu
	salud = estabilizar(salud)
	disciplina = 20
	disciplina = estabilizar(disciplina)
	extra1 = fechaHoy.getTime()
	//extra1 es la fecha de creacion
	extra2 = "Vacio"
	fechaUltimaVisita = fechaHoy.getTime()
	cumpleTroklio = fechaHoy.getDay()
	inyectarCookie(identificador,nombreUsuario,clave,nombre,sexo,edad,peso,felicidad,alimentacion,sueno,sed,higiene,salud,disciplina,extra1,extra2,meta,inte,acti,agre,inmu,fechaUltimaVisita,cumpleTroklio) 
	varTemp = "visitar" + identificador + ".html"
	location.href=varTemp
	return true
}

function estabilizar(medida) {
	medida = Math.round(medida)
	if (medida>=100) medida = 100
	if (medida<=0) medida = 0
	return medida
}

function aleatorio(numero) {
	valor = Math.random()
	signo = (Math.random()>0.5)? (-1) : (1)
	valor = Math.round(signo*valor*numero)
	return valor
}

function ponerStatus(texto){
	window.status=texto
	return true
}

function entradaVer(identificador) {
	nombreUsuario = obtenerParametro(identificador,"USUA")
	clave = obtenerParametro(identificador,"CLAV")
	nombre = obtenerParametro(identificador,"NOMB")
	ponerStatus('Comprobando el estado de ' + nombre)
	sexo = obtenerParametro(identificador,"SEXO")
	edad = parseInt(obtenerParametro(identificador,"EDAD"))
	peso = parseInt(obtenerParametro(identificador,"PESO"))
	felicidad = parseInt(obtenerParametro(identificador,"FELI"))
	alimentacion = parseInt(obtenerParametro(identificador,"ALIM"))
	sueno = parseInt(obtenerParametro(identificador,"SUEN"))
	sed = parseInt(obtenerParametro(identificador,"SEDD"))
	higiene = parseInt(obtenerParametro(identificador,"HIGI"))
	salud = parseInt(obtenerParametro(identificador,"SALU"))
	disciplina = parseInt(obtenerParametro(identificador,"DISC"))
	extra1 = (obtenerParametro(identificador,"EXT1"))
	extra2 = parseInt(obtenerParametro(identificador,"EXT2"))
	meta = parseFloat(obtenerParametro(identificador,"META"))
	inte = parseFloat(obtenerParametro(identificador,"INTE"))
	acti = parseFloat(obtenerParametro(identificador,"ACTI"))
	agre = parseFloat(obtenerParametro(identificador,"AGRE"))
	inmu = parseFloat(obtenerParametro(identificador,"INMU"))
	fechaUltimaVisita = (obtenerParametro(identificador,"VISI"))
	cumpleTroklio = parseInt(obtenerParametro(identificador,"TROK"))
	fechaHoy = new Date()
	tempVar = fechaHoy.getTime()
	diferencia = Math.abs(tempVar - fechaUltimaVisita)
	diasDiferencia = Math.round((diferencia)/86400000)*4
	felicidad += -(3*diasDiferencia)
	felicidad = estabilizar(felicidad)
	peso += -(5*diasDiferencia)
	peso = estabilizar(peso)
	alimentacion += -(8*diasDiferencia)
	alimentacion = estabilizar(alimentacion)
	sueno += (12*diasDiferencia)
	sueno = estabilizar(sueno)
	sed += -(8*diasDiferencia)
	sed = estabilizar(sed)
	higiene += -(3*diasDiferencia)
	higiene = estabilizar(higiene)
	salud += -(2*diasDiferencia)
	salud = estabilizar(salud)
	disciplina += -(2*diasDiferencia)
	disciplina = estabilizar(disciplina)
	diferencia = Math.abs(tempVar - extra1)
	edad = Math.round(diferencia/86400000)
	inyectarCookie(identificador,nombreUsuario,clave,nombre,sexo,edad,peso,felicidad,alimentacion,sueno,sed,higiene,salud,disciplina,extra1,extra2,meta,inte,acti,agre,inmu,fechaUltimaVisita,cumpleTroklio)
	ponerStatus('Hecho. Cargando imagenes...')
	return true
}
// Javascript realizado por Juan Searle, MetroWeb SL, ©1998. jsearle@metroweb.es
