/*
 * Chilli Beans Web Site
 * http://www.chillibeans.com.br
 *
 * Desenvolvido por Teo Marcus e codexico
 * Dezembro 2010
 */

/////////////
// Utilidades e funcoes
/////////////

String.prototype.capitalize = function () {
    return this.replace(/(^|\s)([a-z])/g, function (m, p1, p2) {
        return p1 + p2.toUpperCase();
    });
}
// funcao para facilitar inclusao de metodos
Function.prototype.method = function (name, func) {
    if (!this.prototype[name]) {
        this.prototype[name] = func;
    }
};
String.method('trim', function (  ) {
    return this.replace(/^\s+|\s+$/g, '');
});
//forEach is a recent addition to the ECMA-262 standard; as such it may not be
//present in other implementations of the standard. You can work around this by
//inserting the following code at the beginning of your scripts, allowing use
//of forEach in implementations which do not natively support it.
//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach
if (!Array.prototype.forEach) {
    Array.prototype.forEach = function (fun /*, thisp */) {
        "use strict";
        var t, len, thisp, i;
        if (this === void 0 || this === null) {
            throw new TypeError();
        }
        t = Object(this);
        len = t.length >>> 0;
        if (typeof fun !== "function") {
            throw new TypeError();
        }
        thisp = arguments[1];
        for (i = 0; i < len; i = i + 1) {
            if (i in t) {
                fun.call(thisp, t[i], i, t);
            }
        }
    };
}
(function($) {
return CHILLI_util = function () {

    var loaderTimeout = false,
        // FUNDO FULL
        dimLimTd = [1004, 658], // 1004,608 - ze 518
        dimPadrao = [1440, 774],
        ratioPadrao = dimPadrao[0] / dimPadrao[1];

    /////////////
    // Redimensionamento de bg e window
    /////////////
    function redimensionarFull(bg) {
        var dimJ, r, nDimTd, nDim;
        // novas proporcoes
        dimJ = [$(window).width(), $(window).height()];
        r = dimJ[0] / dimJ[1];

        // redimensionar div total
        nDimTd = [dimJ[0], dimJ[1]];
        if (dimJ[0] < dimLimTd[0]) {
            nDimTd[0] = dimLimTd[0];
        }
        if (dimJ[1] < dimLimTd[1]) {
            nDimTd[1] = dimLimTd[1];
        }
        //aplicar novas dimensoes no div total
        $('#page-wrapper').css({
            'width' : nDimTd[0],
            'height' : nDimTd[1]
        });

        // redimensionando div fundo
        nDim = [0, 0];

        if (r >= ratioPadrao) {
            nDim = [dimJ[0], dimJ[0] / ratioPadrao];
        } else {
            nDim = [dimJ[1] * ratioPadrao, dimJ[1]];
        }

        // limite minimo de tamanho do fundo
        if (nDim[0] < dimLimTd[0]) {
            nDim = [dimLimTd[0], dimLimTd[0] / ratioPadrao];
        }
        if (nDim[1] < dimLimTd[1]) {
            nDim = [dimLimTd[1] * ratioPadrao, dimLimTd[1]];
        }

        // aplicando novas dimensoes
        bg.css({
            'width' : nDim[0],
            'height' : nDim[1]
        });

        // redimensionar imagens do fundo
        bg.find('li').each(function (index) {
            $(this).css({
                'width' : nDim[0],
                'height' : nDim[1]
            });
            if ($.trim($(this).css('clip')) !== 'auto') {
                $(this).css('clip', 'rect(0px ' + nDim[0] + 'px ' + nDim[1] + 'px 0px)');
            }
        });

        // redimensionar imagens do fundo
        bg.find('img').each(function (index) {
            $(this).css({
                'width' : nDim[0],
                'height' : nDim[1]
            });
        });

        // redimensionar flashs do fundo
        bg.find('object').each(function (index) {
            if($(this).attr("id")){
                swffit.fit($(this).attr("id"), nDim[0], nDim[1]);
            }
        });

        // centralizando largura do fundo
        bg.css('margin-left', (nDimTd[0] - nDim[0]) / 2);

        // centralizando altura do fundo
        bg.css('margin-top', (nDimTd[1] - nDim[1]) / 2);

    }
    function ignorarBarra() {
        var dimJ, nDimTd;
        // novas proporcoes
        dimJ = [$(window).width(), $(window).height()];

        // redimensionar div total
        nDimTd = [dimJ[0], dimJ[1]];
        if (dimJ[0] < dimLimTd[0]) {
            nDimTd[0] = dimLimTd[0];
        }
        if (dimJ[1] < dimLimTd[1]) {
            nDimTd[1] = dimLimTd[1];
        }
        //aplicar novas dimensoes no div total
        $('#page-wrapper').css('width', nDimTd[0]);
        $('#page-wrapper').css('height', nDimTd[1]);
    }

    function removerLoader() {
        if (loaderTimeout) {
            window.clearTimeout(loaderTimeout);
        }
        $("#loader").empty();
    }
    function mostrarLoader() {
        if (!$('#loader')[0]) {
            // criando a div se nao existir
            $('body').append('<div id="loader" />');
        }
        //colocando a imagem de carregando
        $('#loader').html('<img src="' + Drupal.settings.basePath + 'sites/all/themes/chilli1/images/loader_chilli.gif" />');
    }
    function setTimeoutMostrarLoader() {
        if (!loaderTimeout) {
            loaderTimeout = window.setTimeout(mostrarLoader, 500);
        }
    }
    /**
 * @example <img src="exemplo.jpg" onError="imageError(this)" />
 */
    function imageError(i) {
    //console.log("erro no carregamento da imagem");
    }
	function hashLimpa(){
		if (window.location.hash && window.location.hash !== "#!") {
			//hash existe e nao eh vazia
			return window.location.hash.replace('#!', '').replace(/\?.*$/,'');
		}
	}
    return {
        redimensionarFull : redimensionarFull,
        ignorarBarra : ignorarBarra,
        setTimeoutMostrarLoader : setTimeoutMostrarLoader,
        removerLoader : removerLoader,
		hashLimpa : hashLimpa
    }
}();
})(jQuery);

;

// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console) {
    arguments.callee = arguments.callee.caller;
    var newarr = [].slice.call(arguments);
    (typeof console.log === 'object' ? log.apply.call(console.log, console, newarr) : console.log.apply(console, newarr));
  }
};

// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
{console.log();return window.console;}catch(err){return window.console={};}})());


// place any jQuery/helper plugins in here, instead of separate, slower script files.

;
/* Author: codexico

 * Chilli Beans Web Site
 * http://www.chillibeans.com.br
 *
 * Version 1:
 * Desenvolvido por Teo Marcus e codexico
 * Dezembro 2010
 * 
 * Version 2:
 * codexico
 * october 2011
*/

// To allow scripts to use '$' in Drupal
jQuery(document).ready(function($) {


  var CB = {};
  
  
  // Páginas de post do mundochilli
  CB.mundinho = function () {
    var mundinho = function () {
    //console.log('mundinho')
    },
    
    addLinkVoltar = function () {
      $('article.node-mundochilli')
      .prepend('<div class="voltaaomundo"><a href="' + Drupal.settings.basePath + 'mundochilli">voltar</a></div>');
    },
    
    addMenuActive = function () {
      $(".block-menu-menu-menu-site2 .mundo_chilli").addClass('active');
    },
	
    initMundinho = function () {
      mundinho();
      addLinkVoltar();
      addMenuActive();
    }
		
    return {
      init : initMundinho
    }
  }();
  
  // iviewer usado na home '/#!doze_green'
  CB.iviewer = function () {
    var iviewer = function () {
    //      console.log('iviwer')
    },
    
    closeIviewer = function () {
      //$("#iviewer").fadeOut().trigger('fadeout');
      $("#iviewer").hide();
      
      $('#slider').data('nivoslider').start();
      
      window.location.hash = "";
    },
    openIviewer = function (src) {
      var firstZoom = true;

      //$("#iviewer").fadeIn().trigger('fadein');
      $("#iviewer").show();

      //solucao para o bug 'varias imagens ao mesmo tempo'
      if($("#iviewer .viewer img")[0]){
        $("#iviewer .viewer img").remove();
      }

      $("#iviewer .viewer").
      width($(window).width() - 100).
      height($(window).height()).
      iviewer({
        src : src,
        ui_disabled : true,
        //zoom : 'fit',
        zoom : '120',
        initCallback : function() {
          var self = this;

          $("#iviewer .zoomin").click(function(e) {
            e.preventDefault();
            self.zoom_by(1);
          });

          $("#iviewer .zoomout").click(function(e) {
            e.preventDefault();
            self.zoom_by(-1);
          });

          $("#iviewer .close").click(function(e) {
            e.preventDefault();
            closeIviewer();
          });

          $("#iviewer").bind('fadein', function() {
            $(window).keydown(function(e) {
              if (e.which == 27) closeIviewer();
            });
          });

        },
        onZoom : function() {
          if (!firstZoom) return;

          $("#iviewer .loader").fadeOut();
          $("#iviewer .viewer").fadeIn();

          firstZoom = false;
        }
      }
      );
    },
	
    initIviewer = function () {
      iviewer();
      if (window.location.hash && window.location.hash === "#!doze_green") {
        
        $('#slider').data('nivoslider').stop();
        
        var src = Drupal.settings.basePath + 'sites/all/themes/chilli1/images/doze/panorama_doze_.jpg';
        openIviewer(src);
      }
    }
		
    return {
      init : initIviewer
    }
  }();
  
  // Ajustes no menu
  CB.menu = function () {
    var menu = function () {
    //      console.log('asdf')
    },
    
    linksMenuPrincipal = function () {
      $(".block-menu-menu-menu-site2 .virus").attr('target','_blank');
    },
	
    initMenu = function () {
      menu();
      linksMenuPrincipal();
    }
		
    return {
      init : initMenu
    }
  }();
  
  
  // Fraquia
  CB.franquia = function () {
    var mostrarItem = function (item){
      $('.franquiacontent').hide();
      $('#'+item).show();
      $('#franquiamenu li').removeClass('ativo');
      $('#franquiamenu .'+item).addClass('ativo');
    },
    mostrarPrimeiro = function (){
      mostrarItem($('.franquiacontent:first').attr('id'));
    },
    listenMenu = function () {
      $('#franquiamenu a').click(function () {
        mostrarItem($(this).attr('href').replace('#!',''));
      })
    },
    
    initFranquia = function () {
      // chamando o primeiro texto
      mostrarPrimeiro();
      
      listenMenu();
    }
		
    return {
      init : initFranquia
    }
  }();
	
  // Form Fraquia
  CB.formfranquia = function () {
    var trocarCidades = function (estado) {
      
      $.ajax({
        type: 'POST',
        url: 'ibgemunicipios/ajax',
        dataType: 'json',
        data: 'js=1&uf=' + estado,
        success: function(data){
          $("#edit-submitted-informacoes-operacionais-city").empty();
          if(!$('body.i18n-en')[0]){
            $("#edit-submitted-informacoes-operacionais-city").append('<option value="">--selecione--</option>');
          } else {
            $("#edit-submitted-informacoes-operacionais-city").append('<option value="">--select--</option>');
          }
          var i = 0;
          for (i = 0; i < data.length; i = i + 1) {
            $("#edit-submitted-informacoes-operacionais-city").append('<option value="' + data[i].id + '">' + data[i].nome + '</option>');
          }
          $("#edit-submitted-informacoes-operacionais-city").removeAttr('disabled');
          $("#edit-submitted-informacoes-operacionais-city").animate({
            opacity : 1
          });
          $("#edit-submitted-informacoes-operacionais-city").focus();
        }
      });

    },
    
    initCidadesEstados = function () {
      
      if($('#node-webform-34 .error')[0] === undefined){//form novo
        
        $('#edit-submitted-informacoes-operacionais-estado option:first').remove();//campo Mandatory mostra automaticamente um "- Select -"
        $('#edit-submitted-informacoes-operacionais-estado option:first').remove();//campo Mandatory mostra automaticamente um "- Select -"
        
        $('#edit-submitted-informacoes-operacionais-estado').prepend('<option value="" selected>--</option>');
        
        $('#edit-submitted-informacoes-operacionais-city option:first').remove();//campo Mandatory mostra automaticamente um "- Select -"
        $('#edit-submitted-informacoes-operacionais-city').prepend('<option value="" selected>--</option>');
        
      } else { //form com erros
        
        if($('#edit-submitted-informacoes-operacionais-estado').hasClass('error')){
          $('#edit-submitted-informacoes-operacionais-estado').prepend('<option value="" selected>--</option>');
        }
        if($('#edit-submitted-informacoes-operacionais-city').hasClass('error')){
          
          if(!$('body.i18n-en')[0]){
            $('#edit-submitted-informacoes-operacionais-city').prepend('<option value="" selected>--selecione--</option>');
          } else {
            $('#edit-submitted-informacoes-operacionais-city').prepend('<option value="" selected>--select--</option>');
          }
          
          if(!$('#edit-submitted-informacoes-operacionais-estado').hasClass('error')){
            trocarCidades($('#edit-submitted-informacoes-operacionais-estado').val());
          }
        }
        
      }
          
      $("#node-webform-34 #webform-component-informacoes-operacionais--estado").delegate("select", "change", function () {
        var estado = $(this).val();
        if (estado !== "") {
          trocarCidades(estado);
        }
        return false;
      });
      $("#node-webform-34 #webform-component-informacoes-operacionais--pais-de-interesse").delegate("select", "change", function () {
        var pais = $(this).val();
        if (pais !== "BR") {
          $('#edit-submitted-informacoes-operacionais-estado').prepend('<option class="notBR" value="--" selected>--</option>');
          $('#edit-submitted-informacoes-operacionais-city').prepend('<option class="notBR" value="--" selected>--</option>');
          $('#edit-submitted-informacoes-operacionais-estado').attr("disabled","disabled");
          $('#edit-submitted-informacoes-operacionais-city').attr("disabled","disabled");
        } else { //ziriguidum teleco-teco
          $('#edit-submitted-informacoes-operacionais-estado').removeAttr("disabled");
          $('#edit-submitted-informacoes-operacionais-city').removeAttr("disabled");
          $('#edit-submitted-informacoes-operacionais-estado .notBR').remove();
          $('#edit-submitted-informacoes-operacionais-city .notBR').remove();
        }
        return false;
      });

    },
        
    initFormFranquia = function () {
      initCidadesEstados();//TODO: usar a mesma funcao do 'Cadastre-se'
    }
		
    return {
      init : initFormFranquia
    }
  }();
	
  
  
  // mundo tumblr
  CB.mundo = function () {
    var mundo = function () {
    //      console.log('mundo')
    },
    
    mostrarTitle = function ($title) {
      
      $title.find(".content").css('opacity','0.2');
      
    },
    esconderTitle = function ($title) {
      
      $title.find(".content").css('opacity','1');
      
    },
    
    getMaiorColuna = function (colunas) {
      var i = 0, altura = 0;
      for ( i = 0; i < colunas.length; i++ ){
        if (colunas[i].height > altura) {
          altura = colunas[i].height;
        }
      }
      return altura;
    },
	
    initMundo = function () {
      mundo();
      
      var rowcount = 1, colunas = [];
      
      colunas[1] = {
        height : 0, 
        left : 0
      };
      colunas[2] = {
        height : 0, 
        left : 160
      };
      colunas[3] = {
        height : 0, 
        left : 320
      };
      colunas[4] = {
        height : 0, 
        left : 480
      };
      colunas[5] = {
        height : 0, 
        left : 640
      };
      colunas[0] = {
        height : 0, 
        left : 800
      };
      $(".view-id-mundo_chilli .views-row").each(function () {
        var altura = 120, //altura minima
        coluna = rowcount%6;
        
        if($(this).find('.field-name-field-link-interno')[0]){
                    
          $(this).find('.node-title a').attr('href', $(this).find('.field-name-field-link-interno .field-item').text());
          
        }
        
        if ($(this).find("img")[0]) {
          
          altura = $(this).find(".field-name-field-mundo-imagem").height();
        
        
          $(this).find('.node-title a').height(altura - 8);//para ter o hover
          $(this).css('background-image','none');//para ter o hover
          
        } else { //nao tem imagem, usar a altura do texto, se maior que 100px
          
          if($(this).find("article h2").height() > 120) {
            altura = $(this).find("article h2").height();
          }
        } 
        
        //posiciona o conteudo
        if ($(this).find("img").height()) {
          $(this).height(altura);
        } else {
          $(this).find("article a").height(altura - 8);
          $(this).find("article").height(altura);
        }
        
        
        $(this).css('position', 'absolute');
        $(this).css('top', colunas[coluna].height);
        $(this).css('left', colunas[coluna].left);
        
        //incrementa altura
        colunas[coluna].height += altura + 10;
        //incrementa coluna
        rowcount++;
      });
      
      //para o footer ficar na posicao correta
      $(".view-id-mundo_chilli").height(getMaiorColuna(colunas));
      
      
      $('.view-id-mundo_chilli .views-row').hover(function () {
        if($(this).find("img")[0]){
          mostrarTitle($(this));
        }
      }, function () {
        if($(this).find("img")[0]){
          esconderTitle($(this));
        }
      });
      
    }
		
    return {
      init : initMundo
    }
  }();
  
  
  // Collection
  CB.colecao = function () {
    var arrayProdutos = [],
    arrayProdutosTodos = [],
    
    colecao = function () {
    //      console.log('colecao')
    },
    
    /**
 * Item html creation helper.
 */
    mycarousel_getItemHTML = function (item) {
      var cod = "";
      //console.log(item)
      cod += '<a id="' + item.codigo + '" href="#!' + item.modelo + '" class="' + item.tipo + '">';
      cod += '  <img class="thumb" src="' + Drupal.settings.basePath + 'sites/default/files/thumbs/' + item.thumb + '" width="54" height="54" alt="' + item.modelo + '" />';
      cod += '  <img class="borda" src="' + Drupal.settings.basePath + 'sites/all/themes/chilli2/images/colecao/borda_produto.png" width="54" height="54" />';
      cod += "</a>";
      return cod;
    },
    
    mycarousel_itemLoadCallback = function (carousel, state) {
      var i;
      for (i = carousel.first; i <= carousel.last; i++) {
        if (carousel.has(i)) {
          continue;
        }
        
        if (i > arrayProdutos.length) {
          break;
        }
        
        if (!carousel.has(i)) {
          carousel.add(i, mycarousel_getItemHTML(arrayProdutos[i-1]));
        }
      }
      
    },
    
    initCarouselProdutos = function () {
      $('#carouselProdutos').jcarousel({
        size: arrayProdutos.length,
        itemLoadCallback: {
          onBeforeAnimation: mycarousel_itemLoadCallback
        }
      });
    },
    
    initThumbs = function () {
      initCarouselProdutos();
    },
    
    mostrarPrimeiroHashOuProduto = function () {
      
      if (window.location.hash && window.location.hash !== "#!") {
        var hash = CHILLI_util.hashLimpa().trim();
        
        window.setTimeout(function(){
          window.location.hash = "#!";
        }, 2000);
        window.setTimeout(function(){
          window.location.hash = "#!" + hash;
        }, 2000);
      } else {
        window.setTimeout(mostrarPrimeiroProduto, 2500);
      }
      
    },
    
    
    getJsonProdutos = function() {
      var codigo;
      
      $.ajax({
        type: 'POST',
        url: Drupal.settings.basePath + 'jsonproduto/ajax',
        dataType: 'json',
        data: 'js=1&all=true',
        success: function(data){
          var i;
          //console.log(data);
          for (i = 0; i < data.length; i = i + 1) {

            data[i].index = i;
            data[i].codigo = data[i].codigo.trim();
            data[i].modelo = data[i].modelo.trim();
            codigo = data[i].codigo.trim();
            
            
            if(!data[i].antigo){//novos produtos
              data[i].image = data[i].img1;
              data[i].thumbs = [];
              
              if(data[i].img2){
                data[i].thumbs[0] = "styles/tecs_produtos/public/" + data[i].img2;
                data[i].thumbs[1] = "styles/tecs_produtos/public/" + data[i].img3;
              }
            } else {
              
              if(data[i].thumbs[0]){
                data[i].thumbs[0] = "tecs/" + data[i].thumbs[0];
                data[i].thumbs[1] = "tecs/" + data[i].thumbs[1];
              }
            }
            
            
            arrayProdutosTodos[i] = data[i];
            arrayProdutosTodos[codigo] = data[i];
          
            if(i == 0) {
              codigo = 'primeiro';
              data[codigo] = data[i];//atalho para o primeiro produto
            }
          }
          
          arrayProdutos = data;
          
          initThumbs();
          
          mostrarPrimeiroHashOuProduto();
      
        }
      });
    },
	
    initListaDeProdutos = function () {
      getJsonProdutos();
    },
    
    isCategory = function (codigo) {
      var i,
      categorias = ['todos','solar','vista','relogios','cabecas','acessorios','kids'];
      
      for ( i = 0; i < categorias.length; i++ ) {
        if (codigo == categorias[i]) {
          return true;
        }
      }
      
      return false;
    },
    
    filtrarListaByCategory = function (categoria) {
      var i, j = 0;
      arrayProdutos = [];
      
      if(categoria === "todos"){
        arrayProdutos = arrayProdutosTodos;
      } else {
        for ( i = 0; i < arrayProdutosTodos.length; i++ ) {
          if (arrayProdutosTodos[i].tipo == categoria) {
            arrayProdutos[j++] = arrayProdutosTodos[i];
          }
        }
      }
      
      var carousel = $('#carouselProdutos').data('jcarousel');
      carousel.size(arrayProdutos.length);
      carousel.reset();
      
      $("#lista .filtro li").removeClass('ativo');
      $("#lista .filtro").find("li."+categoria).addClass('ativo');
      
      mostrarProdutoByHash($('#carouselProdutos .jcarousel-item:first a').attr("href").replace('#!',''));
    },
    
    
    imgProdutoOnLoad = function (img, codigo) {
      var $img = $(img);
      //      removerprodutoNaoEncontrado();

      $("#product .itemprod img").remove();
      $("#product .productimg").remove();

      $img.attr('class', 'productimg').hide().appendTo('#product .itemprod');
      $img.show();
      CHILLI_util.removerLoader();

    //      i18nlinkhash(codigo);
    },
    
    mostrarProdutoImg = function (codigo) {
      var imgsrc,
      //codigo indice do array
      cod = codigo.replace(/\./gi, '').toLowerCase();

      imgsrc = Drupal.settings.basePath + 'sites/default/files/' + arrayProdutosTodos[cod].image;

      var img = new Image();

      img.onload = function () {
        imgProdutoOnLoad(img, codigo);
      };
      img.onerror = function () {
        imgErro(codigo);
      };
      img.src = imgsrc;
    },
    
    thumbChanger = function () {
      $('#product.new .tecs img').click(function(){
        var thumb = this;
        $('.productimg').fadeOut('fast',function(){
          $('.productimg').attr('src', Drupal.settings.basePath + 'sites/default/files/' + $(thumb).data('imgfull')).fadeIn();
        })
      })
    },
    
    mostrarProdutoUVAUVB = function (codigo) {
      var prod = arrayProdutosTodos[codigo.replace(/\./gi, '').toLowerCase()];
      
      //TODO: criar uma var language para facilitar e usar um switch,
      //agora q ja sao 3 languages comeca a ficar feio
      
      if ($("body.i18n-en")[0] !== undefined) {
        if( (prod.tipo !== "solar") && (prod.tipo !== "kids") ){
          $("#product .uvauvb").hide();
        } else {
          $("#product .uvauvb").show();
        }
      } else if ($("body.i18n-en")[0] !== undefined) {
        if( (prod.tipo !== "sunglasses") && (prod.tipo !== "kids") ){
          $("#product .uvauvb").hide();
        } else {
          $("#product .uvauvb").show();
        }
      } else if ($("body.i18n-es")[0] !== undefined) {
        if( (prod.tipo !== "gafas") && (prod.tipo !== "kids") ){
          $("#product .uvauvb").hide();
        } else {
          $("#product .uvauvb").show();
        }
      }
      
    },
    
    mostrarProdutoDetalhes = function (codigo) {
      var cod = "", prod;
      prod = arrayProdutosTodos[codigo.replace(/\./gi, '').toLowerCase()];
      //console.log(prod)
      
      if ($("body.i18n-pt-br")[0] !== undefined) {
        // o tipo dos produtos foi cadastrado sem acento
        if(prod.tipo === "cabecas"){
          prod.tipo = "cabeças";
        }
        if(prod.tipo === "relogios"){
          prod.tipo = "relógios";
        }
      } else if ($("body.i18n-en")[0] !== undefined) {
        if(prod.tipo === "solar"){
          prod.tipo = "sunglasses";
        }
        if(prod.tipo === "cabecas"){
          prod.tipo = "head";
        }
        if(prod.tipo === "relogios"){
          prod.tipo = "watches";
        }
      } else if ($("body.i18n-es")[0] !== undefined) {
        if(prod.tipo === "solar"){
          prod.tipo = "gafas";
        }
        if(prod.tipo === "cabecas"){
          prod.tipo = "cabeza";
        }
        if(prod.tipo === "relogios"){
          prod.tipo = "relojes";
        }
      }
     
      cod += '<div class="tecs">';
      if(prod.thumbs[0]){
        cod += '<div class="tec0">';
        cod += '  <img class="tec" src="' + Drupal.settings.basePath + 'sites/default/files/' + prod.image + '" data-imgfull="' + prod.image + '" >';
        cod += '</div>';
        
        cod += '<div class="tec1">';
        cod += '  <img class="tec" src="' + Drupal.settings.basePath + 'sites/default/files/' + prod.thumbs[0] + '" data-imgfull="' + prod.img2 + '" >';
        cod += '</div>';
      }
      if(prod.thumbs[1]){
        cod += '<div class="tec2">';
        cod += '  <img class="tec" src="' + Drupal.settings.basePath + 'sites/default/files/' + prod.thumbs[1] + '" data-imgfull="' + prod.img3 + '" >';
        cod += '</div>';
      }
      cod += '</div>';
      
      cod += '<div class="details">';
      
      cod += '<h3>' + prod.tipo + '</h3>';
      cod += '<h4>' + prod.modelo + '</h4>';
      if (prod.detalhes !== null) {
        if ($("body.i18n-en")[0] !== undefined) {
          cod += prod.details;
        } else if ($("body.i18n-pt-br")[0] !== undefined){
          cod += prod.detalhes;
        } else if ($("body.i18n-es")[0] !== undefined){
          if(prod.detalles !== undefined) { // vai demorar para cadastrar os detalles
            cod += prod.detalles;
          }
        }
      }
      
      if(prod.lancamento){
        if ($("body.i18n-en")[0] !== undefined) {
          cod += '<img src="' + Drupal.settings.basePath + 'sites/all/themes/chilli2/images/colecao/tag_colecao_en.png" alt="New" class="lancamento" />';
        } else if ($("body.i18n-pt-br")[0] !== undefined) {
          cod += '<img src="' + Drupal.settings.basePath + 'sites/all/themes/chilli2/images/colecao/tag_colecao.png" alt="Lançamento" class="lancamento" />';
        } else if ($("body.i18n-es")[0] !== undefined) {
          cod += '<img src="' + Drupal.settings.basePath + 'sites/all/themes/chilli2/images/colecao/tag_colecao_es.png" alt="Nuevo" class="lancamento" />';
        }
      }
      
      cod += '</div>';
      
      $(".description").empty().append(cod);
      
      
      if(prod.thumbs[0] || prod.thumbs[1]){
        thumbChanger();
      }
      
    },
    
    removerprodutoNaoEncontrado = function () {
      if ($('#prodnotfound')[0]) {
        $('#prodnotfound').empty();
        $('#prodnotfound').remove();
      }
    },
    produtoNaoEncontrado = function (codigo) {
      var msg = "";
      if (!$('#prodnotfound')[0]) {
        // criando a div se nao existir
        $('#product').prepend('<div id="prodnotfound" />');
      }
      CHILLI_util.removerLoader();
      msg += '<p class="aviso">O produto <span class="codigo">' + codigo + '</span> n&atilde;o foi encontrado.</p>';
      msg += '<p class="aviso">Por favor escolha um produto acima.</p>';
      $('#prodnotfound').html(msg);
    },
    
    pingarAnalytics = function (codigo) {
      $("#pgTracker").attr("src","produto.php?codigo="+codigo);
    },
    
    mostrarProdutoNaLista = function (codigo) {
      var cod = codigo.replace(/\./gi, '').toLowerCase(),
      num_thumbs = $('li.jcarousel-item').length,
      carousel = $('#carouselProdutos').data('jcarousel');
      $("#carouselProdutos li a").removeClass('ativo');
      
      
      if( !$("#" + cod)[0] ){//produto esta mais adiante na lista
        while( !$("#" + cod)[0] ){//carregar proximo thumb
          carousel.add(num_thumbs, mycarousel_getItemHTML(arrayProdutos[num_thumbs - 1]));
          num_thumbs++;
        }
        //andar ate o produto
        carousel.scroll(num_thumbs - 1);
      }
      
      $("#" + cod).addClass('ativo');
      
      if ($('li.jcarousel-item a').index($("#" + cod)) == (carousel.last - 1) ) {
        // quando usa o botao produto posterior
        carousel.scroll(carousel.last - 1);
      } else if ($('li.jcarousel-item a').index($("#" + cod)) < carousel.first ) {
        // quando usa o botao produto anterior
        carousel.scroll($('li.jcarousel-item a').index($("#" + cod)) - 13);
      }
    
    },
    
    montarPrevNext = function () {
      var prev, next, $prevthumb, $nextthumb;
      prev = $('#carouselProdutos .ativo').parent().prev().find('a').attr('href');
      next = $('#carouselProdutos .ativo').parent().next().find('a').attr('href');
      $prevthumb = $('#carouselProdutos .ativo').parent().prev().find('img.thumb').clone(false);
      $nextthumb = $('#carouselProdutos .ativo').parent().next().find('img.thumb').clone(false);
      
      if (!prev) {
        $("#prevnext a.prev").attr("href", window.location.href);
      } else {
        $("#prevnext a.prev").attr("href", prev);
        $("#prevnext .prevthumb").find('img.thumb').remove();
        $("#prevnext .prevthumb").append($prevthumb);
      }
      if (!next) { //TODO: enviar para o primeiro? 
        $("#prevnext a.prev").attr("href", window.location.href);
      } else {
        $("#prevnext a.next").attr("href", next);
        $("#prevnext .nextthumb").find('img.thumb').remove();
        $("#prevnext .nextthumb").append($nextthumb);
      }
    },

    mostrarProdutoByHash = function (codigo) {
      var cod = codigo.replace(/\./gi, '').toLowerCase();
      
      removerprodutoNaoEncontrado();
      
      if (!arrayProdutosTodos[cod]) { // produto inexistente
        produtoNaoEncontrado(codigo);
        
      } else {
        
        if(!arrayProdutosTodos[cod].antigo){//novos produtos
          $("#product").removeClass('old').addClass('new');
        } else {
          $("#product").removeClass('new').addClass('old');
        }
        
        
        CHILLI_util.setTimeoutMostrarLoader();
        mostrarProdutoImg(codigo);
        mostrarProdutoDetalhes(codigo);
        mostrarProdutoNaLista(codigo);
        montarPrevNext();
        mostrarProdutoUVAUVB(codigo);
        pingarAnalytics(codigo);
      }
    },
    
    locationHashChanged = function () {
      if (window.location.hash && window.location.hash !== "#!") {//####### && $('#submenu.colecao')[0]
        var hash = CHILLI_util.hashLimpa().trim();
        
        if(isCategory(hash)){
          filtrarListaByCategory(hash);
        } else {
          mostrarProdutoByHash(hash);
        }
        
      //        i18nlinkhash(CHILLI_util.hashLimpa())
      }
    },
    
    mostrarPrimeiroProduto = function () {
      //      var $img = $(".view-id-colecao .field-name-field-image img");
      //      $img.appendTo('#product .itemprod');
      //      window.location.hash = '#!' + $(".view-id-colecao .node-title a").html();
      window.location.hash = '#!' + $(".view-dom-id-1 .node-title a").html();
    },
    
    i18nlinks = function () {
      var linkptbr = 'colecao?language=pt-br',
      linken = 'collection?language=en',
      linkes = 'coleccion?language=es';

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
      $('#region-user-second .language li.es a').attr('href', linkes);
    },
	
    initColecao = function () {
      colecao();
      window.onhashchange = locationHashChanged;
      
      initListaDeProdutos();
      
      i18nlinks();
      
    }
		
    return {
      init : initColecao
    }
  }();
	
  // A Marca
  CB.marca = function () {
    var mostrarSubItem = function (subitemID) {
      $('#'+subitemID).show();
      $('#'+subitemID).siblings('.conteudo').hide();
    },
    mostrarItem = function (item){
      $('.marcacontent').hide();
      $('#'+item).show();
      mostrarSubItem($('#' + item + ' .marcasubmenu a:first').attr('href').replace('#!',''));
          
    },
    mostrarPrimeiro = function (){
      //window.location.hash = "!" + getHashinho(); //TODO: atualizar funcionamento
      mostrarItem($('.marcacontent:first').attr('id'));
    },
    listenMenu = function () {
      $('#marcamenu a').click(function () {
        mostrarItem($(this).attr('href').replace('#!',''));
      
        $('#'+$(this).attr('href').replace('#!','')).slideto({
          highlight: false
        });
      })
    },
    listenSubMenu = function () {
      $('.marcasubmenu a').click(function () {
        $('.marcasubmenu a').removeClass('ativo');
        $(this).addClass('ativo');
        mostrarSubItem($(this).attr('href').replace('#!',''));
      
        $('#'+$(this).attr('href').replace('#!','')).slideto({
          highlight: false
        });
      })
    },
    //    getHashinho = function () {
    //      var hashinho = "amarca"; // valor inicial usado como padrao
    //      if (window.location.hash && window.location.hash !== "#!") {
    //        hashinho = CHILLI_util.hashLimpa();
    //      }
    //      return hashinho;
    //    },
    //    locationHashChanged = function () {
    //      console.log('locationHashChanged')
    //      toggleContent(getHashinho());
    //    },
    
    
    i18nlinks = function () {
      var linkptbr = 'amarca?language=pt-br',
      linken = 'thebrand?language=en';
      linken = 'lamarca?language=es';

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
      $('#region-user-second .language li.es a').attr('href', linkes);
    },
	
    initMarca = function () {
      //window.onhashchange = locationHashChanged; //TODO: atualizar funcionamento
          
      // chamando o primeiro texto
      mostrarPrimeiro();
      
      listenMenu();
      listenSubMenu();
      i18nlinks();
    }
		
    return {
      init : initMarca
    }
  }();
	
  // sala especial
  CB.sala = function () {
    var sala = function () {
      
      $(".glassesmosaic a").click(function(){
        var imgsrc = $(this).attr('rel');
        $('img.oculos').attr('src', imgsrc);
      
        $(".glassesmosaic a").removeClass('ativo');
        $(this).addClass('ativo');
      
      //TODO: colocar animacao
      //      var $img = $('img.oculos');
      //      
      //      $img.fadeOut('fast', function(){});
      //      $img.attr('src', imgsrc).fadeIn('slow', function(){})
      });
    
    },
	  
    i18nlinks = function () {
      var linkptbr = 'sala_especial?language=pt-br',
      linken = 'special_room?language=en';
      
      if($('.se_estilista')[0]){//pagina interna
        linkptbr = '../sala_especial?language=pt-br';
        linken = '../special_room?language=en';
      }

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
    },
    
    addMenuActive = function () {
      $(".block-menu-menu-menu-site2 .sala_especial").addClass('active');
    },
	
    initSala = function () {
      sala();
      i18nlinks();
      addMenuActive();
    }
		
    return {
      init : initSala
    }
  }();
  
  // formulario de cadastro no topo em todas as paginas
  CB.cadastrese = function () {
    var listenCadastreseClick = function () {
      $('#region-user-first').delegate( 'a.cadastrar', "click",function(e){
        e.preventDefault();
        $('#block-webform-client-block-9').slideToggle('slow');
        return false;
      });
    },
    
    initMessages = function () {
      
      if($("#messages .status")[0]) {//form enviado com sucesso
         
        //mostra em paginas com formularios (sac e franquia)
        if( ($('#block-webform-client-block-14')[0] !== undefined) || ($('#node-webform-34')[0] !== undefined) ){
          $("#messages .status").show();
          $("#messages").show();
        } else {//mostra dentro do form cadastrese
          $("#messages").prependTo("#block-webform-client-block-9");
          $("#messages .status").show();
          $("#messages").show();
          $('#block-webform-client-block-9').slideDown('fast');
        }
      }
    },
	
    initCadastrese = function () {
      if($('#block-webform-client-block-9 .error')[0]){//form enviado com erros
        if(!$('#block-webform-client-block-14')[0]){//nao mostrar na pagina do sac
          $('#block-webform-client-block-9').slideDown('fast');
        }
      }
      listenCadastreseClick();
      
      initMessages();
    }
		
    return {
      init : initCadastrese
    }
  }();
  
  // form contato, sidebar na pagina de SAC/FAQ
  CB.contato = function () {
    var trocarCidades = function (estado) {
      $('#edit-submitted-city').attr('disabled','disabled');
      $.ajax({
        type: 'POST',
        url: 'estadoscidades/ajax',
        dataType: 'json',
        data: 'js=1&uf=' + estado,
        success: function(data){
          $("#edit-submitted-city").empty();
          if(!$('body.i18n-en')[0]){
            $("#edit-submitted-city").append('<option value="">--selecione--</option>');
          } else {
            $("#edit-submitted-city").append('<option value="">--select--</option>');
          }
          var i = 0;
          for (i = 0; i < data.length; i = i + 1) {
            $("#edit-submitted-city").append('<option value="' + data[i].cod + '">' + data[i].nom + '</option>');
          }
          $("#edit-submitted-city").removeAttr('disabled');
          $("#edit-submitted-city").animate({
            opacity : 1
          });
          $("#edit-submitted-city").focus();
        }
      });

    },
    
    initCidadesEstados = function () {
      
      if($('#webform-client-form-14 .error')[0] === undefined){//form novo
        
        $('#edit-submitted-estado--2 option:first').remove();//campo Mandatory mostra automaticamente um "- Select -"
        $('#edit-submitted-estado--2').prepend('<option value="" selected>--</option>');
        
        $('#edit-submitted-city option:first').remove();//campo Mandatory mostra automaticamente um "- Select -"
        $('#edit-submitted-city').prepend('<option value="" selected>--</option>');
        $('#edit-submitted-city').attr('disabled','disabled');
        
      } else { //form com erros
        
        if($('#edit-submitted-estado--2').hasClass('error')){
          $('#edit-submitted-estado--2').prepend('<option value="" selected>--</option>');
        }
        if($('#edit-submitted-city').hasClass('error')){
          
          if(!$('body.i18n-en')[0]){
            $('#edit-submitted-city').prepend('<option value="" selected>--selecione--</option>');
          } else {
            $('#edit-submitted-city').prepend('<option value="" selected>--select--</option>');
          }
          
          if(!$('#edit-submitted-estado--2').hasClass('error')){
            trocarCidades($('#edit-submitted-estado--2').val());
          }
        }
        
      }
          
      $("#webform-client-form-14 #webform-component-estado").delegate("select", "change", function () {
        var estado = $(this).val();
        if (estado !== "") {
          trocarCidades(estado);
        }
        return false;
      });
          
    },
    
    initMessages = function () {
      if($("#messages .status")[0]) {
        $("#messages").show();
        $("#messages .status").show();
      }
    },
	
    initContato = function () {
      initCidadesEstados();
      initMessages();
      
      if ( !$('body.i18n-en')[0] ) {
        $.datepicker.setDefaults($.datepicker.regional['pt-BR']);
      }
    }
		
    return {
      init : initContato
    }
  }();
  
  CB.sac = function () {
      
    var accordion = function () {
      
      //tipo
      $('.accordion h1').click(function() {
        $(this).parent('section').toggleClass('up');
        $(this).siblings('.artigos').slideToggle('slow');
        return false;
      }).siblings('.artigos').hide();
      
      //perguntas
      $('.question').click(function() {
        $(this).toggleClass('open');
        $(this).next().slideToggle();
        return false;
      }).next().hide();
      
    },
    
    i18nlinks = function () {
      var linkptbr = 'sac?language=pt-br',
      linken = 'faq?language=en';

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
    },
	
    initSac = function () {
      accordion();
      i18nlinks();
    }
		
    return {
      init : initSac
    }
  }();
  
  
  CB.home = function () {
      
    var i18nlinks = function () {//console.log('homne')
      var linkptbr = '?language=pt-br',
      linken = '?language=en';

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
    },
	
    initModal = function () {
      $(".modal").click(function (e) {
        e.preventDefault();
        
        $('#slider').data('nivoslider').stop();
        
        //http://www.ericmmartin.com/projects/simplemodal/
        $(this).find('.conteudomodal').modal({
          opacity: 75,
          containerCss:{
            backgroundColor:"#fff",
            borderColor:"#fff",
            padding:10
          },
          autoResize : false,
          overlayClose: true,
          onOpen: function (dialog) {
            dialog.overlay.fadeIn('fast', function () {
              dialog.container.fadeIn('fast', function () {
                dialog.data.show();
              });
            });
          },
          onClose: function (dialog) {
            $.modal.close(); // must call this!
            $('#slider').data('nivoslider').start();
          }
        });
        $(".modalCloseImg").click(function (e) {
          e.preventDefault();
          
          $('#slider').data('nivoslider').start();
        
          //$.modal.close();
          return false;
        });
        return false;
      });
    },
	
    initHome = function () {
      i18nlinks();
      initModal();
    }
		
    return {
      init : initHome
    }
  }();
	
  // slides home
  CB.nivo = function () {
    var initNivo = function () {
      $('#slider').nivoSlider({
        directionNav: true, // Next & Prev navigation
        directionNavHide: true, // Only show on hover
        controlNavThumbs:true,
        pauseTime: 5000 // How long each slide will show
      });
      $('.nivo-controlNav').hide();
      
      $('#slider').hover(function() {
        $('.nivo-controlNav').show();
      }, function() {
        $('.nivo-controlNav').hide();
      })
        
      if($('#slider img').length === 1){//nao usar se tem soh 1 imagem
        $('#slider').data('nivoslider').stop();
      }
    }
		
    return {
      init : initNivo
    }
  }();
  
  
  // 
  CB.ondecomprar = function () {
    
    var map, pimentinhaIcon, pimentinha_sombraIcon,
    pimentinhaIcon_inv, pimentinha_sombraIcon_inv, //invisiveis
    markersArray = [],
    
    montarIcones = function () {
      
      pimentinhaIcon = new google.maps.MarkerImage(
        Drupal.settings.basePath + "sites/all/themes/chilli2/images/ondecomprar/gmap_pepper.png",
        // tamanho da imgem
        new google.maps.Size(52, 58),
        // alinhamento
        new google.maps.Point(0, 0),
        // base
        new google.maps.Point(20, 53)
        );
      pimentinha_sombraIcon = new google.maps.MarkerImage(
        Drupal.settings.basePath + "sites/all/themes/chilli2/images/ondecomprar/gmap_pepper_sombra.png",
        // tamanho da imgem
        new google.maps.Size(57, 61),
        // alinhamento
        new google.maps.Point(0, 0),
        // base
        new google.maps.Point(20, 53)
        );
      pimentinhaIcon_inv = new google.maps.MarkerImage(
        Drupal.settings.basePath + "sites/all/themes/chilli2/images/ondecomprar/gmap_pepper.png",
        // tamanho da imgem
        new google.maps.Size(52, 58),
        // alinhamento
        new google.maps.Point(0, 0),
        // base
        new google.maps.Point(20, 53)
        );
      pimentinha_sombraIcon_inv = new google.maps.MarkerImage(
        Drupal.settings.basePath + "sites/all/themes/chilli2/images/ondecomprar/gmap_pepper_sombra.png",
        // tamanho da imgem
        new google.maps.Size(57, 61),
        // alinhamento
        new google.maps.Point(0, 0),
        // base
        new google.maps.Point(20, 53)
        );
    },
    
    initializeGMap = function () {
      var options, latlngBrasil;

      latlngBrasil = new google.maps.LatLng(-14.235004, -51.92528);
      options = {
        zoom: 4,
        center: latlngBrasil,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      map = new google.maps.Map(document.getElementById("map_canvas"), options);
    },
    
    //Formata conteúdo para infoWindow
    infowindowContent = function (nome, endereco, bairro) {
      return "<b>" + nome.toLowerCase().capitalize() + "</b>" + "<br>" + endereco.toLowerCase().capitalize() + "<br>" + bairro.toLowerCase().capitalize();
    },
    
    clearOverlays = function () {
      var i;
      if (markersArray[0]) {
        for (i = 0; i < markersArray.length; i = i + 1) {
          markersArray[i].setMap(null);
        }
        markersArray = [];
      }
    },
    
    attachInfoWindow = function (marker, place) {
      var info = new google.maps.InfoWindow({
        content: infowindowContent(place.nome, place.endereco, place.bairro)
      });
      google.maps.event.addListener(marker, 'click', function () {
        info.open(map, marker);
      });
    },
    
    addOverlay = function (place, bounds) {
      var point, marker;
      point = new google.maps.LatLng(place.location.lat,
        place.location.lng);
      marker = new google.maps.Marker({
        position: point,
        map: map,
        icon: pimentinhaIcon,
        shadow: pimentinha_sombraIcon
      });

      bounds.extend(point);//amplia o mapa para conter o ponto
      map.fitBounds(bounds);//zoom e centraliza nos pontos atuais

      attachInfoWindow(marker, place);
      markersArray.push(marker);
    },
    
    onlyPoints = function (places) {
      var bounds, i;
      clearOverlays();

      bounds = new google.maps.LatLngBounds();
      for (i = 0; i < places.length; i = i + 1) {
        addOverlay(places[i], bounds);
      }
    },
    
    cidadeCenter = function (cidade) {
      //centraliza no centro da cidade
      map.setCenter(new google.maps.LatLng(cidade.lat, cidade.lng));
      var zoom = cidade.zoom;
      if (zoom === undefined) {
        zoom = 13;
      }
      map.setZoom(zoom);
    },
    
    addPoints = function (places) {
      var bounds, i;

      bounds = new google.maps.LatLngBounds();
      for (i = 0; i < places.length; i = i + 1) {
        addOverlay(places[i], bounds);
      }
    },
    
    lojasGMap = function (data) {
      //cidadeCenter(data.cidade); //trocado pela centralização automatica de bounds
      //addPoints(data.lojas);// adiciona pontos ao mapa
      onlyPoints(data.lojas);// troca os pontos no mapa
      //zoom minimo => 15
      //se tem poucos pontos o mapa fica muito perto
      if (map.getZoom() > 15) {
        map.setZoom(15);
      }
    },
    
    montarLojaHTML = function (loja){
      var cod = "",
      imgsrc = Drupal.settings.basePath + 'sites/all/themes/chilli2/images/ondecomprar/gmap_pepper.png';
      
      cod = "<li class='loja'>";
        
      cod += '  <img src="' + imgsrc + '" />';
      cod += '  <a class="vernomapa" data-lat="' + loja.lat + '" data-lng="' + loja.lng + '" href="#' + loja.nome + '" >';
      cod += '    <div class="octxt">';
      cod += '      <p class="tit">' + loja.nome.capitalize() + '</p>';
      cod += '        <p class="tipo">';
      if (loja.tipo === 'qsq') {
        if(!$('body.i18n-en')[0]){
          cod += 'Quiosque';
        } else {
          cod += 'Kiosk';
        }
      } else {
        if(!$('body.i18n-en')[0]){
          cod += 'Loja';
        } else {
          cod += 'Store';
        }
      }
      cod += '        </p>';
      cod += '        <p class="endereco">' + loja.endereco.capitalize() + '</p>';
      cod += '        <p class="bairro">' + loja.bairro.capitalize() + '</p>';
      if (loja.telefone) {
        cod += '<p class="telefone">Tel: ';
        if (loja.ddd) {
          cod += ' (' + loja.ddd + ') ';
        }
        cod += loja.telefone;
        cod += '</p>';
      }
      cod += "    </div>";
      cod += "  </a>";
      cod += "  <span class='linhal'></span>";
      cod += "</li>";
        
      return cod;
    },
    
    mostrarLojas = function (data) {
      var i, cidade, loja, cod;
      
      $(".listalojas ul").empty();
      cidade = data.lojas[0].cidade.toLowerCase();
      $(".listalojas .scroll-pane h1").empty().html(cidade);
      
      for (i = 0; i < data.lojas.length; i = i + 1) {
        loja = {};
        loja.nome = data.lojas[i].nome.toLowerCase();
        loja.endereco = data.lojas[i].endereco.toLowerCase();
        loja.bairro = data.lojas[i].bairro.toLowerCase();
        loja.telefone = data.lojas[i].telefone;
        loja.ddd = data.lojas[i].ddd;
        loja.tipo = data.lojas[i].tipo.toLowerCase();
        loja.lat = data.lojas[i].location.lat;
        loja.lng = data.lojas[i].location.lng;
        
        cod = montarLojaHTML(loja);
        
        $(".listalojas ul").append(cod);
      }
      
      lojasGMap(data);
    },
    
    carregarLojas = function (cidade) {
      var cidadeurl = Drupal.settings.basePath + 'sites/all/themes/chilli1/locais/cidades/' + cidade + '.php';
      //TODO: mudar o diretorio dos locais para ficar independente do tema
      $.ajax({
        url: cidadeurl,
        //dataType: "json",
        success: function (data) {
          data = jQuery.parseJSON(jQuery.parseJSON(data));
          mostrarLojas(data);
        }
      });
    },
    
    carregarCidades = function (estado) {

      var estadourl = Drupal.settings.basePath + 'sites/all/themes/chilli1/locais/estados/' + estado + '.php';
      //TODO: mudar o diretorio dos locais para ficar independente do tema
      $.ajax({
        url: estadourl,
        //dataType: "json",
        success: function (data) {
          data = jQuery.parseJSON(jQuery.parseJSON(data));
          $("#cidades select").empty();
          
          if (!$("body.i18n-en")[0]) {
            $("#cidades select").append('<option value="">--selecione--</option>');
          } else {
            $("#cidades select").append('<option value="">--select--</option>');
          }
          
          var i, nome;
          for (i = 0; i < data.cidades.length; i = i + 1) {
            nome = data.cidades[i].nome.toLowerCase();
            $("#cidades select").append('<option value="' + data.cidades[i].codigo + '">' + nome.capitalize() + '</option>');
          }
          $("#cidades select").removeAttr('disabled');
          $("#cidades").animate({
            opacity : 1
          });
          //se tem somente uma cidade no estado, ja mostra no mapa
          if (data.cidades.length === 1) {
            $("#cidades select option[value='" + data.cidades[0].codigo + "']").attr("selected", true);
            carregarLojas(data.cidades[0].codigo);
          }
          $("#cidades").focus();
        },
        error: function () {
        //TODO
        }
      });
    },
    
    carregarEstados = function (pais) {

      var paisurl = Drupal.settings.basePath + 'sites/all/themes/chilli1/locais/paises/' + pais + '.php';
      //TODO: mudar o diretorio dos locais para ficar independente do tema
      $.ajax({
        url: paisurl,
        //dataType: "json",
        success: function (data) {
          data = jQuery.parseJSON(jQuery.parseJSON(data));
          $("#estados select").empty();
          
          if(!$('body.i18n-en')[0]){
            $("#estados select").append('<option value="">--selecione--</option>');
          } else {
            $("#estados select").append('<option value="">--select--</option>');
          }
          var i, nome;
          for (i = 0; i < data.estados.length; i = i + 1) {
            nome = data.estados[i].nome.toLowerCase();
            $("#estados select").append('<option value="' + data.estados[i].codigo + '">' + nome.capitalize() + '</option>');
          }
          $("#estados select").removeAttr('disabled');
          $("#estados").animate({
            opacity : 1
          });
          $("#cidades select").attr('disabled', 'disabled');
          $("#cidades").animate({
            opacity : 0.5
          });
          //se tem somente uma cidade no estado, ja mostra no mapa
          if (data.estados.length === 1) {
            $("#estados select option[value='" + data.estados[0].codigo + "']").attr("selected", true);
            carregarCidades(data.estados[0].codigo);
          }
        },
        error: function (data, textStatus, errorThrown) {
        //TODO
        }
      });
    },
    
    listenArrowClick = function () {
      $('#map').delegate( 'a.arrowl', "click",function(e){
        e.preventDefault();
        $('.listalojas').animate({
          "left": "+=296px"
        }, "slow");
        $('#map .arrowl').removeClass('arrowl').addClass('arrowr');
        return false;
      });
      $('#map').delegate( 'a.arrowr', "click",function(e){
        e.preventDefault();
        $('.listalojas').animate({
          "left": "-=296px"
        }, "slow");
        $('#map .arrowr').removeClass('arrowr').addClass('arrowl');
        return false;
      });
    },
    
    listenPaisesClick = function () {
      $("#paises").delegate("a", "click", function () {
        var pais = $(this).attr('href').replace('#', '');
        if (pais !== "") {
          carregarEstados(pais);
        }
        return false;
      });
    },
    
    listenEstadosClick = function () {
      $("#estados").delegate("select", "change", function () {
        var estado = $(this).val();
        if (estado !== "") {
          carregarCidades(estado);
        }
        return false;
      });
    },
    
    listenCidadesClick = function () {
      $("#cidades").delegate("select", "change", function () {
        var cidade = $(this).val();
        if (cidade !== "") {
          carregarLojas(cidade);
        }
        return false;
      });
    },
    
    listenListaLojas = function () {
      var infowindows = [];//armazena infowindows abertas
      
      $(".listalojas").delegate("a.vernomapa", "click", function () {
        var infowindow, marker, locationLoja, tittxt, enderecotxt, bairrotxt,
        
        removerInfo =  function (element, index, array) {
          var popped = infowindows.pop();
          popped.close();
        }
        infowindows.forEach(removerInfo);//remove abertas anteriormente

        locationLoja = new google.maps.LatLng($(this).data('lat'), $(this).data('lng'));
        map.setCenter(locationLoja);
        map.setZoom(15);
        marker = new google.maps.Marker({
          position: locationLoja,
          map: map,
          icon: pimentinhaIcon_inv,
          shadow: pimentinha_sombraIcon_inv
        });
        
        tittxt = $(this).find('.tit').html();
        enderecotxt = $(this).find('.endereco').html();
        bairrotxt = $(this).find('.bairro').html();

        infowindow = new google.maps.InfoWindow({
          content: infowindowContent(tittxt, enderecotxt, bairrotxt)
        });
        google.maps.event.addListener(marker, 'click', function () {
          infowindow.open(map, marker);
        });
        infowindow.open(map, marker);
        infowindows.push(infowindow);//armazena infowindows abertas
        $(this).blur();
        return false;
      });
    },
    
    i18nlinks = function () {
      var linkptbr = 'ondecomprar?language=pt-br',
      linken = 'wheretobuy?language=en';

      $('#region-user-second .language li.br a').attr('href', linkptbr);
      $('#region-user-second .language li.en a').attr('href', linken);
    },
    
    initOndeComprar = function () {
    
      $("#estados").animate({
        opacity : 0.5
      });
      $("#cidades").animate({
        opacity : 0.5
      });

      montarIcones();

      initializeGMap();
      
      carregarEstados('br');

      listenArrowClick();
      listenPaisesClick();
      listenEstadosClick();
      listenCidadesClick();
      
      listenListaLojas();
      
      i18nlinks();
    }
		
    return {
      init : initOndeComprar
    }
  }();
  
  
  // hotsite navio
  CB.navioAtracoes = function () {
    var navioAtracoes = function () {
    //console.log('mundinho')
    },
    
    atracoes = function () {
      $('#navioatracoesconteudo .atracao a').click(function (e) {
        e.preventDefault();
        //aname
        $('a[name="'+$(this).attr('href').replace('#','')+'"]').slideto({
          highlight: false
        });
      })
      $('.slidetotopo').click(function (e) {
        e.preventDefault();
        //aname
        $('a[name="topo"]').slideto({
          highlight: false
        });
      })
    },
	
    initNavioAtracoes = function () {
      atracoes();
    }
		
    return {
      init : initNavioAtracoes
    }
  }();
  
  // hotsite navio
  CB.navio = function () {
    var navio = function () {
    },
    
    thumbs = function () {
      $('#carouselNavio').jcarousel();
    },
	
    modal = function () {
      $(".modal").click(function (e) {
        e.preventDefault();
        
        $.modal('<div><img src="' + $(this).attr('href') + '" /></div>"', {
          opacity: 75,
          containerCss:{
            backgroundColor:"#fff",
            borderColor:"#fff",
            padding:10
          },
          autoResize : false,
          overlayClose: true,
          onOpen: function (dialog) {
            dialog.overlay.fadeIn('fast', function () {
              dialog.container.fadeIn('fast', function () {
                dialog.data.show();
              });
            });
          },
          onClose: function (dialog) {
            $.modal.close(); // must call this!
          }
        });
        $(".modalCloseImg").click(function (e) {
          e.preventDefault();
        
          //$.modal.close();
          return false;
        });
        return false;
      });
    },
	
    initNavio = function () {
      navio();
      thumbs();
      modal();
    }
		
    return {
      init : initNavio
    }
  }();
  
  // hotsite navio
  CB.promonavio = function () {
    var promonavio = function () {
      $("#formparticipacao").submit(function(e){
        e.preventDefault();

        var ddd = $("#ddd").val();
        var telefone = $("#telefone").val();
        $(".result").empty();
        verificarParticipacao(ddd, telefone);

      });
    },
    
    verificarParticipacao = function (ddd, telefone) {
      //Interface de Consulta de Participacoes por telefone
      var url = "http://chillibeans.com.br/naviopromo/participacoes.php";
      
      $(".loading").show();
      var request = $.ajax({
        url: url,
        type: "POST",
        dataType: "html",
        data:  {
          telefone: telefone, 
          ddd: ddd
        },
        error: function(event, request, settings){
        },
        success: function(data){
          $(".loading").hide();
          $(".result").html(data);
        }
      });
    },

	
    initPromonavio = function () {
      promonavio();
    }
		
    return {
      init : initPromonavio
    }
  }();
  //
  //
  //




  // Páginas de post do mundochilli
  CB.site = function () {
    var initSite = function () {
      
 
      if($('body.front')[0]){
        CB.nivo.init();
        CB.home.init();
      }
      if($('#iviewer')[0]){
        CB.iviewer.init();
      }
  
      if ($('#initOndeComprar.jsInit')[0]) {
        CB.ondecomprar.init();
      }
      if ($('#initSac.jsInit')[0]) {
        CB.sac.init();
        CB.contato.init();//form dentro da pagina de SAC/FAQ, bloco sidebar
      }
      if($('#initSala.jsInit')[0]){
        CB.sala.init();
      }
      if ($('#initMarca.jsInit')[0]) {
        CB.marca.init();
      }
  
      if ($('body.page-colecao')[0] || $('body.page-collection')[0] || $('body.page-coleccion')[0]) {
        console.log('coleccion')
        CB.colecao.init();
      }
  
      if ($('.page-mundochilli')[0]) {
        CB.mundo.init();
      }
      if ($('.node-type-mundochilli')[0]) {
        CB.mundinho.init();
      }

      if ($('#initFranquia.jsInit')[0]) {
        CB.franquia.init();
      }
      if ($('body.context-formfranquia')[0]) {
        CB.formfranquia.init();
      }
  
      CB.cadastrese.init();
  
      CB.menu.init();
      
      
      if ($('#initNavioAtracoes.jsInit')[0]) {
        CB.navioAtracoes.init();
      }
      if ($('#initNavio.jsInit')[0]) {
        CB.navio.init();
      }
      if ($('#initNavio.jsInit.promo')[0]) {
        CB.promonavio.init();
      }
  
    }
		
    return {
      init : initSite
    }
  }();

  CB.site.init();

});

;
/*
 * jQuery Nivo Slider v2.6
 * http://nivo.dev7studios.com
 *
 * Copyright 2011, Gilbert Pellegrom
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * March 2010
 */

(function($){var NivoSlider=function(element,options){var settings=$.extend({},$.fn.nivoSlider.defaults,options);var vars={currentSlide:0,currentImage:'',totalSlides:0,randAnim:'',running:false,paused:false,stop:false};var slider=$(element);slider.data('nivo:vars',vars);slider.css('position','relative');slider.addClass('nivoSlider');var kids=slider.children();kids.each(function(){var child=$(this);var link='';if(!child.is('img')){if(child.is('a')){child.addClass('nivo-imageLink');link=child;}
child=child.find('img:first');}
var childWidth=child.width();if(childWidth==0)childWidth=child.attr('width');var childHeight=child.height();if(childHeight==0)childHeight=child.attr('height');if(childWidth>slider.width()){slider.width(childWidth);}
if(childHeight>slider.height()){slider.height(childHeight);}
if(link!=''){link.css('display','none');}
child.css('display','none');vars.totalSlides++;});if(settings.startSlide>0){if(settings.startSlide>=vars.totalSlides)settings.startSlide=vars.totalSlides-1;vars.currentSlide=settings.startSlide;}
if($(kids[vars.currentSlide]).is('img')){vars.currentImage=$(kids[vars.currentSlide]);}else{vars.currentImage=$(kids[vars.currentSlide]).find('img:first');}
if($(kids[vars.currentSlide]).is('a')){$(kids[vars.currentSlide]).css('display','block');}
slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');slider.append($('<div class="nivo-caption"><p></p></div>').css({display:'none',opacity:settings.captionOpacity}));var processCaption=function(settings){var nivoCaption=$('.nivo-caption',slider);if(vars.currentImage.attr('title')!=''&&vars.currentImage.attr('title')!=undefined){var title=vars.currentImage.attr('title');if(title.substr(0,1)=='#')title=$(title).html();if(nivoCaption.css('display')=='block'){nivoCaption.find('p').fadeOut(settings.animSpeed,function(){$(this).html(title);$(this).fadeIn(settings.animSpeed);});}else{nivoCaption.find('p').html(title);}
nivoCaption.fadeIn(settings.animSpeed);}else{nivoCaption.fadeOut(settings.animSpeed);}}
processCaption(settings);var timer=0;if(!settings.manualAdvance&&kids.length>1){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}
if(settings.directionNav){slider.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+settings.prevText+'</a><a class="nivo-nextNav">'+settings.nextText+'</a></div>');if(settings.directionNavHide){$('.nivo-directionNav',slider).hide();slider.hover(function(){$('.nivo-directionNav',slider).show();},function(){$('.nivo-directionNav',slider).hide();});}
$('a.nivo-prevNav',slider).live('click',function(){if(vars.running)return false;clearInterval(timer);timer='';vars.currentSlide-=2;nivoRun(slider,kids,settings,'prev');});$('a.nivo-nextNav',slider).live('click',function(){if(vars.running)return false;clearInterval(timer);timer='';nivoRun(slider,kids,settings,'next');});}
if(settings.controlNav){var nivoControl=$('<div class="nivo-controlNav"></div>');slider.append(nivoControl);for(var i=0;i<kids.length;i++){if(settings.controlNavThumbs){var child=kids.eq(i);if(!child.is('img')){child=child.find('img:first');}
if(settings.controlNavThumbsFromRel){nivoControl.append('<a class="nivo-control" rel="'+i+'"><img src="'+child.attr('rel')+'" alt="" /></a>');}else{nivoControl.append('<a class="nivo-control" rel="'+i+'"><img src="'+child.attr('src').replace(settings.controlNavThumbsSearch,settings.controlNavThumbsReplace)+'" alt="" /></a>');}}else{nivoControl.append('<a class="nivo-control" rel="'+i+'">'+(i+1)+'</a>');}}
$('.nivo-controlNav a:eq('+vars.currentSlide+')',slider).addClass('active');$('.nivo-controlNav a',slider).live('click',function(){if(vars.running)return false;if($(this).hasClass('active'))return false;clearInterval(timer);timer='';slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');vars.currentSlide=$(this).attr('rel')-1;nivoRun(slider,kids,settings,'control');});}
if(settings.keyboardNav){$(window).keypress(function(event){if(event.keyCode=='37'){if(vars.running)return false;clearInterval(timer);timer='';vars.currentSlide-=2;nivoRun(slider,kids,settings,'prev');}
if(event.keyCode=='39'){if(vars.running)return false;clearInterval(timer);timer='';nivoRun(slider,kids,settings,'next');}});}
if(settings.pauseOnHover){slider.hover(function(){vars.paused=true;clearInterval(timer);timer='';},function(){vars.paused=false;if(timer==''&&!settings.manualAdvance){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}});}
slider.bind('nivo:animFinished',function(){vars.running=false;$(kids).each(function(){if($(this).is('a')){$(this).css('display','none');}});if($(kids[vars.currentSlide]).is('a')){$(kids[vars.currentSlide]).css('display','block');}
if(timer==''&&!vars.paused&&!settings.manualAdvance){timer=setInterval(function(){nivoRun(slider,kids,settings,false);},settings.pauseTime);}
settings.afterChange.call(this);});var createSlices=function(slider,settings,vars){for(var i=0;i<settings.slices;i++){var sliceWidth=Math.round(slider.width()/settings.slices);if(i==settings.slices-1){slider.append($('<div class="nivo-slice"></div>').css({left:(sliceWidth*i)+'px',width:(slider.width()-(sliceWidth*i))+'px',height:'0px',opacity:'0',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((sliceWidth+(i*sliceWidth))-sliceWidth)+'px 0%'}));}else{slider.append($('<div class="nivo-slice"></div>').css({left:(sliceWidth*i)+'px',width:sliceWidth+'px',height:'0px',opacity:'0',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((sliceWidth+(i*sliceWidth))-sliceWidth)+'px 0%'}));}}}
var createBoxes=function(slider,settings,vars){var boxWidth=Math.round(slider.width()/settings.boxCols);var boxHeight=Math.round(slider.height()/settings.boxRows);for(var rows=0;rows<settings.boxRows;rows++){for(var cols=0;cols<settings.boxCols;cols++){if(cols==settings.boxCols-1){slider.append($('<div class="nivo-box"></div>').css({opacity:0,left:(boxWidth*cols)+'px',top:(boxHeight*rows)+'px',width:(slider.width()-(boxWidth*cols))+'px',height:boxHeight+'px',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((boxWidth+(cols*boxWidth))-boxWidth)+'px -'+((boxHeight+(rows*boxHeight))-boxHeight)+'px'}));}else{slider.append($('<div class="nivo-box"></div>').css({opacity:0,left:(boxWidth*cols)+'px',top:(boxHeight*rows)+'px',width:boxWidth+'px',height:boxHeight+'px',background:'url("'+vars.currentImage.attr('src')+'") no-repeat -'+((boxWidth+(cols*boxWidth))-boxWidth)+'px -'+((boxHeight+(rows*boxHeight))-boxHeight)+'px'}));}}}}
var nivoRun=function(slider,kids,settings,nudge){var vars=slider.data('nivo:vars');if(vars&&(vars.currentSlide==vars.totalSlides-1)){settings.lastSlide.call(this);}
if((!vars||vars.stop)&&!nudge)return false;settings.beforeChange.call(this);if(!nudge){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}else{if(nudge=='prev'){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}
if(nudge=='next'){slider.css('background','url("'+vars.currentImage.attr('src')+'") no-repeat');}}
vars.currentSlide++;if(vars.currentSlide==vars.totalSlides){vars.currentSlide=0;settings.slideshowEnd.call(this);}
if(vars.currentSlide<0)vars.currentSlide=(vars.totalSlides-1);if($(kids[vars.currentSlide]).is('img')){vars.currentImage=$(kids[vars.currentSlide]);}else{vars.currentImage=$(kids[vars.currentSlide]).find('img:first');}
if(settings.controlNav){$('.nivo-controlNav a',slider).removeClass('active');$('.nivo-controlNav a:eq('+vars.currentSlide+')',slider).addClass('active');}
processCaption(settings);$('.nivo-slice',slider).remove();$('.nivo-box',slider).remove();if(settings.effect=='random'){var anims=new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade','boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');vars.randAnim=anims[Math.floor(Math.random()*(anims.length+1))];if(vars.randAnim==undefined)vars.randAnim='fade';}
if(settings.effect.indexOf(',')!=-1){var anims=settings.effect.split(',');vars.randAnim=anims[Math.floor(Math.random()*(anims.length))];if(vars.randAnim==undefined)vars.randAnim='fade';}
vars.running=true;if(settings.effect=='sliceDown'||settings.effect=='sliceDownRight'||vars.randAnim=='sliceDownRight'||settings.effect=='sliceDownLeft'||vars.randAnim=='sliceDownLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceDownLeft'||vars.randAnim=='sliceDownLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);slice.css({'top':'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
timeBuff+=50;i++;});}
else if(settings.effect=='sliceUp'||settings.effect=='sliceUpRight'||vars.randAnim=='sliceUpRight'||settings.effect=='sliceUpLeft'||vars.randAnim=='sliceUpLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceUpLeft'||vars.randAnim=='sliceUpLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);slice.css({'bottom':'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
timeBuff+=50;i++;});}
else if(settings.effect=='sliceUpDown'||settings.effect=='sliceUpDownRight'||vars.randAnim=='sliceUpDown'||settings.effect=='sliceUpDownLeft'||vars.randAnim=='sliceUpDownLeft'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;var v=0;var slices=$('.nivo-slice',slider);if(settings.effect=='sliceUpDownLeft'||vars.randAnim=='sliceUpDownLeft')slices=$('.nivo-slice',slider)._reverse();slices.each(function(){var slice=$(this);if(i==0){slice.css('top','0px');i++;}else{slice.css('bottom','0px');i=0;}
if(v==settings.slices-1){setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({height:'100%',opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
timeBuff+=50;v++;});}
else if(settings.effect=='fold'||vars.randAnim=='fold'){createSlices(slider,settings,vars);var timeBuff=0;var i=0;$('.nivo-slice',slider).each(function(){var slice=$(this);var origWidth=slice.width();slice.css({top:'0px',height:'100%',width:'0px'});if(i==settings.slices-1){setTimeout(function(){slice.animate({width:origWidth,opacity:'1.0'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){slice.animate({width:origWidth,opacity:'1.0'},settings.animSpeed);},(100+timeBuff));}
timeBuff+=50;i++;});}
else if(settings.effect=='fade'||vars.randAnim=='fade'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':slider.width()+'px'});firstSlice.animate({opacity:'1.0'},(settings.animSpeed*2),'',function(){slider.trigger('nivo:animFinished');});}
else if(settings.effect=='slideInRight'||vars.randAnim=='slideInRight'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':'0px','opacity':'1'});firstSlice.animate({width:slider.width()+'px'},(settings.animSpeed*2),'',function(){slider.trigger('nivo:animFinished');});}
else if(settings.effect=='slideInLeft'||vars.randAnim=='slideInLeft'){createSlices(slider,settings,vars);var firstSlice=$('.nivo-slice:first',slider);firstSlice.css({'height':'100%','width':'0px','opacity':'1','left':'','right':'0px'});firstSlice.animate({width:slider.width()+'px'},(settings.animSpeed*2),'',function(){firstSlice.css({'left':'0px','right':''});slider.trigger('nivo:animFinished');});}
else if(settings.effect=='boxRandom'||vars.randAnim=='boxRandom'){createBoxes(slider,settings,vars);var totalBoxes=settings.boxCols*settings.boxRows;var i=0;var timeBuff=0;var boxes=shuffle($('.nivo-box',slider));boxes.each(function(){var box=$(this);if(i==totalBoxes-1){setTimeout(function(){box.animate({opacity:'1'},settings.animSpeed,'',function(){slider.trigger('nivo:animFinished');});},(100+timeBuff));}else{setTimeout(function(){box.animate({opacity:'1'},settings.animSpeed);},(100+timeBuff));}
timeBuff+=20;i++;});}
else if(settings.effect=='boxRain'||vars.randAnim=='boxRain'||settings.effect=='boxRainReverse'||vars.randAnim=='boxRainReverse'||settings.effect=='boxRainGrow'||vars.randAnim=='boxRainGrow'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){createBoxes(slider,settings,vars);var totalBoxes=settings.boxCols*settings.boxRows;var i=0;var timeBuff=0;var rowIndex=0;var colIndex=0;var box2Darr=new Array();box2Darr[rowIndex]=new Array();var boxes=$('.nivo-box',slider);if(settings.effect=='boxRainReverse'||vars.randAnim=='boxRainReverse'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){boxes=$('.nivo-box',slider)._reverse();}
boxes.each(function(){box2Darr[rowIndex][colIndex]=$(this);colIndex++;if(colIndex==settings.boxCols){rowIndex++;colIndex=0;box2Darr[rowIndex]=new Array();}});for(var cols=0;cols<(settings.boxCols*2);cols++){var prevCol=cols;for(var rows=0;rows<settings.boxRows;rows++){if(prevCol>=0&&prevCol<settings.boxCols){(function(row,col,time,i,totalBoxes){var box=$(box2Darr[row][col]);var w=box.width();var h=box.height();if(settings.effect=='boxRainGrow'||vars.randAnim=='boxRainGrow'||settings.effect=='boxRainGrowReverse'||vars.randAnim=='boxRainGrowReverse'){box.width(0).height(0);}
if(i==totalBoxes-1){setTimeout(function(){box.animate({opacity:'1',width:w,height:h},settings.animSpeed/1.3,'',function(){slider.trigger('nivo:animFinished');});},(100+time));}else{setTimeout(function(){box.animate({opacity:'1',width:w,height:h},settings.animSpeed/1.3);},(100+time));}})(rows,prevCol,timeBuff,i,totalBoxes);i++;}
prevCol--;}
timeBuff+=100;}}}
var shuffle=function(arr){for(var j,x,i=arr.length;i;j=parseInt(Math.random()*i),x=arr[--i],arr[i]=arr[j],arr[j]=x);return arr;}
var trace=function(msg){if(this.console&&typeof console.log!="undefined")
console.log(msg);}
this.stop=function(){if(!$(element).data('nivo:vars').stop){$(element).data('nivo:vars').stop=true;trace('Stop Slider');}}
this.start=function(){if($(element).data('nivo:vars').stop){$(element).data('nivo:vars').stop=false;trace('Start Slider');}}
settings.afterLoad.call(this);return this;};$.fn.nivoSlider=function(options){return this.each(function(key,value){var element=$(this);if(element.data('nivoslider'))return element.data('nivoslider');var nivoslider=new NivoSlider(this,options);element.data('nivoslider',nivoslider);});};$.fn.nivoSlider.defaults={effect:'random',slices:15,boxCols:8,boxRows:4,animSpeed:500,pauseTime:3000,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,controlNavThumbs:false,controlNavThumbsFromRel:false,controlNavThumbsSearch:'.jpg',controlNavThumbsReplace:'_thumb.jpg',keyboardNav:true,pauseOnHover:true,manualAdvance:false,captionOpacity:0.8,prevText:'Prev',nextText:'Next',beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};$.fn._reverse=[].reverse;})(jQuery);;
/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:"<div></div>",buttonPrevHTML:"<div></div>",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f<d.length;f++)if(d[f].indexOf("jcarousel-skin")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()=="UL"||a.nodeName.toUpperCase()=="OL"?(this.list=g(a),this.clip=this.list.parents(".jcarousel-clip"),this.container=this.list.parents(".jcarousel-container")):(this.container=g(a),this.list=this.container.find("ul,ol").eq(0),this.clip=this.container.find(".jcarousel-clip"));if(this.clip.size()===0)this.clip= this.list.wrap("<div></div>").parent();if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+"px");this.list.css(this.lt,-d+"px")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+"px");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+"px");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+"px");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+"px")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap=="both"||this.options.wrap=="last")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap=="both"||this.options.wrap=="first")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!="circular"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className("jcarousel-item-placeholder")),j[d?"before":"after"](h),this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify("onAfterAnimation");if(b.options.wrap=="circular"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap=="first")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst<this.first?"next":"prev";this.callback("itemLoadCallback",a,c);this.prevFirst!==this.first&&(this.callback("itemFirstInCallback",a,c,this.first),this.callback("itemFirstOutCallback",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback("itemLastInCallback",a,c,this.last),this.callback("itemLastOutCallback",a,c,this.prevLast));this.callback("itemVisibleInCallback",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback("itemVisibleOutCallback",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!="object"&&c!="onAfterAnimation")){var h=typeof this.options[a]=="object"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format("<li></li>",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d<b.length;d++)b[d].indexOf("jcarousel-")!=-1&&a.removeClass(b[d]);a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+c)).css({"float":this.options.rtl?"right":"left","list-style":"none"}).attr("jcarouselindex",c);return a},className:function(a){return a+" "+a+(!this.options.vertical?"-horizontal":"-vertical")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css("marginLeft"))-f.intval(b.css("marginRight")):c-f.intval(b.css("marginTop"))-f.intval(b.css("marginBottom"));g(b).css(this.wh,d+"px");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css("borderLeftWidth"))- f.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-f.intval(this.clip.css("borderTopWidth"))-f.intval(this.clip.css("borderBottomWidth"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a=="string"){var c=g(this).data("jcarousel"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data("jcarousel");b?(a&&g.extend(b.options,a),b.reload()):g(this).data("jcarousel",new f(this,a))})}})(jQuery);
;
/* Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * Version: 3.0.2
 * 
 * Requires: 1.2.2+
 */
(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);;
/*
 * iviewer Plugin for jQuery JavaScript Library
 * https://github.com/can3p/iviewer
 *
 * Copyright (c) 2009 - 2011 Dmitry Petrov
 * Dual licensed under the MIT and GPL licenses.
 *  - http://www.opensource.org/licenses/mit-license.php
 *  - http://www.gnu.org/copyleft/gpl.html
 *
 * Author: Dmitry Petrov
 * Version: dev
 * Date:
 */
(function(f){f.fn.iviewer=function(a){return this.each(function(){f(this).data("viewer",new c(this,a))})};var l={zoom:"fit",zoom_base:100,zoom_max:800,zoom_min:25,zoom_delta:1.4,ui_disabled:false,update_on_resize:true,onZoom:null,initCallback:null,onStartDrag:null,onDrag:null,onMouseMove:null,onClick:null,onStartLoad:null,onFinishLoad:null};f.iviewer=function(a,b){var d=this;this.img_object={};this.zoom_object={};this.image_loaded=false;this.dy=this.dx=0;this.dragged=false;this.settings=f.extend({},
l,b||{});this.current_zoom=this.settings.zoom;if(this.settings.src!==null){this.container=f(a);this.update_container_info();this.container.css("overflow","hidden");this.settings.update_on_resize==true&&f(window).resize(function(){d.update_container_info()});this.img_object.x=0;this.img_object.y=0;this.img_object.object=f("<img>").css({position:"absolute",top:"0px",left:"0px"}).mousedown(function(e){return d.drag_start(e)}).mousemove(function(e){return d.drag(e)}).mouseup(function(e){return d.drag_end(e)}).click(function(e){return d.click(e)}).mouseleave(function(e){return d.drag_end(e)}).mousewheel(function(e,
g){d.zoom_by(g>0?1:-1);return false});this.img_object.object.prependTo(d.container);this.loadImage(this.settings.src);this.settings.ui_disabled||this.createui();this.settings.initCallback&&this.settings.initCallback.call(this)}};var c=f.iviewer;c.fn=c.prototype={iviewer:"dev"};c.fn.extend=c.extend=f.extend;c.fn.extend({loadImage:function(a){this.current_zoom=this.settings.zoom;this.image_loaded=false;var b=this;this.settings.onStartLoad&&this.settings.onStartLoad.call(this);this.img_object.object.unbind("load").removeAttr("src").removeAttr("width").removeAttr("height").css({top:0,
left:0}).load(function(){b.image_loaded=true;b.img_object.display_width=b.img_object.orig_width=this.width;b.img_object.display_height=b.img_object.orig_height=this.height;b.container.hasClass("iviewer_cursor")||b.container.addClass("iviewer_cursor");b.settings.zoom=="fit"?b.fit():b.set_zoom(b.settings.zoom);b.settings.onFinishLoad&&b.settings.onFinishLoad.call(b)}).attr("src",a)},fit:function(){var a=0;a=this.img_object.orig_width/this.img_object.orig_height>this.settings.width/this.settings.height?
this.settings.width/this.img_object.orig_width*100:this.settings.height/this.img_object.orig_height*100;this.set_zoom(a)},center:function(){this.setCoords(-Math.round((this.img_object.display_height-this.settings.height)/2),-Math.round((this.img_object.display_width-this.settings.width)/2))},moveTo:function(){this.setCoords(this.img_object.x-this.dx,this.img_object.y-this.dy)},setCoords:function(a,b){if(this.image_loaded){if(b>0)b=0;if(a>0)a=0;if(b+this.img_object.display_height<this.settings.height)b=
this.settings.height-this.img_object.display_height;if(a+this.img_object.display_width<this.settings.width)a=this.settings.width-this.img_object.display_width;if(this.img_object.display_width<=this.settings.width)a=-(this.img_object.display_width-this.settings.width)/2;if(this.img_object.display_height<=this.settings.height)b=-(this.img_object.display_height-this.settings.height)/2;this.img_object.x=a;this.img_object.y=b;this.img_object.object.css("top",b+"px").css("left",a+"px")}},containerToImage:function(a,
b){if(a<this.img_object.x||b<this.img_object.y||a>this.img_object.x+this.img_object.display_width||b>this.img_object.y+this.img_object.display_height)return false;return{x:c.descaleValue(a-this.img_object.x,this.current_zoom),y:c.descaleValue(b-this.img_object.y,this.current_zoom)}},imageToContainer:function(a,b){if(a>this.img_object.orig_width||b>this.img_object.orig_height)return false;return{x:this.img_object.x+c.scaleValue(a,this.current_zoom),y:this.img_object.y+c.scaleValue(b,this.current_zoom)}},
getMouseCoords:function(a){var b=this.img_object.object.offset();return{x:c.descaleValue(a.pageX-b.left,this.current_zoom),y:c.descaleValue(a.pageY-b.top,this.current_zoom)}},set_zoom:function(a){if(!(this.settings.onZoom&&this.settings.onZoom.call(this,a)==false))if(this.image_loaded){if(a<this.settings.zoom_min)a=this.settings.zoom_min;else if(a>this.settings.zoom_max)a=this.settings.zoom_max;if(this.current_zoom=="fit"){var b=Math.round(this.settings.width/2+this.img_object.orig_width/2),d=Math.round(this.settings.height/
2+this.img_object.orig_height/2);this.current_zoom=100}else{b=-parseInt(this.img_object.object.css("left"),10)+Math.round(this.settings.width/2);d=-parseInt(this.img_object.object.css("top"),10)+Math.round(this.settings.height/2)}var e=c.scaleValue(this.img_object.orig_width,a),g=c.scaleValue(this.img_object.orig_height,a);b=c.scaleValue(c.descaleValue(b,this.current_zoom),a);d=c.scaleValue(c.descaleValue(d,this.current_zoom),a);b=this.settings.width/2-b;d=this.settings.height/2-d;this.img_object.object.attr("width",
e).attr("height",g);this.img_object.display_width=e;this.img_object.display_height=g;this.setCoords(b,d);this.current_zoom=a;f.isFunction(this.settings.onAfterZoom)&&this.settings.onAfterZoom.call(this,a);this.update_status()}},zoom_by:function(a){var b=this.find_closest_zoom_rate(this.current_zoom)+a;b=this.settings.zoom_base*Math.pow(this.settings.zoom_delta,b);if(a>0&&b<this.current_zoom)b*=this.settings.zoom_delta;if(a<0&&b>this.current_zoom)b/=this.settings.zoom_delta;this.set_zoom(b)},find_closest_zoom_rate:function(a){function b(i,
j){return i/j}function d(i,j){return i*j}if(a==this.settings.zoom_base)return 0;for(var e=a>this.settings.zoom_base?d:b,g=a>this.settings.zoom_base?1:-1,k=this.settings.zoom_delta,h=1;Math.abs(e(this.settings.zoom_base,Math.pow(k,h))-a)>Math.abs(e(this.settings.zoom_base,Math.pow(k,h+1))-a);)h++;return g*h},update_status:function(){if(!this.settings.ui_disabled){var a=Math.round(100*this.img_object.display_height/this.img_object.orig_height);a&&this.zoom_object.html(a+"%")}},update_container_info:function(){this.settings.height=
this.container.height();this.settings.width=this.container.width()},drag_start:function(a){if(this.settings.onStartDrag&&this.settings.onStartDrag.call(this,this.getMouseCoords(a))==false)return false;this.dragged=true;this.container.addClass("iviewer_drag_cursor");this.dx=a.pageX-this.img_object.x;this.dy=a.pageY-this.img_object.y;return false},drag:function(a){this.settings.onMouseMove&&this.settings.onMouseMove.call(this,this.getMouseCoords(a));if(this.dragged){this.settings.onDrag&&this.settings.onDrag.call(this,
this.getMouseCoords(a));this.setCoords(a.pageX-this.dx,a.pageY-this.dy);return false}},drag_end:function(){this.container.removeClass("iviewer_drag_cursor");this.dragged=false},click:function(a){this.settings.onClick&&this.settings.onClick.call(this,this.getMouseCoords(a))},createui:function(){var a=this;f("<div>").addClass("iviewer_zoom_in").addClass("iviewer_common").addClass("iviewer_button").mousedown(function(){a.zoom_by(1);return false}).appendTo(this.container);f("<div>").addClass("iviewer_zoom_out").addClass("iviewer_common").addClass("iviewer_button").mousedown(function(){a.zoom_by(-1);
return false}).appendTo(this.container);f("<div>").addClass("iviewer_zoom_zero").addClass("iviewer_common").addClass("iviewer_button").mousedown(function(){a.set_zoom(100);return false}).appendTo(this.container);f("<div>").addClass("iviewer_zoom_fit").addClass("iviewer_common").addClass("iviewer_button").mousedown(function(){a.fit(this);return false}).appendTo(this.container);this.zoom_object=f("<div>").addClass("iviewer_zoom_status").addClass("iviewer_common").appendTo(this.container);this.update_status()}});
c.extend({scaleValue:function(a,b){return a*b/100},descaleValue:function(a,b){return a*100/b}})})(jQuery);
;
/*
 * SimpleModal 1.4.1 - jQuery Plugin
 * http://www.ericmmartin.com/projects/simplemodal/
 * Copyright (c) 2010 Eric Martin (http://twitter.com/ericmmartin)
 * Dual licensed under the MIT and GPL licenses
 * Revision: $Id: jquery.simplemodal.js 261 2010-11-05 21:16:20Z emartin24 $
 */
(function(d){var k=d.browser.msie&&parseInt(d.browser.version)===6&&typeof window.XMLHttpRequest!=="object",m=d.browser.msie&&parseInt(d.browser.version)===7,l=null,f=[];d.modal=function(a,b){return d.modal.impl.init(a,b)};d.modal.close=function(){d.modal.impl.close()};d.modal.focus=function(a){d.modal.impl.focus(a)};d.modal.setContainerDimensions=function(){d.modal.impl.setContainerDimensions()};d.modal.setPosition=function(){d.modal.impl.setPosition()};d.modal.update=function(a,b){d.modal.impl.update(a,
b)};d.fn.modal=function(a){return d.modal.impl.init(this,a)};d.modal.defaults={appendTo:"body",focus:true,opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataId:"simplemodal-data",dataCss:{},minHeight:null,minWidth:null,maxHeight:null,maxWidth:null,autoResize:false,autoPosition:true,zIndex:1E3,close:true,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",escClose:true,overlayClose:false,position:null,
persist:false,modal:true,onOpen:null,onShow:null,onClose:null};d.modal.impl={d:{},init:function(a,b){var c=this;if(c.d.data)return false;l=d.browser.msie&&!d.boxModel;c.o=d.extend({},d.modal.defaults,b);c.zIndex=c.o.zIndex;c.occb=false;if(typeof a==="object"){a=a instanceof jQuery?a:d(a);c.d.placeholder=false;if(a.parent().parent().size()>0){a.before(d("<span></span>").attr("id","simplemodal-placeholder").css({display:"none"}));c.d.placeholder=true;c.display=a.css("display");if(!c.o.persist)c.d.orig=
a.clone(true)}}else if(typeof a==="string"||typeof a==="number")a=d("<div></div>").html(a);else{alert("SimpleModal Error: Unsupported data type: "+typeof a);return c}c.create(a);c.open();d.isFunction(c.o.onShow)&&c.o.onShow.apply(c,[c.d]);return c},create:function(a){var b=this;f=b.getDimensions();if(b.o.modal&&k)b.d.iframe=d('<iframe src="javascript:false;"></iframe>').css(d.extend(b.o.iframeCss,{display:"none",opacity:0,position:"fixed",height:f[0],width:f[1],zIndex:b.o.zIndex,top:0,left:0})).appendTo(b.o.appendTo);
b.d.overlay=d("<div></div>").attr("id",b.o.overlayId).addClass("simplemodal-overlay").css(d.extend(b.o.overlayCss,{display:"none",opacity:b.o.opacity/100,height:b.o.modal?f[0]:0,width:b.o.modal?f[1]:0,position:"fixed",left:0,top:0,zIndex:b.o.zIndex+1})).appendTo(b.o.appendTo);b.d.container=d("<div></div>").attr("id",b.o.containerId).addClass("simplemodal-container").css(d.extend(b.o.containerCss,{display:"none",position:"fixed",zIndex:b.o.zIndex+2})).append(b.o.close&&b.o.closeHTML?d(b.o.closeHTML).addClass(b.o.closeClass):
"").appendTo(b.o.appendTo);b.d.wrap=d("<div></div>").attr("tabIndex",-1).addClass("simplemodal-wrap").css({height:"100%",outline:0,width:"100%"}).appendTo(b.d.container);b.d.data=a.attr("id",a.attr("id")||b.o.dataId).addClass("simplemodal-data").css(d.extend(b.o.dataCss,{display:"none"})).appendTo("body");b.setContainerDimensions();b.d.data.appendTo(b.d.wrap);if(k||l)b.fixIE()},bindEvents:function(){var a=this;d("."+a.o.closeClass).bind("click.simplemodal",function(b){b.preventDefault();a.close()});
a.o.modal&&a.o.close&&a.o.overlayClose&&a.d.overlay.bind("click.simplemodal",function(b){b.preventDefault();a.close()});d(document).bind("keydown.simplemodal",function(b){if(a.o.modal&&b.keyCode===9)a.watchTab(b);else if(a.o.close&&a.o.escClose&&b.keyCode===27){b.preventDefault();a.close()}});d(window).bind("resize.simplemodal",function(){f=a.getDimensions();a.o.autoResize?a.setContainerDimensions():a.o.autoPosition&&a.setPosition();if(k||l)a.fixIE();else if(a.o.modal){a.d.iframe&&a.d.iframe.css({height:f[0],
width:f[1]});a.d.overlay.css({height:f[0],width:f[1]})}})},unbindEvents:function(){d("."+this.o.closeClass).unbind("click.simplemodal");d(document).unbind("keydown.simplemodal");d(window).unbind("resize.simplemodal");this.d.overlay.unbind("click.simplemodal")},fixIE:function(){var a=this,b=a.o.position;d.each([a.d.iframe||null,!a.o.modal?null:a.d.overlay,a.d.container],function(c,h){if(h){var g=h[0].style;g.position="absolute";if(c<2){g.removeExpression("height");g.removeExpression("width");g.setExpression("height",
'document.body.scrollHeight > document.body.clientHeight ? document.body.scrollHeight : document.body.clientHeight + "px"');g.setExpression("width",'document.body.scrollWidth > document.body.clientWidth ? document.body.scrollWidth : document.body.clientWidth + "px"')}else{var e;if(b&&b.constructor===Array){c=b[0]?typeof b[0]==="number"?b[0].toString():b[0].replace(/px/,""):h.css("top").replace(/px/,"");c=c.indexOf("%")===-1?c+' + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"':
parseInt(c.replace(/%/,""))+' * ((document.documentElement.clientHeight || document.body.clientHeight) / 100) + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"';if(b[1]){e=typeof b[1]==="number"?b[1].toString():b[1].replace(/px/,"");e=e.indexOf("%")===-1?e+' + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + "px"':parseInt(e.replace(/%/,""))+' * ((document.documentElement.clientWidth || document.body.clientWidth) / 100) + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + "px"'}}else{c=
'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (t = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"';e='(document.documentElement.clientWidth || document.body.clientWidth) / 2 - (this.offsetWidth / 2) + (t = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + "px"'}g.removeExpression("top");g.removeExpression("left");g.setExpression("top",
c);g.setExpression("left",e)}}})},focus:function(a){var b=this;a=a&&d.inArray(a,["first","last"])!==-1?a:"first";var c=d(":input:enabled:visible:"+a,b.d.wrap);setTimeout(function(){c.length>0?c.focus():b.d.wrap.focus()},10)},getDimensions:function(){var a=d(window);return[d.browser.opera&&d.browser.version>"9.5"&&d.fn.jquery<"1.3"||d.browser.opera&&d.browser.version<"9.5"&&d.fn.jquery>"1.2.6"?a[0].innerHeight:a.height(),a.width()]},getVal:function(a,b){return a?typeof a==="number"?a:a==="auto"?0:
a.indexOf("%")>0?parseInt(a.replace(/%/,""))/100*(b==="h"?f[0]:f[1]):parseInt(a.replace(/px/,"")):null},update:function(a,b){var c=this;if(!c.d.data)return false;c.d.origHeight=c.getVal(a,"h");c.d.origWidth=c.getVal(b,"w");c.d.data.hide();a&&c.d.container.css("height",a);b&&c.d.container.css("width",b);c.setContainerDimensions();c.d.data.show();c.o.focus&&c.focus();c.unbindEvents();c.bindEvents()},setContainerDimensions:function(){var a=this,b=k||m,c=a.d.origHeight?a.d.origHeight:d.browser.opera?
a.d.container.height():a.getVal(b?a.d.container[0].currentStyle.height:a.d.container.css("height"),"h");b=a.d.origWidth?a.d.origWidth:d.browser.opera?a.d.container.width():a.getVal(b?a.d.container[0].currentStyle.width:a.d.container.css("width"),"w");var h=a.d.data.outerHeight(true),g=a.d.data.outerWidth(true);a.d.origHeight=a.d.origHeight||c;a.d.origWidth=a.d.origWidth||b;var e=a.o.maxHeight?a.getVal(a.o.maxHeight,"h"):null,i=a.o.maxWidth?a.getVal(a.o.maxWidth,"w"):null;e=e&&e<f[0]?e:f[0];i=i&&i<
f[1]?i:f[1];var j=a.o.minHeight?a.getVal(a.o.minHeight,"h"):"auto";c=c?a.o.autoResize&&c>e?e:c<j?j:c:h?h>e?e:a.o.minHeight&&j!=="auto"&&h<j?j:h:j;e=a.o.minWidth?a.getVal(a.o.minWidth,"w"):"auto";b=b?a.o.autoResize&&b>i?i:b<e?e:b:g?g>i?i:a.o.minWidth&&e!=="auto"&&g<e?e:g:e;a.d.container.css({height:c,width:b});a.d.wrap.css({overflow:h>c||g>b?"auto":"visible"});a.o.autoPosition&&a.setPosition()},setPosition:function(){var a=this,b,c;b=f[0]/2-a.d.container.outerHeight(true)/2;c=f[1]/2-a.d.container.outerWidth(true)/
2;if(a.o.position&&Object.prototype.toString.call(a.o.position)==="[object Array]"){b=a.o.position[0]||b;c=a.o.position[1]||c}else{b=b;c=c}a.d.container.css({left:c,top:b})},watchTab:function(a){var b=this;if(d(a.target).parents(".simplemodal-container").length>0){b.inputs=d(":input:enabled:visible:first, :input:enabled:visible:last",b.d.data[0]);if(!a.shiftKey&&a.target===b.inputs[b.inputs.length-1]||a.shiftKey&&a.target===b.inputs[0]||b.inputs.length===0){a.preventDefault();b.focus(a.shiftKey?"last":
"first")}}else{a.preventDefault();b.focus()}},open:function(){var a=this;a.d.iframe&&a.d.iframe.show();if(d.isFunction(a.o.onOpen))a.o.onOpen.apply(a,[a.d]);else{a.d.overlay.show();a.d.container.show();a.d.data.show()}a.o.focus&&a.focus();a.bindEvents()},close:function(){var a=this;if(!a.d.data)return false;a.unbindEvents();if(d.isFunction(a.o.onClose)&&!a.occb){a.occb=true;a.o.onClose.apply(a,[a.d])}else{if(a.d.placeholder){var b=d("#simplemodal-placeholder");if(a.o.persist)b.replaceWith(a.d.data.removeClass("simplemodal-data").css("display",
a.display));else{a.d.data.hide().remove();b.replaceWith(a.d.orig)}}else a.d.data.hide().remove();a.d.container.hide().remove();a.d.overlay.hide();a.d.iframe&&a.d.iframe.hide().remove();setTimeout(function(){a.d.overlay.remove();a.d={}},10)}}}})(jQuery);
;
//		Author Christophe Verbinnen djpate@gmail.com
//		Documentation http://djpate.com/2011/01/01/animated-scrollto-effect-jquery-plugin/
//      This program is free software; you can redistribute it and/or modify
//      it under the terms of the GNU General Public License as published by
//      the Free Software Foundation; either version 2 of the License, or
//      (at your option) any later version.
//      
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//      GNU General Public License for more details.
//      
//      You should have received a copy of the GNU General Public License
//      along with this program; if not, write to the Free Software
//      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
//      MA 02110-1301, USA.

(function($){
	
	$.fn.slideto = function(options) {

		var defaults = {  
			slide_duration: "slow",
			highlight_duration: 3000,
			highlight: true,
			highlight_color: "#FFFF99"
		};
		
		var options = $.extend(defaults, options);  

		return this.each(function() {
			
			var callback = false;
			
			obj = $(this);
			
			$('html,body').animate({scrollTop: obj.offset().top},options.slide_duration,function(){
				if(callback == false){
					if(options.highlight  && $.ui.version){
						obj.effect("highlight", {'color': options.highlight_color}, options.highlight_duration);
					}
					callback = true;
				}
			});
			
		});
		
	};
})(jQuery);
;
/* Brazilian initialisation for the jQuery UI date picker plugin. */
/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */
jQuery(function($){
	$.datepicker.regional['pt-BR'] = {
		closeText: 'Fechar',
		prevText: '&#x3c;Anterior',
		nextText: 'Pr&oacute;ximo&#x3e;',
		currentText: 'Hoje',
		monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
		'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
		monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
		'Jul','Ago','Set','Out','Nov','Dez'],
		dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
		dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['pt-BR']);
});;

/**
 * JavaScript behaviors for the front-end display of webforms.
 */

(function ($) {

Drupal.behaviors.webform = Drupal.behaviors.webform || {};

Drupal.behaviors.webform.attach = function(context) {
  // Calendar datepicker behavior.
  Drupal.webform.datepicker(context);
};

Drupal.webform = Drupal.webform || {};

Drupal.webform.datepicker = function(context) {
  $('div.webform-datepicker').each(function() {
    var $webformDatepicker = $(this);
    var $calendar = $webformDatepicker.find('input.webform-calendar');
    var startDate = $calendar[0].className.replace(/.*webform-calendar-start-(\d{4}-\d{2}-\d{2}).*/, '$1').split('-');
    var endDate = $calendar[0].className.replace(/.*webform-calendar-end-(\d{4}-\d{2}-\d{2}).*/, '$1').split('-');
    var firstDay = $calendar[0].className.replace(/.*webform-calendar-day-(\d).*/, '$1');
console.log(startDate);
    // Convert date strings into actual Date objects.
    startDate = new Date(startDate[0], startDate[1] - 1, startDate[2]);
    endDate = new Date(endDate[0], endDate[1] - 1, endDate[2]);

    // Ensure that start comes before end for datepicker.
    if (startDate > endDate) {
      var laterDate = startDate;
      startDate = endDate;
      endDate = laterDate;
    }

    var startYear = startDate.getFullYear();
    var endYear = endDate.getFullYear();

    console.log(startDate);
    console.log(endDate);
    // Set up the jQuery datepicker element.
    $calendar.datepicker({
      dateFormat: 'yy-mm-dd',
      yearRange: startYear + ':' + endYear,
      firstDay: parseInt(firstDay),
      minDate: startDate,
      maxDate: endDate,
      onSelect: function(dateText, inst) {
        var date = dateText.split('-');
        $webformDatepicker.find('select.year, input.year').val(+date[0]);
        $webformDatepicker.find('select.month').val(+date[1]);
        $webformDatepicker.find('select.day').val(+date[2]);
      },
      beforeShow: function(input, inst) {
        // Get the select list values.
        var year = $webformDatepicker.find('select.year, input.year').val();
        var month = $webformDatepicker.find('select.month').val();
        var day = $webformDatepicker.find('select.day').val();

        // If empty, default to the current year/month/day in the popup.
        var today = new Date();
        year = year ? year : today.getFullYear();
        month = month ? month : today.getMonth() + 1;
        day = day ? day : today.getDate();

        // Make sure that the default year fits in the available options.
        year = (year < startYear || year > endYear) ? startYear : year;

        // jQuery UI Datepicker will read the input field and base its date off
        // of that, even though in our case the input field is a button.
        $(input).val(year + '-' + month + '-' + day);
      }
    });

    // Prevent the calendar button from submitting the form.
    $calendar.click(function(event) {
      $(this).focus();
      event.preventDefault();
    });
  });
}

})(jQuery);;

