/*
--------------------------------------------------------------------------------
 Fecha de Modificación: 20/09/2011
 PPCR: 2011-00390
 Desarrollador: Leonardo Ruiz
 Descripción: Soporte a Firefox.-
--------------------------------------------------------------------------------
 COPYRIGHT. THE HONGKONG AND SHANGHAI BANKING CORPORATION LIMITED 2011. 
 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: CotAccesoriosU.js

Fecha de Creación: Desconocido

PPcR: Desconocido

Desarrollador: Desconocido

Descripción: Este archivo contiene funciones utilizadas por el modulo

--------------------------------------------------------------------------------
*/

function getLastRowIndex(trId)
{
	//-------------------------------------------------------------------------------//
	//LR 20/09/2011 esto es para soportar Firefox.-
	if(trId == 'TRPrecio')
		var obj = document.all.TRPrecio;
	else
		var obj = document.all.MainTable.rows[trId];
	//-------------------------------------------------------------------------------//
	var length = (typeof(obj.length) == "undefined") ? 1 : obj.length;
	if(length == 1)
		return(obj.rowIndex);
	return(obj[length - 1].rowIndex);
}

function CambiarAccesorio(pObj)
{
	if (pObj.value != '0')
		pObj.parentNode.children[1].value = pObj[pObj.selectedIndex].text;
	else
		pObj.parentNode.children[1].value = "";
}

function Validar_Accesorios()
{
	var wvarCantidad = 0;
	var wvarTotalAccesorios = parseFloat(trim(document.DATOSVEHICULOS.PRECIOGNC.value));
	if(isNaN(wvarTotalAccesorios))
		wvarTotalAccesorios = 0;
	co=/\./gi;
	var SumaMax = new String(parseFloat(trim(document.DATOSVEHICULOS.SUMAMAXIMAGNC.value)));
	var ArrayAcc = new Array();
	var objRows = document.all.TRAdic;

	if(objRows)
		wvarCantidad = (typeof(objRows.length) == "undefined")?1:document.all.TRAdic.length;

	if (wvarCantidad == 1)
	{
		if (document.all.TIPOACCESORIO.value != "0")
		{
			if (trim(document.all.DESCRIPCIONACC.value) == "" )
			{
				alert('Debe informar la Marca del Accesorio');
				ver(document.all.SPNDESCRIP, document.DATOSVEHICULOS.DESCRIPCIONACC);
				return(false);
			}

			if (trim(document.all.PRECIOACC.value) == "" )
			{
				alert('Debe informar el Precio del Accesorio');
				ver(document.all.SPNPRECIO, document.DATOSVEHICULOS.PRECIOACC);
				return(false);
			}

			if (isNaN(trim(document.all.PRECIOACC.value)))
			{
				alert('Hay un caracter inválido en el Precio del Accesorio');
				ver(document.all.SPNPRECIO, document.DATOSVEHICULOS.PRECIOACC);
				return(false);
			}

			if (document.all.PRECIOACC.value.search(co) != -1)
			{
				alert('El Precio del Accesorio no puede tener decimales');
				ver(document.all.SPNPRECIO, document.DATOSVEHICULOS.PRECIOACC);
				return(false);
			}

			if (parseFloat(trim(document.all.PRECIOACC.value)) > parseFloat(trim(document.DATOSVEHICULOS.SUMAMAXIMAGNC.value)))
			{
				alert('El Precio del Accesorio no puede superar los $' +  SumaMax.replace(co,','));
				ver(document.all.SPNPRECIO, document.DATOSVEHICULOS.PRECIOACC);
				return(false);
			}
			else
				wvarTotalAccesorios += parseFloat(trim(document.all.PRECIOACC.value));
		}
	}
	else 
	{
		for (var iCounter = 0; iCounter < wvarCantidad; iCounter ++)
		{
			if (document.all.TRCombo[iCounter].children[1].children[0].children[0].value != "0")
			{
				if (ArrayAcc[parseInt(document.all.TRCombo[iCounter].children[1].children[0].children[0].value)] == "x")
				{
					alert("El Accesorio ya fue seleccionado");
				ver(document.all.TRCombo[iCounter].children[1].children[0].children[0],document.all.TRCombo[iCounter].children[1].children[0].children[0]);
					return(false);
				}
				else
					ArrayAcc[parseInt(document.all.TRCombo[iCounter].children[1].children[0].children[0].value)] = "x";

				if (trim(document.all.TRMarca[iCounter].children[1].children[0].children[0].value) == "")
				{
					alert('Debe informar la Marca del Accesorio');
					ver(document.all.TRMarca[iCounter].children[1].children[0], document.all.TRMarca[iCounter].children[1].children[0].children[0]);
					return(false);
				}

				if (trim(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0].value) == "")
				{
					alert('Debe informar el Precio del Accesorio');
					ver(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0], document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0]);
					return(false);
				}

				re=/,/gi;
				co=/\./gi;

				if (isNaN(trim(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0].value)))
				{
					alert('Hay un caracter inválido en el Precio del Accesorio');
					ver(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0], document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0]);
					return(false);
				}

				if (document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0].value.search(co) != -1)
				{
					alert('El Precio del Accesorio no puede tener decimales');
					ver(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0], document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0]);
					return(false);
				}

				if (parseFloat(trim(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0].value)) > parseFloat(trim(document.DATOSVEHICULOS.SUMAMAXIMAGNC.value)))
				{
					alert('El Precio del Accesorio no puede superar los $' +  SumaMax.replace(co,','));
					ver(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0], document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0]);
					return(false);
				}
				else
					wvarTotalAccesorios += parseFloat(trim(document.all.TRPrecio[iCounter].children[1].children[0].children[0].children[0].children[0].children[0].children[0].value));
			}
		}
	}

	var wvarControlMonto;
	var wvarMensaje;

	if (parseFloat(trim(document.DATOSVEHICULOS.SUMAMAXIMAGNC.value)) >= (parseFloat(trim(document.DATOSVEHICULOS.SUMASEG.value)) * 15 / 100))
	{
		wvarControlMonto = parseFloat(trim(document.DATOSVEHICULOS.SUMAMAXIMAGNC.value));
		wvarMensaje = ' los $' + SumaMax.replace(co,',');
	}
	else
	{
		wvarControlMonto = parseFloat(trim(document.DATOSVEHICULOS.SUMASEG.value)) * 15 / 100;
		SumaMax = new String(wvarControlMonto);
		wvarMensaje = ' los $' + SumaMax.replace(co,",");
	}

	if (wvarTotalAccesorios > wvarControlMonto)
	{
		alert('La suma de los accesorios incluyendo el equipo de GNC no puede superar' + wvarMensaje);
		return(false);
	}
	return(true);
}

function AgregarAccesorio(pObj)
{
	if(!Validar_Accesorios())
		return false
		
	var wvarCantidad;

	if (document.all.TRAdic)
		wvarCantidad = (typeof(document.all.TRAdic.length) == "undefined")?1:document.all.TRAdic.length;
	else
		wvarCantidad = 0;

	if (wvarCantidad < 10)
	{
		AddAccesorio(wvarCantidad, 'TRPrecio', true);
		pObj.parentNode.innerHTML = "<IMG SRC='../images/Accesorio_blank_tr.gif' BORDER='0' ALT=''>";
	}
}

function EliminarAccesorio(pObj)
{
	var wvarIndex = pObj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.rowIndex;
	var wvarCantidad = (typeof(document.all.TRAdic.length) == "undefined")?1:document.all.TRAdic.length;
	var obj;

	document.all.MainTable.deleteRow(wvarIndex);
	document.all.MainTable.deleteRow(wvarIndex - 1);
	document.all.MainTable.deleteRow(wvarIndex - 2);
	document.all.MainTable.deleteRow(wvarIndex - 3);

	for (var iCounter = 0; iCounter < wvarCantidad - 1; iCounter ++)
	{
		if(document.all.TRAdic[iCounter])
		{
			obj = document.all.TRAdic[iCounter];
			//-------------------------------------------------------------------------------//
			//LR 20/09/2011 esto es para soportar Firefox
			if(obj.textContent)
	      obj.cells[0].children[0].textContent = "Accesorio N° " + String(iCounter + 1);
	   	else
	      obj.cells[0].children[0].innerText = "Accesorio N° " + String(iCounter + 1);
			//-------------------------------------------------------------------------------//
			wvarIndex = obj.rowIndex;
		}
	}

	//-------------------------------------------------------------------------------//
	//LR 21/09/2011 esto es para soportar Firefox
	if(document.all.MainTable.rows[wvarIndex + 3].children[1].children[0])
		document.all.MainTable.rows[wvarIndex + 3].children[1].children[0].rows[0].cells[1].innerHTML = '<IMG src="../images/boton_agregar.gif" border="0" alt="Agregar Accesorio" style="cursor:hand" onclick="JavaScript:AgregarAccesorio(this);">';
	else
		document.all.TRPrecio.children[1].children[0].children[0].rows[0].cells[1].innerHTML = '<IMG src="../images/boton_agregar.gif" border="0" alt="Agregar Accesorio" style="cursor:hand" onclick="JavaScript:AgregarAccesorio(this);">';
	//-------------------------------------------------------------------------------//
}

function LimpiarTablaAccesorios()
{
	try
	{
		var wvarCant = (typeof(document.all.TRAdic.length) == "undefined")?0:document.all.TRAdic.length - 1;
	}
	catch (e)
	{
		;
	}

	var wvarRowIndex;

	for (var iCounter = wvarCant; iCounter >= 0; iCounter --)
	{
		wvarRowIndex = (typeof(document.all.TRAdic.length) == "undefined")?document.all.TRAdic.rowIndex: document.all.TRAdic[iCounter].rowIndex;
		document.all.MainTable.deleteRow(wvarRowIndex);
		document.all.MainTable.deleteRow(wvarRowIndex);
		document.all.MainTable.deleteRow(wvarRowIndex);
		document.all.MainTable.deleteRow(wvarRowIndex);
	}
}

function getRowClass(rowIndex)
{
	if((rowIndex % 2) == 0)
		return("Form_campname_colorL");
	return("Form_campname_bcoL");
}

function AddAccesorio(wvarCantidad, rowIndexName, allowDelete)
{
	//-------------------------------------------------------------------------------//
	//LR 21/09/2011 Si no eligio un auto, no puede cargar los acc
	if(document.getElementById("EFECTANN").value == 0)
	{
		alert("Debe seleccionar un vehiculo.");
		document.all.SIACCESORIOS[1].checked = true
		return false;
	}
	
	//LR 21/09/2011 Se corrige Bug de IE, cuando el index se va de rango
	var rowIndex = (typeof(getLastRowIndex(rowIndexName)) == "undefined")?14:getLastRowIndex(rowIndexName);
	//-------------------------------------------------------------------------------//
	// TITULO DE TABLA
	var wvarHTML = "";
	rowIndex++;
	var NewRow = document.all.MainTable.insertRow(rowIndex);
			NewRow.id="TRAdic";
	
	var NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
			NewTD.colSpan = 4;
			NewTD.className = getRowClass(rowIndex);
			NewTD.innerHTML = "<b>Accesorio N° " + String(wvarCantidad + 1) + "</b></TD>";

	rowIndex++;
	NewRow = document.all.MainTable.insertRow(rowIndex);
	NewRow.id = "TRCombo";
	
	// DESCRIPCION
	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.className = getRowClass(rowIndex);
	NewTD.innerHTML = " Descripci&oacute;n: ";

	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.colSpan = 3;
	NewTD.className = getRowClass(rowIndex);

	wvarHTML = '<span id="SPNCOMBO"><select size="1" name="TIPOACCESORIO" class="Form_campname_bcoL" onchange="JavaScript:CambiarAccesorio(this);">';
	wvarHTML += '<option value="0"></option>';
	wvarHTML += document.DATOSVEHICULOS.COMBOACCESORIOS.value;
	wvarHTML +=	'</select><INPUT TYPE="hidden" name="TIPOACCESORIODESC"></span>'
	NewTD.innerHTML = wvarHTML;

	rowIndex++;
	// MARCA
	NewRow = document.all.MainTable.insertRow(rowIndex);
	NewRow.id = "TRMarca";

	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.className = getRowClass(rowIndex);
	NewTD.innerHTML = "Marca y/o detalle: ";

	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.colSpan = 3;
	NewTD.className = getRowClass(rowIndex);

	wvarHTML = '<span id="SPNDESCRIP"><input class="Form_campname_bcoL" maxLength="20" size="20" name="DESCRIPCIONACC" style="text-transform: uppercase;"></span>';
	NewTD.innerHTML = wvarHTML;

	// PRECIO
	rowIndex++;
	NewRow = document.all.MainTable.insertRow(rowIndex);
	NewRow.id = "TRPrecio";

	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.className = getRowClass(rowIndex);
	NewTD.innerHTML = "Precio: ";

	NewTD = document.all.MainTable.rows[NewRow.rowIndex].insertCell(-1);
	NewTD.colSpan = 3;
	NewTD.className = getRowClass(rowIndex);
	wvarHTML = '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD><span id="SPNPRECIO"><input class="Form_campname_bcoL" maxLength="11" name="PRECIOACC"></span></TD><TD valign="center" width="20"><IMG SRC="../images/boton_agregar.gif" BORDER="0" ALT="Agregar Accesorio" style="cursor:hand" onclick="JavaScrip:AgregarAccesorio(this);"></TD>';
	
	if(allowDelete)
		wvarHTML += '<TD valign="center"><IMG SRC="../images/boton_cancel.gif" BORDER="0" ALT="Eliminar Accesorio" style="cursor:hand" onclick="JavaScrip:EliminarAccesorio(this);"></TD>';
	wvarHTML += '</TR></TABLE>';
	
	NewTD.innerHTML = wvarHTML;
}
