/****************************************************************************
*	Funcion encargada de la inicializacion o carga inicial de la página.
****************************************************************************/
//NUEVO
//ff = (document.getElementById && !document.all) ? true : false;

var isIE = (document.all) ? true : false;

//if (window.XMLHttpRequest) {
//	isIE = false;
//}               
//FIN NUEVO


function inicializar(){

	seleccionarRemitente1();

	var strCabecera='<REGISTRO RemitenteNombre="" RemitenteApellido="" RemitenteCorreo="" RemitenteDomicilio="" RemitenteCodPostal1="" RemitenteCodPostal2="" RemitenteLocalidad="" RemitenteTelefono1="" RemitenteTelefono2="" DestinatarioNombre="" DestinatarioApellido="" DestinatarioTelefono="" DestinatarioCorreo="" DestinatarioDomicilio="" DestinatarioCodPostal1="" DestinatarioCodPostal2="" DestinatarioLocalidad="" TipoTarjeta="" NumTarjeta="" MesCaducidad="" AnoCaducidad="" CodTarjeta="" De="" Para="" Dedicatoria=""/>';
	
	xmlCabecera.async=false;
	
	if (isIE){
		xmlCabecera.loadXML(strCabecera);
	}else{
		var parser = new DOMParser();
		xmlCabecera = parser.parseFromString(strCabecera, "text/xml");	
	}
	
	if (document.all.txtOperativa.value == "INI"){
		obtenerTarjetas();
	}
}

/*****************************************************************************
* Funcion que prepara la pagina al seleccion tipo de remitente 1.
/****************************************************************************/
function seleccionarRemitente1(){
	document.all.capaOtraMorada.style.overflow = "";	
	document.all.capaOtraMorada.style.display = "none";
	document.all.capaOtraMorada2.style.display = "none";	

	document.all.txtDestinatarioNombre.value = "";
	document.all.txtDestinatarioApellido.value =  "";
	document.all.txtDestinatarioDomicilio.value =  "";
	document.all.txtDestinatarioLocalidad.value =  "";
	document.all.txtDestinatarioTelefono.value =  "";
	document.all.txtDestinatarioCodPostal1.value =  "";
	document.all.txtDestinatarioCodPostal2.value =  "";
	document.all.txtDestinatarioCorreo.value =  "";
	document.all.txtIndDomi.value = "0";
}		
			
/*****************************************************************************
* Funcion que prepara la pagina al seleccion tipo de remitente 2.
/****************************************************************************/
function seleccionarRemitente2(){
			
	document.all.capaOtraMorada.style.display = "block";
	document.all.capaOtraMorada2.style.display = "block";	
	
	document.all.txtIndDomi.value = "1";
}

/*****************************************************************************
* Funcion que disminuye en 1 la cantidad de tarjetas del registro pulsado.
/****************************************************************************/
function decrementoCantidad(pos) {
	var numReg, cantidad;
	if (isIE){
		numReg = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").length;
	}else{
		//var oRegistros = xmlDetalle.getElementsByTagName("REGISTRO");
		var oRegistros = xmlDetalle;
		numReg = oRegistros.length;
	}
	
	if (isIE){
		if (numReg > 1){
			cantidad = document.all.txtCantidad.item(pos).value;
			if (cantidad == 0){
				alert(APLQ03007);
			}else{	
				document.all.txtCantidad.item(pos).value = cantidad - 1;
			}
		}else{
			if (document.all.txtCantidad.value == 0){
				alert(APLQ03007);
			}else{	
				cantidad = document.all.txtCantidad.value;
				document.all.txtCantidad.value = cantidad - 1;
			}
		}
	}else{
		cantidad = document.getElementById("txtCantidadFF" + pos).value;
		if (cantidad == 0){
			alert(APLQ03007);
		}else{	
			document.getElementById("txtCantidadFF" + pos).value = cantidad - 1;
		}
	}

	marcarTarjeta();
}

/*****************************************************************************
* Funcion que aumenta en 1 la cantidad de tarjetas del registro pulsado.
/****************************************************************************/
function aumentoCantidad(pos) {
	
	var numReg, cantidad;
	if (isIE){
		numReg = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").length;
	}else{
		//var oRegistros = xmlDetalle.getElementsByTagName("REGISTRO");
		var oRegistros = xmlDetalle;
		numReg = oRegistros.length;
	}
	
	if (isIE){
		if (numReg > 1){
			cantidad = document.all.txtCantidad.item(pos).value;
		}else{
			cantidad = document.all.txtCantidad.value;
		}
	}else{
		cantidad = document.getElementById("txtCantidadFF"+ pos).value;
		if (cantidad == "" || cantidad == "0"){
			cantidad = 0;
		}
	}
	if (cantidad >= 20){
		alert(APLQ03007);
	}else{	
		if (isIE){
			if (numReg > 1){
				document.all.txtCantidad.item(pos).value = ++cantidad;
			}else{
				cantidad = document.all.txtCantidad.value;
				document.all.txtCantidad.value = ++cantidad;
			}
		}else{
			document.getElementById("txtCantidadFF" + pos).value = ++cantidad;
		}
	}

	marcarTarjeta();
}

function marcarTarjeta(){

	var numReg, elemCantidad;
	if (isIE){
		numReg = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").length;
	}else{
		//var oRegistros = xmlDetalle.getElementsByTagName("REGISTRO");
		var oRegistros = xmlDetalle;
		numReg = oRegistros.length;
	}
	var intCantidad;
	
	for (var i=0; i<numReg; i++){
		if (isIE){
			if (numReg > 1) {
				intCantidad = document.all.txtCantidad.item(i).value;
				if (intCantidad != "" && intCantidad != "0"){
					document.all.chkSeleccionar.item(i).checked = true;
				} else {
					document.all.chkSeleccionar.item(i).checked = false;
				}
			}else{
				intCantidad = document.all.txtCantidad.value;
				if (intCantidad != "" && intCantidad != "0"){
					document.all.chkSeleccionar.checked = true;
				} else {
					document.all.chkSeleccionar.checked = false;
				}
			}
			
		//PARA FIREFOX	
		}else{ 
			elemCantidad = document.getElementById("txtCantidadFF" + i).value
			if (elemCantidad != "" && elemCantidad != "0"){
				document.getElementById("chkSeleccionarFF" + i).checked = true;
			} else {
				document.getElementById("chkSeleccionarFF" + i).checked = false;
			}
		}
	}
}
/*****************************************************************************
* Funcion que ejetuta la operativa CARGA para obtener un XML con los datos de 
* las tarjetas publicadas.
/****************************************************************************/
function obtenerTarjetas(){

	var urlDestino = "TarjetaRegalo?OPERATIVA=CARGA";
	var xml = enlacePagProcesoVacio(urlDestino);
	
	//if (controlErrorXML(xml,"Se ha producido algun error al obtener las tarjetas", false)){
	if (controlErrorXML(xml,"Não foi possível recuperar os cartões disponíveis", false)){
		
		if (isIE){
			xmlDetalle.loadXML(xml.selectSingleNode("//GENERAL/REGISTROS").xml);
		}
		else{			
			xmlDetalle = xml.getElementsByTagName("REGISTRO");
			prepararDatosDetalle_FIREFOX();	
		}
	}
	//nuevo
	else{
		window.location.href = "global/html/formulario_respuesta_error.htm";
	}
	//fin nuevo
}

/*****************************************************************************
* Funcion de llamada al Servlet mandando un xml.
/****************************************************************************/
function enlacePagProcesoVacio(strDestino){
	var xml, req;
	
	if (isIE){
		xml = new ActiveXObject("Microsoft.XMLDOM");
		req = new ActiveXObject("Microsoft.XMLHTTP");
	
	}else{
		xml=document.implementation.createDocument("","",null);
    	xml.async=false;
    	req = new XMLHttpRequest();		
	}
	
	req.open("POST",strDestino,false);
	req.send(xml); 
	
	if (isIE){
		//alert("ie: " + req.responseXML);
		//alert("ie: " + req.responseText);//Devuelve el string del xml
		return req.responseXML; 
			
	}else{
		if (req.readyState == 4) {
	      	if (req.status == 200) {
				//alert("FF: " + req.responseXML);//devuelve el obj
				//alert("FF: " + req.responseText);//devuelve el string del xml
				//cadena para pruebas
				//var strCadena = '<REGISTROS><REGISTRO Cantidad="0" CodCampanya="0001" CodPedido="0" Descripcion="Genérica" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0010" CodPedido="0" Descripcion="Enamorados" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0012" CodPedido="0" Descripcion="Infantil" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0013" CodPedido="0" Descripcion="Comuniones" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0014" CodPedido="0" Descripcion="BodaS" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0015" CodPedido="0" Descripcion="Mamás" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/><REGISTRO Cantidad="0" CodCampanya="0018" CodPedido="0" Descripcion="Cumpleaños" Importe="0.0" IndEliminado="" TipoOperacion="" UrlMediana="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/enviar.gif" UrlMenor="http://www.ws.pt.pre.eci.geci/tarjetaregaloportugal/tregaloportugal/global/multimedia/images/telefono.gif" chkEliminar=""/></REGISTROS>';
				//var oRegistros = req.responseXML.getElementsByTagName("REGISTRO");
				return req.responseXML; 
			}
    	}
	}	
}


/*****************************************************************************
* Funcion encargada de formatear los datos de las tarjetas una vez cargados en 
* la pagina.
/****************************************************************************/
function prepararDatosDetalle(){

	if (isIE){
		var numReg = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").length;
	
		if (numReg > 0) {
			for (var i=0; i<numReg; i++){
				if (document.all.tblDetalle.readyState == "complete") {
					var strAux = "";
					var importe = "";
					var servicios = "";
	
					var nodo = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").item(i);
				
					if (nodo.getAttribute("Importe") != null) {
	
						importe = nodo.getAttribute("Importe");
						strAux = formatearCampo(importe,",",".",0);
						nodo.setAttribute("Importe", strAux);
					}
	
					if (nodo.getAttribute("UrlMenor") != null) {
	
						servicios = nodo.getAttribute("UrlMenor");
						if (numReg > 1) {
							document.all["urlImagenPeq"].item(i).src = servicios;
						} else {
							document.all.urlImagenPeq.src = servicios;
						}
					}
	
	
					if (nodo.getAttribute("UrlMediana") != null) {
						var urlAux = nodo.getAttribute("UrlMediana");
						var titulo = "Cartão Presente El Corte Inglés";
						servicios = "javascript:void(AbrirVentanaTitulo('"+urlAux+"',%20300,%20300,'"+titulo+"'));";
	
						if (numReg > 1) {
							document.all.imagenMed.item(i).href = servicios;
						} else {
							document.all.imagenMed.href = servicios;
						}
					}
	
					if (numReg > 1) {
						document.all.imgDisminuye.item(i).href = "javascript:decrementoCantidad("+i+");";
						document.all.imgAumenta.item(i).href = "javascript:aumentoCantidad("+i+");";
					} else {
						document.all.imgDisminuye.href = "javascript:decrementoCantidad("+i+");";
						document.all.imgAumenta.href = "javascript:aumentoCantidad("+i+");";
					}
				}
			}
		}
	}
}


/*****************************************************************************
* Funcion encargada de formatear los datos de las tarjetas una vez cargados en 
* la pagina PARA FIREFOX.
/****************************************************************************/
function prepararDatosDetalle_FIREFOX(){

	var oRegistros = xmlDetalle;
	var numReg = oRegistros.length;
	var tblDetalleFF = document.getElementById("tblDetalleFF");
	if (numReg > 0) {
		for (var i=0; i<numReg; i++){
			var strAux = "";
			var importe = "";
			var servicios = "";
			var oRow = tblDetalleFF.insertRow(i);
			
			//CHECKBOX
			var oCelda0 = oRow.insertCell(0);
			oCelda0.width="18";
			oCelda0.bgColor="#f0f0f0";
			oCelda0.innerHTML="<INPUT type='checkbox' value='checkboxValue' name='chkSeleccionarFF"+i+"' id='chkSeleccionarFF"+i+"' />";
			
			if (oRegistros[i].getAttribute("Importe") != null) {
				importe = oRegistros[i].getAttribute("Importe");
				strAux = formatearCampo(importe,",",".",0);
				oRegistros[i].setAttribute("Importe", strAux);
			}
			
			//IMAGEN
			var oCelda1=oRow.insertCell(1);
			oCelda1.width="57";
			oCelda1.bgColor="#f0f0f0";
			oCelda1.innerHTML="<A name='imagenMedFF" + i + "' id='imagenMedFF" + i + "' href=''><IMG name='urlImagenPeqFF" + i + "' id= 'urlImagenPeqFF" + i + "' src='' width=59 border='0'/></A>";
											
			var urlmenor = oRegistros[i].getAttribute("UrlMenor");
			if ((urlmenor != null) && (urlmenor != "") ){
				servicios = oRegistros[i].getAttribute("UrlMenor");
					
				var ImagePeqElement = document.getElementById("urlImagenPeqFF" + i);
				ImagePeqElement.src = servicios;	
			}

			//DESCRIPCION
			var oCelda2=oRow.insertCell(2);
			oCelda2.width="360";
			oCelda2.bgColor="#f0f0f0";
			oCelda2.innerHTML="<input style='width:96;height:20;font-size:11px;color:#000000;font-family:Arial,helvetica;border-color:#fcfcfc;border-style:solid;border-width:0;background-color:#f0f0f0;' class='standtxtgris' type='text' value='' id='txtDescripcionFF" + i + "' name='txtDescripcionFF" + i + "' readonly size='90'/>";
			
			//nuevo
			if (oRegistros[i].getAttribute("Descripcion") != null) {
				var descrip = oRegistros[i].getAttribute("Descripcion");
				var descripcionElement = document.getElementById("txtDescripcionFF" + i);
				descripcionElement.value = descrip;
			}
			//fin nuevo
			
			//IMG MEDIANA
			var urlmediana = oRegistros[i].getAttribute("UrlMediana");
			if ((urlmediana != null) && (urlmediana != "") ){
				var titulo = "Cartão Presente El Corte Inglés";
				servicios = "javascript:void(AbrirVentanaTitulo('"+urlmediana+"',%20300,%20300,'"+titulo+"'));";

				var urlImagenMedElement = document.getElementById("imagenMedFF" + i);
				urlImagenMedElement.href = servicios;
					
			}
	
			//CANTIDAD
			var oCelda3=oRow.insertCell(3);
			oCelda3.width="68";
			oCelda3.bgColor="#f0f0f0";
			oCelda3.align="center";
			
			var cadenaTabla = "<TABLE cellspacing='0' cellpadding='0' border='0'>";
			cadenaTabla = cadenaTabla + "<TBODY>";
			cadenaTabla = cadenaTabla + 	"<TR>";
			cadenaTabla = cadenaTabla + 		"<TD valign='middle' rowspan='2' align='center'>";
			cadenaTabla = cadenaTabla + 			"<INPUT style='FONT-SIZE: 2.7mm; FONT-FAMILY: Verdana, Arial, Helvetica; text-align: right' maxlength='2' size='2' value='0' name='txtCantidadFF" + i + "' id='txtCantidadFF" + i + "'  onchange='javascript:marcarTarjeta();'/>";
			cadenaTabla = cadenaTabla + 		"</TD>";
			cadenaTabla = cadenaTabla + 		"<TD width='5' rowspan='2'></TD>";
			cadenaTabla = cadenaTabla + 		"<TD valign='bottom'>";
			cadenaTabla = cadenaTabla + 			"<A name='imgAumentaFF" + i + "' id='imgAumentaFF" + i + "' href=''>";
			cadenaTabla = cadenaTabla + 				"<IMG name='btnAumentaFF" + i + "' id='btnAumentaFF" + i + "' height='9' alt='' src='global/multimedia/images/botonmas.gif' width='13' border='0' align='bottom' onclick=''/>";
			cadenaTabla = cadenaTabla + 			"</A>";
			cadenaTabla = cadenaTabla + 		"</TD>";
			cadenaTabla = cadenaTabla + 	"</TR>";
			cadenaTabla = cadenaTabla + 	"<TR>";
			cadenaTabla = cadenaTabla + 		"<TD valign='top'>";
			cadenaTabla = cadenaTabla + 			"<A name='imgDisminuyeFF" + i + "' id='imgDisminuyeFF" + i + "' href=''> ";
			cadenaTabla = cadenaTabla + 				"<IMG name='btnDisminuyeFF" + i + "' id='btnDisminuyeFF" + i + "' height='8' alt='' src='global/multimedia/images/botonmenos.gif' width='13' border='0' align='top' onclick=''>";
			cadenaTabla = cadenaTabla + 			"</A>";
			cadenaTabla = cadenaTabla + 		"</TD>";
			cadenaTabla = cadenaTabla + 	"</TR>";
			cadenaTabla = cadenaTabla + "</TBODY>";
			cadenaTabla = cadenaTabla + "</TABLE>";
			oCelda3.innerHTML=cadenaTabla;
			
				
			var imgDisminuyeElement = document.getElementById("imgDisminuyeFF" + i);
			imgDisminuyeElement.href = "javascript:decrementoCantidad("+i+");";
			
			var imgAumentaElement = document.getElementById("imgAumentaFF" + i);
			imgAumentaElement.href = "javascript:aumentoCantidad("+i+");";
				
			//VALOR
			var oCelda4=oRow.insertCell(4);
			oCelda4.width="76";
			oCelda4.bgColor="#f0f0f0";
			oCelda4.align="center";	
			
			cadenaTabla="";
			cadenaTabla = cadenaTabla + "<TABLE cellSpacing=0 cellPadding=0 border=0>";
			cadenaTabla = cadenaTabla + "	<TBODY>";
			cadenaTabla = cadenaTabla + "		<TR>";
			cadenaTabla = cadenaTabla + "			<TD align='center' valign='middle'>";
			cadenaTabla = cadenaTabla + "				<INPUT style='FONT-SIZE: 2.7mm; FONT-FAMILY: Verdana, Arial, Helvetica; text-align: right' maxlength='3' size='6' name='txtImporteFF" + i + "' id='txtImporteFF" + i + "' />";
			cadenaTabla = cadenaTabla + "			</TD>";
			cadenaTabla = cadenaTabla + "			<TD width=3></TD>";
			cadenaTabla = cadenaTabla + "			<TD vAlign=center align='center'><SPAN class=textogeneral>€</SPAN>";
			cadenaTabla = cadenaTabla + "				<INPUT type='hidden' id='CampanyaFF" + i + "' name='CampanyaFF" + i + "' />";
			cadenaTabla = cadenaTabla + "			</TD>";
			cadenaTabla = cadenaTabla + "		</TR>";
			cadenaTabla = cadenaTabla + "	</TBODY>";
			cadenaTabla = cadenaTabla + "</TABLE>";
			oCelda4.innerHTML=cadenaTabla;
			
			//IMPORTE
			var imp = oRegistros[i].getAttribute("Importe");
			var importeElement = document.getElementById("txtImporteFF" + i);
			importeElement.value = imp;		

		}//fin bucle for
	}
}

function limpiarXML(cadenaXML) {
	cadenaXML = cadenaXML.replace("&amp;","&");
	return cadenaXML.replace(/[\t|\n|\r]*/g,"");
}


//Nueva funcion
function crearXmlCabecera(){
		
	var strResult = "";
	
	//Recuperamos los datos
	var strRemitenteNombre = document.getElementById("txtRemitenteNombre").value;
	var strRemitenteApellido = document.getElementById("txtRemitenteApellido").value;
	var strRemitenteCorreo = document.getElementById("txtRemitenteCorreo").value;
	var strRemitenteDomicilio = document.getElementById("txtRemitenteDomicilio").value;
	var strRemitenteCodPostal1 = document.getElementById("txtRemitenteCodPostal1").value;
	var strRemitenteCodPostal2 = document.getElementById("txtRemitenteCodPostal2").value;
	var strRemitenteLocalidad = document.getElementById("txtRemitenteLocalidad").value;
	var strRemitenteTelefono1 = document.getElementById("txtRemitenteTelefono1").value;
	var strRemitenteTelefono2 = document.getElementById("txtRemitenteTelefono2").value;
	var strDestinatarioNombre = document.getElementById("txtDestinatarioNombre").value;
	var strDestinatarioApellido = document.getElementById("txtDestinatarioApellido").value;
	var strDestinatarioTelefono = document.getElementById("txtDestinatarioTelefono").value;
	var strDestinatarioCorreo = document.getElementById("txtDestinatarioCorreo").value;
	var strDestinatarioDomicilio = document.getElementById("txtDestinatarioDomicilio").value;
	var strDestinatarioCodPostal1 = document.getElementById("txtDestinatarioCodPostal1").value;
	var strDestinatarioCodPostal2 = document.getElementById("txtDestinatarioCodPostal2").value;
	var strDestinatarioLocalidad = document.getElementById("txtDestinatarioLocalidad").value;
	var strTipoTarjeta = "001";
	var strnumeroTarjeta = document.getElementById("numeroTarjeta").value;
	var strDe = document.getElementById("txtDe").value;
	var strPara = document.getElementById("txtPara").value;
	var strDedicatoria = document.getElementById("txtDedicatoria").value;
	//Fin Recuperar datos
	var obCab = xmlCabecera.getElementsByTagName("REGISTRO");
	  
	obCab[0].setAttribute("RemitenteNombre",strRemitenteNombre);
	obCab[0].setAttribute("RemitenteApellido",strRemitenteApellido);
	obCab[0].setAttribute("RemitenteCorreo",strRemitenteCorreo);
	obCab[0].setAttribute("RemitenteDomicilio",strRemitenteDomicilio);
	obCab[0].setAttribute("RemitenteCodPostal1",strRemitenteCodPostal1);
	obCab[0].setAttribute("RemitenteCodPostal2",strRemitenteCodPostal2);
	obCab[0].setAttribute("RemitenteLocalidad",strRemitenteLocalidad);
	obCab[0].setAttribute("RemitenteTelefono1",strRemitenteTelefono1);
	obCab[0].setAttribute("RemitenteTelefono2",strRemitenteTelefono2);
	obCab[0].setAttribute("DestinatarioNombre",strDestinatarioNombre);
	obCab[0].setAttribute("DestinatarioApellido",strDestinatarioApellido);
	obCab[0].setAttribute("DestinatarioTelefono",strDestinatarioTelefono);
	obCab[0].setAttribute("DestinatarioCorreo",strDestinatarioCorreo);
	obCab[0].setAttribute("DestinatarioDomicilio",strDestinatarioDomicilio);
	obCab[0].setAttribute("DestinatarioCodPostal1",strDestinatarioCodPostal1);
	obCab[0].setAttribute("DestinatarioCodPostal2",strDestinatarioCodPostal2);
	obCab[0].setAttribute("DestinatarioLocalidad",strDestinatarioLocalidad);
	obCab[0].setAttribute("TipoTarjeta",strTipoTarjeta);
	obCab[0].setAttribute("NumTarjeta",strnumeroTarjeta);
	obCab[0].setAttribute("De",strDe);
	obCab[0].setAttribute("Para",strPara);
	obCab[0].setAttribute("Dedicatoria",strDedicatoria);
	
	strResult ='<REGISTRO RemitenteNombre="'+strRemitenteNombre +'" RemitenteApellido="'+strRemitenteApellido;
	strResult = strResult + '" RemitenteCorreo="'+strRemitenteCorreo +'" RemitenteDomicilio="';
	strResult = strResult + strRemitenteDomicilio +'" RemitenteCodPostal1="'+strRemitenteCodPostal1;
	strResult = strResult + '" RemitenteCodPostal2="'+strRemitenteCodPostal2 +'" RemitenteLocalidad="';
	strResult = strResult + strRemitenteLocalidad +'" RemitenteTelefono1="'+strRemitenteTelefono1;
	strResult = strResult + '" RemitenteTelefono2="'+strRemitenteTelefono2 +'" DestinatarioNombre="';
	strResult = strResult + strDestinatarioNombre +'" DestinatarioApellido="'+strDestinatarioApellido;
	strResult = strResult + '" DestinatarioTelefono="'+strDestinatarioTelefono +'" DestinatarioCorreo="';
	strResult = strResult + strDestinatarioCorreo +'" DestinatarioDomicilio="'+strDestinatarioDomicilio;
	strResult = strResult + '" DestinatarioCodPostal1="'+strDestinatarioCodPostal1 +'" DestinatarioCodPostal2="';
	strResult = strResult + strDestinatarioCodPostal2 +'" DestinatarioLocalidad="'+strDestinatarioLocalidad;
	strResult = strResult + '" TipoTarjeta="'+strTipoTarjeta +'" NumTarjeta="'+strnumeroTarjeta;
	strResult = strResult + '" MesCaducidad="" AnoCaducidad="" CodTarjeta="" De="'+strDe +'" Para="'+strPara;
	strResult = strResult + '" Dedicatoria="'+ strDedicatoria +'"/>';
	return strResult;
}

var strDetalleFinal = "";
/*****************************************************************************
* Funcion encargada de ejecutar la operativa de ALTA y redireccionar a un 
* formulario de respuesta en caso de que todo funcione correctamente.
/****************************************************************************/
function alta(){
	
	if (validarCriterios()) {
		
		var strAlta, xmlAlta;
		document.all.btnAlta.disabled = true;

		//asignamos valor fijo al combo correspondiente a Cartão El Corte Inglés 
		//descomentar si se habilita de nuevo el combo en la página.  		
       	document.all.cmbTarjeta.value = '001';
       	
		if (isIE){
			strAlta='<ALTA><CABECERA>'+xmlCabecera.xml+'</CABECERA><DETALLE>'+xmlDetalle.selectSingleNode("//REGISTROS").xml+'</DETALLE></ALTA>';
			xmlAlta= new ActiveXObject("Microsoft.XMLDOM");
			
			xmlAlta.async=false;
			xmlAlta.loadXML(strAlta);
			
			strAlta = xmlAlta.xml;
			
		}else{
 			var strCabeceraFinal = crearXmlCabecera();

 			strAlta='<ALTA><CABECERA >'+ strCabeceraFinal +'</CABECERA><DETALLE>'+ strDetalleFinal +'</DETALLE></ALTA>';
			
			xmlAlta=document.implementation.createDocument("","",null);
			xmlAlta.async=false;
			var objParser = new DOMParser();
			xmlAlta = objParser.parseFromString(strAlta, "text/xml");	
    	}

		var xml = enlacePagProceso(strAlta,"TarjetaRegalo?OPERATIVA=ALTA");

		if (controlErrorXML(xml,"Se ha producido algun error en el alta.",true)){
            	window.location.href = "global/html/formulario_respuesta.htm";
		}
	}
}//fin alta()


/************************************************************************************
* Función encargada de validar los datos de cabecera del pedido introducidos.
/************************************************************************************/
function validarCriterios() {

  	var obligatorioMia = "";
	var obligatorioOtra = "";

	if (!validarDetalle()){	

		return false;
	}

	// preparamos los campos
	document.all.txtRemitenteNombre.value = trim(document.all.txtRemitenteNombre.value).toUpperCase();
	document.all.txtRemitenteApellido.value = trim(document.all.txtRemitenteApellido.value).toUpperCase();
	document.all.txtRemitenteDomicilio.value = trim(document.all.txtRemitenteDomicilio.value).toUpperCase();
	document.all.txtRemitenteLocalidad.value = trim(document.all.txtRemitenteLocalidad.value).toUpperCase();
	document.all.txtRemitenteCodPostal1.value = trim(document.all.txtRemitenteCodPostal1.value);
	document.all.txtRemitenteCodPostal2.value = trim(document.all.txtRemitenteCodPostal2.value);
	document.all.txtRemitenteTelefono1.value = trim(document.all.txtRemitenteTelefono1.value);
	document.all.txtRemitenteTelefono2.value = trim(document.all.txtRemitenteTelefono2.value);

	document.all.txtDestinatarioNombre.value = trim(document.all.txtDestinatarioNombre.value).toUpperCase();
	document.all.txtDestinatarioApellido.value = trim(document.all.txtDestinatarioApellido.value).toUpperCase();
	document.all.txtDestinatarioDomicilio.value = trim(document.all.txtDestinatarioDomicilio.value).toUpperCase();
	document.all.txtDestinatarioLocalidad.value = trim(document.all.txtDestinatarioLocalidad.value).toUpperCase();
	document.all.txtDestinatarioCodPostal1.value = trim(document.all.txtDestinatarioCodPostal1.value);
	document.all.txtDestinatarioCodPostal2.value = trim(document.all.txtDestinatarioCodPostal2.value);
	document.all.txtDestinatarioCorreo.value = trim(document.all.txtDestinatarioCorreo.value);
	document.all.txtDestinatarioTelefono.value = trim(document.all.txtDestinatarioTelefono.value);
	
	document.all.txtDe.value = trim(document.all.txtDe.value).toUpperCase();
	document.all.txtPara.value = trim(document.all.txtPara.value).toUpperCase();
	document.all.txtDedicatoria.value = trim(document.all.txtDedicatoria.value).toUpperCase();
	var texto = new String();
  	texto = document.all.txtDedicatoria.value;
  	if(texto.length > 150){
		document.all.txtDedicatoria.value = texto.substring(0,150);
	}
	
	
	if (document.all.txtIndDomi.value == "0"){		
		obligatorioMia = "true";
		obligatorioOtra = "false";		
	}else if (document.all.txtIndDomi.value == "1"){
		obligatorioMia = "false";
		obligatorioOtra = "true";		
	}
		
	// DATOS REMITENTE
	// comprobamos los campos obligatorios
	if (document.all.txtRemitenteNombre.value == ""){
		 alert(APLQ03015);
		 document.all.txtRemitenteNombre.focus();
		 return false;
	}
	
	if (document.all.txtRemitenteApellido.value == ""){
		 alert(APLQ03016);
		 document.all.txtRemitenteApellido.focus();
		 return false;
	}
	
		// Si hay e-mail, que sea correcto
	if (document.all.txtRemitenteCorreo.value != "") {
		if (!esMail(document.all.txtRemitenteCorreo.value)) {
		
			alert(APLQ03002);
			document.all.txtRemitenteCorreo.focus();
			document.all.txtRemitenteCorreo.select();
			return false;
		}
	}	
	
	if(obligatorioMia == "true"){
		if (document.all.txtRemitenteDomicilio.value == ""){
			alert(APLQ03017);
		 	document.all.txtRemitenteDomicilio.focus();
		 	return false;
		}//fin if
	
		if ((document.all.txtRemitenteCodPostal1.value == "") || (document.all.txtRemitenteCodPostal2.value == "")) {
		 	alert(APLQ03018);
		 	document.all.txtRemitenteCodPostal1.focus();
		 	return false;
		}//fin if-else
	}
	if(obligatorioOtra == "true"){
		if(((document.all.txtRemitenteCodPostal1.value != "") && (document.all.txtRemitenteCodPostal2.value == "")) ||
	   	   ((document.all.txtRemitenteCodPostal1.value == "") && (document.all.txtRemitenteCodPostal2.value != ""))){
				alert(APLQ03003);
				document.all.txtRemitenteCodPostal1.focus();
				document.all.txtRemitenteCodPostal1.select();
				return false;
		}
	}
	if ((document.all.txtRemitenteCodPostal1.value != "") && (document.all.txtRemitenteCodPostal2.value != "")){
		if (!esNumeros(document.all.txtRemitenteCodPostal1.value)){
			alert(APLQ03003);
			document.all.txtRemitenteCodPostal1.focus();
			document.all.txtRemitenteCodPostal1.select();
			return false;
		}//fin if
		if(!esNumeros(document.all.txtRemitenteCodPostal2.value)){
			alert(APLQ03003);
			document.all.txtRemitenteCodPostal2.focus();
			document.all.txtRemitenteCodPostal2.select();
			return false;
		}//fin if		
	}//fin if

	
	if(obligatorioMia == "true"){
		if (document.all.txtRemitenteLocalidad.value == ""){
		 	alert(APLQ03019);
		 	document.all.txtRemitenteLocalidad.focus();
		 	return false;
		}//fin if
	}//fin if(obligatorioMia)

	// comprobamos los campos no obligatorios

	// Teléfonos del remitente	
	if (document.all.txtRemitenteTelefono1.value == ""){
		alert(APLQ03036);
		document.all.txtRemitenteTelefono1.focus();
		document.all.txtRemitenteTelefono1.select();
		return false;
	} else if (!esNumeros(document.all.txtRemitenteTelefono1.value)) {
		alert(APLQ03004);
		document.all.txtRemitenteTelefono1.focus();
		document.all.txtRemitenteTelefono1.select();
		return false;
	}
	
	if (document.all.txtRemitenteTelefono2.value != ""){
		if (!esNumeros(document.all.txtRemitenteTelefono2.value)) {
			alert(APLQ03001);
			document.all.txtRemitenteTelefono2.focus();
			document.all.txtRemitenteTelefono2.select();
			return false;
		}
	}

	//DATOS DESTINATARIO

	//Si hay algun campo relleno se validan, no son obligatorios los campos de destinatario.
	if (obligatorioOtra == "true"){

		if (document.all.txtDestinatarioNombre.value == ""){
			 alert(APLQ03020);
			 document.all.txtDestinatarioNombre.focus();
			 return false;
		}
		
		if (document.all.txtDestinatarioApellido.value == ""){
			 alert(APLQ03021);
			 document.all.txtDestinatarioApellido.focus();
			 return false;
		}
	
		if (document.all.txtDestinatarioTelefono.value == ""){
			alert(APLQ03036);
			document.all.txtDestinatarioTelefono.focus();
			document.all.txtDestinatarioTelefono.select();
			return false;
		} else if (!esNumeros(document.all.txtDestinatarioTelefono.value)) {
			alert(APLQ03004);
			document.all.txtDestinatarioTelefono.focus();
			document.all.txtDestinatarioTelefono.select();
			return false;
		}
		
		if (document.all.txtDestinatarioDomicilio.value == ""){
			 alert(APLQ03022);
			 document.all.txtDestinatarioDomicilio.focus();
			 return false;
		}
		
		if (document.all.txtDestinatarioCodPostal1.value == "" || document.all.txtDestinatarioCodPostal2.value == ""){
			 alert(APLQ03023);
			 document.all.txtDestinatarioCodPostal1.focus();
			 return false;
		} else {		
			if (!esNumeros(document.all.txtDestinatarioCodPostal1.value)){
				alert(APLQ03003);
				document.all.txtDestinatarioCodPostal1.focus();
				document.all.txtDestinatarioCodPostal1.select();
				return false;
			}
			if(!esNumeros(document.all.txtDestinatarioCodPostal2.value)){
				alert(APLQ03003);
				document.all.txtDestinatarioCodPostal2.focus();
				document.all.txtDestinatarioCodPostal2.select();
				return false;					
			}
		}
		
		if (document.all.txtDestinatarioLocalidad.value == ""){
			 alert(APLQ03024);
			 document.all.txtDestinatarioLocalidad.focus();
			 return false;
		}
	
		// comprobamos los campos no obligatorios
		// E-mail del destinatario
		if (document.all.txtDestinatarioCorreo.value != "") {
			if (!esMail(document.all.txtDestinatarioCorreo.value)) {
				alert(APLQ03002);
				document.all.txtDestinatarioCorreo.focus();
				document.all.txtDestinatarioCorreo.select();
				return false;
			}
		}
	}//fin (obligatorioOtra)
	
	//VALIDAMOS LA FORMA DE PAGO

/**
	//COMENTAMOS VALIDACIÓN PARA OCULTAR EL 
   	  COMBO DE TIPO DE TARJETA EN LA PÁGINA

	if(document.all.cmbTarjeta.value == ""){
		alert(APLQ03035);
		document.all.cmbTarjeta.focus();
		return false;
	}
	
	if(document.all.cmbTarjeta.value == "002"){
		if(document.all.numeroTarjeta.value == ""){
			alert(APLQ03030);
			document.all.numeroTarjeta.focus();
			return false;
		} else if (!esNumeros(document.all.numeroTarjeta.value)) {
			alert(APLQ03033);
			document.all.numeroTarjeta.focus();
			document.all.numeroTarjeta.select();
			return false;
		}
		
		if(document.all.cmbMes.value == ""){
			alert(APLQ03031);
			document.all.cmbMes.focus();
			return false;
		}
		if(document.all.cmbAnio.value == ""){
			alert(APLQ03031);
			document.all.cmbAnio.focus();
			return false;
		}

		if(document.all.codSegur.value == ""){
			alert(APLQ03032);
			document.all.codSegur.focus();
			return false;
		} else if (!esNumeros(document.all.codSegur.value)) {
			alert(APLQ03034);
			document.all.codSegur.focus();
			document.all.codSegur.select();
			return false;
		}
			
	}else if(document.all.cmbTarjeta.value == "001"){
		if(document.all.numeroTarjeta.value == ""){
			alert(APLQ03030);
			document.all.numeroTarjeta.focus();
			return false;
		} else if (!esNumeros(document.all.numeroTarjeta.value)) {
			alert(APLQ03033);
			document.all.numeroTarjeta.focus();
			document.all.numeroTarjeta.select();
			return false;
		}

	}
**/
	//Validamos número de tarjeta
	if(document.all.numeroTarjeta.value == ""){
		alert(APLQ03030);
		document.all.numeroTarjeta.focus();
		return false;
	} else if (!esNumeros(document.all.numeroTarjeta.value)) {
		alert(APLQ03033);
		document.all.numeroTarjeta.focus();
		document.all.numeroTarjeta.select();
		return false;
	}

	return true;
}


/************************************************************************************
* Función encargada de validar los datos de detalle introducidos.
/************************************************************************************/
function validarDetalle(){
	
	var numReg;
	if (isIE){
		numReg = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").length;
	}else{
		//var oRegistros = xmlDetalle.getElementsByTagName("REGISTRO");
		var oRegistros = xmlDetalle;
		numReg = oRegistros.length;
	}
	
	var chkSeleccion = "";
	var seleccionada = false;
	var mostrarFocoCantidad = false;
	var mostrarFocoImporte = false;
	strDetalleFinal = "<REGISTROS>";
	
	for (var i=0; i<numReg; i++){
		mostrarFocoCantidad = false;
		mostrarFocoImporte = false;
		if (isIE){
			var nodo = xmlDetalle.selectNodes("//REGISTROS/REGISTRO").item(i);
			chkSeleccion = nodo.getAttribute("chkEliminar");
		}else{
			//chkSeleccion = oRegistros[i].getAttribute("chkEliminar");
			chkSeleccion = document.getElementById("chkSeleccionarFF" + i).checked;
			
		}
	
		//if (chkSeleccion == "-1"){
		if (chkSeleccion == "-1" || chkSeleccion == true){
			//nuevo
			if (!isIE){
				document.getElementById("chkSeleccionarFF" + i).value = "-1";
				xmlDetalle[i].setAttribute("chkEliminar","-1");
			}
			//fin nuevo		
			//Cantidad *********************************************
			seleccionada = true;
			if (isIE){
				var cantidad = nodo.getAttribute("Cantidad");	
			}else{
				//var cantidad = oRegistros[i].getAttribute("Cantidad");
				var cantidad = document.getElementById("txtCantidadFF" + i).value;
				if (cantidad != "" && !isNaN(cantidad)){cantidad = Number(cantidad);}
				xmlDetalle[i].setAttribute("Cantidad",cantidad);
		
			}
			
			if (!esNumeros(cantidad)) {
				alert(APLQ03006);
				mostrarFocoCantidad = true;
			}else {
				if(cantidad > 20 || cantidad < 1) {
					alert(APLQ03007);
					mostrarFocoCantidad = true;
				}
			}
			if (mostrarFocoCantidad){
				if (isIE){
					if (numReg > 1){
						document.all.txtCantidad.item(i).focus();
					} else {
						document.all.txtCantidad.focus();
					}
				}else{
					document.getElementById("txtCantidadFF" + i).focus();
				}
				return false;	
			}
						
			//Importe *******************************************
			if (isIE){
				var importe = nodo.getAttribute("Importe");		
			}else{
				//var importe = oRegistros[i].getAttribute("Importe");		
				var importe = document.getElementById("txtImporteFF" + i).value;
				xmlDetalle[i].setAttribute("Importe",importe);	
			}
			if (!esNumeros(importe)){
				alert(APLQ03006);
				mostrarFocoImporte = true;
			}else {
				if (importe > 500 || importe < 10) {
					alert(APLQ03008);
					mostrarFocoImporte = true;
				}					
			}
			if (mostrarFocoImporte){
				if (isIE){
					if (numReg > 1){
						document.all.txtImporte.item(i).focus();
					} else {
						document.all.txtImporte.focus();
					}
				}else{
					document.getElementById("txtImporteFF" + i).focus();
				}
				return false;
			}
		}
		if (!isIE){
			strDetalleFinal = strDetalleFinal + '<REGISTRO Cantidad="'+xmlDetalle[i].getAttribute("Cantidad");
			strDetalleFinal = strDetalleFinal + '" CodCampanya="'+xmlDetalle[i].getAttribute("CodCampanya");
			strDetalleFinal = strDetalleFinal + '" CodPedido="'+xmlDetalle[i].getAttribute("CodPedido");
			strDetalleFinal = strDetalleFinal + '" Descripcion="'+xmlDetalle[i].getAttribute("Descripcion");
			strDetalleFinal = strDetalleFinal + '" Importe="'+xmlDetalle[i].getAttribute("Importe");
			strDetalleFinal = strDetalleFinal + '" IndEliminado="'+xmlDetalle[i].getAttribute("IndEliminado")+'" TipoOperacion="'+xmlDetalle[i].getAttribute("TipoOperacion"); 
			strDetalleFinal = strDetalleFinal + '" UrlMediana="'+xmlDetalle[i].getAttribute("UrlMediana"); 
			strDetalleFinal = strDetalleFinal + '" UrlMenor="'+xmlDetalle[i].getAttribute("UrlMenor");
			strDetalleFinal = strDetalleFinal + '" chkEliminar="'+xmlDetalle[i].getAttribute("chkEliminar")+'"/>';
		}
	}//fin bucle for
	strDetalleFinal = strDetalleFinal + "</REGISTROS>";	
	
	if(!seleccionada){
		alert(APLQ03029);
		return false;
	}else{
		return true;
	}
}


/************************************************************************************
* Función encargada de cargar el combo (año de caducidad de tarjeta) con 9 años 
* a partir del año actual.
/************************************************************************************/
function cargarComboAnio(){
	var ind=0;
	var opcion;

	var fechaSis = hoy();
	var anioSis = fechaSis.substring(6,10);
	var strAnyo = "";

	document.all.cmbAnio.clear;

	opcion = new Option();
	document.all.cmbAnio.options[0] = opcion;
	document.all.cmbAnio.options[0].text  = "Ano";
	document.all.cmbAnio.options[0].value = "";

	for (i=1;i<9;i++){
		opcion = new Option();
		document.all.cmbAnio.options[i] = opcion;
		document.all.cmbAnio.options[i].text  = anioSis;
		strAnyo = anioSis + " ";
		document.all.cmbAnio.options[i].value = strAnyo.substring(2,4);
		anioSis++;
	}
	document.all.cmbAnio.value = "";
	document.all.cmbMes.value = "";
}

