/*
--------------------------------------------------------------------------------
 Fecha de Modificación: 05/02/2009
 PPCR: 2009-00013
 Desarrollador: Coaker Matias 
 Descripción: Impuesto de Sellados en CAP FED.
--------------------------------------------------------------------------------
 Fecha de Modificación: 06/08/2008
 PPCR: 2008-00516 y 2008-00552
 Desarrollador: Marroni Juan Pablo
 Descripción: Cambio de Firma y Marca
--------------------------------------------------------------------------------
 Fecha de Modificación: 12/05/2008
 PPCR: 20070166-1
 Desarrollador: Damian Czajkovski
 Descripción: Por pedido de e channels (Mail Carla Vaccaro 08/05/08) se quita la 
 leyenda de la pagina de detalle de comercio, solamente se deja en el resultado de la cotizacion.
--------------------------------------------------------------------------------
 Fecha de Modificación: 12/12/2007
 PPCR: 200701661
 Desarrollador: Damian Czajkovski
 Descripción: Se agrega el aviso de Ingresos brutos en el caso que el cliente 
 se encuentre en la provincia de Buenos Aires y no sea consumidor final. 
--------------------------------------------------------------------------------

 COPYRIGHT. THE HONGKONG AND SHANGHAI BANKING CORPORATION LIMITED 2007. 
 ALL RIGHTS RESERVED
 
 This software is only to be used for the purpose for which it has been provided.
 No part of it is to be reproduced, disassembled, transmitted, stored in a 
 retrieval system or translated in any human or computer language in any way or
 for any other purposes whatsoever without the prior written consent of the Hong
 Kong and Shanghai Banking Corporation Limited. Infringement of copyright is a 
 serious civil and criminal offence, which can result in heavy fines and payment 
 of substantial damages.

Nombre del JavaScript: ICOModular.js

Fecha de Creación: desconocido

PPcR: desconocido

Desarrollador: desconocido

Descripción: Se incorpora al fuente el ammendment para cumplir con los requisitos de QA. 
El fuente es preexistente, se desconoce la fecha real de creación y el PPCR original.

--------------------------------------------------------------------------------
*/
	function getCurrentModulo(IdCobertura)
	{
		var xmlModulos,IdCampoDeterminante,ValueCampoDeterminante;
		var i, bValido;
		var Flag = false;
		
		xmlModulos = window.document.getElementById ('xmlmodulos');
		xmlCamposDeterminantes = window.document.getElementById ('xmlparametrosgenerales').selectSingleNode('//coberturasdeterminantes');
		IdCampoDeterminante = 0;
		
		//Verifico cuales de los campos determinantes establecidos en el XML tiene valor cargado en la pagina
		if(window.document.getElementById ('xmlparametrosgenerales').selectNodes('//coberturasdeterminantes').length == 0)
		{
			//Si no hay campos determinantes de módulo, es una actividad no modularizada y se asume 1
			document.getElementById("I_MODULO").value = 1 ;
			return document.getElementById("I_MODULO").value;
		}
		else
		{
			for (i=0; i < xmlCamposDeterminantes.childNodes.length;i++)
			{
				if(Flag==false)
				{
					 Flag = (xmlCamposDeterminantes.childNodes(i).text==IdCobertura);
				}
	
				ValueCampo = parseFloat(window.document.getElementById (xmlCamposDeterminantes.childNodes(i).text).value);
				
				if (ValueCampo != 0) 
				{
					IdCampoDeterminante = xmlCamposDeterminantes.childNodes(i).text;
					ValueCampoDeterminante = ValueCampo;
				}
			}
		}
		//Si no existe ningun valor cargado, no devuelvo el modulo porque no se sabe sobre cual deberia trabajar
		if (IdCampoDeterminante==0) return 0;
	
		//Verifico segun lo ingresado en la pagina en que modulo estaria trabajando
		for (i=0; i < xmlModulos.childNodes(0).childNodes.length ; i++)
		{	
			//Verifico que exista definicion para el campo determinante en el modulo que estoy chequeando
			if (xmlModulos.childNodes(0).childNodes(i).selectNodes("./cobertura[@Codigo='" + IdCampoDeterminante + "']").length !=0 )
			{
				ValorMinimoModulo = parseFloat(xmlModulos.childNodes(0).childNodes(i).selectSingleNode("./cobertura[@Codigo='" + IdCampoDeterminante + "']").attributes.getNamedItem('Min').text);
				ValorMaximoModulo = parseFloat(xmlModulos.childNodes(0).childNodes(i).selectSingleNode("./cobertura[@Codigo='" + IdCampoDeterminante + "']").attributes.getNamedItem('Max').text);

				bValido = true;			
				if ((ValorMinimoModulo) > (ValueCampoDeterminante))
				     bValido = false;
				if ((ValorMaximoModulo) != 0)
				   if (parseFloat(ValorMaximoModulo) < (ValueCampoDeterminante))
				        bValido = false;			        
				if(bValido)	    
				    {
					return xmlModulos.childNodes(0).childNodes(i).attributes.getNamedItem("Codigo").text;
					//document.getElementById("I_MODULO").value = xmlModulos.childNodes(0).childNodes(i).attributes.getNamedItem("Codigo").text;
					//return document.getElementById("I_MODULO").value;
				    }
			}
		}     
		
		if(Flag==true) 
		{
			//alert(GetErrorModulos());
		}
		
		return 0; //Si no resolvio el modulo no devuelvo ninguno
		
	}	

	function IsCoberturaObligatoria(IdCampo)
	{
		var objCobertura, objCoberturaPrincipal;
		objCobertura = window.document.getElementById(IdCampo);
		if (objCobertura.Obligatoria == "S")
			return true;
		if (objCobertura.ObligatoriaAnteValorPrincipal == "S")
			{
				objCoberturaPrincipal = window.document.getElementById(objCobertura.CodigoCoberturaPrincipal);
				if (objCoberturaPrincipal.value != 0)
					return true;		
			}
		return false;
	}
	
	function getValorCorrecto(IdCampo,IdModulo,EvalModo)
	{
		//EvalModo '': Devuelve Minimo para todas las coberturas
		//EvalModo 0: No Devuelve el Minimo en caso que el valor ingresado para la cobertura sea cero (Obvio que no va a superar al maximo)
		//EvalModo 1: Igual funcionamiento que EvalModo 0 con la diferencia que SI devuelve minimo en caso que la cobertura sea obligatoria fija o heredada
		//EvalModo 2: Retorna siempre el Maximo valor que puede tomar la cobertura
		
		var xmlModulos,xmlModulo,ValorMinimo,ValorMaximo,Nodo;
		
		ValorMinimo = 0;
		ValorMaximo = 99999999;
		if (IdModulo==0)
		{
			return(0);
		}
		xmlCamposDeterminantes = window.document.getElementById ('xmlparametrosgenerales');
		xmlModulos = window.document.getElementById ('xmlmodulos');
		xmlModulo = xmlModulos.selectSingleNode('//modulos/modulo[@Codigo=' + IdModulo + ']');
		if(window.document.getElementById(IdCampo).value == "")
			ActualValue = 0;
		else
			ActualValue = parseFloat(window.document.getElementById(IdCampo).value);
		ReturnValue = ActualValue;
		CoberturaPrincipal = parseFloat(window.document.getElementById (IdCampo).CodigoCoberturaPrincipal); 
		if (CoberturaPrincipal != 0)
		{
			//alert(CoberturaPrincipal + ": " + window.document.getElementById (CoberturaPrincipal).value);
			if (parseFloat(window.document.getElementById (CoberturaPrincipal).value) == 0)
			{
				ValorMaximo = 0;
			}
		}
		
		if( ValorMaximo !=0)
		{
			if(window.document.getElementById(IdCampo).Determinante == "I" && CoberturaPrincipal == 0)
			{
				ValorMinimo = parseFloat(window.document.getElementById(IdCampo).TopeMinimo);			
				ValorMaximo = parseFloat(window.document.getElementById(IdCampo).TopeMaximo);
			}
			else
			{
				if (xmlModulo.selectNodes("./cobertura[@Codigo='" + IdCampo + "']").length != 0 )
				{
					//Existe definicion para este campo
					if (xmlCamposDeterminantes.selectNodes("//coberturasdeterminantes[codigocobertura='" + IdCampo + "']").length ==0)
					{
						//La cobertura que se esta evaluando no determina modulo, puedo realizar la validacion
						Nodo = xmlModulo.selectSingleNode("./cobertura[@Codigo='" + IdCampo + "']");
						ValorMinimo = parseFloat(Nodo.attributes.getNamedItem('Min').text);
						ValorMaximo = parseFloat(Nodo.attributes.getNamedItem('Max').text);
						PorcentajeCoberturaPrincipal = parseFloat(Nodo.attributes.getNamedItem('PorcentajeCoberturaPrincipal').text);
						if (CoberturaPrincipal != 0)
							if (Nodo.attributes.getNamedItem('PorcentajeFijoOTope').text == 'F')
							{
								//Este Campo es un Valor Fijo por lo que es un Porcentaje de Otro
								ValorMaximo = parseFloat(window.document.getElementById (CoberturaPrincipal).value) * PorcentajeCoberturaPrincipal / 100;
								ValorMinimo = ValorMaximo;
							}
							else
							{
								if (Nodo.attributes.getNamedItem('PorcentajeFijoOTope').text == 'T')
								{
									ValorMaximoPorcentaje = parseFloat(window.document.getElementById	(CoberturaPrincipal).value) * PorcentajeCoberturaPrincipal / 100;
									if (ValorMaximoPorcentaje != 'NaN')
										ValorMaximo = Min(ValorMaximo,ValorMaximoPorcentaje);
								}			
							}
						if (IdCampo == '370')
								ValorMaximo = ValorMaximo - parseFloat(window.document.getElementById ('304').value);

					}
				}
			}
		}
		IsObligatoria = IsCoberturaObligatoria(IdCampo);
		if (   (  (ActualValue != 0) || ((EvalModo != 0) && (EvalModo != 1)) || (  IsObligatoria && ( (EvalModo == 1) || ((ValorMaximo)==(ValorMinimo)) )  )) && (ActualValue) < (ValorMinimo)   )ReturnValue = ValorMinimo;
		if ((ActualValue) > (ValorMaximo))ReturnValue = ValorMaximo;
		if ((ValorMaximo) < (ValorMinimo))ReturnValue = ActualValue; //Ojo, ver que se hace en estos casos
		if (EvalModo == 2) ReturnValue = ValorMaximo;

		return (ReturnValue);
	}
	        
	function Min(value1,value2)
	{
		if (value1>value2) return value2; else return value1;
	}

function JSMostrarError()
{
	var wvarError;
	
	wvarError = "<table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'>";
	wvarError += "<tr>";
	wvarError += "<td class='textonormal' align=center>&nbsp;&nbsp;Estimado usuario, lamentamos informarle que por motivos de mantenimiento ";
	wvarError += "el cotizador no est&aacute; disponible en este momento. ";
	wvarError += "Si lo desea, puede ";
	wvarError += "volver a intentarlo m&aacute;s tarde. ";
	wvarError += "</td></tr><tr><td align='center' class='textonormal'>Atentamente. HSBC Seguros.</td>";
	wvarError += "</tr></table>";
	
	try
	{
		document.all.DVError.innerHTML = wvarError;				
	}
	catch (e)
	{
		;
	}
}

/* ******************************************************************** */
/* ******************************************************************** */
/* ******************************************************************** */

	var xmlHTTP;
	var xmlHTTPCotiza;
	var xmlDOM;
	var xmlDOMCotiza;
	var oDIV;
	var BotonCotizar = "";
	var vContinuar = false;
	
	/* ******************************************************************** */
	function fncRecalcular()
	{	
		ActualizarBotonCotizar();

		mIdCoberturaInvocante = 0;
		if (window.event.srcElement.tipo == "cBasica" || window.event.srcElement.tipo == "cAdicional")
		{
			//Seteo el ID de la cobertura solo cuando esta funcion es llamada por alguna
			mIdCoberturaInvocante = window.event.srcElement.id;
		}
		if (window.event.srcElement.tipo == "cBasica")
			fncRecalcularBasicas(mIdCoberturaInvocante);
			
		fncRecalcularAdicionales(1,mIdCoberturaInvocante);	
	}
	/* ******************************************************************** */
	function fncRecalcularAdicionales(pCompletarCombosAdicionales, pIdCoberturaInvocante)
	{
		var cont;
		var j;
		var ActualValue;

		ActualizarBotonCotizar();
		
		CurrentModulo = getCurrentModulo(pIdCoberturaInvocante);
		cont = frmCotizacion.elements.length;
		//if (CurrentModulo !=0) // Aplica las validaciones solo si tiene un modulo para realizarlas
			for (j=0; j < cont; j++)
			{
				if(frmCotizacion.elements[j].tipo == "cAdicional")
				{
					if (pCompletarCombosAdicionales == 1)
					{
						//alert("Verificando: " +  frmCotizacion.elements[j].id);
						//alert(window.document.getElementById("c" + frmCotizacion.elements[j].id).value);
						if (window.document.getElementById("c" + frmCotizacion.elements[j].id) != null)
							ActualValue = window.document.getElementById("c" + frmCotizacion.elements[j].id).value;
						else 
							ActualValue = 0;
						strModulos = "<SELECT id='c" + frmCotizacion.elements[j].id + "' style='WIDTH: 70px' class='form_drops' onchange='fncRecalcularAdicionales();'>";
						if (CurrentModulo != 0)
							MaxCantModulos = GetMaxCantModulos(frmCotizacion.elements[j].id,CurrentModulo);
						else
							MaxCantModulos = 0;
							
						for (i=0; i <= MaxCantModulos; i++)
							{
								if (parseFloat(ActualValue) == parseFloat(i) * (parseFloat(frmCotizacion.elements[j].pUnitario)))
									strModulos = strModulos + "<option value = '" + parseInt(parseFloat(frmCotizacion.elements[j].pUnitario) * parseFloat(i)) + "' selected>" + parseInt(parseFloat(frmCotizacion.elements[j].pUnitario) * parseFloat(i)) +  "</option>";
								else
									strModulos = strModulos + "<option value = '" + parseInt(parseFloat(frmCotizacion.elements[j].pUnitario) * parseFloat(i)) + "'>" + parseInt(parseFloat(frmCotizacion.elements[j].pUnitario) * parseFloat(i)) +  "</option>";
							}
						strModulos = strModulos + "</SELECT>";
						window.document.getElementById("dc" + frmCotizacion.elements[j].id).innerHTML =  strModulos;
					}
					if (window.document.getElementById("c" + frmCotizacion.elements[j].id) != null)
						//frmCotizacion.elements[j].value = parseFloat(window.document.getElementById("c" + frmCotizacion.elements[j].id).value) * parseFloat(frmCotizacion.elements[j].pUnitario);
						frmCotizacion.elements[j].value = parseFloat(window.document.getElementById("c" + frmCotizacion.elements[j].id).value);
					else
						frmCotizacion.elements[j].value = "";
				}			
			}
	}

	/* ******************************************************************** */
	function fncRecalcularBasicas(pIdCoberturaInvocante)
	{
		var mValorCoberturaIncendioEdificio;
		var oDivComboIncendioContenido;
		var mCadenaValores;
		var mValor;
		
		ActualizarBotonCotizar();
		
		if (pIdCoberturaInvocante == '100')
		{
			//Esta Cobertura Dispara la actualizacion del combo de Incendio Contenido
			mValorCoberturaIncendioEdificio = parseFloat(window.document.getElementById ('100').value);
			oDivComboIncendioContenido = window.document.getElementById ('d101');
			// Cargo el Combo con el +/- 20% del valor de incendio Edificio
			oDivComboIncendioContenido.style.display = 'inline';
			mCadenaValores = "";
			if (mValorCoberturaIncendioEdificio != -1)
			{
				mCadenaValores = "<SELECT class='form_drops' onchange='fncRecalcular();' style='WIDTH: 70px' name='101' id='101' tipo='cBasica'>'";
				mValor = (mValorCoberturaIncendioEdificio - (mValorCoberturaIncendioEdificio * 0.2));
				mCadenaValores = mCadenaValores + "<option value = '" + mValor + "'>" + mValor +  "</option>";
				mValor = mValorCoberturaIncendioEdificio;
				mCadenaValores = mCadenaValores + "<option value = '" + mValor + "' selected>" + mValorCoberturaIncendioEdificio +  "</option>";
				mValor= (mValorCoberturaIncendioEdificio + (mValorCoberturaIncendioEdificio * 0.2));
				mCadenaValores = mCadenaValores + "<option value = '" + mValor + "'>" + mValor +  "</option>";
				mCadenaValores = mCadenaValores + '</SELECT>';
			}
			oDivComboIncendioContenido.innerHTML = mCadenaValores;
		}
		ValidarCoberturasBasicas (pIdCoberturaInvocante);
	}
	/* ******************************************************************** */
	function GetMaxCantModulos(pidCobertura,pCurrentModulo)
	{
		if (parseFloat(window.document.getElementById(pidCobertura).pUnitario)!=0 && pCurrentModulo!=0)
			return parseFloat(getValorCorrecto(pidCobertura,1,2))/parseFloat(window.document.getElementById(pidCobertura).pUnitario);
		else
			return 0;
	}	
	/* ******************************************************************** */
	function ActualizarBotonCotizar()
	{
		vContinuar = false;
		if (BotonCotizar != "")
			dTotalCotizado.innerHTML = BotonCotizar;
	}
	/* ******************************************************************** */
	function ValidarCoberturasBasicas(IdCobertura)
	{
		var cont;
		var j;
		CurrentModulo = getCurrentModulo(IdCobertura);
		cont = frmCotizacion.elements.length;	
		//if (CurrentModulo !=0) // Aplica las validaciones solo si tiene un modulo para realizarlas
			for (j=0; j < cont; j++)
			{
				if(frmCotizacion.elements[j].tipo == "cBasica")
				{
					//alert("Verificando: " +  frmCotizacion.elements[j].id);
					if (frmCotizacion.elements[j].id != '101' && frmCotizacion.elements[j].id != '100')
					{
						CorrectValue = getValorCorrecto(frmCotizacion.elements[j].id,CurrentModulo);
						if (parseFloat(frmCotizacion.elements[j].value) != parseFloat(CorrectValue))
							if (parseFloat(CorrectValue) == 0)
								frmCotizacion.elements[j].value = "";
							else
								frmCotizacion.elements[j].value = CorrectValue;						
						document.getElementById("etiq" + frmCotizacion.elements[j].id).innerText = frmCotizacion.elements[j].value
					}
				}			
			}
		return;	
	}
	/* ******************************************************************** */
	function MuestraCoberturas(pUSUARIO, pRAMOPCOD, pACTIVIDAD)
	{		
		oDIV = document.getElementById("spanCoberturas");
		
		ActualizarBotonCotizar();
		
		if (pACTIVIDAD == "-1")
			{
				oDIV.style.display = 'none';
				alert("Por favor, seleccione una actividad.");
				return;
			}
		document.body.style.cursor = "wait";
				
		if (oDIV.style.display == 'none')
			{				
				CargaCoberturas(pUSUARIO, pRAMOPCOD, pACTIVIDAD);
			}
		else
			{
				oDIV.disabled = true;
			    CargaCoberturas(pUSUARIO, pRAMOPCOD, pACTIVIDAD);
			}
	}
	/* ******************************************************************** */
	function CargaCoberturas(pUSUARIO, pRAMOPCOD, pACTIVIDAD)
	{
		var strXML;
		var strHTML;
		
		strXML = "FUNCION=CARGARCOBERTURAS&USUARIO=" + pUSUARIO + "&RAMOPCOD=" + pRAMOPCOD + "&ACTIVIDAD=" + pACTIVIDAD;
		
		xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");		
		xmlHTTP.onreadystatechange = ResultadoCargaCoberturas;
		xmlHTTP.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHTTP.send(strXML);
	}
	/* ******************************************************************** */
	function ResultadoCargaCoberturas()
	{	
		//Verificar el estado de la comunicación
		if(xmlHTTP.readyState==4)
		{				
			//Recibir la respuesta del servidor
			xmlDOM = new ActiveXObject("Microsoft.XMLDOM");
			xmlDOM.async = false;
			xmlDOM.load(xmlHTTP.responseStream);
			
			//Muestro el div de Coberturas
			oDIV = document.getElementById("spanCoberturas");
			oDIV.style.display = 'inline';													
			oDIV.innerHTML = xmlHTTP.responseText;
			
			document.body.style.cursor = "default";
			
			oDIV.disabled = false;

			xmlDOM = null;
			xmlHTTP = null;	
			oDIV = null;

			fncPersonalizarVista("CARGOCOBERTURAS"); //Propio de cada canal
		}
	}
	/* ******************************************************************** */
	function fncCotizar(pUSUARCOD, pRAMOPCOD)
	{
		var strXML;
		var strHTML;
		var strData;
		var vCoberturas;
		var vCantCoberturas;
		var vRequest;
		
		//Valido que estén todos los datos básicos para cotizar seleccionados.
		if (frmCotizacion.ACTIVIDAD.value == '-1')
			{
				alert("Por favor, seleccione una actividad.");
				return;
			}
		else if (frmCotizacion.PROVICOD.value == '-1')
				{
					alert("Por favor, seleccione la ubicación del comercio.");
					return;
				}
			 else if (frmCotizacion.CLIENIVA.value == '-1')
					 {
						alert("Por favor, seleccione el tipo de IVA.");
						return;						
					 }
				  else if (frmCotizacion.FORMAPAGO.value == '-1')
						  {
							 alert("Por favor, seleccione una forma de pago.");
							 return;						
						  }
					   else if (frmCotizacion.PLANPAGO.value == '-1')
							   {
								  alert("Por favor, seleccione un plan de pago.");
								  return;						
							   }
						    else if (frmCotizacion.CLIEIBTP != null)
								    {
										if (frmCotizacion.CLIEIBTP.value == '-1')
										{
										   alert("Por favor, seleccione un tipo de ingresos brutos.");
										   return;						
										}

								    }

		//MHC - 05/02/2009 - Validacion de Tipo de Persona
		if (frmCotizacion.PROVICOD.value == "1" && frmCotizacion.CLIENIVA.value != "3" && frmCotizacion.CLIENTIP.value == "") 
		{
			alert("Por favor, seleccione Tipo de persona.");
		   	return;								
		}

		//Valido que todas las coberturas básicas tengan un valor correcto.
		for (i=0; i < frmCotizacion.length; i++)
		{
			if (frmCotizacion.elements[i].tipo == "cBasica")
				{
					if (frmCotizacion.elements[i].value == '-1')
						{	
							alert("Por favor, seleccione un valor para la cobertura " + frmCotizacion.elements[i].Descripcion);
							return;
						}
				}
		}
		document.body.style.cursor = "wait";		
		BotonCotizar = dTotalCotizado.innerHTML;
		
		vACTIVIDAD = frmCotizacion.ACTIVIDAD.value;
		vPROVICOD = frmCotizacion.PROVICOD.value;
		vCLIENIVA = frmCotizacion.CLIENIVA.value;
		if (frmCotizacion.CLIEIBTP != null)			
			vCLIEIBTP = frmCotizacion.CLIEIBTP.value;
		else
			vCLIEIBTP = "";		
		vFORMPAGO = frmCotizacion.FORMAPAGO.value;
		vPLANPAGO = frmCotizacion.PLANPAGO.value;
		vRECARPOR = frmCotizacion.RECARPOR.value;
		vCOMISION = frmCotizacion.COMISION.value;
		vRECARFIN = frmCotizacion.PLANPAGO.options[frmCotizacion.PLANPAGO.selectedIndex].porcentajerecargo;
		//MHC - 05/02/2009 - Validacion de Tipo de Persona 
		//Si no corresponde, asume 00 (Fisica)
		if (frmCotizacion.CLIENTIP.value != "")			
			vCLIENTIP = frmCotizacion.CLIENTIP.value;
		else
			vCLIENTIP = "00";	
		
		vCoberturas = "";
		vCantCoberturas = 0;
		
		//Armo un nodo que contenga todas las coberturas seleccionadas por el usuario.
		for (i=0; i < frmCotizacion.length; i++)
			{
				//SI se agregaron coberturas adicionales
				if (frmCotizacion.cmbMuestraCoberturasAdicionales.value == 'S')
					{
						if ((frmCotizacion.elements[i].tipo == "cBasica") || (frmCotizacion.elements[i].tipo == "cAdicional"))
							{
								vValor = window.document.getElementById(frmCotizacion.elements[i].id).value;
								
								if (parseFloat(vValor) != 0)
									{
										vCoberturas = vCoberturas + "<COBERTURA><COBERCOD>" + frmCotizacion.elements[i].id + "</COBERCOD><NUMERMOD>1</NUMERMOD><CAPITASG>" + vValor + "</CAPITASG></COBERTURA>"
										vCantCoberturas++;							
									}
							}					
					}
				//NO se agregaron coberturas adicionales
				else
					{
						if (frmCotizacion.elements[i].tipo == "cBasica")
							{
								vValor = window.document.getElementById(frmCotizacion.elements[i].id).value;			
								
								if (parseFloat(vValor) != 0)
									{
										vCoberturas = vCoberturas + "<COBERTURA><COBERCOD>" + frmCotizacion.elements[i].id + "</COBERCOD><NUMERMOD>1</NUMERMOD><CAPITASG>" + vValor + "</CAPITASG></COBERTURA>"
										vCantCoberturas++;							
									}
							}										
					}
			}	
		
		vCoberturas = "<COBERTURAS>" + vCoberturas + "</COBERTURAS>";
		
		//Armo el XML de entrada para cotizar
		vRequest = "<Request><DEFINICION>CotizarICOModular.xml</DEFINICION>";
		vRequest = vRequest + "<USUARCOD>" + pUSUARCOD + "</USUARCOD>";
		vRequest = vRequest + "<RAMOPCOD>" + pRAMOPCOD + "</RAMOPCOD>";
		vRequest = vRequest + "<CLIENIVA>" + vCLIENIVA + "</CLIENIVA>";
		vRequest = vRequest + "<PERIODO>0005</PERIODO>";
		vRequest = vRequest + "<ACTIVIDAD>" + vACTIVIDAD + "</ACTIVIDAD>";		
		vRequest = vRequest + "<RECARPOR>" + vRECARPOR + "</RECARPOR>";
		vRequest = vRequest + "<RECARFIN>" + vRECARFIN + "</RECARFIN>";
		vRequest = vRequest + "<COMPCPOR>" + vCOMISION + "</COMPCPOR>";	
		vRequest = vRequest + "<PLANPAGO>" + vPLANPAGO + "</PLANPAGO>";
		vRequest = vRequest + "<FORMPAGO>" + vFORMPAGO + "</FORMPAGO>";
		//<EFECTANN><EFECTMES><EFECTDIA> los cargo en XMLHTTPMsg.asp
		vRequest = vRequest + "<PAISSCOD>00</PAISSCOD>";
		vRequest = vRequest + "<PROVICOD>" + vPROVICOD + "</PROVICOD>";
		vRequest = vRequest + "<CODIZONA>0001</CODIZONA>";
		vRequest = vRequest + "<CLIEIBTP>" + vCLIEIBTP + "</CLIEIBTP>";	
		//MHC - 05/02/2009 - Validacion de Tipo de Persona
		vRequest = vRequest + "<CLIENTIP>" + vCLIENTIP + "</CLIENTIP>";	
		vRequest = vRequest + "<CAN-COBER-ENT>" + vCantCoberturas + "</CAN-COBER-ENT>";
		vRequest = vRequest + vCoberturas; 
		//El nodo <Request> lo cierro en Cotiza.asp		
		
		strData = "FUNCION=COTIZAR&REQUEST=" + vRequest;		
		
		xmlHTTPCotiza = new ActiveXObject("Msxml2.XMLHTTP");		
		xmlHTTPCotiza.onreadystatechange = RespuestaCotizar;
		xmlHTTPCotiza.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTPCotiza.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHTTPCotiza.send(strData);
	}
	
	/* ******************************************************************** */
	function RespuestaCotizar()
	{
		var xmlImporteTotal;
		
		//Si el estado de la llamada al xmlhttp es 4 es porque finalizó el proceso.
		if(xmlHTTPCotiza.readyState==4)
		{	
		
			xmlImporteTotal = new ActiveXObject("Msxml2.DOMDocument");
			xmlImporteTotal.loadXML(xmlHTTPCotiza.responseText);
			
			//Verifico que no haya pinchado el COM+
			if (xmlImporteTotal.selectSingleNode('//Response/Estado[@resultado="true"]') == null)
				{
					dTotalCotizado.innerHTML = "<Center><table border='0' cellspacing='0'><tr Class='Form_campname_bcoL'><Td>Hubo un error en la cotización.</Td></tr></table></Center>";
					vContinuar = false;
				}
			else
				{
					dTotalCotizado.innerHTML = "$ " + xmlImporteTotal.selectSingleNode("//RECTOIMP").text; // + "<TEXTAREA>" +xmlImporteTotal.selectSingleNode("//Request").xml + "</TEXTAREA>" + "<TEXTAREA>RESPONSE: " + xmlImporteTotal.selectSingleNode("//CAMPOS").xml + "</TEXTAREA>";

					//Mando por formulario los datos de la cotización para poder procesarla luego.
					frmCotizacion.RESPONSECOTIZACION.value = xmlImporteTotal.selectSingleNode("//CAMPOS").xml;
					frmCotizacion.REQUESTCOTIZACION.value = xmlImporteTotal.selectSingleNode("//Request").xml;
					vContinuar = true;
				}
				
			document.body.style.cursor = "default";
			
			xmlHTTPCotiza = null;
			xmlImporteTotal= null
		}	
	}
	/* ******************************************************************** */	
	
	
	function fncRecuperarDeducibles()
	{
		xmlHTTPCotiza = new ActiveXObject("Msxml2.XMLHTTP");
		xmlHTTPCotiza.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTPCotiza.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		xmlDOM = new ActiveXObject("Msxml2.DOMDocument");
		xmlDOM.loadXML (frmCotizacion.REQUESTCOTIZACION.value);
		xmlDOM.selectSingleNode("//DEFINICION").text="GetDeduciblesICOModular.xml";		
		strData = "FUNCION=GETDEDUCIBLES&REQUEST=" + xmlDOM.xml;
		xmlHTTPCotiza.send(strData);
		
		xmlDOM.loadXML(xmlHTTPCotiza.responseText);
		
		//Verifico que no haya pinchado el COM+
		if (xmlDOM.selectSingleNode('//Response/Estado[@resultado="true"]') != null)
			frmCotizacion.RESPONSEDEDUCIBLES.value = xmlDOM.selectSingleNode("//CAMPOS").xml;
		
	}
	
	function BuscarIB(pV_PROVICOD, pRAMOPCOD)
	{		
/*		if(pV_PROVICOD == "2")
			divLeyendaIBB.style.display = 'inline';
		else
			divLeyendaIBB.style.display = 'none';*/

				
		var DataToSend = "FUNCION=INGRESOSBRUTOS&V_PROVICOD=" + pV_PROVICOD + "&RAMOPCOD=" + pRAMOPCOD;
		var vXMLhttp = new ActiveXObject("Microsoft.XMLHTTP");
			vXMLhttp.Open("POST","ICOModularDefinicionFrameWork.asp",false);
			vXMLhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			vXMLhttp.send(DataToSend);
								
		var vXMLdom = new ActiveXObject("Microsoft.XMLDOM");
			vXMLdom.loadXML(vXMLhttp.responseText);
		
		//Si no se resolvió el COM+
		if (vXMLdom.selectSingleNode('//Response/Estado[@resultado="true"]') == null)
			{
				dtrIB.style.display = 'inline';
				dComboIB.innerHTML = '<Select Name="CLIEIBTP" Id="CLIEIBTP" class="form_drops" onchange="fncRecalcular();" style="width:240px;"><OPTION Value="-1">SELECCIONAR...</OPTION></Select>';
			}
		else
		//Si el COM+ se ejecutó bien
			{
				//NO hay Ingresos Brutos para la provincia seleccionada				
				if(vXMLdom.selectNodes("//OPTION").length==0)
				{			
					dComboIB.innerHTML = "";
					dtrIB.style.display = 'none';			
				}
				//SI hay Ingresos Brutos para la provincia seleccionada
				else
				{					
					dtrIB.style.display = 'inline';					
					dComboIB.innerHTML = '<Select Name="CLIEIBTP" Id="CLIEIBTP" class="form_drops" onchange="ActualizarBotonCotizar();" style="width:240px;"><OPTION Value="-1">SELECCIONAR...</OPTION>' + vXMLdom.xml + '</Select>';
				}			
			}		
		vXMLdom = null;
		vXMLhttp = null;		
	}

	/* ******************************************************************** */
	/* Esta función se utiliza para cargar el combo de actividades        * */
	/* en el caso de que se utilice el filtro.							  * */
	/* ******************************************************************** */
	function FiltrarCombo()
	{
		var objFiltro = window.document.getElementById("F_ACTIVIDADES");
		
		if (objFiltro.value.length == 0)
		{
			alert("Ingrese como mínimo 2 caracteres.");
			return;
		}

		//El filtro debe tener al menos 2 caracteres para poder filtrar
		if (objFiltro.value.length < 2 && objFiltro.value != "*" )
		{
			alert("Usted debe ingresar al menos 2 caracteres para poder filtrar la actividad.");
			return;
		}

		var combo = "<Select Name='ACTIVIDAD' Id='ACTIVIDAD' class='form_drops' onChange='MuestraCoberturas(frmCotizacion.USUARIO.value, frmCotizacion.RAMOPCOD.value, this.value);'><Option value='-1'>SELECCIONAR...</Option>";
		var vRequest = "<Request><USUARIO>" + frmCotizacion.USUARIO.value + " </USUARIO><FILTROACTIVIDAD>" + objFiltro.value.toUpperCase() + "</FILTROACTIVIDAD><RAMOPCOD>" + frmCotizacion.RAMOPCOD.value + "</RAMOPCOD></Request>";
		var DataToSend = "FUNCION=FILTRARACTIVIDADES&Request=" + vRequest;


		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			xmlhttp.Open("POST","ICOModularDefinicionFrameWork.asp",false);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlhttp.send(DataToSend);	

		var objlocal  = document.getElementById('DivActividades');
		combo = combo + xmlhttp.responseText + '</SELECT>';
		objlocal.innerHTML = combo;
		ActualizarBotonCotizar();
	}

	/* ******************************************************************** */
	/* Esta función completa el frmCotizacion en caso de que se haga un   * */
	/* back page o en caso de que se tenga que completar con los datos de * */
	/* una cotización recuperada desde OV (MODIFICACION)                  * */
	/* ******************************************************************** */
	function CompletarFormulario()
	{
		//En esta instanacia ya estaría el REQUESTCOTIZACION cargado con todos los datos del request de cotización (esto es solo para OV)
		
		var objXMLRequest = new ActiveXObject ("MSXML.DomDocument")
			objXMLRequest.loadXML(frmCotizacion.REQUESTCOTIZACION.value);			
		
		//1.- Asigno value al combo ACTIVIDAD (con SELECTED)				
		frmCotizacion.ACTIVIDAD.value = objXMLRequest.selectSingleNode("//ACTIVIDAD").text;
		
		//2.- Asigno value al combo PROVINCIA (con SELECTED)		
		frmCotizacion.PROVICOD.value = objXMLRequest.selectSingleNode("//PROVICOD").text;
		
		//3.a- Asigno value al combo IVA       (con SELECTED)
		frmCotizacion.CLIENIVA.value = objXMLRequest.selectSingleNode("//CLIENIVA").text;
				
		//3.b- Asigno value al combo FORMAPAGO       (con SELECTED)
		frmCotizacion.FORMAPAGO.value = objXMLRequest.selectSingleNode("//FORMPAGO").text;

		//3.c- Asigno value al combo PLANPAGO       (con SELECTED)
		frmCotizacion.PLANPAGO.value = objXMLRequest.selectSingleNode("//PLANPAGO").text;	

		//4.- Asigno value al combo CLIEIBTP  (con SELECTED)		
		BuscarIB(frmCotizacion.PROVICOD.value, frmCotizacion.RAMOPCOD.value);
		if (objXMLRequest.selectSingleNode("//CLIEIBTP").text != "")
			frmCotizacion.CLIEIBTP.value = objXMLRequest.selectSingleNode("//CLIEIBTP").text;
		
		//5.- Muestro las coberturas
		if (frmCotizacion.ACTIVIDAD.value != '-1')
			{
				MuestraCoberturas(frmCotizacion.USUARIO.value, frmCotizacion.RAMOPCOD.value, frmCotizacion.ACTIVIDAD.value);
				
				//6.- Seteo el valor de la cobertura determinante (INCENDIO EDIFICIO)
				vCodigoCoberturaDeterminante = document.getElementById("xmlparametrosgenerales").selectSingleNode("//coberturasdeterminantes/codigocobertura").text;				
				document.getElementById(vCodigoCoberturaDeterminante).value = objXMLRequest.selectSingleNode("//COBERTURA[COBERCOD = '" + vCodigoCoberturaDeterminante + "']/CAPITASG").text;
				
				//7.- Llamo a la función fncRecalcularBasicas
				fncRecalcularBasicas(vCodigoCoberturaDeterminante);

				//8.- Seteo el valor de la cobertura 101
				document.getElementById("101").value = objXMLRequest.selectSingleNode("//COBERTURA[COBERCOD = '101']/CAPITASG").text;

				//DA - 15/02/2007: se ejecutanuevamente esta función para que se recalcule las coberturas dependientes de las 101
				fncRecalcularBasicas();
				
				//9.- Luego setear en selected el resto de las coberturas
				fncRecalcularAdicionales(1,vCodigoCoberturaDeterminante);
				
				vHayAdicionales = false;
				for (i=0; i < frmCotizacion.elements.length; i++)
				{
					if(frmCotizacion.elements[i].tipo == "cAdicional")
					{	
						if (objXMLRequest.selectNodes("//COBERTURA[COBERCOD = '" + frmCotizacion.elements[i].id + "']").length != 0)
						{
							//pUnitario = parseFloat(frmCotizacion.elements[i].pUnitario);														
							//vValor = parseFloat(objXMLRequest.selectSingleNode("//COBERTURA[COBERCOD = '" + frmCotizacion.elements[i].id + "']/CAPITASG").text);							
							//vCantidad = vValor / pUnitario;														
							//window.document.getElementById("c" + frmCotizacion.elements[i].id).value = parseInt(vCantidad);
							window.document.getElementById("c" + frmCotizacion.elements[i].id).value = parseInt(objXMLRequest.selectSingleNode("//COBERTURA[COBERCOD = '" + frmCotizacion.elements[i].id + "']/CAPITASG").text);
							vHayAdicionales = true;
						}						
					}
				}
				
				if(vHayAdicionales)
				{
					frmCotizacion.cmbMuestraCoberturasAdicionales.value = 'S';
					MuestraCoberturasAdicionales('S');
				}
								
				fncRecalcularAdicionales(0,vCodigoCoberturaDeterminante);
		
				//MHC - 05/02/2009 - Sellados
				//9.5- Asigno value al combo CLIENTIP		(con SELECTED)
				showTipoPersona(document.getElementById('PROVICOD').value, document.getElementById('CLIENIVA').value);
		
				if (objXMLRequest.selectSingleNode("//CLIENTIP") != null) {
					frmCotizacion.CLIENTIP.value = objXMLRequest.selectSingleNode("//CLIENTIP").text;
					showLeyendaSellados(frmCotizacion.CLIENTIP.value);
				}
				
				//10.- tipo naa, re-cotizo. 		
				fncCotizar(objXMLRequest.selectSingleNode("//USUARCOD").text, objXMLRequest.selectSingleNode("//RAMOPCOD").text);
				
				//11.- Completar los hidden con los datos del cliente
				//objXMLRequest = null;
			}
			
		objXMLRequest = null;	
	}
	/* ******************************************************************** */
	function CargarPantalla()
	{		
		//Esto se ejecuta si es una MODIFICACION de cotización o si se hace un back page			
		if (frmCotizacion.REQUESTCOTIZACION.value != "")	
			CompletarFormulario();					
		//Esto se ejecuta si es una NUEVA cotización
		else
			if (frmCotizacion.ACTIVIDAD.value == -1) // Si no se selecciono ninguna actividad cargo una ya que todas las coberturas son iguales
			{
					MuestraCoberturas(frmCotizacion.USUARIO.value, frmCotizacion.RAMOPCOD.value, '050001');
					window.document.getElementById ("divcmbCoberturaDeterminante").style.display = 'none';
			}						
	}
	/* ******************************************************************** */
	// Esta función se llama desde Coberturas.xsl
	function MuestraCoberturasAdicionales(pValor)
	{
		var oDIVCobAdic;
		
		ActualizarBotonCotizar();
		
		oDIVCobAdic = document.getElementById("divCoberturasAdicionales");
		
		if (pValor == 'S')
			oDIVCobAdic.style.display = 'inline';
		else
			oDIVCobAdic.style.display = 'none';
	}

	/* ******************************************************************** */
	function fncGuardarCliente(pCanal)
	{
		//Armo el XML de entrada para guardar Primero los datos del cliente
		strData = "FUNCION=GUARDARCLIENTE&";
		strData= strData + "TIPODOCU=" + "04" + "&";
		strData= strData + "NUMEDOCU=" + window.document.getElementById("CUITNRO").value + "&";
		strData= strData + "USUARCOD=" + window.document.getElementById("USUARIO").value + "&";
		strData= strData + "IDCLIENTE=" + window.document.getElementById("IDCLIENTE").value + "&";
		strData= strData + "CLIENNOM=" + window.document.getElementById("CLIENNOM").value + "&";
		strData= strData + "CLIENAP1=" + window.document.getElementById("CLIENAP1").value + "&";
		strData= strData + "AGENTCLA=" + window.document.getElementById("AGENTCLA").value + "&";
		strData= strData + "AGENTCOD=" + window.document.getElementById("AGENTCOD").value + "&";
		strData= strData + "TELEFONOCOD=" + window.document.getElementById("TELEFONOCOD").value + "&";
		strData= strData + "TELEFONONRO=" + window.document.getElementById("TELEFONONRO").value + "&";
		strData= strData + "EMAIL=" + window.document.getElementById("EMAIL").value + "&";	
		strData= strData + "CLIENTIP=" + window.document.getElementById("CLIENTIP").value;	
		xmlHTTPCotiza = new ActiveXObject("Msxml2.XMLHTTP");		
		xmlHTTPCotiza.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTPCotiza.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHTTPCotiza.send(ReplaceChar(strData," "));
		//alert(xmlHTTPCotiza.responseText);
		mvarIdCliente = xmlHTTPCotiza.responseText;
		if (mvarIdCliente=="ERROR")
			{
				alert("Su Cotización no pudo ser guardada, intente nuevamente...");
				return 0;
			}
		else
			{
				window.document.getElementById("IDCLIENTE").value = mvarIdCliente;
				return parseInt(mvarIdCliente);
			}
	}

	/* ******************************************************************** */
	function fncGuardarCotizacion(pCanal)
	{
		//Armo el XML de entrada para guardar los datos de la cotizacion
		strData = "FUNCION=GUARDARCOTIZACION&";
		strData= strData + "IDCLIENTE=" + window.document.getElementById("IDCLIENTE").value + "&";
		strData= strData + "IDENCABEZADO=" + window.document.getElementById("IDENCABEZADO").value + "&";
		strData= strData + "REQUESTCOTIZACION=" + window.document.getElementById("REQUESTCOTIZACION").value + "&";
		strData= strData + "AGENTCLA=" + window.document.getElementById("AGENTCLA").value + "&";
		strData= strData + "AGENTCOD=" + window.document.getElementById("AGENTCOD").value + "&";
		strData= strData + "ORGANCLA=" + window.document.getElementById("ORGANCLA").value + "&";
		strData= strData + "ORGANCOD=" + window.document.getElementById("ORGANCOD").value + "&";
		xmlHTTPCotiza = new ActiveXObject("Msxml2.XMLHTTP");
		xmlHTTPCotiza.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTPCotiza.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			
		xmlHTTPCotiza.send(strData);
		mvarIdCotizacion = xmlHTTPCotiza.responseText;

		if (mvarIdCotizacion == "ERROR")
		{			
			alert("Su Cotización no pudo ser guardada, intente nuevamente...");
			return 0;
		}
		else
		{

			if (mvarIdCotizacion == "")
			{
				//Ya está seteado este valor.
				mvarIdCotizacion = window.document.getElementById("IDENCABEZADO").value;
			}
			else
			{
				strCADENA = "000000" + mvarIdCotizacion;			
				mvarIdCotizacion = strCADENA.substr(strCADENA.length - 6, strCADENA.length);
			}

			window.document.getElementById("IDENCABEZADO").value = mvarIdCotizacion;
			return mvarIdCotizacion;
		}
	}
	/* ******************************************************************** */
	/* ************* Esta función se usa solo desde OV ******************** */
	/* ******************************************************************** */
	function fncBorrarCotizacion(pCanal)
	{
		//Armo el XML de entrada para borrar la cotización los datos de la cotizacion
		strData = "FUNCION=BORRARCOTIZACION&";
		strData= strData + "IDCLIENTE=" + window.document.getElementById("IDCLIENTE").value + "&";
		strData= strData + "IDENCABEZADO=" + window.document.getElementById("IDENCABEZADO").value + "&";
		strData= strData + "REQUESTCOTIZACION=" + window.document.getElementById("REQUESTCOTIZACION").value + "&";

		xmlHTTPCotiza = new ActiveXObject("Msxml2.XMLHTTP");
		xmlHTTPCotiza.open("POST","ICOModularDefinicionFrameWork.asp", false);
		xmlHTTPCotiza.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		xmlHTTPCotiza.send(strData);
		mvarIdCotizacion = xmlHTTPCotiza.responseText;
		if (mvarIdCotizacion == "ERROR")
		{			
			alert("Su Cotización no pudo ser borrada, intente nuevamente...");
			return 0;
		}
		else
		{

			if (mvarIdCotizacion == "")
			{
				//Ya está seteado este valor.
				mvarIdCotizacion = window.document.getElementById("IDENCABEZADO").value;
			}
			else
			{
				strCADENA = "000000" + mvarIdCotizacion;			
				mvarIdCotizacion = strCADENA.substr(strCADENA.length - 6, strCADENA.length);
			}

			window.document.getElementById("IDENCABEZADO").value = mvarIdCotizacion;
			alert("La cotización ha sido borrada exitosamente.");
			//Redirige a la eleccion de producto / productor para cotizar
			window.location.href = "Redireccion.asp?URLRELATIVA=../../Producto.asp";
		}
	}
	/* ******************************************************************** */
	function validarcuitMQ(pCUIT)
	{
		var DataToSend = "FUNCION=VERIFCUIT&NROCUIT=" + pCUIT;	
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			xmlhttp.Open("POST","ICOModularDefinicionFrameWork.asp",false);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlhttp.send(DataToSend);
		
		if (xmlhttp.responseText != "true")
			return;
		else
			return true;
	}
	/* ********************************************************************* */
	function ReplaceChar(pCadena, pCaracter)
	{
		var s = new String();
			s = pCadena;
		var mvarCadena = "";

		for (i=0; i<s.length; i++)
		{				
			if (s.charAt(i) == pCaracter)
				mvarCadena = mvarCadena + '%20';
			else
				mvarCadena = mvarCadena + s.charAt(i);
		}
		return mvarCadena;
	}
	/* ******************************************************************** */	

	function PersonalizarFormasPago()
	{
		fncPersonalizarVista('CAMBIOFORMAPAGO');
	}

	/* ******************************************************************** */	
	function ValidarDatosPaso1()
	{
	//La variable vContinuar es una variable GLOBAL que indica si se puede pasar al formulario siguiente
	if (!vContinuar)
		{
			alert("Debe cotizar antes de continuar.");
			return false;
		}

    if (frmCotizacion.PROVICOD.value == "-1")
	{
		alert("Por favor, seleccione la Ubicación del comercio.");
		return false;
	}
	else if (frmCotizacion.CLIENIVA.value == "-1")
		{
			alert("Por favor, seleccione un tipo de IVA.");
			return false;	
		}
		else if (frmCotizacion.FORMAPAGO.value == "-1")
			 {
				alert ("Por favor, seleccione una forma de pago.");
				return false;
			 }
			 else if (frmCotizacion.PLANPAGO.value == "-1")
	 			  {
					alert ("Por favor, seleccione un plan de pago.");
					return false;
				  }
				  else if (frmCotizacion.CLIEIBTP != null)
						  {
								if (frmCotizacion.CLIEIBTP.value == "-1")
								{
									alert("Por favor, seleccione un tipo de Ingresos Brutos.");
									return false;
								}
						  }
		return true;
	}
	/* ******************************************************************** */
	function valida_texto(campo, descripcion, long_minima)
	{
		var solotexto = 'abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 ';
		var bandera = 1;
		var auxChar = '';

		if (campo.value.length > 0)	
		{
				for(i=0;i<campo.value.length;i++)
			{
				if(solotexto.indexOf(campo.value.charAt(i)) == -1)
				{
					alert('El campo ' + descripcion + ' solo puede contener letras.');
					campo.value = "";
					campo.focus();
					return false;
				}
				if (bandera == 1)
				{
					if (auxChar == '')
					{
						auxChar = campo.value.charAt(i).toLowerCase();
					}
					else
					{
						if (auxChar != campo.value.charAt(i).toLowerCase())
						{
							bandera = 0;
						}
					}
				}
			}
			if (campo.value.length < long_minima)
			{
				alert('El campo ' + descripcion + ' debe tener una longitud mínima de ' + long_minima + ' caracteres.');				
				campo.value = "";
				campo.focus();
				return false;
			}
			if ((bandera == 1) && (campo.value.length > 1))
			{
				
				alert('El ' + descripcion + ' ingresado no es correcto, por favor, ingréselo nuevamente.');
				campo.value = "";
				campo.focus();
				return false;
			}
		}
		return true;
	}

	/* ******************************************************************** */
	function esCampoObligatorio(campo, descripcion)
	{
		var text = trim(campo.value);
		
		if (text.length == 0)
		{
			alert('Por favor complete la información necesaria. El campo ' + descripcion + ' es obligatorio.');
			campo.value = "";

			return false;
		}
		return true;
	}
	/* ******************************************************************** */
	function NrosCorrelativos(campo)
	{
		var strNUMEROS = "0123456789";
		if (campo.length != 0)
		{
			if (strNUMEROS.indexOf(campo) != -1)
				//Son números correlativos
				return true;
			else
				//NO Son números correlativos
				return false;
		}
		else
			//NO Son números correlativos porque está vacío el nro.
			return false;
	}
	/* ******************************************************************** */
	function showTipoPersona(pPROVICOD, pCLIENIVA)
	{		
		// Si pPROVICOD igual a "CAPITAL FEDERAL" y pCLIENIVA diferente de "CONSUMIDOR FINAL", 
		// muestra combo de seleccion de persona
		// 00 - FISICA
		// 15 - JURIDICA
		if (pPROVICOD == "1" && pCLIENIVA != "3") {
			document.getElementById('trTipoPersona').style.display='';
		} else {
			document.getElementById('trTipoPersona').style.display='none';
			document.getElementById('CLIENTIP').value = "";
			showLeyendaSellados('');
		}
		fncActualizarStyleTabla();
	}
	/* ******************************************************************** */	
	function fncActualizarStyleTabla() {
		var filaPar=false;
		for (i=0; i < (document.getElementById('tblDatosAdicionales').rows).length; i++){
			if (document.getElementById('tblDatosAdicionales').rows[i].style.display!='none') {
				if (filaPar) {
					document.getElementById('tblDatosAdicionales').rows[i].className = 'Form_campname_colorL';
					filaPar=false;
				} else {
					document.getElementById('tblDatosAdicionales').rows[i].className = 'Form_campname_bcoL';
					filaPar=true;	
				}
			}
		}
	}
	/* ******************************************************************** */
	function showLeyendaSellados(pCLIENTIP) {
		if (pCLIENTIP == "15") {
			document.getElementById('trLeyendaSellados').style.display='';
		} else {
			document.getElementById('trLeyendaSellados').style.display='none';
		}
	}
	/* ******************************************************************** */	
