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_validateForm() { //v4.0
  //alert ("xxxxxxxxx");
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } 
  if (errors) { 
	  //alert ("errores");
	  alert('The following error(s) occurred:\n'+errors);
  }else {
	  //alert ("se va");
	  document.forms[0].submit();
  }
  document.MM_returnValue = (errors == '');
}

//@author: EclipseOS
function confirm_opinion(casa){
	nombre = document.getElementById('nombre');
	titulo = document.getElementById('titulo');
	opinion = document.getElementById('opinion');
	voto = document.getElementById('voto');
	condiciones = document.getElementById('conditions');
	
	if (nombre.value == "") {
		alert ('Debes indicar tu nombre.');
		nombre.focus();
		return false;
	}else {
		if (titulo.value == "") {
		alert ('Debe indicar un título para la opinión.');
		titulo.focus();
		return false;
		}else {
			if (opinion.value == "") {
				alert ('Debe indicar el texto de la opinión.');
				opinion.focus();
				return false;
			}else {
				if (voto.value == "") {
					alert ('Debe indicar una valoración general para la opinión.');
					return false;
				}else {
					if (condiciones.checked) {
						if (confirm('¿Confirma que se desea guardar la opinión para la casa ' + casa + '?')) {
							document.forms['opinionForm'].submit();
						} else {
							return false;
						}
					} else {
						alert ('Debes aceptar la normativa de opiniones.');
						return false;
					}
				}
			}
		}
	}
}


//@author: EclipseOS
function confirm_points(){
	email = document.getElementById('us_email');
	nro_puntos = document.getElementById('nro_puntos');
	descrip = document.getElementById('detalle');
	if (nro_puntos.value == "") {
		alert ('Debe indicar el número de puntos.');
		nro_puntos.focus();
		return false;
	}else {
		cadena = nro_puntos.value;
		if (cadena.indexOf('-') != 0) {
			if (cadena.indexOf('-', 1) != -1) {
				alert ('El valor de puntos no es correcto.');
				nro_puntos.focus();
				return false;
			}
		}else {
			//validar que sea el último
			if (cadena.lastIndexOf('-', 1) != 0) {
				alert ('El valor de puntos no es correcto.');
				nro_puntos.focus();
				return false;
			}
		}
		//validar que sea un número
		valor = parseInt(cadena);
		//Compruebo si es un valor numérico
	    if (isNaN(valor)) {
	    	alert ('El valor de puntos debe ser un número.');
			nro_puntos.focus();
	    	return false;
	    }else{
	    	if(descrip.value == "") {
				alert ('Debe indicar un detalle o motivo.');
				descrip.focus();
				return false;
			}
			if (confirm('Confirma que se desea modificar en ' + nro_puntos.value + ' puntos el total del usuario ' + email.value + '?')) {
				form1.submit();
			} else {
				return false;
			}
	    }
	}
}


//@author: EclipseOS
function contar(form,name) {
	n = document.forms[form][name].value.length;
	t = document.forms[form]['hidden_total'].value; //un campo oculto con el valor máximo
	if (n > t) {
		document.forms[form][name].value = document.forms[form][name].value.substring(0, t);
	}
	else {
		document.forms[form]['result'].value = t-n;
	}
}


//@author: EclipseOS
function confirm_question(){
	pregunta = document.getElementById('pregunta');
	pregunta_val = document.getElementById('pregunta_val');
	nro_orden = document.getElementById('nro_orden');
	if (nro_orden.value == "") {
		alert ('Debe indicar el orden de la pregunta en la encuesta.');
		nro_orden.focus();
		return false;
	}else {
		if (isNaN(nro_orden.value)) {
	    	alert ('El orden debe ser un número.');
	    	nro_orden.focus();
	    	return false;
		}else {
			if (pregunta.value == "") {
				alert ('Debe escribir el texto de la pregunta.');
				pregunta.focus();
				return false;
			}else {
				if (pregunta_val.value == "") {
					alert ('Debe escribir el texto de la pregunta en el idioma Valenciano.');
					pregunta_val.focus();
					return false;
				} else {
					if (confirm('¿Confirma que se desea guardar la pregunta en la encuesta?')) {
						form1.submit();
					} else {
						return false;
					}
				}
			}
		}
	}
}


//@author: EclipseOS
function confirm_disable_opinion(){
	motivo = document.getElementById('motivo');
	if (motivo.value == "") {
		alert ('Debe indicar un motivo para deshabilitar la opinión.');
		motivo.focus();
		return false;
	} else {
		if (confirm('¿Confirma que se desea deshabilitar esta opinión?')) {
			form1.submit();
		} else {
			return false;
		}
	}
}


//@author EclipseOS
function editar_question(form, accion){
	id_pregunta = document.forms[form]['id_pregunta'];
	if (id_pregunta.value == "") {
		alert ('Para ' + accion + ' debe seleccionar la pregunta correspondiente');
		return false;
	}else {
		if (accion == "activar") {
			if (!confirm('¿Confirma que se desea activar la pregunta para la encuesta?')) {
				return false;
			}
		}
		document.forms[form]['accion_pregunta'].value = accion;
		form.submit();
	}
}


//@author EclipseOS
function editar_question_popup(form, accion){
	id_pregunta = document.forms[form]['id_pregunta'];
	if (id_pregunta.value == "") {
		alert ('Para ' + accion + ' debe seleccionar la pregunta correspondiente');
		return false;
	}else {
		valor = id_pregunta.value; 
		if (accion == "editar") {
			 window.open("edit-question.php?id_pregunta="+valor,"edit_question","width=760,height=345, top=100,left=150,menubar=no,resize=no");
		    return false;
		}
	}
}


//@author EclipseOS
function marcar_question(form, question){
	document.forms[form]['id_pregunta'].value = question.value;
}

//@author EclipseOS
function asignar_valor(form, campo, caja_valor){
	document.forms[form][campo].value = caja_valor.value;
}

//@author EclipseOS
function asignar_solo_valor(form, campo, valor){
	document.forms[form][campo].value = valor;
}

//@author EclipseOS
function survey_validate(){
	tot_preguntas = document.getElementById('tot_preguntas').value;
	i = 1;
	lleno = true;
	while (i <= tot_preguntas && (lleno)) {
		nm_caja = "p"+i;
		caja = document.forms['form1'][nm_caja]
        if (caja.value == "") {
        	lleno = false;
        	alert ("Debes completar todas las preguntas.  Falta por rellenar la pregunta: " + i);
        	return false;
        }
		i = i + 1;
	}
	document.forms[0].submit();
}

//@author EclipseOS -> deprecated
function add() {
	var newitem=prompt("Añadir nueva direción: ","");
	if (newitem != null) {
		document.form1.list[document.form1.list.length] = new Option(newitem, document.form1.list.length);
	}
}

//@author EclipseOS -> deprecated
function del() {
	if (document.form1.list.selectedIndex >= 0) {
		document.form1.list.options[document.form1.list.selectedIndex]=null;
		document.form1.list.selectedIndex=0;
	}
}

//@author EclipseOS
function validar_email(){
	email = document.getElementById('email');
	if (email.value == "") {
		alert ('Debe indicar una dirección de correo electrónico.');
		email.focus();
		return false;
	}else {
		if (confirm('¿Confirma que se desea enviar la encuesta actual al correo electrónico indicado?')) {
			form1.submit();
		} else {
			return false;
		}
	}
}

//@author EclipseOS -> esta función sustituye la anterior
function returnValues() {
	var strValues = "";
	var boxLength = document.form1.seleccion.length;
	var count = 0;
	if (boxLength != 0) {
		for (i = 0; i < boxLength; i++) {
			if (count == 0) {
				strValues = document.form1.seleccion.options[i].text;
			}
			else {
				strValues = strValues + "|" + document.form1.seleccion.options[i].text;
			}
			count++;
	   }
	}
	if (strValues.length == 0) {
		alert("Debe indicar al menos una dirección de correo electrónico");
		return false;
	}
	else {
		caja_email = document.getElementById('email');
		caja_email.value = strValues;
		//if (confirm('¿Confirma que se desea enviar la encuesta actual a los correos indicados?')) {
			document.forms[0].submit();
		//} else {
		//	return false;
		//}
	}
}

//@author EclipseOS
function validateSurveyValues() {
	var nro_encuestas = document.getElementById('nro_encuestas').value;
	var vacio = false;
	var i = 0;
	while ((i < nro_encuestas) && (!vacio)){
		var reserva = document.getElementById('reserva'+i);
		var casa = document.getElementById('casa'+i);
		if (reserva.value == "") {
			alert ('Debe escribir el número de la reserva.');
			reserva.focus();
			vacio = true;
		}else if (isNaN(reserva.value)) {
			alert ('Debe escribir un número.');
			reserva.focus();
			vacio = true;
		} else if (casa.value == "-1") {
			alert ('Debe seleccionar el nombre de la casa.');
			casa.focus();
			vacio = true;
		}
		i = i + 1;
	}
	
	if (!vacio) {
		if (confirm('¿Confirma que se desea enviar la encuesta actual a los correos indicados?')) {
			document.forms[0].submit();
		} else {
			return false;
		}
	}else {
		return false;
	}
}

//@author EclipseOS -> control de listas de selección (admin)
function hideOther() {
	document.getElementById('other').checked = false;
	document.getElementById("otherDesc").value = "";
	document.getElementById("otherDesc").disabled = true;
	document.getElementById("plusOther").style.display = "none";
}
 
//@author EclipseOS -> control de listas de selección (admin)
function showOther() {
	document.getElementById("otherDesc").disabled = false;
	document.getElementById("plusOther").style.display = "block";
}

//@author EclipseOS -> control de listas de selección (admin)
function removeSelection() {
	var divContainer = document.getElementById("seleccion");
	i = divContainer.selectedIndex;
	divContainer.removeChild(divContainer.options[i]);
}

//@author EclipseOS -> control de listas de selección (admin)
function addSelection() {

	var listContainer = document.getElementById("emailSelector");
	var i = listContainer.selectedIndex;
	var user = listContainer[i].text;

	var selContainer = document.getElementById("seleccion");
	
	option = document.createElement("OPTION");
	option.value = user;
	option.innerHTML = user;
	selContainer.appendChild(option);
	return true;
}

//@author EclipseOS -> control de listas de selección (admin)
function addOther() {

	var user = document.getElementById("otherDesc").value;


	var selContainer = document.getElementById("seleccion");
	
	option = document.createElement("OPTION");
	option.value = user;
	option.innerHTML = user;
	selContainer.appendChild(option);
	return true;
}

//@author EclipseOS -> control de opiniones (votación);
function votar(valoracion) {
	document.getElementById('txtValor').innerHTML = valoracion;
	var voto = document.getElementById('voto').value;
	var normal_class = "";
	switch(voto)	{
	case "1":
		changeClass('uno', 'votando-ent', '1');
		normal_class = comprobar('cinco', 'votando-ent');
		if (normal_class != "") {
			changeClass('cinco', normal_class, '0');
		}
		normal_class= comprobar('cuatro', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatro', normal_class);
		}
		normal_class= comprobar('tres', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('tres', normal_class);
		}
		normal_class= comprobar('dos', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('dos', normal_class);
		}
		break;

	case "2":
		changeClass('uno', 'votando-ent', '1');	
		changeClass('dos', 'votando-ent', '1');
		normal_class = comprobar('cinco', 'votando-ent');
		if (normal_class != "") {
			changeClass('cinco', normal_class, '0');
		}
		normal_class= comprobar('cuatro', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatro', normal_class);
		}
		normal_class= comprobar('tres', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('tres', normal_class);
		}
		break;

	case "3":
		changeClass('uno', 'votando-ent', '1');	
		changeClass('dos', 'votando-ent', '1'); 
		changeClass('tres', 'votando-ent', '1');
		normal_class = comprobar('cinco', 'votando-ent');
		if (normal_class != "") {
			changeClass('cinco', normal_class, '0');
		}
		normal_class= comprobar('cuatro', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatro', normal_class);
		}
		break;

	case "4":
		changeClass('uno', 'votando-ent', '1');	
		changeClass('dos', 'votando-ent', '1'); 
		changeClass('tres', 'votando-ent', '1');
		changeClass('cuatro', 'votando-ent', '1');
		normal_class = comprobar('cinco', 'votando-ent');
		if (normal_class != "") {
			changeClass('cinco', normal_class, '0');
		}
		break;

	case "5":
		changeClass('uno', 'votando-ent', '1');	
		changeClass('dos', 'votando-ent', '1'); 
		changeClass('tres', 'votando-ent', '1');
		changeClass('cuatro', 'votando-ent', '1');
		changeClass('cinco', 'votando-ent', '1');
		break;

	}
	
}


//@author EclipseOS -> control de opiniones (votación);
function votarForm(valoracion) {
	document.getElementById('txtValor').innerHTML = valoracion;
	var voto = document.getElementById('voto').value;
	var normal_class = "";
	switch(voto)	{
	case "1":
		changeClass('unoForm', 'votando-ent', '1');
		normal_class = comprobar('cincoForm', 'votando-ent');
		if (normal_class != "") {
			changeClass('cincoForm', normal_class, '0');
		}
		normal_class= comprobar('cuatroForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatroForm', normal_class);
		}
		normal_class= comprobar('tresForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('tresForm', normal_class);
		}
		normal_class= comprobar('dosForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('dosForm', normal_class);
		}
		break;

	case "2":
		changeClass('unoForm', 'votando-ent', '1');	
		changeClass('dosForm', 'votando-ent', '1');
		normal_class = comprobar('cincoForm', 'votando-ent');
		if (normal_class != "") {
			changeClass('cincoForm', normal_class, '0');
		}
		normal_class= comprobar('cuatroForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatroForm', normal_class);
		}
		normal_class= comprobar('tresForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('tresForm', normal_class);
		}
		break;

	case "3":
		changeClass('unoForm', 'votando-ent', '1');	
		changeClass('dosForm', 'votando-ent', '1'); 
		changeClass('tresForm', 'votando-ent', '1');
		normal_class = comprobar('cincoForm', 'votando-ent');
		if (normal_class != "") {
			changeClass('cincoForm', normal_class, '0');
		}
		normal_class= comprobar('cuatroForm', 'votando-ent', '0')
		if (normal_class != "") {
			changeClass('cuatroForm', normal_class);
		}
		break;

	case "4":
		changeClass('unoForm', 'votando-ent', '1');	
		changeClass('dosForm', 'votando-ent', '1'); 
		changeClass('tresForm', 'votando-ent', '1');
		changeClass('cuatroForm', 'votando-ent', '1');
		normal_class = comprobar('cincoForm', 'votando-ent');
		if (normal_class != "") {
			changeClass('cincoForm', normal_class, '0');
		}
		break;

	case "5":
		changeClass('unoForm', 'votando-ent', '1');	
		changeClass('dosForm', 'votando-ent', '1'); 
		changeClass('tresForm', 'votando-ent', '1');
		changeClass('cuatroForm', 'votando-ent', '1');
		changeClass('cincoForm', 'votando-ent', '1');
		break;

	}
	
}

//@author EclipseOS -> control de opiniones (votación) - cambio de clase(las estrellas);
function changeClass(idElement, complete, change){
	var txtClass = "";
	if (change == "1") {
		txtClass = document.getElementById(idElement).getAttribute("class");
		txtClass = txtClass + " " + complete;
	}else {
		txtClass = complete;
	}
	document.getElementById(idElement).setAttribute("class", txtClass);
}

//@author EclipseOS -> función que comprueba si el atributo 'class' contiene la 'palabra'
function comprobar(obj,palabra) {
	var retorno = "";
	txtClass = document.getElementById(obj).getAttribute("class");
	if(txtClass.indexOf(palabra)!=-1){
		var inicio = txtClass.indexOf(palabra);
		retorno = txtClass.substring(0,inicio-1);
	}
	return retorno;
}


//@author EclipseOS 
function textCounter(field,maxlimit) {
    if (field.value.length > maxlimit)
        field.value = field.value.substring(0, maxlimit);
}

//@author EclipseOS
function abre(idcasa) {
    window.open("../comments/new-comment_pop.php?home="+idcasa,"new_opinion","width=650,height=520, top=80,left=180,menubar=no,resize=no");
	return false;
}

//@author EclipseOS
function abre_amigo(idcasa) {
    window.open("../recommendation/new-recommendation_pop.php?home="+idcasa,"new_opinion","width=650,height=520, top=80,left=180,menubar=no,resize=no");
	return false;
}

//@author EclipseOS
function abre_rechazo(idcomment) {
    window.open("op-comment_pop.php?idcomment="+idcomment,"delete_opinion","width=650,height=220, top=220,left=180,menubar=no,resize=no");
	return false;
}


//@author EclipseOS
function confirmDeleteComment(idcomment) {
	if (confirm('¿Confirma que se eliminar este comentario?')) {
		document.getElementById("id_comment").value = idcomment;
		document.forms[0].submit();
	} else {
		return false;
	}
}

//@author EclipseOS
function toggleLayer( whichLayer ){
	
	if (whichLayer == "commentForm") {
		//Esto permite que en el formulario de opiniones -> al ocultar/mostrar el div, se borre el voto.
		document.getElementById('voto').value = "";
	}
	
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}


//@author: EclipseOS
function confirm_sendToFriend(casa){
    name_user = document.getElementById('name_user');
    email_user = document.getElementById('email_user');
    name_friend = document.getElementById('name_friend');
    email_friend = document.getElementById('email_friend');
    
	if (casa != "") {
		MM_validateForm('email_user','','RisEmail','email_friend','','RisEmail','name_user','','R','name_friend','','R');
	}else {
		alert ('Se ha producido un error al momento de cargar los datos. Rogamos intente de nuevo pasatresForm unos minutos.');
		return false;
	}
}

//@author: EclipseOS
function validate_reserva() {
	calculaTotal();
	document.getElementById('send').value = "send";
	if (MM_validateForm('nombre','','R','apellidos','','R','telefono','','R','email','','RisEmail','fecha_llegada','','R','numero_noches','','RisNum','numero_personas','','RisNum','total','','R')) {
		//no hacer nada -> el método hace el submit de los datos
	}else {
		document.getElementById('send').value = "";
	}
	
}

//@author: EclipseOS
function validate_date_arrive() {
	fecha_llegada = document.getElementById('fecha_llegada');
	if (isDate(fecha_llegada.value)==false){ 
		fecha_llegada.focus();
		return false;
	} else {
		document.getElementById('send').value = "";
		document.form1.submit();
	}
}

//@author: EclipseOS
function validate_recovery_pass() {
	email_recovery = document.getElementById('email_recovery');
	if (email_recovery == "") {
		alert ("Debe indicar una dirección de correo electrónico.")
		email_recovery.focus();
		return false;
	}else {
		if (MM_validateForm('email_recovery','','RisEmail')) {
			//no hacer nada -> el método hace el submit de los datos
		}
	}
}


function toggleDisplay(me){
	me = document.getElementById(me);
	if (me.style.display == "") {
		me.style.display="none";
	} else if (me.style.display=="none"){
		me.style.display="inline";
	} else if (me.style.display=="inline"){
		me.style.display="none";
	}
}

function hide(me){
	me = document.getElementById(me);
	me.style.display="none"
}	

