/*
Proyecto: Observatorio Comercio Electrónico Madrid
Empresa: Pulso Sistemas de Gestión (http://www.pulsosg.es/)
Fichero: 
Fecha: 01/06/2006
Autores:
       Sara Bayón Hormigo
       Angel Villa Brasero

*/
focusform=function(c){
	var f=document.Form1;
	//pone el foco en el elemento que se le pasa
	eval("f."+c+".focus()");
}

var cw = false;
var cwr = false;

Evt=function(f,g,k){
	if(f.addEventListener){           
		f.addEventListener(g,k,false);
	}else if(f.attachEvent){
		eval("document.on"+g+"="+k);
	}
}

function ventana(url, param){
	//abre la ventana con los parámetros que se le pasan
	window.open(url, "", param);
}

function cerrar(){
	//cierra una ventana y recarga la página inferior
	window.close();
	opener.location.reload();
}

function OpenCalendar(idname, postBack)
{
	//abre la ventana del calendario con los parámetros que se le da
	popUp = window.open('/admin/calendar/calendar.aspx?formname=' + document.forms[0].name + 
		'&id=' + idname + '&selected=' + document.forms[0].elements[idname].value + '&postBack=' + postBack, 
		'popupcal', 
		'width=185,height=212,left=660,top=300');
}

function OpenCalendar2(idname, postBack, tf,qf)
{
	//abre la ventana del calendario con nuevos parámetros
	popUp = window.open('calendario_reserva.aspx?formname=' + document.forms[0].name + 
		'&id=' + idname + '&selected=' + document.forms[0].elements[idname].value + '&postBack=' + postBack +
		'&tfecha=' + tf +
		'&qfecha=' + qf +
		'&zona=' + document.forms[0].zona.value, 
		'popupcal', 
		'width=520,height=400,left=200,top=250,scrollbars=1');
}

function OpenCalendar_fechaf(idname, postBack, tf, qf, idname2)
{
	//abre la ventana del calendario con nuevos parámetros
	popUp = window.open('calendario_reserva.aspx?formname=' + document.forms[0].name + 
		'&id=' + idname + '&selected=' + document.forms[0].elements[idname].value + '&postBack=' + postBack +
		'&tfecha=' + tf +
		'&qfecha=' + qf +
		'&zona=' + document.forms[0].zona.value +
		'&vfei=' + document.forms[0].elements[idname2].value,
		'popupcal', 
		'width=520,height=400,left=200,top=250,scrollbars=1');
}

function SetDate(formName, id, newDate, postBack)
{
	eval('var theform = document.' + formName + ';');
	popUp.close();
	theform.elements[id].value = newDate;
	if (postBack)
		__doPostBack(id,'');
}	

function VOpcion()
{
	//hace visible el panel para añadir opciones
	document.getElementById("panel").style.display='block';
	document.Form1.txt_opcion.focus();
	cw = true;
}

function COpcion(){
	//oculta el panel para añadir opciones
	cw = false;
	document.getElementById("panel").style.display='none';
}

function AddOpcion()
{
	//añade una opción al listado provisional
	cw = false;
	//obtiene los datos para del formulario en los que generar la lista de opciones provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_opc");
	var html, numop, texto, ini, fin;
	
	//recoge los datos de la nueva opción
	texto = obf.txt_opcion.value;
	numop = parseInt(obf.txt_numop.value);
	//inicia de la tabla con la lista
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	//fin de la tabla con la lista
	fin = "</table>";
	//comprueba que la nueva opción no esté vacía
	if (texto == ""){
		alert("Respuesta: campo obligatorio");
		return false;
	}else{
		//si es la primera opción añadir entra
		if (numop == 0){
			//aumenta el número opciones
			numop += 1;		
			//inicia la tabla
			html = ini;
			/*añade una fila con el texto de la nueva opción, una caja de texto con el texto de la 
			nueva opción, un enlace para eliminar la opción*/
			html += "<tr><td class='w400'>"+texto+"<input type='hidden' name='txt"+numop+"' id='txt"+numop+"' value='"+texto+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteOpcion("+numop+");return false;' href='#'>eliminar</a></td></tr>";
			//cierra la tabla
			html += fin;
		//si no es la primera opción a añadir
		}else{
			//comprueba que no se dupliquen opciones, para ello recorre todas las cajas de texto existente
			for (var i=1; i<=numop; i++){
				//si el contenido de alguna de las opciones es igual a la nueva muestra un mensaje y no lo añade
				if (eval("obf.txt"+i+".value") == texto){
					alert("La respuesta ya ha sido añadida.");	
					return false;
				}
			}
			//inicia la tabla
			html = ini;
			//recorre las opciones existentes añadiéndolas
			for (var i=1; i<=numop; i++){
				html += "<tr><td class='w400'>"+eval("obf.txt"+i+".value")+"<input type='hidden' name='txt"+i+"' id='txt"+i+"' value='"+eval("obf.txt"+i+".value")+"' /></td>";
				html += "<td class='ar'><a class='enl' onclick='DeleteOpcion("+i+");return false;' href='#'>eliminar</a></td></tr>";
			}
			//añade la nueva opción y aumenta la caja de texto con el número de opciones añadidas
			numop += 1;
			html += "<tr><td class='w400'>"+texto+"<input type='hidden' name='txt"+numop+"' id='txt"+numop+"' value='"+texto+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteOpcion("+numop+");return false;' href='#'>eliminar</a></td></tr>";
			//finaliza la tabal
			html += fin;
		
		
		}
		//añade el html de las opciones
		obj.innerHTML = html;
		//modifica el número de opciones añadidas
		obf.txt_numop.value = numop;
		//borra el texto de la nueva opción
		obf.txt_opcion.value = "";
		//oculta el panel de añadir opción
		document.getElementById("panel").style.display='none';
	}
}

function DeleteOpcion(opc)
{
	//obtiene los datos para del formulario en los que generar la lista de opciones provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_opc");
	var html, numop, texto, ini, fin, cnt;
	
	//recoge el número de opciones añadidas
	numop = parseInt(obf.txt_numop.value);
	//inicio de la tabla de la lista de opciones
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	//fin de la tabla
	fin = "</table>";
	//inicia la tabla
	html = ini;
	cnt = 0;
	//recorre todas las opciones
	for (var i=1; i<=numop; i++){
		//incluye todas las opciones menos la marcada para eliminar
		if (i != opc){
			cnt += 1;
			html += "<tr><td class='w400'>"+eval("obf.txt"+i+".value")+"<input type='hidden' name='txt"+cnt+"' id='txt"+cnt+"' value='"+eval("obf.txt"+i+".value")+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteOpcion("+cnt+");return false;' href='#'>eliminar</a></td></tr>";
		}		
	}
	//finaliza la tabla
	html += fin;
	
	//añade el html de las opciones
	obj.innerHTML = html;
	//resta una opción al número de opciones
	obf.txt_numop.value = numop - 1;
}

function VRango()
{
	//visualiza el panel para añadir rangos
	document.getElementById("panel2").style.display='block';
	document.Form1.txt_rango.focus();
	cwr = true;
}

function CRango(){
	//oculta el panel para añadir rangos
	document.getElementById("panel2").style.display='none';
	cwr = false
}

function AddRango()
{
	cwr = false;
	//obtiene los datos para del formulario en los que generar la lista de rangos provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_rango");
	var html, numop, texto, ini, fin;
	
	//recoge el texto del nuevo rango
	texto = obf.txt_rango.value;
	//recoge el número de rangos añadidos hasta el momento
	numop = parseInt(obf.txt_numr.value);
	//html de inicio de la tabla del listado
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	//html de fin
	fin = "</table>";
	//comprueba que se introduzca texto para el nuevo rango
	if (texto == ""){
		alert("Rango: campo obligatorio");
		return false;
	}else{
		//entra si es el primer rango a añadir
		if (numop == 0){
			//aumenta el número opciones
			numop += 1;		
			//inicia la tabla
			html = ini;
			/*añade una tabla a la fila con el texto, un campo oculto con el texto, y un enlace para eliminar
			el rango */
			html += "<tr><td class='w400'>"+texto+"<input type='hidden' name='txtr"+numop+"' id='txtr"+numop+"' value='"+texto+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRango("+numop+");return false;' href='#'>eliminar</a></td></tr>";
			html += fin;
		//entra si ya hay rangos añadidos
		}else{
			//comprueba que no se dupliquen opciones, para ello recorre todos los rangos añadidos
			for (var i=1; i<=numop; i++){
				//si el rango nuevo se corresponde con uno de los existentes muestra la alerta y no lo añade
				if (eval("obf.txtr"+i+".value") == texto){
					alert("El rango ya ha sido añadido.");	
					return false;
				}
			}
			//inicia la tabla
			html = ini;
			//recorre los rangos existentes y los añade
			for (var i=1; i<=numop; i++){
				html += "<tr><td class='w400'>"+eval("obf.txtr"+i+".value")+"<input type='hidden' name='txtr"+i+"' id='txtr"+i+"' value='"+eval("obf.txtr"+i+".value")+"' /></td>";
				html += "<td class='ar'><a class='enl' onclick='DeleteRango("+i+");return false;' href='#'>eliminar</a></td></tr>";
			}
			//añade el nuevo rango
			numop += 1;
			html += "<tr><td class='w400'>"+texto+"<input type='hidden' name='txtr"+numop+"' id='txtr"+numop+"' value='"+texto+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRango("+numop+");return false;' href='#'>eliminar</a></td></tr>";
			html += fin;
		
		
		}
		//añade el html con los rangos
		obj.innerHTML = html;
		//asigna el nuevo número de rangos
		obf.txt_numr.value = numop;
		//vacía la caja para introducir nuevos rangos
		obf.txt_rango.value = "";
		//oculta el panel de añadir rangos
		document.getElementById("panel2").style.display='none';
	}
}

function DeleteRango(opc)
{
	//obtiene los datos para del formulario en los que generar la lista de rangos provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_rango");
	var html, numop, texto, ini, fin, cnt;
	
	//recoge el número de rangos añadidos
	numop = parseInt(obf.txt_numr.value);
	//html de inicio y fin de la tabla de rangos
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	fin = "</table>";
	//inicia la tabla
	html = ini;
	cnt = 0;
	//recorre los rangos
	for (var i=1; i<=numop; i++){
		//incluye todas las opciones menos la marcada para eliminar
		if (i != opc){
			cnt += 1;
			html += "<tr><td class='w400'>"+eval("obf.txtr"+i+".value")+"<input type='hidden' name='txtr"+cnt+"' id='txtr"+cnt+"' value='"+eval("obf.txtr"+i+".value")+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRango("+cnt+");return false;' href='#'>eliminar</a></td></tr>";
		}		
	}
	//fin de la tabla
	html += fin;
	
	//añade el html con los rangos
	obj.innerHTML = html;
	//resta uno al número de rangos añadidos
	obf.txt_numr.value = numop - 1;
}

function VRespuesta()
{
	//visualiza el panel para añadir respuestas
	document.getElementById("panel").style.display='block';
	document.Form1.txt_respuesta.focus();
}

function CRespuesta(){
	//oculta el panel para añadir respuestas
	document.getElementById("panel").style.display='none';
}

function AddRespuesta(){
	//obtiene los datos para del formulario en los que generar la lista de respuestas de texto provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_resp");
	var html, num, texto, ini, fin;
	
	//recoge la nueva respuesta
	texto = obf.txt_respuesta.value;
	//recoge el númeor de respuestas añadidas
	num = parseInt(obf.txt_numresp.value);
	//html de inicio y fin de la tabla que contendrá la lista de respuestas
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	ini +="<thead><th>Respuestas</th><th>Total</th><th></th></thead>"
	fin = "</table>";
	//comprueba que la respuesta no esté vacía
	if (texto == ""){
		alert("Respuesta: campo obligatorio");
		return false;
	}else{
		//entra si es la primera respuesta que se añade
		if (num == 0){
			//aumenta el número opciones
			num += 1;		
			//inicia la tabla
			html = ini;
			/*añade una fila a la tabla que incluye, texto de la respuesta, caja oculta con el texto de la 
			respuesta, una caja para recoger el total, un enlace para eliminar la respuesta*/
			html += "<tr><td class='w300'>"+texto+"<input type='hidden' name='txt"+num+"' id='txt"+num+"' value='"+texto+"' /></td>";
			html += "<td class='w100'><input type='text' class='txtR' maxlength='10' size='10' name='tot"+num+"' id='tot"+num+"' value='' runat='server' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRespuesta("+num+");return false;' href='#'>eliminar</a></td></tr>";
			//find e la tabla
			html += fin;
		//entra si no es la primera respuesta que se añade
		}else{
			//comprueba que no se dupliquen opciones, para ello recorre las respuestas añadidas
			for (var i=1; i<=num; i++){
				//si la nueva respuesta se corresponde con una de las añadidas, muestas un alert y no la añade
				if (eval("obf.txt"+i+".value") == texto){
					alert("La respuesta ya ha sido añadida.");	
					return false;
				}
			}
			//inicia la tabla
			html = ini;
			//recorre las respuestas añadidas
			for (var i=1; i<=num; i++){
				//vuelve a añadir cada una de las opciones añadidas hasta el momento
				html += "<tr><td class='w300'>"+eval("obf.txt"+i+".value")+"<input type='hidden' name='txt"+i+"' id='txt"+i+"' value='"+eval("obf.txt"+i+".value")+"' /></td>";
				html += "<td class='w100'><input type='text' class='txtR' maxlength='10' size='10' name='tot"+i+"' id='tot"+i+"' value='"+eval("obf.tot"+i+".value")+"' /></td>";
				html += "<td class='ar'><a class='enl' onclick='DeleteRespuesta("+i+");return false;' href='#'>eliminar</a></td></tr>";
			}
			//añade la nueva opción y aumenta el número de opciones
			num += 1;
			html += "<tr><td class='w300'>"+texto+"<input type='hidden' name='txt"+num+"' id='txt"+num+"' value='"+texto+"' /></td>";
			html += "<td class='w100'><input type='text' class='txtR' maxlength='10' size='10' name='tot"+num+"' id='tot"+num+"' value='' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRespuesta("+num+");return false;' href='#'>eliminar</a></td></tr>";
			//finaliza la tabla
			html += fin;
		
		}
		//añade el html con las nuevas respuestas
		obj.innerHTML = html;
		//establece el nuevo número de respuestas
		obf.txt_numresp.value = num;
		//vacía la caja donde se introducen las nuevas respuestas
		obf.txt_respuesta.value = "";
		//llama a la función que oculta el panel de añadir respuesta
		COpcion();
	}
}

function DeleteRespuesta(opc)
{
	//obtiene los datos para del formulario en los que generar la lista de respuestas de texto provisionales
	var obf = document.Form1;
	var obj = document.getElementById("lis_resp");
	var html, num, texto, ini, fin, cnt;
	
	//recoge el número de respuestas añadidas
	num = parseInt(obf.txt_numresp.value);
	//html de inicio y fin de la tabla que contiene la lista de respuestas
	ini = "<table class='t7' cellSpacing='0' cellPadding='0'>";
	fin = "</table>";
	//inicia la tabla
	html = ini;
	cnt = 0;
	//recorre las respuestas
	for (var i=1; i<=num; i++){
		//incluye todas las respuestas menos la marcada para eliminar
		if (i != opc){
			cnt += 1;
			html += "<tr><td class='w300'>"+eval("obf.txt"+i+".value")+"<input type='hidden' name='txt"+cnt+"' id='txt"+cnt+"' value='"+eval("obf.txt"+i+".value")+"' /></td>";
			html += "<td class='w100'><input type='text' class='txtR' maxlength='10' size='10' name='tot"+cnt+"' id='tot"+cnt+"' value='"+eval("obf.tot"+i+".value")+"' /></td>";
			html += "<td class='ar'><a class='enl' onclick='DeleteRespuesta("+cnt+");return false;' href='#'>eliminar</a></td></tr>";
		}		
	}
	//fin de la tabla
	html += fin;
	
	//añade el html con las resputas
	obj.innerHTML = html;
	//resta uno al número de respuestas
	obf.txt_numresp.value = num - 1;
}

function registro(s){
	//redirecciona a la página de registro a los usuario que no estén autorizados
	if(parseInt(s)==0){
		alert("Para acceder a los estudios debe estar registrado");
		window.location.href="/registrar.aspx";
		return false;
	}
}

var sl=false;
function OpenLinea(){
	var e=document.getElementById("divlineas");
	if(!e) return;
	if(!sl){
		e.style.display="block";
		sl=true;
	}else{
		e.style.display="none";
		sl=false;
	}

}
