function sendMarcaModeloCompletoTodos(modelo1, modelo2, modelo3) {
//	alert("sendMarcaModeloCompletoTodos -> Modelo1: " + modelo1 + " Modelo2: " + modelo2 + " Modelo3: " + modelo3);

	sendMarcaModeloCompleto(1, modelo1);
	sendMarcaModeloCompleto(2, modelo2);
	sendMarcaModeloCompleto(3, modelo3);
}

function sendMarcaModeloCompletoUnico(ficha, modelo) {
//	alert("sendMarcaModeloCompletoUnico -> Ficha: " + ficha + " Modelo: " + modelo);

	sendMarcaModeloCompleto(ficha, modelo);
}

/*
 * Funciones necesarias para simular la invocacion desde pestaña de movil
 */
function sendMarcaModeloCompleto(ficha, modelo) {
//	alert("sendMarcaModeloCompleto -> Ficha: " + ficha + " - Modelo: " + modelo);

	var xmlHttp1 = GetXmlHttpObject();
	var xmlHttp2 = GetXmlHttpObject();
	var xmlHttp3 = GetXmlHttpObject();
	var xmlHttp4 = GetXmlHttpObject();

	checkModeloSimulado         (ficha, modelo, xmlHttp1);
	mostrarTextoSimulado        (ficha, modelo, xmlHttp2);
	mostrarPrecioSimulado       (ficha, modelo, xmlHttp3);
	invocarTelefonoInfoSimulado (ficha, modelo, xmlHttp4);

//	while ((xmlHttp1.readyState != 4) && (xmlHttp2.readyState != 4) && (xmlHttp3.readyState != 4) && (xmlHttp4.readyState != 4));
	showFicha(ficha);
	pngfix("ID");
}



/*
 * TODO Definir
 */
function checkModeloSimulado(ficha, modelo, xmlHttp) {
//	alert("checkModeloSimulado -> Ficha: " + ficha + " - Modelo: " + modelo);

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3

	var	url="/do/comparador/moviles?imgCabez" + ficha + "=si&ajax=si&m" + ficha + "=" + modelo;

	xmlHttp.onreadystatechange =
		function() {	
			modeloChangedSimulado(ficha, xmlHttp);
		};

	xmlHttp.open("GET", url, true);

	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function mostrarTextoSimulado(ficha, modelo, xmlHttp) {
//	alert("mostrarTextoSimulado -> Ficha: " + ficha + " - Modelo: " + modelo);

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3

	var	url="/do/comparador/moviles?cabecera" + ficha + "=si&ajax=si&m" + ficha + "=" + modelo;

	xmlHttp.onreadystatechange =
		function() {
			mostrarTxtoCabecera(ficha, modelo, xmlHttp);
		};

	xmlHttp.open("GET",url,true);

	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function mostrarPrecioSimulado(ficha, modelo, xmlHttp) {
//	alert("mostrarPrecioSimulado -> Ficha: " + ficha + " - Modelo: " + modelo);

	var	url="/do/comparador/moviles?ajax=si&precio" + ficha + "=si&m" + ficha + "=" + modelo;

	xmlHttp.onreadystatechange =
		function() {	
			mostrarTxtoPrecioSimulado(ficha, xmlHttp);	
		};

	xmlHttp.open("GET",url,true);

	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function invocarTelefonoInfoSimulado(ficha, modelo, xmlHttp) {
//	alert("invocarTelefonoInfoSimulado -> Ficha: " + ficha + " - Modelo: " + modelo);

	var	url="/do/comparador/moviles?ajax=si&selector" + ficha + "=si&m" + ficha + "=" + modelo;

	xmlHttp.onreadystatechange =
		function() {	
			pintarTelefonoInfoSimulado(ficha, xmlHttp);
		};

	xmlHttp.open("GET",url,true);

	xmlHttp.send(null);
}



/*
 * TODO Definir
 */
function modeloChangedSimulado(ficha, xmlHttp) { 
//	alert("modeloChangedSimulado -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4)||
			(xmlHttp.readyState == "complete")
		)
	{ 
		$("#imgmovil" + ficha).attr("src", xmlHttp.responseText);
		delete xmlHttp;
	xmlHttp = null;
	}
}

/*
 * TODO Definir
 */
function mostrarTxtoPrecioSimulado(ficha, xmlHttp) {
//	alert("mostrarTxtoPrecioSimulado -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4)||
			(xmlHttp.readyState == "complete")
		)
	{ 
		$("#cierre_" + ficha) .html(xmlHttp.responseText);
		delete xmlHttp;
		xmlHttp = null;
	}
}

/*
 * TODO Definir
 */
function pintarTelefonoInfoSimulado(ficha, xmlHttp) {
//	alert("pintarTelefonoInfoSimulado -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4)||
			(xmlHttp.readyState == "complete")
		)
	{
		$("#cuerpo_" + ficha) .css("display","block") .html(xmlHttp.responseText);
		delete xmlHttp;
		xmlHttp = null;
	}
}



/*
 * TODO Definir
 */
function showFicha(ficha) {
//	alert("showFicha -> Ficha: " + ficha);

	$('#cabecera_cerrada_' + ficha).hide();
	$('#drag' + ficha).hide();
	$('#drop' + ficha).slideUp("slow");
	$('#cabecera_' + ficha).show().slideDown("fast");
	$('#cambiar_' + ficha).show().slideDown("fast");
	$('#cuerpo_' + ficha).show().slideDown("slow", checkboton);
	$('#cierre_' + ficha).slideDown("fast");
	
	mostrarboton();

	return false;
}

/*
 * TODO Definir
 */
function hideFicha(ficha) {
//	alert("hideFicha -> Ficha: " + ficha);
	$('#cabecera_cerrada_' + ficha).slideDown("slow");
	$('#drag' + ficha).show();
	$('#drop' + ficha).slideDown("slow");
	$('#cabecera_' + ficha).hide();
	$('#cambiar_' + ficha).slideUp("fast");
	$('#cuerpo_' + ficha).hide("fast",checkboton);
	$('#cierre_' + ficha).slideUp("fast");

	return false;
};



/*
 * TODO Definir
 * Muestra o recoge la tabla con caracteristicas al apretar boton
 */
function masMenosCaracts() {
//	alert("masMenosCaracts");
	var stylestate="none";

	var s1 = $('#princ_caracts1').css("display");
	var s2 = $('#princ_caracts2').css("display");
	var s3 = $('#princ_caracts3').css("display");

	if      (s1 == "none" || s2 == "none" || s3 == "none")
	{
		$('div.princ_caracts').slideDown("slow");
		$("a#mas_menos span").html("<img src='/img/comparador/flecha_arriba.gif' alt=''/> Menos Caracter&iacute;sticas");

		stylestate="block";
		
		changeStyleNoneBlock(stylestate);
	} else {
		$('div.princ_caracts').slideUp("slow");
		$("a#mas_menos span").html("<img src='/img/comparador/flecha_abajo.gif' alt=''/> M&aacute;s Caracter&iacute;sticas");
		stylestate="none";

		changeStyleNoneBlock(stylestate);
	}

	pngfix("ID");
}

/*
 * TODO Definir
 */
function mostrarboton() {
//	alert("mostrarboton");

	if	(
			($('#cuerpo_1').css("display") != "none") ||
			($('#cuerpo_2').css("display") != "none") ||
			($('#cuerpo_3').css("display") != "none")
		)
	{
		$("a#mas_menos").show("fast");
	}
}



/*
 * TODO Definir
 * La funcion changeStyleNoneBlock hace una llamada al servidor y cambia el estilo de todas las fichas para que dependiend de
 * si hay alguna otra ficha seleccionada o no se visualicen de forma completa o no.
 * la logica es la siguiente:
 * 	- 	Cuando en una ficha se pulsa sobre el boton de mas caracteristicas automaticamente se hace una peticion al action para que sea este
 * 		el que cambia el estilo del resto de fichas, poniendo todos los estilos a "block", de esta forma cuando se  consulte cualquier otra ficha
 * 		de las restantes automaticamente se desplegara (no quedara plegada)
 * 
 * 	- 	por otra parte cuando en ninguna ficha se ha pulsado el boton de "mas caracteristicas" todas quedan desplegadas.
 */
function changeStyleNoneBlock(stylestate) {
//	alert("changeStyleNoneBlock");

	xmlHttp = GetXmlHttpObject();

	if (stylestate == "block") {
		// si el estado es block se hace una peticion para cambiar todas las fichas a block -TODAS SE DESPLEGAN
		//alert("block");

		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}

		// un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3
		var	url = "/do/comparador/moviles?changeStyle=block&ajax=si"; //paso el estado--> block

		xmlHttp.onreadystatechange =
			function() {
				if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
					)
	{
				
				delete xmlHttp;
				xmlHttp = null;
	}
			};

		xmlHttp.open("GET", url, false);
		xmlHttp.send(null);
	} else {
		// si no es block, se pasan todas a none, TODAS QUEDAN PLEGADAS
		//alert("none");

		if (xmlHttp == null) {
			alert("Your browser does not support AJAX!");
			return;
		}

		var	url = "/do/comparador/moviles?changeStyle=none&ajax=si"; //paso el estado --> none

		xmlHttp.onreadystatechange =
			function() {
				if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
					)
	{
				delete xmlHttp;
				xmlHttp = null;
	}
			};

		xmlHttp.open("GET", url, false);
		xmlHttp.send(null);
	}
}

/*
 * TODO Definir
 * Checkea si las fichas estan abiertas y mueve el boton de mas caracteristicas
 */
function checkboton() {
//	alert("checkboton");

	if	(
			($('#cuerpo_1').css("display") == "block")	&&
			($('#cuerpo_2').css("display") == "none")	&&
			($('#cuerpo_3').css("display") == "none")
		)
	{
		// Se muestra el primero.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","3px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "none")	&&
				($('#cuerpo_2').css("display") == "block")	&&
				($('#cuerpo_3').css("display") == "none")
			)
	{
		// Se muestra el segundo.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","195px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "none")	&&
				($('#cuerpo_2').css("display") == "none")	&&
				($('#cuerpo_3').css("display") == "block")
			)
	{
		// Se muestra el tercero.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","388px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "block")	&&
				($('#cuerpo_2').css("display") == "block")	&&
				($('#cuerpo_3').css("display") == "none")
			)
	{
		// Se muestra el primero y el segundo.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","90px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "none")	&&
				($('#cuerpo_2').css("display") == "block")	&&
				($('#cuerpo_3').css("display") == "block")
			)
	{
		// Se muestra el segundo y el tercero.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","275px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "block")	&&
				($('#cuerpo_2').css("display") == "none")	&&
				($('#cuerpo_3').css("display") == "block")
			)
	{
		// Se muestra el primero y el tercero.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","195px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "block")	&&
				($('#cuerpo_2').css("display") == "block")	&&
				($('#cuerpo_3').css("display") == "block")
			)
	{
		// Se muestra los tres.
		// INFO Estilos del boton
		$("a#mas_menos").css("margin-left","195px");
	}
	else if	(
				($('#cuerpo_1').css("display") == "none")	&&
				($('#cuerpo_2').css("display") == "none")	&&
				($('#cuerpo_3').css("display") == "none")
			)
	{
		// No se muestra ninguno.
		// INFO Estilos del boton
		$("a#mas_menos").hide("fast").css("margin-left","0px");
	}
}

/*
 * Devuelve el objeto para comunicarse con el servidor.
 */
function GetXmlHttpObject() {
//	alert("GetXmlHttpObject");

	var xmlHttp=null;

	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return xmlHttp;
}

/*
 * TODO Definir
 * Funcion para capturar los datos del Select de la marca y enviarlos con Ajax al servidor
 */
function checkMarca(ficha, marca) {
//	alert("checkMarca -> Ficha: " + ficha + " - Marca: " + marca);
	// INFO No se hace nada aposta.
}

/*
 * TODO Definir
 * Funcion para definir lo que tiene que hacer cuando recibe los datos del servidor sobre la marca, en este caso cargar la lista de modelos recibida en el select de modelos
 */
function marcaChanged(ficha) {
//	alert("marcaChanged -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		if (ficha == 1) {
			$("#modelo1").html(xmlHttp.responseText);
			} else {
			if (ficha == 2) {
				$("#modelo2").html(xmlHttp.responseText);
			} else {
				if (ficha == 3) {
					$("#modelo3").html(xmlHttp.responseText);
		} 
			} 
		}
	}
//	pngfix("ID");
			delete xmlHttp;
			xmlHttp = null;
}

/*
 * TODO Definir
 * Funcion para capturar los datos de los dos Select de marca y modelo para poder enviarlos
 * invocacion a funciones, secuencia de ejecucion
 */
function sendMarcaModelo(movil) {
//	alert("sendMarcaModelo -> Movil: " + movil);
	var i = 1;

	do {
		if (movil == i) {
			ficha = i;
			marca = $('#marca'+i).val();
			modelo = $('#modelo'+i).val();

			//getFicha(ficha, marca, modelo);
			//mostrarTexto(ficha, modelo);
			//mostrarPrecio(ficha, modelo);
			//showFicha(ficha);
			if	(
					$('#princ_caracts1').css("display") != "block" &&
					$('#princ_caracts2').css("display") != "block" &&
					$('#princ_caracts3').css("display") != "block"
				)
			{
				// si todas las fichas estan recogidas marco estilo none
				invocarTelefonoInfo(ficha, modelo ,"none");
				$('#princ_caracts1').css("display","none");
				$('#princ_caracts2').css("display","none");
				$('#princ_caracts3').css("display","none");
			} else{
				// si alguna esta
				invocarTelefonoInfo(ficha, modelo ,"block");
				$('#princ_caracts1').css("display","block");
				$('#princ_caracts2').css("display","block");
				$('#princ_caracts3').css("display","block");
			}
			i = i + 1;
		} else {
			i = i + 1;
		}
	} while (i <= 3);

	//renderiza la pila cuando es IE<7
	pngfix("ID");
}

/*
 * TODO Definir
 * Enviar los datos de los dos select de marca y modelo por Ajax para recoger la ficha del modelo
 */
function mostrarPrecio(ficha, modelo) {
//	alert("mostrarPrecio -> Ficha: " + ficha + " - Modelo: " + modelo);
	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3
	if (ficha == 1) {
		var	url="/do/comparador/moviles?ajax=si&precio1=si&m1=" + document.comparadorForm.model1.value
	}

	 if (ficha == 2) {
		var	url="/do/comparador/moviles?ajax=si&precio2=si&m2=" + document.comparadorForm.model2.value
	}

	 if (ficha == 3) {
		var	url="/do/comparador/moviles?ajax=si&precio3=si&m3=" + document.comparadorForm.model3.value
	}

	xmlHttp.onreadystatechange =
		
		function() {
			// TODO Se llama muchas veces
			if (xmlHttp.readyState == 4) {
				mostrarTxtoPrecio(ficha);
				showFicha(ficha);
			}
		};

	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function mostrarTxtoPrecio(ficha) {
//	alert("mostrarTxtoPrecio -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		
		$("#cierre_" +ficha) .html(xmlHttp.responseText) .css("display","block");
		//fichaChanged(ficha);
		// Esto no es necesario pero es para no sobrecargar la memoria y poder enviar varias peticiones (varias pulsaciones de boton)
	delete xmlHttp;
	xmlHttp = null;
	}
}

/*
 * TODO Definir
 */
function mostrarTxtoCabecera(ficha, modelo, xmlHttp) {
//	alert("mostrarTxtoCabecera -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		$("#cabecera_" + ficha + "_texto").html(xmlHttp.responseText);
		// Esto no es necesario pero es para no sobrecargar la memoria y poder enviar varias peticiones (varias pulsaciones de boton)
		delete xmlHttp;
		xmlHttp = null;
	}
}

/*
 * TODO Definir
 */
function mostrarTexto(ficha, modelo) {
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3
	if (ficha == 1) {
		var	url="/do/comparador/moviles?cabecera1=si&ajax=si&m1=" + document.comparadorForm.model1.value;
	}

	if (ficha == 2) {
		var	url="/do/comparador/moviles?cabecera2=si&ajax=si&m2=" + document.comparadorForm.model2.value;
	}

	if (ficha == 3) {
		var	url="/do/comparador/moviles?cabecera3=si&ajax=si&m3=" + document.comparadorForm.model3.value;
	}

	xmlHttp.onreadystatechange =
		function() {
			// TODO Se llama muchas veces
			if (xmlHttp.readyState == 4) {
				mostrarTxtoCabecera(ficha, modelo, xmlHttp);
				mostrarPrecio(ficha, modelo);
	}
		};

	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function invocarTelefonoInfo(ficha, modelo, estado) {
//	alert("invocarTelefonoInfo -> Ficha: " + ficha + " - Modelo: " + modelo + " - Estado: " + estado);

	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3
	if (ficha == 1) {
		var	url="/do/comparador/moviles?estado="+estado+"&ajax=si&selector1=si&m1=" + document.comparadorForm.model1.value;
	}

	if (ficha == 2) {
		var	url="/do/comparador/moviles?estado="+estado+"&ajax=si&selector2=si&m2=" + document.comparadorForm.model2.value;
	}

	if (ficha == 3) {
		var	url="/do/comparador/moviles?estado="+estado+"&ajax=si&selector3=si&m3=" + document.comparadorForm.model3.value;
	}

	xmlHttp.onreadystatechange=
		function() {
			// TODO Se llama muchas veces
			if (xmlHttp.readyState == 4) {
				pintarTelefonoInfo(ficha, modelo);
			}
		};

	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function pintarTelefonoInfo(ficha, modelo) {
//	alert("pintarTelefonoInfo -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		$("#cuerpo_" + ficha).html(xmlHttp.responseText);
		delete xmlHttp;
		xmlHttp = null;
		mostrarTexto(ficha, modelo);
		//pngfix();
	}
}

/*
 * TODO Definir
 * Funcion para definir lo que tiene que hacer cuando recibe los datos del servidor sobre el movil concreto con marca y modelo,
 * en este caso cargar la ficha con los datos de la marca en el espacio correspondiente
 */
function fichaChanged(ficha) {
//	alert("fichaChanged -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		//$("#cuerpo"+ficha).html(xmlHttp.responseText);
		showFicha(ficha);
	}
}

/*
 * TODO Definir
 * @param ficha Ficha a comprobar.
 * @param modelo Cadena del identificador del modelo (model1 o model2 o model3)
 */
function checkModelo(ficha, modelo) {
//	alert("checkModelo -> Ficha: " + ficha + " - Modelo: " + modelo);

	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}

	var url;

	//un if por cada ficha, controlo las urls porque cada ficha tiene la suya, su modelo. m1/m2/m3
	if (ficha == 1) url="/do/comparador/moviles?imgCabez1=si&ajax=si&m1=" + document.comparadorForm.model1.value;
	if (ficha == 2) url="/do/comparador/moviles?imgCabez2=si&ajax=si&m2=" + document.comparadorForm.model2.value;
	if (ficha == 3) url="/do/comparador/moviles?imgCabez3=si&ajax=si&m3=" + document.comparadorForm.model3.value;

	xmlHttp.onreadystatechange =
		function() {
			// TODO Se llama muchas veces
			if (xmlHttp.readyState == 4) {
				modeloChanged(ficha);
			}
		};

	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

/*
 * TODO Definir
 */
function modeloChanged(ficha) {
//	alert("modeloChanged -> Ficha: " + ficha);

	if	(
			(xmlHttp.readyState == 4) ||
			(xmlHttp.readyState == "complete")
		)
	{
		if (ficha == 1) {
			// TODO REVISAR
			$("#imgmovil1").attr("src", xmlHttp.responseText);
			pngfix("imgmovil1");
		} else {
			if (ficha == 2) {
				// TODO REVISAR
				$("#imgmovil2").attr("src", xmlHttp.responseText);
				pngfix("imgmovil2");
			} else {
				if (ficha == 3) {
					// TODO REVISAR
					$("#imgmovil3").attr("src", xmlHttp.responseText);
					pngfix("imgmovil3");
				}
			}
		}
			delete xmlHttp;
			xmlHttp = null;
	}
}

/*
 * TODO Definir
 * Funcion del jQuery
 */
function jQueryOnLoad() {
//	alert("jQueryOnLoad");

	// INFO Variable que tendrá valor si se accede desde una ficha de movil
	var accesoExterno1 = document.comparadorForm.accesoexterno1.value;
	var accesoExterno2 = document.comparadorForm.accesoexterno2.value;
	var accesoExterno3 = document.comparadorForm.accesoexterno3.value;

	// Ocultar lo que por defecto se muestra y viceversa para que se pueda ver la ficha con javascript desactivado

	// INFO Se oculta el boton OK de los teléfono para que no se vea duplicado.
	$('.botoncomparador').hide();


	// INFO Si se accede desde la ficha descriptiva del movil, oculto drop1 (ya está seleccionado)
	if(accesoExterno1 != "null") {
		$('#drop1').hide();
	} else {
		$('#drop1').show();
	}

	if(accesoExterno2 != "null") {
		$('#drop2').hide();
	} else {
		$('#drop2').show();
	}

	if(accesoExterno3 != "null") {
		$('#drop3').hide();
	} else {
		$('#drop3').show();
	}

	// INFO Botones cambiar que cambian el teléfono seleccionado en cada columna.
	$('.submit_bt').css("display","inline");


	// INFO Oculta las caracteristicas detalladas.
	$('.princ_caracts').css("display","none");
	$('.princ_caracts').css("display","none");
	$('.princ_caracts').css("display","none");


	// crear las imagenes de los moviles para q sean arrastrables y el cuerpo cerrado para que se pueda arrastrar sobre el


	// INFO Establece los objetos arrastrables.
	$('#drag1').Draggable(
		{
			revert: 'yes'
		}
	);
	$('#drag2').Draggable(
		{
			revert: 'yes'
		}
	);
	$('#drag3').Draggable(
		{
			revert: 'yes'
		}
	);

	// INFO Establece las zonas de arrastre.
	$('#drop1').Droppable(
		{
			  accept :		'dropimg1'
			, tolerance:	'cursor'
			, hoverclass:	'cuerpo_cerrado_on'
			, activeclass:	'cuerpo_cerrado_activo'
			, onHover: function()
				{
					$('#drop1').removeClass("cuerpo_cerrado_activo");
				}
			, onOut: function()
				{
					$('#drop1').addClass("cuerpo_cerrado_activo");
				}
			, onDrop:	function()
				{
					if	(
							document.comparadorForm.brand1.options[document.comparadorForm.brand1.selectedIndex].value != "" &&
							document.comparadorForm.model1.options[document.comparadorForm.model1.selectedIndex].value != "Modelo"
						)
					{
						sendMarcaModelo(1);
					}
				}
			, fit: true
		}
	);
	$('#drop2').Droppable(
		{
			  accept :		'dropimg2'
			, tolerance:	'cursor'
			, hoverclass:	'cuerpo_cerrado_on'
			, activeclass:	'cuerpo_cerrado_activo'
			, onHover: function()
				{
					$('#drop2').removeClass("cuerpo_cerrado_activo");
				}
			, onOut: function()
				{
					$('#drop2').addClass("cuerpo_cerrado_activo");
				}
			, onDrop:	function()
				{
					if	(
							document.comparadorForm.brand2.options[document.comparadorForm.brand2.selectedIndex].value != "" &&
							document.comparadorForm.model2.options[document.comparadorForm.model2.selectedIndex].value != "Modelo"
						)
					{
						sendMarcaModelo(2);
					}
				}
			, fit: true
		}
	);
	$('#drop3').Droppable(
		{
			accept :		'dropimg3'
			, tolerance:	'cursor'
			, hoverclass:	'cuerpo_cerrado_on'
			, activeclass:	'cuerpo_cerrado_activo'
			, onHover: function()
				{
					$('#drop3').removeClass("cuerpo_cerrado_activo");
				}
			, onOut: function()
				{
					$('#drop3').addClass("cuerpo_cerrado_activo");
				}
			, onDrop:	function()
				{
					if	(
							document.comparadorForm.brand3.options[document.comparadorForm.brand3.selectedIndex].value != "" &&
							document.comparadorForm.model3.options[document.comparadorForm.model3.selectedIndex].value != "Modelo"
						)
					{
						sendMarcaModelo(3);
					}
				}
			, fit: true
		}
	);


	// Acciones para comportamientos de botones y selects
	// INFO Funciones de los botones cambiar.
	$('a#bt_cambiar_1').click(
		function() {
			hideFicha(1);
			document.comparadorForm.brand1.options[0].selected = true;

			var modelOptions = document.comparadorForm.model1.options;
			clearOptions(modelOptions);
			modelOptions[0] = new Option("Modelo");

			// TODO REVISAR
			// Rutina para resto de navegadores
			$("#imgmovil1").attr("src", "/img/comparador/movil_no.png");

			// Rutina para explorer 6
			var img = document.getElementById("imgmovil1");
			img.outerHTML = "<img src='/img/comparador/movil_no.png' alt='Movil' title='imgmovil1' width='37' height='77' id='imgmovil1'/>";
		}
	);
	$('a#bt_cambiar_2').click(
		function() {
			hideFicha(2);
			document.comparadorForm.brand2.options[0].selected=true;

			var modelOptions = document.comparadorForm.model2.options;
			clearOptions(modelOptions);
			modelOptions[0] = new Option("Modelo");

			// TODO REVISAR
			// Rutina para resto de navegadores
			$("#imgmovil2").attr("src", "/img/comparador/movil_no.png");

			// Rutina para explorer 6
			var img = document.getElementById("imgmovil2");
			img.outerHTML = "<img src='/img/comparador/movil_no.png' alt='Movil' title='imgmovil2' width='37' height='77' id='imgmovil2'/>";
		}
	);
	$('a#bt_cambiar_3').click(
		function() {
			hideFicha(3);
			document.comparadorForm.brand3.options[0].selected=true;

			var modelOptions = document.comparadorForm.model3.options;
			clearOptions(modelOptions);
			modelOptions[0] = new Option("Modelo");

			// TODO REVISAR
			// Rutina para resto de navegadores
			$("#imgmovil3").attr("src", "/img/comparador/movil_no.gif");

			// Rutina para explorer 6
			var img = document.getElementById("imgmovil3");
			img.outerHTML = "<img src='/img/comparador/movil_no.gif' alt='Movil' title='imgmovil3' width='37' height='77' id='imgmovil3'/>";
		}
	);


	// INFO Funciones al seleccionar una marca.
	$("select#marca1").change(
		function() {
			checkMarca(1, this.value);

			return false;
		}
	);
	$("select#marca2").change(
		function() {
			checkMarca(2, this.value);

			return false;
		}
	);
	$("select#marca3").change(
		function() {
			checkMarca(3, this.value);

			return false;
		}
	);


	// INFO Funciones al seleccionar un modelo.
	$("select#modelo1").change(
		function() {
			checkModelo(1, this.value);

			return false;
		}
	);
	$("select#modelo2").change(
		function() {
			checkModelo(2, this.value);

			return false;
		}
	);
	$("select#modelo3").change(
		function() {
			checkModelo(3, this.value);

			return false;
		}
	);


	// INFO Funciones de los botones OK.
	$("a#enviarmodelo1").click(
		function() {
			if	(
					document.comparadorForm.brand1.options[document.comparadorForm.brand1.selectedIndex].value != "" &&
					document.comparadorForm.model1.options[document.comparadorForm.model1.selectedIndex].value != "Modelo"
				)
			{
				sendMarcaModelo(1);
			}

			return false;
		}
	);
	$("a#enviarmodelo2").click(
		function() {
			if	(
					document.comparadorForm.brand2.options[document.comparadorForm.brand2.selectedIndex].value != "" &&
					document.comparadorForm.model2.options[document.comparadorForm.model2.selectedIndex].value != "Modelo"
				)
			{
				sendMarcaModelo(2);
			}
	
			return false;
		}
	);
	$("a#enviarmodelo3").click(
		function() {
			if	(
					document.comparadorForm.brand3.options[document.comparadorForm.brand3.selectedIndex].value != "" &&
					document.comparadorForm.model3.options[document.comparadorForm.model3.selectedIndex].value != "Modelo"
				)
			{
				sendMarcaModelo(3);
			}

			return false;
		}
	);


	// INFO Funcion del boton "Mas/Menos Caracteristicas".
	$("a#mas_menos").click(
		function() {
			masMenosCaracts();
			return false;
		}
	);
}

/*
 * TODO Definir
 * pngfix function copied because in ajax it`s not read the js function and interpreted it.
 */
function pngfix(id) {
//	alert("pngfix -> Id: " + id);

	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])

	if	(
			(version < 7) &&
			(document.body.filters)
		)
	{
		if (id == "ID") {
			for (var i=0; i<document.images.length; i++) {
				var img = document.images[i]
				var imgName = img.src.toUpperCase()

				if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
					var imgID = (img.id) ? "id='" + img.id + "' " : ""
					var imgClass = (img.className) ? "class='" + img.className + "' " : ""
					var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
					var imgStyle = "display:inline-block;" + img.style.cssText

					if (img.align == "left") {
						imgStyle = "float:left;" + imgStyle
					}

					if (img.align == "right") {
						imgStyle = "float:right;" + imgStyle
					}

					if (img.parentElement.href) {
						imgStyle = "cursor:hand;" + imgStyle
					}

					var strNewHTML =
						"<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width +
						"px; height:" + img.height + "px;" + imgStyle + ";" +
						"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" +
						"(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";

					img.outerHTML = strNewHTML

					i = i-1
				}
			}
		} else {
			var img = document.getElementById(id);
			var strNewHTML = "<span id="+id+" title='Movil' style=width:37px;height:77px;display:inline-block;;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+img.src+", sizingMethod='scale');\></span>";
			img.outerHTML = strNewHTML
		}
	}
}
