// SCRIPT GENERAL DE LA APLICACION
var aModelos = new Array();
var ligthOn = false;
/***************************************************************************************************************************************/
function updateAccesorios(objeto)
{
	strAccesorios=browserType('strAccesorios').value;
	
	if(objeto.checked)
	{
		strAccesorios += (strAccesorios!=""?"|":"")+objeto.value;
	}
	else
	{
		aIds=strAccesorios.split("|");
		strAccesorios="";
		for(i=0;i<aIds.length;i++) if(aIds[i]!=objeto.value) strAccesorios += (strAccesorios!=""?"|":"")+aIds[i];
	}
	
	browserType('strAccesorios').value=strAccesorios;
}
/***************************************************************************************************************************************/
function fHighlight(objetoTr,link)
{
	if(!ligthOn)
	{
		browserType("td1_"+objetoTr.id).bgColor = '#FFBB00';
		browserType("td2_"+objetoTr.id).bgColor = '#FFBB00';
		ligthOn = true;
		
		location.href=link;
	}
}
/***************************************************************************************************************************************/
function fCheckAll(checked)
{
	for(i=0;i<document.forms.del_multiple.elements.length;i++)
	{
		if(document.forms.del_multiple.elements[i].name.indexOf("ch_")!=-1)
			document.forms.del_multiple.elements[i].checked = checked;				
	}
}
/***************************************************************************************************************************************/
function fCalcularCostos()
{
	sum = parseFloat(browserType('valorToma').value)+parseFloat(browserType('gastosReparacion').value)+parseFloat(browserType('gastosPreparacion').value);
	
	browserType('costos').value=sum;
}
/***************************************************************************************************************************************/
function passwordChanged()
{
	var strength = browserType('strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = browserType("new_pass");
	
	if (pwd.value.length==0) {
		strength.innerHTML = "Escriba su contraseña";
	} else if (false == enoughRegex.test(pwd.value)) {
		strength.innerHTML = "Escriba mas caracteres por favor";
	} else if (strongRegex.test(pwd.value)) {
		strength.innerHTML = "<span style='color:green'><input type='hidden' id='pass_fuerza' name='pass_fuerza' value='3' />Nivel alto de seguridad!</span>";
	} else if (mediumRegex.test(pwd.value)) {
		strength.innerHTML = "<span style='color:orange'><input type='hidden' id='pass_fuerza' name='pass_fuerza' value='2' />Nivel medio de seguridad!</span>";
	} else {
		strength.innerHTML = "<span style='color:red'><input type='hidden' id='pass_fuerza' name='pass_fuerza' value='1' />Nivel bajo de seguridad!</span>";
	}
}
/***************************************************************************************************************************************/
// Inicializador de objeto Ajax
function init() {
	try {
		objetus = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			objetus= new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			objetus= false;
		}
	}
	if (!objetus && typeof XMLHttpRequest!='undefined') {
		objetus = new XMLHttpRequest();
	}
	else{
	}
	
	return objetus
}
/***************************************************************************************************************************************/
function inputOnFocus(objeto,label)
{
	if(objeto.value==label) objeto.value='';
}
/***************************************************************************************************************************************/
function inputOnBlur(objeto,label)
{
	if(objeto.value=='') objeto.value=label;
}
/***************************************************************************************************************************************/
// Funcion para login
function logMeIn()
{
	if(browserType('username').value!='' && browserType('password').value!='')
		document.forms.login.submit();
	else 
		alert('Complete usuario y contrase\u00f1a para poder loguearse')
}
/***************************************************************************************************************************************/
// Devuelve el KeyCode
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;

return keycode

}
/***************************************************************************************************************************************/
function addItem(font,destiny,stringAcumulador)
{
	objSucursales = browserType(font);
	objSupervisor = browserType(destiny);
	
	if(objSucursales.value!="")
	{
		var j=0;
		var found=false;
		
		while(j<objSupervisor.length && !found)
		{
			if(objSucursales.value!=objSupervisor.options[j].value)
				j++;
			else
				found = true;
		}
		
		if(!found)
		{
			objSupervisor.options[j] = new Option(objSucursales.options[objSucursales.selectedIndex].text,objSucursales.value);
					
			var str="";
			
			for(i=0;i<objSupervisor.length;i++) str += objSupervisor.options[i].value+"|";
			
			browserType(stringAcumulador). value = str;
		}
			
		else
			alert('El item ya se encuentra agregado');
		
	}
	else
	{
		alert('Elija un item');
	}
}
/***************************************************************************************************************************************/
function delItem(font,stringAcumulador)
{
	objSupervisor = browserType(font);
	
	if(objSupervisor.value!="")
	{
		var i;
		for (i = objSupervisor.length - 1; i>=0; i--) 
		{
			if (objSupervisor.options[i].selected) 
			{
		      objSupervisor.remove(i);
		    }
		}
		
		var str="";
			
		for(i=0;i<objSupervisor.length;i++) str += objSupervisor.options[i].value+"|";
		
		browserType(stringAcumulador). value = str;
  	}
  	else
	{
		alert('Elija un item');
	}
}
/***************************************************************************************************************************************/
function fLoadColoresCmb(nombre)
{
	var cmbMarca;
	var cmbColores;
	var cmbOptions = new Array();
	var j = 0;
	
	cmbMarca = browserType('marca');
	cmbColores = browserType(nombre);
		
	cmbColores.length = 0;
	cmbColores.options[0] = new Option("Cargando...", "");
	cmbColores.disabled = true;
	
	_objetus=init();
	_objetus.open("GET", "../core/functions.inc.php?action=loadColores&nombre="+nombre+"&codMarca="+cmbMarca.value, true);

	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != ""){
				
				//alert(_objetus.responseText);
				browserType('div_'+nombre).innerHTML = _objetus.responseText;
			}
			
			if(nombre=="color1") fLoadColoresCmb("color2");
			return true;
		}
		else{
			return null;
		}
	}
	
	_objetus.send(null);
}
/***************************************************************************************************************************************/
function removeSpaces(string) {
 return string.split(' ').join('');
}

/***************************************************************************************************************************************/
function searchModel(valor)
{
	if(aModelos.length==0) loadComboAutos('idModelo','../core/functions.inc.php?action=loadModelos'); 
	
	var i=0;
	var found = false;
	var cmbModelos = browserType('idModelo');
	
	if(valor!="")
	{
		valor = valor.toUpperCase();
		
		while(i<aModelos.length && !found) 
		{
			var texto = removeSpaces(aModelos[i].codModelo);
			var busqueda = removeSpaces(valor);
			
			if(texto.indexOf(busqueda)>-1)
			{
				cmbModelos.selectedIndex = i;
				if(browserType('precio') && aModelos[i].precio>0)
				{
					browserType('precio').value = aModelos[i].precio;
					updateDescuento(''); 
					fCalcularSubTotal();
				}
				found = true;	
			}
			else
			{
				i++;
			}
		}
	}
	else
	{
		cmbModelos.selectedIndex = 0;
		if(browserType('precio'))
		{
			browserType('precio').value = 0;
			updateDescuento(''); 
			fCalcularSubTotal();
		}
	}
}
/***************************************************************************************************************************************/
function fillModel()
{
	cmbObj = browserType('idModelo');
	var j=0;
	
	_objetus=init();
	_objetus.open("GET", "../core/functions.inc.php?action=fillModelos&idMarca="+browserType('marca').value+"&idFabrica="+browserType('fabrica').value+(browserType('vn')?(browserType('vn').checked?"&0Km=true":""):""), true);
	
	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != "")
			{
				aModelos = new Array();
				
				cmbOptions = _objetus.responseText.split("|");
				for(i=0; i < cmbOptions.length; i+=3){
					
					aModelos[j] = {precio:cmbOptions[i+1], codModelo:cmbOptions[i+2]};
					
					if(cmbOptions[i]==cmbObj.value)
					{ 
						if(browserType('precio')) 
						{
							browserType('precio').value = aModelos[j].precio;
							updateDescuento(''); 
							fCalcularSubTotal();
						}
						
						browserType('codIndustrial').value=aModelos[j].codModelo;
												
					}		
					j++;			
				}
			}	
			return true;
		}
		else{
			return null;
		}
	}

	_objetus.send(null);
}
/***************************************************************************************************************************************/
function checkCliente(formName)
{
	if(browserType('iva').value=="5")
		checkForm('tipoDoc,nroDoc,nombre,apellido,iva,telefono,direccion,cpa,piso,depto',',,,,,,,,,','Tipo de documento|Numero de documento|Nombres|Apellido|Categor|i|a de IVA|Tel|e|fono|Direcci|o|n|C|o|digo postal|Piso|Departamento',formName);
	else
		checkForm('tipoDoc,nroDoc,nombre,apellido,cuit,iva,telefono,direccion,cpa,piso,depto',',,,,,,,,,,','Tipo de documento|Numero de documento|Nombres|Apellido|CUIT/CUIL|Categor|i|a de IVA|Tel|e|fono|Direcci|o|n|C|o|digo postal|Piso|Departamento',formName);		
}
/***************************************************************************************************************************************/
// savePeritaje
function savePeritaje(idObjeto,value)
{
	browserType(idObjeto).value = value;
}
/***************************************************************************************************************************************/
// BrowserType
function browserType(objeto){
	/* Recibe cualquier tipo de objeto, verifica en que browser esta laburando
	el usuario y en base a eso retorna el comando de selecion de objeto en un
	documento */
		if(document.all){
			return document.all[objeto];
		}
		else{
			return document.getElementById(objeto);
		}
}
/***************************************************************************************************************************************/
// Carga un combobox
function loadCombo(strCombo, urlLink){
	var cmbObj = "";
	var cmbOptions = new Array();
	var j = 0;
	
	if(document.all)
		cmbObj = document.all[strCombo];
	else
		cmbObj = document.getElementById(strCombo);
		
	cmbObj.length = 0;
	cmbObj.options[0] = new Option("Cargando...", "");
	cmbObj.disabled = true;
	
	_objetus=init();
	_objetus.open("GET", urlLink, true);

	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != ""){
				
				cmbObj.length = 0;
				
				if(strCombo!="sucursales" && strCombo!="idUsuario")
				{ 
					cmbObj.options[j] = new Option("Seleccione "+strCombo, "");
					j++;
				}
				
				cmbOptions = _objetus.responseText.split("|");
				for(i=0; i < cmbOptions.length; i+=2){
					cmbObj.options[j] = new Option((cmbOptions[i]), cmbOptions[i+1]);
					j++;
				}
			}
			
			cmbObj.disabled = false;
			
			return true;
		}
		else{
			return null;
		}
	}
	
	_objetus.send(null);
}
/***************************************************************************************************************************************/
function loadComboMarcas(strCombo, urlLink){
	var cmbObj = "";
	var cmbOptions = new Array();
	var j = 0;
	
	//browserType('idModelo').options[0] = new Option("Seleccione una marca", "");
	
	if(document.all)
		cmbObj = document.all[strCombo];
	else
		cmbObj = document.getElementById(strCombo);
		
	cmbObj.length = 0;
	cmbObj.options[0] = new Option("Cargando...", "");
	cmbObj.disabled = true;
	
	_objetus=init();
	_objetus.open("GET", urlLink+(browserType('vn')?(browserType('vn').checked?"&0Km=true":""):""), true);

	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != ""){
				cmbObj.options[j] = new Option("Seleccione una marca", "");
				j++;
				
				cmbOptions = _objetus.responseText.split("|");
				for(i=0; i < cmbOptions.length; i+=2){
					cmbObj.options[j] = new Option(cmbOptions[i], cmbOptions[i+1]);
					j++;
				}
			}
			
			cmbObj.disabled = false;
			
			return true;
		}
		else{
			return null;
		}
	}
	
	_objetus.send(null);
}
/***************************************************************************************************************************************/
// Carga un combobox
function loadComboAutos(strCombo, urlLink){
	var cmbObj = "";
	var cmbOptions = new Array();
	var j = 0;
	
	
	/*if(strCombo=="marca")
	{
		browserType('modelo').length = 0;
		browserType('idVersion').length = 0;
		
		browserType('modelo').options[0] = new Option("Seleccione una marca", "");
		browserType('idVersion').options[0] = new Option("Seleccione una marca", "");
	}*/
	
	if(document.all)
		cmbObj = document.all[strCombo];
	else
		cmbObj = document.getElementById(strCombo);
		
	cmbObj.length = 0;
	cmbObj.options[0] = new Option("Cargando...", "");
	cmbObj.disabled = true;
	
	_objetus=init();
	_objetus.open("GET", urlLink+"&idMarca="+browserType('idMarca').value, true);
	
	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != "")
			{
				aModelos = new Array();
				aModelos[j] = {precio:0, codModelo:""};
				cmbObj.options[j] = new Option("Seleccione modelo", "");
				j++;
				
				cmbOptions = _objetus.responseText.split("|");
				for(i=0; i < cmbOptions.length; i+=4){
					cmbObj.options[j] = new Option((cmbOptions[i]), cmbOptions[i+1]);
					//cmbObj.options[j].label = cmbOptions[i+2];
					//aModelos[j] = {precio:cmbOptions[i+2], codModelo:cmbOptions[i+3]};
					j++;
				}
			}
			else
			{
				cmbObj.length = 0;
				cmbObj.options[j] = new Option("No se encontraron modelos", "");
			}
			
			
			cmbObj.disabled = false;
			//fLoadColoresCmb('color1');
			return true;
		}
		else{
			return null;
		}
	}
	
	_objetus.send(null);
}
/***************************************************************************************************************************************/
// Carga un combobox
function loadComboFamilias(strCombo, urlLink){
	var cmbObj = "";
	var cmbOptions = new Array();
	var j = 0;
	
	
	/*if(strCombo=="marca")
	{
		browserType('modelo').length = 0;
		browserType('idVersion').length = 0;
		
		browserType('modelo').options[0] = new Option("Seleccione una marca", "");
		browserType('idVersion').options[0] = new Option("Seleccione una marca", "");
	}*/
	
	if(document.all)
		cmbObj = document.all[strCombo];
	else
		cmbObj = document.getElementById(strCombo);
		
	cmbObj.length = 0;
	cmbObj.options[0] = new Option("Cargando...", "");
	cmbObj.disabled = true;
	
	_objetus=init();
	_objetus.open("GET", urlLink+"&idMarca="+browserType('idMarca').value, true);
	
	_objetus.onreadystatechange = function(){
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != "")
			{
				aModelos = new Array();
				aModelos[j] = {precio:0, codModelo:""};
				cmbObj.options[j] = new Option("Seleccione familia", "");
				j++;
				
				cmbOptions = _objetus.responseText.split("|");
				for(i=0; i < cmbOptions.length; i+=2){
					cmbObj.options[j] = new Option((cmbOptions[i]), cmbOptions[i+1]);
					//cmbObj.options[j].label = cmbOptions[i+2];
					//aModelos[j] = {precio:cmbOptions[i+2], codModelo:cmbOptions[i+3]};
					j++;
				}
			}
			else
			{
				cmbObj.length = 0;
				cmbObj.options[j] = new Option("No se encontraron familias", "");
			}
			
			
			cmbObj.disabled = false;
			//fLoadColoresCmb('color1');
			return true;
		}
		else{
			return null;
		}
	}
	
	_objetus.send(null);
}
/***************************************************************************************************************************************/
function cargarfecha(dia, mes, anio){
	var oDia, oMes, oAnio, objOption, valueDia, cantDias;
	var aDaysMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	//Objeto Mes
	if(document.all)
		oDia = document.all[dia];
	else
		oDia = document.getElementById(dia);
	
	//Objeto Mes
	if(document.all)
		oMes = document.all[mes];
	else
		oMes = document.getElementById(mes);
	
	//Objeto Año
	if(document.all)
		oAnio = document.all[anio];
	else
		oAnio = document.getElementById(anio);
	
	valueDia = oDia.value;
	oDia.length = null;
	if(oAnio.value%4 == 0 && oAnio%100 != 0 && oMes.value == 2){
		cantDias = 29;
	}
	else{
		cantDias = aDaysMonth[oMes.value-1];
	}
	
	for(i=0; i<cantDias; i++){
		objOption = new Option((i+1), (i+1));
		oDia[i] = objOption;
	}
	
	if(aDaysMonth[oMes.value-1] < valueDia){
		oDia[0].selected = true;
	}
	else{
		oDia[valueDia-1].selected = true;
	}
}
/***************************************************************************************************************************************/
function onlyNumber(evt)
    /* Function que no permite ingresar caracteres que no sean numericos ni punto
		USO onKeyPress="try {return isNumberKey(event)} catch (e){}"
	
	 */
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        
        //alert(charCode);
        
        if (charCode > 31 && (charCode < 48 || charCode > 57))
				return false;
        return true;
}
/***************************************************************************************************************************************/
function isNumberKey(evt)
    /* Function que no permite ingresar caracteres que no sean numericos
		USO onKeyPress="try {return isNumberKey(event)} catch (e){}"
	
	 */
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        
        //alert(charCode);
        
        if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
				return false;
        return true;
}
/***************************************************************************************************************************************/
function cuilInput(evt)
    /* Function que no permite ingresar caracteres en campo cuil
		USO onKeyPress="try {return cuilInput(event)} catch (e){}"
	
	 */
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 45)
				return false;
        return true;
}
/***************************************************************************************************************************************/
function telInput(evt)
    /* Function que no permite ingresar caracteres en campo telefono
		USO onKeyPress="try {return cuilInput(event)} catch (e){}"
	
	 */
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 45 && charCode != 41 && charCode != 40)
				return false;
        return true;
}
/***************************************************************************************************************************************/
function checkFieldsForm(obj, formToSend){
	var aObjs = obj.split("|");
	var oCurrentObj;
	var msgError = "";
	var Error = false;
	var i=0;	
	
	while(i<aObjs.length-1 && !Error){
		
		//alert(aObjs[i]);
		
		if(document.all)
			oCurrentObj = document.all[aObjs[i]];
		else
			oCurrentObj = document.getElementById(aObjs[i]);
		
		if(oCurrentObj.value != ""){
			i++;
		}
		else{
			Error = true;
		}
	}
		
	if(!Error){
		//document.MM_returnValue =  true;
		document.forms[formToSend].submit();
	}
	else{
		alert("Complete todos los campos por favor");
		//document.MM_returnValue =  false;
	}
}
function correctText(textComplete)
{
	var texto = textComplete;
	
	while(texto.indexOf("&oacute;")!=-1 || texto.indexOf("&uacute;")!=-1 || texto.indexOf("&iacute;")!=-1 || texto.indexOf("&eacute;")!=-1 || texto.indexOf("&aacute;")!=-1 || texto.indexOf("&ntilde;")!=-1){
		texto = texto.replace("&ntilde;", "\u00f1");
		texto = texto.replace("&oacute;", "\u00f3");
		texto = texto.replace("&eacute;", "\u00e9");
		texto = texto.replace("&aacute;", "\u00e1");
		texto = texto.replace("&iacute;", "\u00ed");
		texto = texto.replace("&uacute;", "\u00fa");
	}
	
	return texto;
}
/***************************************************************************************************************************************/
function checkAndSendMail(url)
{
	var error=false;
	var _objetus;
	
	browserType('startmessage').style.display = 'none';
	browserType('sendingmessage').style.display = '';
	browserType('thanksmessage').style.display = 'none';
	browserType('errorwarning').style.display = 'none';
	browserType('errorconnect').style.display = 'none';

	error = (browserType('nombre').value=="" || browserType('telefono').value=="" || browserType('zona').value=="" || browserType('mensaje').value=="");
	
	error = !isEmail(browserType('email').value);
	
	var strAdd = "";
	
	if(browserType('mailTo'))
	{
		strAdd = "&mailTo="+browserType('mailTo').value+"&mailCC="+browserType('mailCC').value;
	}
	
	if(!error)
	{
		_objetus=init();
		_objetus.open("GET", url+"&nombre="+browserType('nombre').value+"&email="+browserType('email').value+"&telefono="+browserType('telefono').value+"&zona="+browserType('zona').value+"&mensaje="+browserType('mensaje').value+strAdd, true);
		
		_objetus.onreadystatechange = function()
		{
			if (_objetus.readyState==4)
			{		
				switch(_objetus.responseText)
				{
					case "OK":
						browserType('sendingmessage').style.display = 'none';
						browserType('startmessage').style.display = 'none';
						browserType('thanksmessage').style.display = '';
					break;
					default:
						browserType('sendingmessage').style.display = 'none';
						browserType('startmessage').style.display = 'none'; 
						browserType('errorconnect').style.display = '';
					break;
				}
				
				return true;
			}
			else
			{
				return null;
			}
		}
		
		_objetus.send(null);
	}
	else
	{
		browserType('sendingmessage').style.display = 'none';
		browserType('errorwarning').style.display = '';
		browserType('startmessage').style.display = 'none';
	}
}
/***************************************************************************************************************************************/
function checkForm(obj, restrict, textComplete, formToSend){
	
	var aObjs = obj.split(",");
	var aRestrict = restrict.split(",");
	var aTextComplete = new Array();
	var oCurrentObj;
	var msgError = "";
	var Error = false;
	var valueComparation = false;
	
	while(textComplete.indexOf("|o|")!=-1 || textComplete.indexOf("|u|")!=-1 || textComplete.indexOf("|i|")!=-1 || textComplete.indexOf("|e|")!=-1 || textComplete.indexOf("|a|")!=-1 || textComplete.indexOf("|ni|")!=-1){
		textComplete = textComplete.replace("|ni|", "\u00f1");
		textComplete = textComplete.replace("|o|", "\u00f3");
		textComplete = textComplete.replace("|e|", "\u00e9");
		textComplete = textComplete.replace("|a|", "\u00e1");
		textComplete = textComplete.replace("|i|", "\u00ed");
		textComplete = textComplete.replace("|u|", "\u00fa");
	}
	
	msgError = "Ingrese correctamente los siguientes campos:\n\n";
	
	aTextComplete = textComplete.split("|");
		
	for(i=0; i < aObjs.length; i++){
		
		//alert(aObjs[i]);
		
		if(document.all)
			oCurrentObj = document.all[aObjs[i]];
		else
			oCurrentObj = document.getElementById(aObjs[i]);
		
		if(oCurrentObj.value != ""){
			if(aRestrict[i] != ""){
				if(aRestrict[i].substr(0, 2) == "eq"){
					if(document.all)
					{
						if(oCurrentObj.value != document.all[aRestrict[i].substr(3, aRestrict[i].length - 3)].value && oCurrentObj.value != ""){
							if(textComplete == null || aTextComplete[i] == "")
								msgError += "* Ingrese correctamente el campo "+ aObjs[i] +"\n";
							else
								msgError += "* "+ aTextComplete[i] +"\n";
							
							Error = true;
						}
					}
					else
						if(oCurrentObj.value != document.getElementById(aRestrict[i].substr(3, aRestrict[i].length - 3)).value && oCurrentObj.value != ""){
							if(textComplete == null || aTextComplete[i] == "")
								msgError += "* Ingrese correctamente el campo "+ aObjs[i] +"\n";
							else
								msgError += "* "+ aTextComplete[i] +"\n";
							
							Error = true;
						}
				}
				else{
					switch(aRestrict[i]){
						case "number":
							valueComparation = isNumber(oCurrentObj.value);
							break;
						
						case "decimal":
							valueComparation = isNumber(oCurrentObj.value, true);
							break;
						
						case "email":
							valueComparation = isEmail(oCurrentObj.value);
							break;
							
						case "patente":
							valueComparation = isPatente(oCurrentObj.value);
							break;
					}
					
					if(!valueComparation){
						if(textComplete == null || aTextComplete[i] == "")
							msgError += "* Ingrese correctamente el campo "+ aObjs[i] +"\n";
						else
							msgError += "* "+ aTextComplete[i] +"\n";
						
						Error = true;
					}
				}
			}
		}
		else{
			if(textComplete == null || aTextComplete[i] == "")
				msgError += "* Ingrese correctamente el campo "+ aObjs[i] +"\n";
			else
				msgError += "* "+ aTextComplete[i] +"\n";
			
			Error = true;
		}
	}
		
	if(!Error){
		//document.MM_returnValue =  true;
		document.forms[formToSend].submit();
	}
	else{
		alert(msgError);
		//document.MM_returnValue =  false;
	}
}
/***************************************************************************************************************************************/
function sumTotal(fields,field)
{
	var newValue = 0;
	var aFields = fields.split("|");
	
	for(i=0;i<aFields.length-1;i++)
	{
		newValue += parseInt(browserType(aFields[i]).value);
	}
	
	browserType(field).value = newValue;
}
/***************************************************************************************************************************************/
function isEmail(strEmail){
	regExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	
	return regExp.test(strEmail);
}
/***************************************************************************************************************************************/
function fCalcularSubTotal(flag)
// Toma los valores de precio / cuotasValor / descuentoValor  y los suma en subTotal
{	
	browserType('subTotal').value = Math.round(parseFloat(browserType('precio').value)-parseFloat(browserType('bonificacionValor').value)-parseFloat(browserType('descuentoValor').value));
		
	if(!flag && browserType('flete')) 
		fCalcularTotal();
	else
		fCalcularPeritajeTotal();
}
/***************************************************************************************************************************************/
function fCalcularPeritajeTotal()
{
	browserType('total').value = Math.round(parseFloat(browserType('gastos').value)+parseFloat(browserType('subTotal').value));
}
/***************************************************************************************************************************************/
function updateDescuento(name) // Math.round(original*10)/10 
{
	var valueBonif = parseFloat(browserType('precio').value) - parseFloat(browserType('bonificacionValor').value);
	
	if(name=="descuentoValor")
		browserType('descuento').value = Math.round(((parseFloat(browserType('descuentoValor').value)*100)/valueBonif)*10)/10;
	else
		browserType('descuentoValor').value = Math.round(((parseFloat(browserType('descuento').value)*valueBonif)/100)*10)/10;
}
/***************************************************************************************************************************************/
function updateBonificacion(name) // Math.round(original*10)/10 
{
	if(name=="bonificacionValor")
		browserType('bonificacion').value = Math.round(((parseFloat(browserType('bonificacionValor').value)*100)/parseFloat(browserType('precio').value))*10)/10;
	else
		browserType('bonificacionValor').value = Math.round(((parseFloat(browserType('bonificacion').value)*parseFloat(browserType('precio').value))/100)*10)/10;
}
/***************************************************************************************************************************************/
function fCalcularTotal()
{
	// toma todos los valores de gastos y los suma con el subtotal. Luego lo pone en el textfield de Total
	browserType('totalGastos').value = Math.round(parseFloat(browserType('subTotal').value)+parseFloat(browserType('accesorios').value)+parseFloat(browserType('flete').value)+parseFloat(browserType('patentamiento').value)+parseFloat(browserType('transferencia').value)+parseFloat(browserType('sellado').value)+parseFloat(browserType('prendaInscripcion').value)+parseFloat(browserType('prendaSellado').value)+parseFloat(browserType('informes').value)+parseFloat(browserType('gastosVu').value)+parseFloat(browserType('patentamientoCliente').value)+parseFloat(browserType('gastosFinanciamiento').value));	

	fCalcularDiferencia();
}
/***************************************************************************************************************************************/
function fCalcularTotalPago()
{
	browserType('totalPago').value = Math.round(parseFloat(browserType('deposito').value)+parseFloat(browserType('contado').value)+(browserType('valorToma')?parseFloat(browserType('valorToma').value):0)+parseFloat(browserType('financiacion').value)+parseFloat(browserType('documentos').value)+parseFloat(browserType('cheques').value)+parseFloat(browserType('pagoValor').value));
	
	fCalcularDiferencia();
}
/**********************************************************************************************/
function fCalcularDiferencia()
{
	numero = (parseFloat(browserType('subTotal').value)+parseFloat(browserType('accesorios').value)+parseFloat(browserType('flete').value)+parseFloat(browserType('patentamiento').value)+parseFloat(browserType('transferencia').value)+parseFloat(browserType('sellado').value)+parseFloat(browserType('prendaInscripcion').value)+parseFloat(browserType('prendaSellado').value)+parseFloat(browserType('informes').value)+parseFloat(browserType('gastosVu').value)+parseFloat(browserType('patentamientoCliente').value)+parseFloat(browserType('gastosFinanciamiento').value))-(parseFloat(browserType('deposito').value)+parseFloat(browserType('contado').value)+(browserType('valorToma')?parseFloat(browserType('valorToma').value):0)+parseFloat(browserType('financiacion').value)+parseFloat(browserType('documentos').value)+parseFloat(browserType('cheques').value)+parseFloat(browserType('pagoValor').value));
	
	browserType('diferencia').value = Math.round(numero*10)/10 ;
}
/**********************************************************************************************/
function validate_Patente(evt,value)
{
	/* Function que no permite ingresar caracteres para campos de patentes */
	var charCode = (evt.which) ? evt.which : event.keyCode
	//alert(charCode);
	if (charCode != 8 && charCode != 13 && charCode != 9 && charCode != 46 && charCode != 37 && charCode != 39){
         	if (value.length > -1 && value.length < 3) {
				if ((charCode < 65 || charCode > 122))
					return false;
			} else {
				if (charCode < 48 || charCode > 57)
					return false;			
			}
     } else {
		return true;	
	 }
}
/***************************************************************************************************************************************/
function fCheckPeritaje()
{
	var flag=true;
	if(parseFloat(browserType('precioVenta').value)<=0)
	{
		alert('El precio de venta del vehiculo es incorrecto');		
		flag=false;
	}
	else
	{
		if(browserType('peritajeF').value==',,,,' && browserType('peritajeA').value==',,,,' && browserType('peritajeLD').value==',,,,,,,' && browserType('peritajeLI').value==',,,,,,,')
		
		flag=confirm('No se han cargado detalles del peritaje en el vehiculo. ¿Desea continuar?');	
	}
	
	if(flag)
		checkForm('marca,idModelo,anio,patente,color,kilometraje,bateria_marca',',,,,,,,','Marca|Modelo|A|ni|o|Patente|Color|Kilometraje|Marca de la bateria','carga_peritaje');
}
/***************************************************************************************************************************************/
function fCalcularTotalPeritaje()
{
	browserType('precioVenta').value = parseFloat(browserType('valorToma').value)+parseFloat(browserType('gastosReparacion').value)+parseFloat(browserType('gastosPreparacion').value);
}
/***************************************************************************************************************************************/
// Esconde / Muestra el historial
function showHistorial(flag)
{
	var idLinea=1;
	
	while(browserType('historyLine_'+idLinea))
	{
		browserType('historyLine_'+idLinea).style.display = (flag?'':'none');
		idLinea++;
	}
	
	if(flag)
	{
		browserType('showHistorial').style.display = 'none';
		browserType('hideHistorial').style.display = '';
	}
	else
	{
		browserType('showHistorial').style.display = '';
		browserType('hideHistorial').style.display = 'none';
	}
}
/***************************************************************************************************************************************/
// Agrega el peritaje seleccionado
function fAddPeritaje(valor,idPeritaje)
{
	browserType('linea_'+idPeritaje).style.backgroundColor = "#FFD56F";
	
	var strpId = browserType('pId').value;
	var strpValorToma = browserType('pValorToma').value;
	
	strpId += idPeritaje+"|";
	strpValorToma += valor+"|";
	
	browserType('pId').value = strpId;
	browserType('pValorToma').value = strpValorToma;
	
	fCalcularValorToma();
}
/***************************************************************************************************************************************/
// Quita el peritaje seleccionado
function fRemovePeritaje(idPeritaje)
{
	browserType('linea_'+idPeritaje).style.backgroundColor = "";
	
	var aStrpId = browserType('pId').value.split("|");
	var aStrpValorToma = browserType('pValorToma').value.split("|");
		
	var strpId = "";
	var strpValorToma = "";
	
	for(var i=0;i<aStrpId.length-1;i++)
	{
		if(aStrpId[i]!=idPeritaje)
		{
			strpId += aStrpId[i]+"|";
			strpValorToma += aStrpValorToma[i]+"|";
		}
	}
	browserType('pId').value = strpId;
	browserType('pValorToma').value = strpValorToma;
	
	fCalcularValorToma();
}
/***************************************************************************************************************************************/
// Actualiza el valor de toma cuando se cambie en alguno de los peritajes
function fUpdateValorToma(valor,idPeritaje,valorDisponible)
{
	browserType('valorToma_'+idPeritaje+'_percent').value = Math.round((parseFloat(valor)*100)/parseFloat(valorDisponible)*10)/10;
	
	var aStrpId = browserType('pId').value.split("|");
	var aStrpValorToma = browserType('pValorToma').value.split("|");
		
	var strpId = "";
	var strpValorToma = "";
	
	for(var i=0;i<aStrpId.length-1;i++)
	{
		if(aStrpId[i]!=idPeritaje)
		{
			strpId += aStrpId[i]+"|";
			strpValorToma += aStrpValorToma[i]+"|";
		}
		else
		{
			strpId += aStrpId[i]+"|";
			strpValorToma += valor+"|";
		}
	}
	browserType('pId').value = strpId;
	browserType('pValorToma').value = strpValorToma;
	
	fCalcularValorToma();
}
/***************************************************************************************************************************************/
// Calcula el valor de toma
function fCalcularValorToma()
{
	var aStrpId = browserType('pId').value.split("|");
	var aStrpValorToma = browserType('pValorToma').value.split("|");
		
	var sum = 0;
	
	for(var i=0;i<aStrpId.length-1;i++) sum += parseFloat(aStrpValorToma[i]);
	
	browserType('valorToma').value = sum;
	
	if(browserType('totalPago')) fCalcularTotalPago();
}
/***************************************************************************************************************************************/
function fCalcularCuotas() // Math.round(original*10)/10 
{
	browserType('valorCuota').value = Math.round(((parseFloat(browserType('monto').value)/parseFloat(browserType('plazo').value))*10)/10);
}
/***************************************************************************************************************************************/
/* ACTUALIZADOR DE PAGINA */
var displaycountdown="no"; // Do not edit the 
var starttime;
var nowtime;
var reloadseconds=0; 
var secondssinceloaded=0;
var INTERVAL;
 
function starttime(refreshinterval) 
{ 
	INTERVAL = refreshinterval;
	starttime=new Date(); 
	starttime=starttime.getTime(); 
	countdown();
} 

function countdown() 
{ 
	nowtime= new Date(); 
	nowtime=nowtime.getTime(); 
	secondssinceloaded=(nowtime-starttime)/1000; 
	reloadseconds=Math.round(INTERVAL-secondssinceloaded); 
	if (INTERVAL>=secondssinceloaded) 
	{ 
		var timer=setTimeout("countdown()",1000)
		if (displaycountdown=="yes") 
			window.status="Page refreshing in "+reloadseconds+ " seconds"  
	}
 	else 
	{
 		clearTimeout(timer) 
		window.location.reload(true)
	} 
} 
/***************************************************************************************************************************************/
function addObs(idUsuario,userType,id,tabla)
{
	if(browserType('observacion').value!='')
	{
	
	texto = browserType('observacion').value;
	
	while(texto.indexOf("\n")!=-1)
	{
		texto = texto.replace("\n","<br>");		
	}
	
	_objetus=init();
	_objetus.open("GET", "../core/dbFunctions.inc.php?action=addObs&idUsuario="+idUsuario+"&userType="+userType+"&table="+tabla+"&id="+id+"&texto="+texto, true);

	_objetus.onreadystatechange = function()
	{
		if (_objetus.readyState==4)
		{	
			//alert(_objetus.responseText);
			
			if(_objetus.responseText == "ok")
			{
				renderObs(id,tabla);
				//alert(_objetus.responseText);
			}
			
			return true;
		}
		else
		{
			return null;
		}
	}
	
	_objetus.send(null);
	
	}
	else
		alert('Ingrese un texto para la observacion' + idUsuario + ' ' + userType + ' ' + idOperacion);
}
/***************************************************************************************************************************************/
function renderObs(id,tabla)
{
	_objetus=init();
	_objetus.open("GET", "../core/functions.inc.php?action=renderObs&id="+id+"&table="+tabla, true);

	_objetus.onreadystatechange = function()
	{
		if (_objetus.readyState==4)
		{		
			if(_objetus.responseText != "")
			{
				browserType('tablaObs').innerHTML = _objetus.responseText;
				//alert(_objetus.responseText);
			}
			
			return true;
		}
		else
		{
			return null;
		}
	}
	
	_objetus.send(null);
	
}
/***************************************************************************************************************************************/
function showObs(show)
{
	if(show)
	{
		browserType('imgExp').style.display = 'none';
		browserType('collapseObs').style.display = '';
		browserType('imgColap').style.display = '';
	}
	else
	{
		browserType('imgExp').style.display = '';
		browserType('collapseObs').style.display = 'none';
		browserType('imgColap').style.display = 'none';
	}
	
}
/***************************************************************************************************************************************/
function checkRejection(id,tabla)
{
	_objetus=init();
	_objetus.open("GET", "../core/dbFunctions.inc.php?action=checkRejection&id="+id+"&table="+tabla, true);

	_objetus.onreadystatechange = function()
	{
		if (_objetus.readyState==4)
		{			
			if(_objetus.responseText=="0")
				alert('Debe ingresar una observacion que justifique el rechazo');				
			else
				if(tabla==1)
				{
					if(confirm('Se rechazara la operacion. Desea continuar?')) document.forms.rechazar_operacion.submit();	
				}
				else
				{
					if(confirm('Se rechazara el peritaje. Desea continuar?')) document.forms.rechazar_peritaje.submit();	
				}
							
			return true;
		}
		else
		{
			return null;
		}
	}
	
	_objetus.send(null);
}