// GENERACIONES INTERACTIVAS - Sitio Web
// MCF 2011/01/19
// Redbility
//
// Libreria basica de funciones para la dinamica de interfaz.
// Requiere:
// - jquery-1.4.3.min.js
// - jquery.flash.js

var IE  = $.browser.msie;
var IE6 = IE && $.browser.version < 7;
var IE7 = IE && $.browser.version < 8 && $.browser.version > 6;

// DOM Ready -------------------------------------------------------------------------------------

$(document).ready(function(){

  $(".no-js").hide();

	// Pseudoclases para IE6
	$('ul li:first-child, ol li:first-child').addClass('first-child');
	$('.contacto-item:first-child').addClass('first-child');
	$('ul li:last-child, ol li:last-child').addClass('last-child');
  $('.checkbox + label, .radio + label').addClass('labeltop');
  $('.tabla-listado tbody tr:nth-child(even)').addClass('even');

  // Etiquetas "inset" en elementos INPUT
	$("input.hint")
		.each(function(i, e) {
			var hint = $(e).attr("title");
			$(e)
				.data("hint", hint)
				.focus(function() {
					if($(this).val()==$(this).data("hint"))
						$(this).val("").removeClass("hint");
				})
				.blur(function() {
					if($(this).val()=="")
						$(this).val($(this).data("hint")).addClass("hint");
				});
			if(hint && $(e).val()=="") {
				$(e).val(hint)
			} 
		});

  // Mostrar elementos
  $(".entry-tools").show();  

  // Calendario
$.datepicker.setDefaults($.datepicker.regional[language]);

  $("#datepicker").datepicker({
			showOn: "button",
			buttonImage: "/_style/_css/_gfx/calendario.gif",
			buttonImageOnly: true,
      changeMonth: true,
			changeYear: true,
      yearRange: '-99:+00',
      firstDay: 1 ,
      showButtonPanel: true
		});
  $("#datepicker").each(function(){
    var yearRange = $( "#datepicker" ).datepicker( "option", "yearRange" );
    var firstDay = $( "#datepicker" ).datepicker( "option", "firstDay" );
    $( "#datepicker" ).datepicker( "option", "yearRange", '-99:+00'  );
    $( "#datepicker" ).datepicker( "option", "firstDay", 1 );
  });  

  // Rollover
  $(".btn01").mouseenter(function() {
    $(this)
      .addClass("btn01-over")
        .prev(".btn01-l")
          .addClass("btn01-lo")
          .end()
        .next(".btn01-r")
          .addClass("btn01-ro");
  }).mouseleave(function(){
    $(this)
      .removeClass("btn01-over")
        .prev(".btn01-l")
          .removeClass("btn01-lo")
          .end()
        .next(".btn01-r")
        .removeClass("btn01-ro");
  });

  $(".btn02").mouseenter(function() {
    $(this)
      .addClass("btn02-over")
        .prev(".btn02-l")
          .addClass("btn02-lo")
          .end()
        .next(".btn02-r")
          .addClass("btn02-ro");
  }).mouseleave(function(){
    $(this)
      .removeClass("btn02-over")
        .prev(".btn02-l")
          .removeClass("btn02-lo")
          .end()
        .next(".btn02-r")
        .removeClass("btn02-ro");
  });

  $(".btn03").mouseenter(function() {
    $(this)
      .addClass("btn03-over")
        .prev(".btn03-l")
          .addClass("btn03-lo")
          .end()
        .next(".btn03-r")
          .addClass("btn03-ro");
  }).mouseleave(function(){
    $(this)
      .removeClass("btn03-over")
        .prev(".btn03-l")
          .removeClass("btn03-lo")
          .end()
        .next(".btn03-r")
        .removeClass("btn03-ro");
  });

	$(".tabla-listado tr").hover(
  function () {
    $(this).addClass("hover");
  }, 
  function () {
    $(this).removeClass("hover");
  }
);
  
  // Pestanas tabs
  
	$(".tabs-content").hide();
	$("ul.tabs li a").click(function(e) {
		e.preventDefault();
		var target = $(this).attr("href");
		$(this)
      .toggleClass("active")
      .parent()
        .siblings()
          .children()
          .removeClass("active");
		$(target)
			.siblings(".tabs-content")
					.hide()
					.end()
			.toggle();
	});

  // fancybox
  $("a.iframe").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
    'overlayColor': '#000000',
    'padding' : '27px',
    'height' : 210,
    'width': 584
	});

  $("a.gal-img").fancybox({
    'titlePosition' : 'inline',
    'titleFormat'		: formatTitle

  });
 
  
  // Password strenth
  $("#perpassword").keyup(function(){
    $(this).next().attr("class","");
    if($(this).val()!=""){
      $(this).next().addClass("tipo-" + passwordStrength($(this).val()));
    }
  });

  // Desplegable Idiomas
  $(".capa-idiomas").hide();
  $(".desple-idiomas").click(function(e) {
    e.preventDefault();
    $(this)
      .next()
      .slideToggle();
  });
  $(".capa-idiomas").mouseleave(function(){
    $(this).hide();
  });

  // Desplegable generico
  $(".desplegable-content").hide();
  $(".desplegable").addClass("contraido");
  $(".desplegable").click(function(){
    $(this)
      .toggleClass("desplegado")
        .next(".desplegable-content")
        .slideToggle();
  });

  //Igualar alturas .modulo-redes
  $(".modulo-redes02-content").resize(function(){
    $(this).parent().siblings(":not(.clear)").children(".modulo-redes-col").height($(this).height());
  });
  
  /* Igualar altura list04 */
  $(".list04").each(function(i, e)  {
    var maxHeight = 0;
    $(e).find("li").each(function(i, e) {
      maxHeight = Math.max(maxHeight, $(e).height());
    }).css("height", maxHeight);
  });
  
  //Igualar alturas
  $("*").each(function(i, e)  {
    var maxHeight = 0;
    $(e).find(".js-height").each(function(i, e) {
      maxHeight = Math.max(maxHeight, $(e).height());
    }).css("height", maxHeight);
  });

  //Igualar alturas
  $(".caja-gral-content").each(function(i, e)  {
    var maxHeight = 0;
    $(e).find(".modulo-aa-content").each(function(i, e) {
      maxHeight = Math.max(maxHeight, $(e).height());
    }).css("height", maxHeight);
  });

  // Igualar alturas listado Contacto
  $("ul.list-contacto").each(function(i, e)  {
    var maxHeight = 0;
    $(e).find("li").each(function(i, e) {
      maxHeight = Math.max(maxHeight, $(e).height());
    }).css("height", maxHeight);
  });


  // Galeria Flickr
	$(".flickr_badge_image img").each(function(i, e){
		var imgWidth = $(e).width();
		var imgHeight = $(e).height();
		var wrapperHeight = $("#flickr_badge_uber_wrapper").height();

		if (imgWidth > imgHeight) {
			$(e).attr("height", wrapperHeight).css("width", "auto");
		}
	});
	
	
  $("#flickr_badge_uber_wrapper").each(function(i, e) {
		var maxPage = $('#flickr_badge_wrapper').children('.flickr_badge_image').length - 1;
		
		$(e)
			.data("maxPage", maxPage)
      .data("currentPage", 0);

	});
    
  $('.modulo-redes03-content .anterior')
    .hide()
    .click(function() {
      var maxPage = $("#flickr_badge_uber_wrapper").data("maxPage");
      var newPage = Math.max(0, $("#flickr_badge_uber_wrapper").data("currentPage")-1);
      
      $(this).toggle(newPage!=0);
      $('.modulo-redes03-content .siguiente').show();
      
      flickrGoto(newPage);
    });
  
  $('.modulo-redes03-content .siguiente')
    .toggle($("#flickr_badge_uber_wrapper").data("maxPage") != 1)
    .click(function(){
      var maxPage = $("#flickr_badge_uber_wrapper").data("maxPage");
      var newPage = Math.min(maxPage, $("#flickr_badge_uber_wrapper").data("currentPage")+1);
      
      $(this).toggle(newPage!=maxPage);
      $('.modulo-redes03-content .anterior').show();
      
      flickrGoto(newPage);
    });
   
    // Galeria General
    
    $(".carousel").each(function(i, e) {
      var carouselCount = $(e).find(".img").length;
      var carouselItemsPerPage = 5;
      var pageCount = Math.ceil(carouselCount / carouselItemsPerPage);
      var carouselmaxPage = pageCount - 1;

      $(e)
        .data("carouselmaxPage", carouselmaxPage)
        .data("currentPage", 0)
        .data("itemsPerPage", carouselItemsPerPage);
    });
    
    $('.carousel .anterior')
    .hide()
    .click(function() {
      var carouselmaxPage = $(".carousel").data("carouselmaxPage");
      var newPage = Math.max(0, $(".carousel").data("currentPage")-1);
      
      $(this).toggle(newPage!=0);
      $('.carousel .siguiente').show();
      
      carouselGoto(newPage);
    });

    $('.carousel .siguiente')
    .toggle($(".carousel").data("carouselmaxPage") != 0)
    .click(function(){
      var carouselmaxPage = $(".carousel").data("carouselmaxPage");
      var newPage = Math.min(carouselmaxPage, $(".carousel").data("currentPage")+1);

      $(this).toggle(newPage!=carouselmaxPage);
      $('.carousel .anterior').show();
      
      carouselGoto(newPage);
    
    });

	//
	$("#selectall").click(function()				
			{
				var checked_status = this.checked;
				$(".check-column input.checkbox").each(function()
				{
					this.checked = checked_status;
				});
			});					
    
  // Inyeccion de decoracion 
  $(".caja-gral").prepend('<span class="caja-gral-top"></span>');
  $(".mapa-web").prepend('<span class="mapa-web-top"></span>');
  $(".nav-vert02").prepend('<span class="nav-vert02-top"></span><span class="nav-vert02-bot"></span>');
  $(".mod-lat-01").prepend('<span class="mod-lat-01-top"></span><span class="mod-lat-01-bot"></span>');
  $(".mod-lat-02").prepend('<span class="mod-lat-01-top"></span><span class="mod-lat-01-bot"></span>');
  $(".mod-lat-contacto").prepend('<span class="mod-lat-01-top"></span><span class="mod-lat-01-bot"></span>');
  $(".modulo-dd").prepend('<span class="modulo-dd-top"></span><span class="modulo-dd-bot"></span>');
  $(".modulo-ee").prepend('<span class="modulo-ee-top"></span><span class="modulo-ee-bot"></span>');
  $(".modulo-ff").prepend('<span class="modulo-ff-top"></span><span class="modulo-ff-bot"></span>');

  // Inyeccion de decoracion para navegadores antiguos

  if(IE) {
    $("body").addClass("js-deco");
    $(".img img").before('<span class="img-shadow-top"></span><span class="img-shadow-bottom"></span><span class="img-shadow-right"></span><span class="img-shadow-left"></span>');
    $("#modulo-nav").prepend('<span class="modulo-nav-topleft"></span><span class="modulo-nav-topmiddle"></span><span class="modulo-nav-topright"></span><span class="modulo-nav-botleft"></span><span class="modulo-nav-botmiddle"></span><span class="modulo-nav-botright"></span>');
    $(".capa-idiomas").prepend('<span class="shadow-right01"></span><span class="shadow-left01"></span><span class="shadow-bottom01"></span>');
    $(".btn02").before('<span class="btn02-l"></span>').after('<span class="btn02-r"></span>');
    $(".btn01").before('<span class="btn01-l"></span>').after('<span class="btn01-r"></span><div class="clear"></div>');
		$(".post-box .btn01-r").next("div.clear").remove();
    $(".btn03").before('<span class="btn03-l"></span>').after('<span class="btn03-r"></span><div class="clear"></div>');
    $(".caja-gral").prepend('<span class="caja-gral-left"></span><span class="caja-gral-right"></span><span class="caja-gral-bottom"></span>');
    $(".mapa-web").prepend('<span class="caja-gral-left"></span><span class="caja-gral-right"></span><span class="caja-gral-bottom"></span>');
    $(".caja-ppal").prepend('<span class="caja-ppal-top-left"></span><span class="caja-ppal-top-right"></span><span class="caja-ppal-top-mid"></span><span class="caja-gral-left"></span><span class="caja-gral-right"></span><span class="caja-gral-bottom"></span>');
    
    $(".modulo01:not(#home .modulo01)").prepend('<span class="moduloc-tl"></span><span class="moduloc-tr"></span><span class="moduloc-bl"></span><span class="moduloc-br"></span>');
    $(".modulo02").prepend('<span class="modulod-tl"></span><span class="modulod-tr"></span><span class="modulod-bl"></span><span class="modulod-br"></span>');
    $(".modulo03").prepend('<span class="moduloc-tl"></span><span class="moduloc-tr"></span><span class="moduloc-bl"></span><span class="moduloc-br"></span>');
    $(".modulo04").prepend('<span class="moduloa-tl"></span><span class="moduloa-tr"></span><span class="moduloa-bl"></span><span class="moduloa-br"></span>');
    $(".modulo06").prepend('<span class="moduloa-tl"></span><span class="moduloa-tr"></span><span class="moduloa-bl"></span><span class="moduloa-br"></span>');
    $(".modulo07").prepend('<span class="modulob-tl"></span><span class="modulob-tr"></span><span class="modulob-bl"></span><span class="modulob-br"></span>');
    $(".modulo-redes").children().prepend('<span class="tl"></span><span class="tr"></span><span class="top-mid"></span><span class="bl"></span><span class="br"></span><span class="bot-mid"></span>');
    $(".modulohome03-a, .modulohome03-b, .modulohome01, .modulohome02").prepend('<span class="tl"></span><span class="tr"></span><span class="top-mid"></span><span class="bl"></span><span class="br"></span><span class="bot-mid"></span>');
    $(".modulo-galeria, .modulo-dona, .img-txt-active, .modulo10, .modulo-bb, .acceso33, .modulo-aa, .modulo11, .modulo08, .modulo-acordeon, #respond, .modulo12, .modulo-gg, .modulo-hh, .modulo-news, .modulo-descarga").prepend('<span class="tl"></span><span class="tr"></span><span class="bl"></span><span class="br"></span>');
    $(".area-privada").prepend('<span class="tl"></span><span class="tr"></span>');
 }

});

function flickrGoto(page){
var newLeft = -page*$(".flickr_badge_image img").width();
  $("#flickr_badge_wrapper").animate({left: newLeft}, 200).parent().data("currentPage", page);

}

function carouselGoto(page){

	var pageOffset = $(".carousel .img").outerWidth(true) * $(".carousel").data("itemsPerPage");
	var newLeft = -pageOffset*(page);
$(".carousel-wrapper").animate({left: newLeft}, 200).parent().parent().data("currentPage", page);

}



// Nivel de seguridad de contrasena
function passwordStrength(password) {
  var curStrength = 0;

  // Return 0 if min length is not met
  if(password.length < 6)
    return 0;

  // Add 1 if equals or exceeds 10 chars
  if(password.length >= 10)
    curStrength++;

  // Add 1 if contains lowercase letters
  if(password.match(/[a-z]/))
    curStrength++;

  // Add 1 if contains uppercase letters
  if(password.match(/[A-Z]/))
    curStrength++;

  // Add 1 if contains digits
  if(password.match(/[0-9]/))
    curStrength++;

  // Add 1 if contains other characters
  if(password.match(/[^a-zA-Z0-9]/))
    curStrength++;

  return curStrength;
}
function formatTitle(title, currentArray, currentIndex, currentOpts) {
    return  '<div class="fancy-img-title">' + (title && title.length ? '' + title + '' : '' ) + '<br />' + 'Imagen ' + (currentIndex + 1) + ' de ' + currentArray.length + '</div>';

}


