var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

jQuery.fn.getCheckboxValues = function(){
	  var values = Array();
	  var i = 0;
	  this.each(function(){
	    values[i++] = $(this).val();
	  });
	  return values;
	}

function labelCheckbox()
{
  $('label.checkbox').click( function (event) {
	//alert("Dentro de labelCheckbox");
	event.preventDefault();  
  	if ( $(this).children('input:checkbox').is(':checked') )
  	{
  	  $(this).children('input:checkbox').attr('checked', false);
  	  $(this).removeClass('checked');
  	}
  	else
  	{
  	  $(this).children('input:checkbox').attr('checked', true);
  	  $(this).addClass('checked');
  	}

  	if ( $(this).children('input:checkbox[onchange]').length ) $(this).children('input:checkbox').trigger('onchange');
  });
}

function customchecks ( padre )
{
	$(padre).contents().find('label.checkbox').click( function (event) {
	
	event.preventDefault();	
		
  	if ( $(this).children('input:checkbox').is(':checked') )
  	{
  	  $(this).children('input:checkbox').attr('checked', false);
  	  $(this).removeClass('checked');
  	}
  	else
  	{
  	  $(this).children('input:checkbox').attr('checked', true);
  	  $(this).addClass('checked');
  	}
  	//alert("Dentro");
  	if ( $(this).children('input:checkbox[onchange]').length ) $(this).children('input:checkbox[onchange]').trigger('onchange');

  	/*if ( $(this).parent('.item').length )
  	{
  	  if ( $(this).parent('.item').children('.sub').hasClass('expanded') )
  	  {
  	  	$(this).parent('.item').children('.sub').contents().find('input:checkbox:checked').each( function () {
  	  	  $(this).attr('checked', false);
  	  	});
  	  	
  	  	$(this).parent('.item').children('.sub').contents().find('label').each( function () {
  	  	  $(this).removeClass('checked');
  	  	});
  	  	
  	  	$(this).parent('.item').children('.sub').contents().find('.sub').each( function () {
  	  	  $(this).removeClass('expanded');
  	  	});
  	  }
  	  else $(this).parent('.item').children('.sub').addClass('expanded');
  	}*/
  });
}

function foldoptions ()
{	
  $('li.fold h4.fold-title span').click( function () {
  	  if ( $(this).parents('.fold').hasClass('expanded') )
  	  {
  	    $(this).parents('.fold').children('.fold-content').animate({height:'toggle'}, 300);
  	    $(this).parents('.fold').removeClass('expanded');
  	  }
  	  else
  	  {
  	  	$(this).parents('.fold').children('.fold-content').animate({height:'toggle'}, 300, function () {
  	  	  
  	  	  switch ( $(this).parents('.fold').attr('id') )
  	  	  {
  	  	    case 'tipo-alojamiento':
  	  	      if ( $('#capa_tipospropiedad') && !$('#capa_tipospropiedad').contents().length )
                carga_busqueda_avanzada('capa_tipospropiedad','tipospropiedad','');
              
              if ( $('#capa_tiposhabitacion').length && !$('#capa_tiposhabitacion').contents().length )
                carga_busqueda_avanzada('capa_tiposhabitacion','tiposhabitacion','');
              
              if ( $('#capa_tiposcasashabitaciones').length && !$('#capa_tiposcasashabitaciones').contents().length )
                carga_busqueda_avanzada('capa_tiposcasashabitaciones','tiposcasashabitaciones','');
              
              if ( $('#capa_tiposrecomendacion').length && !$('#capa_tiposrecomendacion').contents().length )
                carga_busqueda_avanzada_cond('capa_tiposrecomendacion','tiposrecomendacion','');
            break;
            
            case 'actividades':
              if ( $('#capa_tiposturismo').length && !$('#capa_tiposturismo').contents().length )
                carga_busqueda_avanzada_cond('capa_tiposturismo','tiposturismo','');
            break;
            
            case 'lugares-proximos':
              if ( $('#capa_categoriaslugarproximo').length && !$('#capa_categoriaslugarproximo').contents().length )
                carga_busqueda_avanzada_cond('capa_categoriaslugarproximo','categoriaslugarproximo','');
            break;
            
            case 'equipamientos':
              if ( $('#capa_tiposequipamiento').length && !$('#capa_tiposequipamiento').contents().length )
                carga_busqueda_avanzada_equipamiento('capa_tiposequipamiento','tiposequipamiento','');
            break;
            
            case 'mapa-geografico':
              if ( !$('#mapa').contents().length ) googlemaps();
            break;
  	  	  }
  	  	});
  	  	$(this).parents('.fold').addClass('expanded');
  	  }
  	  imagenesPromocionales();
  });
}

function imagenesPromocionales()
{	
	if ($("#tipo-alojamiento").hasClass('expanded') || $("#reservas").hasClass('expanded') || $("#actividades").hasClass('expanded') || 
		$("#lugares-proximos").hasClass('expanded') || $("#equipamientos").hasClass('expanded') || $("#mapa-geografico").hasClass('expanded'))
	{
		$("#capa_promocionales").css('display','none');
		$("#capa_promocionales").css('visibility','hidden');
		$("#capa_promocionales_pie").css('display','block');
		$("#capa_promocionales_pie").css('visibility','visible');
	}else{
		$("#capa_promocionales").css('display','block');
		$("#capa_promocionales").css('visibility','visible');
		$("#capa_promocionales_pie").css('display','none');
		$("#capa_promocionales_pie").css('visibility','hidden');
	}
}

function sectionoptions ()
{
  $('li.section h5.section-title').each( function () {
  	$(this).click( function () {
  	  if ( $(this).parent().hasClass('expanded') )
  	  {
  	   	$(this).parent().children('.section-content').animate({height:'toggle'}, 300, function () {
  	   	  $(this).parent().removeClass('expanded');
  	   	});
  	  }
  	  else
  	  {
  	  	$(this).parent().children('.section-content').animate({height:'toggle'}, 300, function () {
  	  	  $(this).parent().addClass('expanded');
  	  	  resize();
  	  	});
  	  	
  	  }
  	});
  });
}

function resize ()
{
  var heights = [];
  var objects = [];
  
  $('li.section .section-content .sub').each( function () {
  	heights.push( $(this).height() );
  	objects.push( $(this) );
  });
  
  if ( heights[0] > heights[1] )
  {
  	$(objects[1]).height( heights[0] );
  }
  else if ( heights[1] > heights[0] )
  {
  	$(objects[0]).height( heights[1] );
  }
}

function datepickers ()
{
  //Datepickers
  var dates = $(".datepicker").datepicker({
  	minDate:'+1d',
  	maxDate:'+2y',
  	//dateFormat:'yy-mm-dd',
  	dateFormat:'dd-mm-yy',
  	showOtherMonths: true,
  	selectOtherMonths: true,
  	firstDay:1,
  	monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
  				 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
  	dayNames: ['Domingo','Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
	dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
	
	onSelect: function ( selectedDate ) {
	  var option = in_array( this.id, Array("f_inicio","fechaentrada","fechainicio") ) ? "minDate" : "maxDate",
		  instance = $( this ).data( "datepicker" );
		  date = $.datepicker.parseDate(instance.settings.dateFormat ||
				 $.datepicker._defaults.dateFormat,selectedDate,instance.settings);
		
      in_array( this.id, Array("f_inicio","fechaentrada","fechainicio") ) ? date.setTime( date.getTime()+(24*60*60*1000) ) : date.setTime( date.getTime()-(24*60*60*1000) );
	  in_array( this.id, Array("f_inicio","fechaentrada","fechainicio") ) ? dates.not('#f_inicio, #fechaentrada, #fechainicio').datepicker( "option", option, date )
                                                            			  : dates.not('#f_fin, #fechasalida, #fechafin').datepicker( "option", option, date );
		
	  if ( in_array( this.id, Array("f_inicio","fechaentrada","fechainicio") ) )
      {
        if ( $('#f_inicio').length ) $('#f_inicio').attr('value', selectedDate );
        if ( $('#fechaentrada').length ) $('#fechaentrada').attr('value', selectedDate );
        if ( $('#fechainicio').length ) $('#fechainicio').attr('value', selectedDate );
      }
      else
      {
        if ( $('#f_fin').length ) $('#f_fin').attr('value', selectedDate );
        if ( $('#fechasalida').length ) $('#fechasalida').attr('value', selectedDate );
        if ( $('#fechafin').length ) $('#fechafin').attr('value', selectedDate );
      }
	}
  });
}

function datePickersId(idElemInicio, idElemFin)
{
	if (!document.getElementById(idElemInicio) || !document.getElementById(idElemFin)) return;

	var dateElements = $(".datepicker_id").datepicker({
	  	minDate:'-1y',
	  	maxDate:'+2y',
	  	dateFormat:'dd-mm-yy',
	  	showOtherMonths: true,
	  	firstDay:1,
	  	monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
	  				 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
	  	dayNames: ['Domingo','Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
		dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
		
		onSelect: function (selectedDate) {
		  
			var option = ( this.id == idElemInicio ) ? "minDate" : "maxDate",
			  instance = $( this ).data( "datepicker" );
			  date = $.datepicker.parseDate(instance.settings.dateFormat ||
					 $.datepicker._defaults.dateFormat,selectedDate,instance.settings);
			
			if ( this.id == idElemInicio ) {
				$('#'+idElemInicio).attr('value', selectedDate );
				date.setTime( date.getTime()+(24*60*60*1000));
				dateElements.filter(document.getElementById(idElemFin)).datepicker( "option", option, date );
			}
		    else {
		    	$('#'+idElemFin).attr('value', selectedDate );
		    	date.setTime( date.getTime()-(24*60*60*1000));
		    	dateElements.filter(document.getElementById(idElemInicio)).datepicker( "option", option, date );
		    }
		}
	  });
}

function datePickersNoRestrict()
{
  var dates = $(".datepicker_no_restrict").datepicker({
  	minDate:'-1y',
  	maxDate:'+2y',
  	dateFormat:'dd-mm-yy',
  	showOtherMonths: true,
  	firstDay:1,
  	monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
  				 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
  	dayNames: ['Domingo','Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
	dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
	
	onSelect: function ( selectedDate ) {
	  var option = ( this.id == 'fechainicio' ) ? "minDate" : "maxDate",
		  instance = $( this ).data( "datepicker" );
		  date = $.datepicker.parseDate(instance.settings.dateFormat ||
				 $.datepicker._defaults.dateFormat,selectedDate,instance.settings);
		
	  if ( this.id == 'fechainicio' ) {
		  date.setTime( date.getTime()+(24*60*60*1000) );
		  dates.filter('#fechafin').datepicker( "option", option, date );
		  $('#fechainicio').attr('value', selectedDate );
      }
      else {
    	  date.setTime( date.getTime()-(24*60*60*1000) );
    	  dates.filter('#fechainicio').datepicker( "option", option, date );
    	  $('#fechafin').attr('value', selectedDate );
      }
	}
  });
}

function slider ()
{
  //Slider-range
  var slider = $( "#slider-range" ).slider({
	range:'min',
	min: 1,
	max: 30,
	step: 1,
	value: 1,
	animate: true,
	slide: function( event, ui ) {
	  $("#capacidad").val( ui.value );
	}
  });
  
  $("#capacidad").keyup( function () {
  	if ( $(this).val() > 30 ) $(this).val(30);
  	if ( $(this).val() < 1  ) $(this).val(1);
  	
  	slider.slider( "value", $(this).val() );
  });
}

function googlemaps ()
{
  var geocoder = new google.maps.Geocoder();
  
  var latlng = new google.maps.LatLng(46,15);
  
  var myOptions = {
      zoom: 2,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      navigationControlOptions: {style: google.maps.NavigationControlStyle.ZOOM_PAN},
      mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
      scrollwheel: false
    };

  var map = new google.maps.Map( document.getElementById("mapa"), myOptions);
}

function findValueCallback ( event, data, formatted )
{
	//$("#result").val(data[3]+"/"+data[1]+"/"+encodeURIComponent(data[0]).toLowerCase());
	$("#result").val(data[3]+"/"+data[1]+"/"+encodeURIComponent(data[0]).toLowerCase()+"/"+data[2]);
}

function autocompleteBuscador()
{
  $("#example").autocomplete("/buscador.php",{
  	minChars:2,
  	max:20,
  	formatItem: function ( row ) {
  	  //return ""+row[0]+" ("+row[4]+"), "+row[1]+" <span class='results'>("+row[2]+")</span>";
  	  var sum = (row[2] > 0) ? " ("+row[2]+")" : "";
  	  return ""+row[0]+" ("+row[4]+"), "+row[5] + sum;
	},
	formatResult: function ( row ) {
	  return row[0];
	}		
  });
  
  $("input:text, textarea").result( findValueCallback )
  					  	   .next()
  					  	   .click( function() {
							 $(this).prev()
							 		.search();
  					  	   });
}

function carga_busqueda_avanzada ( id, nombre, checks )
{
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = 'cargando...';
  TT.server = 'carga_busqueda_avanzada.html';
  TT.Carga("json","capa_"+nombre,variables,"&tipo="+nombre+"&checks="+checks);
}

function carga_busqueda_avanzada_cond ( id, nombre, checks )
{
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = 'cargando...';
  TT.server = 'carga_busqueda_avanzada_cond.html';
  TT.Carga("json","capa_"+nombre,variables,"&tipo="+nombre+"&checks="+checks);
}

function abre_arbol_hijo ( id, valor, tipo, nombre )
{
  if ( !valor )
  {
	$("#capa_"+tipo+"_"+id).html('');
	return;
  }
  
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = '';
  TT.server = 'carga_arbol_hijo_cond.html';
  TT.Carga("json","capa_"+tipo+"_"+id,variables,"&id_"+nombre+"="+id+"&tipo="+nombre);
}

function carga_busqueda_avanzada_cond_bloque ( nombre, name_h, name_p, sid, valor )
{
  vech = ""; 
  vecp = "";
  
  $('input[name^='+name_h+']:checked').each( function () {
  	vech += (vech == "") ? "&"+name_h+"="+$(this).val()+"," :  $(this).val()+",";
  });
  
  $('input[name^='+name_p+']:checked').each( function () {
  	vecp += (vecp == "") ? "&"+name_p+"="+$(this).val()+"," :  $(this).val()+",";
  });
  
  vech = vech.replace(/,&/g,"&");
  vech = vech.replace(/^(\s|\,)*|(\s|\,)*$/g,"");
  vecp = vecp.replace(/,&/g,"&");
  vecp = vecp.replace(/^(\s|\,)*|(\s|\,)*$/g,"");
	
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = 'cargando...';
  TT.server = 'carga_busqueda_avanzada_cond.html';
  TT.Carga("json","capa_"+nombre,variables,"&tipo="+nombre+vech+vecp);
}

function carga_busqueda_avanzada_equipamiento ( id, nombre, checks )
{
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = 'cargando...';
  TT.server = 'filtro_avanzado_arbol.html';
  TT.Carga("json","capa_"+nombre,variables,"&tipo="+nombre+"&checks="+checks);
}

function abre_eqTipo ( id, valor )
{
  if ( !valor )
  {
	$("#capa_eqtipo_"+id).html('');
	return;
  }
  
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = '';
  TT.server = 'carga_arbol.html';
  TT.Carga("json","capa_eqtipo_"+id,variables,"&id_tipoequipamiento="+id);
}

function abre_eq ( id, valor )
{
  if ( !valor )
  {
	$("#capa_eq_"+id).html('');
	return;
  }
	
  var variables = new Array();
  var TT = new TTajax();
  TT.msg = '';
  TT.server = 'carga_arbol_hijo.html';
  TT.Carga("json","capa_eq_"+id,variables,"&id_equipamiento="+id);
}

function loginlayer ()
{
  $('<div class="login-overlapped"><form action="/login.html" method="post"><span>Usuario (tu dirección de e-mail)</span><input type="text" name="p_user" id="p_user" value="" /><span>Clave</span><input type="password" name="p_pass" id="p_pass" value="" /><button type="submit" name="submit" class="button min">Login</button><a href="/restablecer_clave_getmail.html">¿Has olvidado tu contraseña?</a></form></div>').appendTo('body');

  $('.login').click( function () {
    $(this).toggleClass('overlapped');
    $('.login-overlapped').fadeToggle();
  });
}

function removerequired ()
{
  $('input, select, textarea').live('change', function () {
  	if ( $(this).hasClass('required') && $(this).val() ) $(this).removeClass('required');
  });
}

function submenu ()
{
  $('.menu li').hover( function () {
  	if ( $(this).parent('.sub').length ) return false;
  	
  	if ( !$(this).children('.sub').length )
  	{
  	  $('.menu .sub').css('display', 'none');
  	}
  	else
  	{
  	  $('.menu .sub').not( $(this).children('.sub') ).css('display', 'none');
  	  
  	  if ( $(this).children('.sub').css('display') == 'none' )
  	  	$(this).children('.sub').css('display', 'block');
  	}
  }, function () { });
  
  $('.menu .sub').mouseleave(function() {
	  $('.menu .sub').css('display', 'none');
  });
}

$(document).ready( function () {
	
  BrowserDetect.init();

  if ( $('li.fold h4.fold-title').length ) foldoptions();
  
  if ( $('li.section h5.section-title').length ) sectionoptions();
  
  if ( $('li.section .section-content .sub').length ) resize();
  
  if ( $('.datepicker').length ) datepickers();
  if ( $('.datepicker_no_restrict').length ) datePickersNoRestrict();
  
  //if ( $('#slider-range').length && $('#capacidad').length ) slider();
  
  if ( $('#example').length && $('#result').length ) autocompleteBuscador();
  
  if ( $('.login').length ) loginlayer();
  
  removerequired();
  
  /*if ( $('#errores').length && $('label.checkbox').length ) customchecks('#errores');*/
  
  if ( $('label.checkbox').length ) labelCheckbox();
  
  if ( $('.menu').length ) submenu();
  
  /*if ( $('#reservas').length && $('label.checkbox').length ) customchecks('#reservas');*/
  
  if( $('#form_data').length ) disableInputs();
  
  if ( $('a.btn_add_start').length ) buttonAddOver();
  
  if( $('.tipsy').length && (typeof jQuery.fn.tipsy == 'function') ) $('.tipsy').tipsy({fade:true, gravity: 'w', html: true});
  
  if( $('.dialog').length && (typeof jQuery.fn.dialog == 'function') ) openDialog();
  
  $('a.open').click(function()
		  {
	  		cambiaArbol(this);
		  });
  
  $('a.close').click(function()
		  {
		  	cambiaArbol(this);
		  });
});


function cambiaArbol(objeto)
{ 
	if ($(objeto).attr('class') == "open")
		var clase	= "close";
	else
		var clase	= "open"; 
		
	$(objeto).attr('class',clase);
}

function disableInputs()
{
  $(':input').each(function(){
	if($(this).attr('disabled')=='disabled') $(this).addClass('disabled');
  });
}

function validaEmail ( email )
{
  if ( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email) ) return true;
  
  return false;
}

function muestraOcultaFila ( idFila )
{
  if ( $('#'+idFila).length )
  {
  	//$('#'+idFila).css('display') == 'none' ? $('#'+idFila).css({display:'block'}) : $('#'+idFila).css({display:'none'});
  	$('#'+idFila).slideToggle();
  	$('#'+idFila).hasClass('expanded') ? $('#'+idFila).removeClass('expanded') : $('#'+idFila).addClass('expanded');
  }
}

function muestraFila ( idFila )
{
	if (!document.getElementById(idFila)) return;
	document.getElementById(idFila).style.display = '';
}

function ocultaFila ( idFila )
{
	if (!document.getElementById(idFila)) return;
	document.getElementById(idFila).style.display = 'none';
}

function set_border(id,border,texto)
{
  if (document.getElementById(id)) document.getElementById(id).className=border;
  
  if (!document.getElementById('capa_r_'+id)) return false;
  
  if(border == 'border_error') document.getElementById('capa_r_'+id).className='required';
  if(border == 'border_error_inline') document.getElementById('capa_r_'+id).className='required';
  
  if(border == 'border_ok') texto = "";
  
  document.getElementById('capa_r_'+id).innerHTML=texto;
}

function init_border()
{
  $('#fData input:text').removeClass("border_error");
  $('#fData input:password').removeClass("border_error");
  $('*[id^="capa_r_"]').html("");	
}

function resizeDivs ()
{
  var elem;
  
  $('.ficha').each( function () {
  	elem = higher( $(this).children('.content > div') );
  	
  	$(this).children('.content > div').not(elem).each( function () {
  	  $(this).height( elem.height() );
  	})
  });
}
  
function tabs ()
{
  var elem = higher( $('.contenido') );

  $('.contenido').not(elem).not('.clear').height( elem.height() );

  $('.ficha .nav li').click( function () {
	$(this).parents('.info').children('.contenido').not('.oculto, .clear').addClass('oculto');
	$(this).parents('.info').children( '#' + $(this).attr('rel') ).removeClass('oculto');
	  
	$(this).parent().children('.sel').removeClass('sel');
	$(this).addClass('sel');
  });
  
  $('.ficha img[rel=expand]').click( function () {
  	$(this).parents('table').contents().find('tr.fares').toggleClass('oculto');
  });
}

function higher ( nodes )
{
  var altura = 0;
  var nodo;
  	
  nodes.each( function () {
  	if ( $(this).height() > altura )
  	{
  	  altura = $(this).height();
   	  nodo = $(this);
    }
  });
  	
  return nodo;
}

function refreshCaptchaInfo()
{
  var newDate = new Date;
  var instante = newDate.getTime();
  
  var source = "/captcha.html?" + instante;
  $('#c_captcha').attr('src', source);

  if ($('#captcha').length) $('#captcha').val('');
}

function redirect(url)
{
	window.location.href=url;
}

function redirect_parent(url)
{
	window.parent.location=url;
}

function toggleSubarbol(elemento, idCapa)
{
  if ( !elemento || elemento.type != "checkbox") return;
	
  var idCapa = '#'+idCapa + elemento.value;
  if ($(idCapa).html() == '' || $(idCapa).html() == '\n' || $(idCapa).html() == '\n\n') return;
	
  $(idCapa).toggleClass('arbolbox_visible').toggleClass('arbolbox_oculto');
  
  if ( !elemento.checked )
  {
	$(idCapa).contents().find('input:checkbox:checked').each( function () {
	  $(this).attr('checked', false);
	});
	
	$(idCapa).contents().find('label').each( function () {
	  $(this).removeClass('checked');
	});
		 
	$(idCapa).contents().find('ul').each( function () {
	  $(this).attr('class', 'arbolbox_oculto');
	});
  }
 // actualizaresultados();
}

function buttonAddOver() {
	$("a.btn_add_start").hover(
		function(){
			$(this).children().addClass('btn_add_end_hover');
			$(this).children().children().addClass('btn_add_center_hover');
		},
		function(){
			$(this).children().removeClass('btn_add_end_hover');
			$(this).children().children().removeClass('btn_add_center_hover');
		}
	);
}

function modificaSrcTitleImagen(idElem, src, title)
{
	if (!$('#'+idElem).length) return;
	
	$('#'+idElem).attr('src', src);
	$('#'+idElem).attr('title', title);
}

function dcStr()
{
	var str = $('#cml').val();
	var v = str.split('z');
	var strOut = '';
	for(i in v) strOut = String.fromCharCode(intval(v[i]/2.5)) + strOut;
	return strOut;
}

function openDialog()
{
  $('.dialog').click( function (event) {
	event.preventDefault();
	$('#dialog:ui-dialog').dialog('destroy');
	
	$('#'+$(this).attr('rel')).dialog({
		modal: true,
		width: 'auto',
		buttons: {
			Ok: function() {
				$( this ).dialog( "close" );
			}
		}
	});
  });  	
}

function openPopUp(url, title,w,h)
{
  if (!w) w = 1024;
  if (!h) h = 650;
  
  var marginLeft = (screen.width/2)-(w/2);
  var marginTop = (screen.height/2)-(h/2);
  var ventana = window.open(url, title, 'scrollbars=1, status=0, location=0, menubar=0, toolbar=0, resizable=1, copyhistory=0, directories=0, width='+w+', height='+h+', top='+marginTop+', left='+marginLeft, false);
}

function closePopUp()
{
	if (window.opener && !window.opener.closed) {
		var popUp = window.self;
		popUp.opener = window.self;
		popUp.close();
	}
}

function limitadorContadorSpan(id, max) {
	var obj = document.getElementById(id);
	var len = obj.value.length;
	if (len >= max) {
		obj.value = obj.value.substring(0, max);
		document.getElementById('num_disponibles_'+id).innerHTML = 0;
		return;
	}
	document.getElementById('num_disponibles_'+id).innerHTML = max - len;
}

function esNumerico(n) {
	//if (n.length != trim(n).length) return false;
	return !isNaN(parseFloat(n)) && isFinite(n);
}

function digitosNumericos(str) {
	if (!str.length) return false;
	var regex = /[^0-9]/;   
	return !(str.match(regex));
}

