﻿
/**
 * @author administrador
 */
/**
 * @author Francisco Ruiz, 2009
 * funciones implantertc.dll
 */
var localizaciones;
var previos;
var modelos;
var _zona_codigo;
var _zona_nombre;
var _subzona_codigo;
var _subzona_nombre;
var _oficina_codigo;
var _oficina_nombre;
var _periodo;
var _modelo;
var _grupo;
var _cuentamodelos;

$(document).ready(function(){
			
			$('#fechaFin').datepicker({showButtonPanel: false, inline: true, showAnim: '', duration: '', minDate: diaInicial(),
					onSelect: function(dateText, inst) { 
									var textoHTML = '';
									var horaMinima = 0;
									horaAnterior = $("#horaFin").val();
									holaSelect = '';
									if  (Date.parse($('#fechaFin').datepicker('getDate')) == Date.parse(fechaActual()))  {
											horaMinima = new Date().getHours() + 5;
									 	}
										
									for (a = horaMinima; a < 24; a++) {
											if (a < 10) {tempa = '0' + a} else {tempa = a};
											if (horaAnterior == tempa) {horaSelect = ' selected'} else {horaSelect = ''};
											textoHTML = textoHTML + ' <option ' + horaSelect + ' value="' + tempa + '">' + tempa + '</option>';
										};
										
									$('#horaFin').html(textoHTML);
									inicioPresupuestar();
					}
			
			
			});
			
			
			$('#fechaIni').datepicker({showButtonPanel: false, inline: true, showAnim: '', duration: '', minDate: diaInicial(),
					onSelect: function(dateText, inst) {
									var textoHTML = '';
									var horaMinima = 0;
									horaAnterior = $("#horaIni").val();
									horaSelect = '';
									
									if  (Date.parse($('#fechaIni').datepicker('getDate')) == Date.parse(fechaActual()))  {
											horaMinima = new Date().getHours() + 5;
									 	}
									for (a = horaMinima; a < 24; a++) {
											if (a < 10) {tempa = '0' + a} else {tempa = a};
											if (horaAnterior == tempa) {horaSelect = ' selected'} else {horaSelect = ''};
											textoHTML = textoHTML + ' <option ' + horaSelect + ' value="' + tempa + '">' + tempa + '</option>';
										};
										
									$('#horaIni').html(textoHTML);										

										
									 var minDate = $('#fechaIni').datepicker('getDate');
									 $('#fechaFin').datepicker('option', 'minDate', minDate);
									 $('#fechaFin').datepicker( 'setDate' , minDate );
									 $('#horaFin').val($('#horaIni').val());
									
									inicioPresupuestar();
						}
			});																														 
			$('.fecha').datepicker('option', 'numberOfMonths', 2);
			$('#fechaIni').datepicker( 'setDate' , +1 );
			$('#fechaFin').datepicker( 'setDate' , +8 );
		    
			
			$('#horaIni').change(function(){
				$('#horaFin').val($(this).val());
				inicioPresupuestar();
			});

			$('#minutoIni').change(function(){
				$('#minutoFin').val($(this).val());
				inicioPresupuestar();
			});

			$('#horaFin').change(function(){
				inicioPresupuestar();
			});	
			
			$('#minutoFin').change(function(){
				inicioPresupuestar();
			});	
			
			$('#campoDescuento').hide();	/*inicialmente ocultamos el campo descuento*/
			$('#codigoDescuento').click(function(){
				$('#campoDescuento').toggle();
				return false;
			});
				
			inicioPresupuestar();
			
			localizaciones = json;  //carga TODAS las localizaciones existentes en la BD para ser procesadas
			
			$('.zonas').change(function(){
				cambioDeZona('ES', $('.zonas :selected').text());
			});
			
			$('#subzona').change(function(){
				cambioDeSubzona('ES', $('#subzona :selected').text(), '');
			});

			$('h6').toggle(function() {
				$(this).parent().find('.collapse').slideDown();
				$(this).removeClass('flechaDerecha');
				$(this).addClass('flechaAbajo');
				
			}, function () {
				$(this).parent().find('.collapse').slideUp();
				$(this).removeClass('flechaAbajo');
				$(this).addClass('flechaDerecha');
			});
												
});

function cambioDeZona(idioma, zona){
	/*cargarZonas(idioma, zona);*/
	cargarSubzonas(idioma, zona, '');
	cargarOficinas(idioma, zona, $('#subzona :selected').text(), '');
}

function cambioDeSubzona(idioma, subzona){
	cargarOficinas(idioma, $('#zona :selected').text(), subzona, '');
}

function cargarZonas(idioma, zonaSelect){
	var optionsZonas = '';
	for (f in localizaciones.zonas) {
			
			_zona_codigo = localizaciones.zonas[f].codigo;
			_zona_nombre = localizaciones.zonas[f].nombre;
			
			if (localizaciones.zonas[f].nombre == zonaSelect) 
			  {optionsZonas += '<option value="' + localizaciones.zonas[f].codigo + '" selected>' + localizaciones.zonas[f].nombre + '</option>'}
			else 
			  {optionsZonas += '<option value="' + localizaciones.zonas[f].codigo + '">' + localizaciones.zonas[f].nombre + '</option>'};
			
	}
	$(".zonas").html(optionsZonas);
}

function cargarSubzonas(idioma, zona, subzonaSelect){
	var optionsSubzonas = '';
	for (f in localizaciones.zonas) {
			
			if (localizaciones.zonas[f].nombre == zona) {
				
				for (i in localizaciones.zonas[f].subzonas) {
				 	_subzona_codigo = localizaciones.zonas[f].subzonas[i].codigo;
					_subzona_nombre = localizaciones.zonas[f].subzonas[i].nombre;	
					
					if (localizaciones.zonas[f].subzonas[i].nombre == subzonaSelect)
  					  {optionsSubzonas += '<option value="' + localizaciones.zonas[f].subzonas[i].codigo + '" selected>' + localizaciones.zonas[f].subzonas[i].nombre + '</option>'}
					else
					  {optionsSubzonas += '<option value="' + localizaciones.zonas[f].subzonas[i].codigo + '">' + localizaciones.zonas[f].subzonas[i].nombre + '</option>'};
				}
				
			};
						
	}
	$(".subzonas").html(optionsSubzonas);
}

function cargarOficinas(idioma, zona, subzona, oficinaSelect){
	var  optionsOficinas = '';
	for (f in localizaciones.zonas) {
			
			if (localizaciones.zonas[f].nombre == zona) {
				
				for (i in localizaciones.zonas[f].subzonas) {
					
					if (localizaciones.zonas[f].subzonas[i].nombre == subzona) {
						
						for (k in localizaciones.zonas[f].subzonas[i].oficinas) {
					
					
						 	_oficina_codigo = localizaciones.zonas[f].subzonas[i].oficinas[k].codigo;
							_oficina_nombre = localizaciones.zonas[f].subzonas[i].oficinas[k].nombre;	
						
							if (localizaciones.zonas[f].subzonas[i].oficinas[k].nombre == oficinaSelect) 
							  {optionsOficinas += '<option value="' + localizaciones.zonas[f].subzonas[i].oficinas[k].codigo + '" selected>' + localizaciones.zonas[f].subzonas[i].oficinas[k].nombre + '</option>'}
							else
							  {optionsOficinas += '<option value="' + localizaciones.zonas[f].subzonas[i].oficinas[k].codigo + '">' + localizaciones.zonas[f].subzonas[i].oficinas[k].nombre + '</option>'};
							
						};
					
					};
					
				};
				
			};
						
	};
	$(".oficinas").html(optionsOficinas);
	
}




function daysBetween(aFinishDate, aStartDate) {

	if ((aStartDate == undefined) || (aFinishDate == undefined)) {
		this.days = 0;
		this.hours = 0;
	}
	else
	{
	    // The number of milliseconds in one day
		var oneHour = 1000 * 60 * 60;
		var oneDay = oneHour * 24;
	    // Convert both dates to milliseconds
	    var date1Ms = aFinishDate.getTime();
	    var date2Ms = aStartDate.getTime();
	    // Calculate the difference in milliseconds
	    var differenceMs = Math.round(date1Ms - date2Ms);
	  	this.days = Math.round(differenceMs/oneDay);
		this.hours = Math.round((differenceMs/oneHour) - (this.days * 24));

		if ((this.days == 0) && (this.hours > 0)) {
			this.days = 1;
			this.hours = 0;
		}
		
		if (this.hours > 5) {
			this.days = this.days + 1;
			this.hours = 0;
		}
	}

}


function inicioPresupuestar() {
	var days, hours, temporalHora, temporalMinutos;
							var edStart = $('#fechaIni').datepicker('getDate');
							temporalHora = $('#horaIni').val();
							if (temporalHora.substring(0,1) == '0') {temporalHora = temporalHora.substring(1,2)};
							temporalMinutos = $('#minutoIni').val();
							if (temporalMinutos.substring(0,1) == '0') {temporalMinutos = temporalMinutos.substring(1,2)};						
							edStart.setHours(parseInt(temporalHora),parseInt(temporalMinutos - edStart.getTimezoneOffset()));
														
							var edEnd = $('#fechaFin').datepicker('getDate');
							temporalHora = $('#horaFin').val();
							if (temporalHora.substring(0,1) == '0') {temporalHora = temporalHora.substr(1,2)};
							temporalMinutos = $('#minutoFin').val();
							if (temporalMinutos.substring(0,1) == '0') {temporalMinutos = temporalMinutos.substring(1,2)};
							edEnd.setHours(parseInt(temporalHora),parseInt(temporalMinutos - edEnd.getTimezoneOffset()));
							
							
							$("#presupuestar").attr("disabled", !(edStart < edEnd));
							$('#continuarReserva').attr("disabled", !(edStart < edEnd));
							
							var validar = new daysBetween(edEnd, edStart);
							var texto = validar.days + lexDias;
							if (validar.hours > 0 ) {texto = texto + lexY + validar.hours + lexHoras};
							$("#diashoras").html('<p class="infodias">' + lexDiasdereserva + '<b>' + texto + '</b>' + '</p>');
							
							$('.reservaFhDevolucion').html($('#fechaFin').val() + ' ' + $('#horaFin').val() + ':' + $('#minutoFin').val());
							$('.reservaFhEntrega').html($('#fechaIni').val() + ' ' + $('#horaIni').val() + ':' + $('#minutoIni').val());

	return false;
}


function fechaActual() {
			 var miFecha = new Date();
			 miFecha.setHours(0,0,0,0);
			 return miFecha;
}

function diaInicial() {
					var horaMinima = new Date().getHours() + 4;
					if (horaMinima > 23) { return 1 } else { return 0 };				

}

function campoValido(aIdCampo, aTextoError) {
				if ($("#" + aIdCampo).val() == "") {
					$("#" + aIdCampo).addClass("errorBorder");
					$("#e" + aIdCampo).html(aTextoError);
					return false;
				} else {
					$("#" + aIdCampo).removeClass("errorBorder");
					$("#e" + aIdCampo).html("");
					return true;
				};				 		
};

function checkValido(aIdCampo, aTextoError) {
				if ($('#' + aIdCampo).attr('checked')) {
					$("#" + aIdCampo).removeClass("errorBorder");
					$("#e" + aIdCampo).html("");
					return true;
				} else {
					$("#" + aIdCampo).addClass("errorBorder");
					$("#e" + aIdCampo).html(aTextoError);
					return false;
					
				};				 		
};

function campoValidoDoble(aIdCampo, aIdDoble, aTextoError) {
	var valido1 = true;
	var valido2 = true;
				if ($("#" + aIdCampo).val() == "") {
					$("#" + aIdCampo).addClass("errorBorder");
					$("#e" + aIdCampo).html(lexRequired);
					valido1 = false;
				} else {
					$("#" + aIdCampo).removeClass("errorBorder");
					$("#e" + aIdCampo).html("");
					valido1 = true;
				};				 		

				if ($("#" + aIdDoble).val() == "") {
					$("#" + aIdDoble).addClass("errorBorder");
					$("#e" + aIdDoble).html(lexRequired);
					valido2 = false;
				} else {
					$("#" + aIdDoble).removeClass("errorBorder");
					$("#e" + aIdDoble).html("");
					valido2 = true;
				};			
				
				if ((valido1 = true) && (valido2 = true)) {
					if ($("#" + aIdCampo).val() != $("#" + aIdDoble).val()) {
						$("#" + aIdDoble).addClass("errorBorder");
						$("#e" + aIdDoble).html(aTextoError);
						valido2 = false;
					} else {
						$("#" + aIdDoble).removeClass("errorBorder");
						$("#e" + aIdDoble).html("");
						valido2 = true;
					};			
				};
					 		
				
};

function fechaValida(aCampoDia, aCampoMes, aCampoAno, aErrorDiv, aTextoError, aAlertIfEmpty) {
	if (aAlertIfEmpty == false) {
		if (($("#" + aCampoDia).val() == '')  || ($("#" + aCampoMes).val() == '') || ($("#" + aCampoAno).val() == '')) {
						$("#" + aCampoDia).removeClass("errorBorder");
						$("#" + aCampoMes).removeClass("errorBorder");
						$("#" + aCampoAno).removeClass("errorBorder");
						$(aErrorDiv).html('');
						return false;

		};
	};
	if (
	    isValidDate($("#" + aCampoDia).val(), $("#" + aCampoMes).val() - 1, $("#" + aCampoAno).val())
	   )
	 {
						$("#" + aCampoDia).removeClass("errorBorder");
						$("#" + aCampoMes).removeClass("errorBorder");
						$("#" + aCampoAno).removeClass("errorBorder");
						$(aErrorDiv).html('');
						return true;
					} else {
						$("#" + aCampoDia).addClass("errorBorder");
						$("#" + aCampoMes).addClass("errorBorder");
						$("#" + aCampoAno).addClass("errorBorder");
						if ($("#" + aCampoAno).val().length != 4) {
							$(aErrorDiv).html(lexYear4);
						}
						else {
							$(aErrorDiv).html(aTextoError);
						};
						return false;
					};			

};


function isValidDate(day,month,year){
var dteDate;
	dteDate=new Date(year,month,day);
	return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}


