var recomendEstado = 0;  // 0: fechado, 1: aberto, 2: sucesso
var area = 0;  // 0: nenhuma, 1,2,3,...
var menuItemOn = 0;
var menuItemOff = 0;
var initTimerImgs = 0;
/************* HEADER ****************/
// submenu
function menu(handler) {
  var menulist = $("#menu li").not('#menu li ul li');
  menulist.each(function(intIndex){
    if ($(this).not('#menu li ul li').hasClass('active')) { // menu/area activa
      area = intIndex+1;
      menuItemOn=area;
    }
    var _this = this;
    var _ul = $('ul',_this);
    var _ex = 0;
    var _activo = 0;
    var _oIndex = Number(menulist.index(this)+1);
    if(existe(_ul)) _ex = 1; // se este menu tiver submenus
    if (Number(intIndex + 1) == area) _activo = 1;// se este menu for o activo  
    $(this).mouseenter(function(){  
      menuItemOn = _oIndex;
      menuItemOff = 0;
      setTimeout(enterF, 300);
    });
    $(this).mouseleave(function(){
      menuItemOff = _oIndex;
      setTimeout(leaveF, 300);
    });
    function enterF(){
      if (_oIndex==menuItemOn||menuItemOn==0){
        if(area!=0&&menuItemOn!=area){ // se houver menu activo e já estivermos n preciso esconde-lo
          $('#menu li:nth-child('+(area)+') a').css('backgroundColor','transparent');
          $('#menu li:nth-child('+(area)+') ul').fadeOut(50);
        }
        menulist.css('backgroundColor','transparent');
        $(_this).css('backgroundColor','#E8E8E8');
        $('ul', menulist).not(_ul).fadeOut(150);
        if(_ex) _ul.fadeIn(150);
        menuItemOn=_oIndex;
      }
    }
    function leaveF(){
      if (_oIndex==menuItemOff&&_oIndex!=area){ // se houver menu activo n preciso esconde-lo
        if(area!=0){
          $('#menu li:nth-child('+(area)+') a').css('backgroundColor','#E8E8E8');
          $('#menu li:nth-child('+(area)+') ul').fadeIn(50);
        }
        menuItemOn = 0;
        menuItemOff = 0;
        $(_this).css('backgroundColor','transparent');
        if(_ex) _ul.fadeOut(150);
      }
    }    
  });

  $('#menu li:last-child').css('margin-right',0);
  $('#menu ul').css('width', $('#menu').width());
  handler();
}

// recomend
function recomend() {
  initFormRecomend();  
  $("#btnRecomend").click(function(){
    switch(recomendEstado){
      case 0:
      default:
        mostraRecomend();
        break;
      case 1:
        $('#recomMsg').css({'display':'none'});
        $('.recomend').stop().slideUp(600, function(){recomendEstado = 0;});    
        break;
      case 2:  
        $('.recomend').stop().slideUp(400, function(){recomendEstado = 0;}); 
        break;
    }
  });
  $('#btnCloseRecomForm').click(function(){
    if(recomendEstado==1){
      $('#recomMsg').css({'display':'none'});
      $('.recomend').stop().slideUp(600, function(){recomendEstado = 0;});    
    } else {
      $('.recomend').stop().slideUp(400, function(){recomendEstado = 0;}); 
    }
  });      
}
function mostraRecomend(){
  $('#recomNameInput, #recomEmailInput, #recomEmail1Input, #recomEmail2Input, #recomEmail3Input').removeClass();
  $('#recomMsg').css({'display':'none'});
  $('#recomendForm').each(function(){this.reset();});
  $('.recomend').css({height:188});
  $('#btnCloseRecomForm').css({top:122,right:109});
  $('#recomendForm').css({'display':'block'});
  $('.recomend h2').text('PARTILHE O SITE COP COM OS SEUS AMIGOS').css({'display':'block'});
  $('.recomend').stop().slideDown(600, function(){recomendEstado = 1;});  
}
// form recomend
initFormRecomend = function() {
    jQuery.validator.addMethod("initialMessage", function(initial_message, element) {
        return this.optional(element) || initial_message != element.defaultValue;
    }, " ");  //adiciona metodo para mensagem inicial

    $('#recomNameInput, #recomEmailInput, #recomEmail1Input, #recomEmail2Input, #recomEmail3Input').focus(function() {
        if ((this.value == this.defaultValue)) {
            this.value = '';
        } 
    });
    $('#recomNameInput, #recomEmailInput, #recomEmail1Input, #recomEmail2Input, #recomEmail3Input').blur(function() { if (this.value == '') this.value = this.defaultValue; });
    $('#recomendForm').validate({
        errorPlacement: function(error, element) {
            error.hide();
        },
        invalidHandler: function(form, validator) {
            var errors = validator.numberOfInvalids();
            if ($("body").validate().element("#recomNameInput")) {
                if ($("body").validate().element("#recomEmailInput")) {
                    if (errors == 1) {
                        $('#recomMsg').text('Um dos emails que inseriu é inválido').css({ 'bottom': '11px', 'left': '503px', 'display': 'block' });
                    } else {
                        $('#recomMsg').text('Por favor insira emails válidos').css({ 'bottom': '11px', 'left': '503px', 'display': 'block' });
                    }
                } else {
                    if (errors == 1) {
                        $('#recomMsg').text('O email que inseriu é inválido').css({ 'bottom': '56px', 'left': '252px', 'display': 'block' });
                    } else {
                        $('#recomMsg').text('Por favor insira emails válidos').css({ 'bottom': '11px', 'left': '252px', 'display': 'block' });
                    }
                }
            } else if (errors == 1) {
                $('#recomMsg').text('Por favor insira o seu nome').css({ 'bottom': '56px', 'left': '0', 'display': 'block' });
            } else {
                $('#recomMsg').text('Por favor insira o seu nome e emails válidos').css({ 'bottom': '11px', 'left': '0', 'display': 'block' });
            }
        },
        rules: {
            recomNameInput: { initialMessage: true, required: true },
            recomEmailInput: { initialMessage: true, email: true, required: true },
            recomEmail1Input: { initialMessage: true, email: true, required: true },
            recomEmail2Input: { required: false },
            recomEmail3Input: { required: false }
        },
        submitHandler: function() {

            SendRecomendar();
//            $('#recomendForm').css({ 'display': 'none' });
//            $('.recomend h2').text('Acabou de partilhar o site COP. Obrigado!').css({ 'display': 'block' });
//            $('.recomend').animate({ height: 99 });
//            $('#btnCloseRecomForm').animate({ top: 34, right: 6 });
//            recomendEstado = 2;
            return false;
        }
    });
}  
// form search
initFormSearch = function() {

}  

/************* MAIN ****************/
// sliderHome
sliderHome = function() {
  var destqActivo = 0;
  var initTimer = setTimeout(autoSlide,6000);
  var itemsCount = $("#slider1 .slide li").size();
  var containerWidth = 480*itemsCount;

  //Paulo
  var LinkTo = function(){
    $('#slider1Nav li').unbind('click',LinkTo);
    window.location.href=($(this).attr('url'));
    return false;
  }
  //End Paulo    

  $("#slider1 .slide").css({'width':containerWidth});
  activeClass(0);
  $("#slider1Nav li").each(function(intIndex){  
    $(this).click(function(){    
      reseTimer();
      $(this).removeClass().addClass('active');  
      activeClass(intIndex);
      $('#slider1 .slide').stop().animate({left: '-'+(intIndex*480)+'px'}, 700, "easeInOutExpo");  
      return false;
    });  
  });
  $("#slider1 li, #slider1 li img, #slider1 li h2, #slider1 li p").each(function(intIndex){  
    $(this).mouseenter(function(){reseTimer();});
  });
  function activeClass(x){
    destqActivo=x;
    $('#slider1Nav li').removeClass();
    $('#slider1Nav').css({backgroundPosition:'8px '+ Number(41+(x*102)) +'px'});
    $('#slider1Nav li:nth-child('+Number(x+1)+')').removeClass().addClass('active');
    
    //Paulo
    $('#slider1Nav li').unbind('click',LinkTo);
    $('#slider1Nav li.active').click(LinkTo);
    //End Paulo
    
  }
  function autoSlide(){
    destqActivo == 3 ? destqActivo=0 : destqActivo++;
    $('#slider1Nav li:nth-child('+Number(destqActivo+1)+')').removeClass().addClass('active');  
    activeClass(destqActivo);
    $('#slider1 .slide').stop().animate({left: '-'+(destqActivo*480)+'px'}, 700, "easeInOutExpo");
    reseTimer();
  }
  function reseTimer(){
    clearTimeout(initTimer);
    initTimer = setTimeout(autoSlide,6500);
  }
}
// fadeImgs
fadeImgs = function() {
  clearTimeout(initTimerImgs);
  var imgActiva = 0;
  var divH = 0;
  var imgsCount = $("#fadeImgs div").size();
  if (imgsCount>1) {
    function mostraImg(){
      imgActiva == imgsCount ? imgActiva=1 : imgActiva++;
      divH = $('#fadeImgs div:nth-child('+imgActiva+')').outerHeight();
      $('#fadeImgs').stop().animate({height:divH},500,"easeInOutExpo",function(){  
        $('#fadeImgs div:nth-child('+imgActiva+')').stop().fadeIn(500, function(){reseTimer()});
      });
    }  
    function reseTimer(){
      clearTimeout(initTimerImgs);
      initTimerImgs = setTimeout(autoFade,4000);
    }
    function autoFade(){
      $('#fadeImgs div:nth-child('+imgActiva+')').stop().fadeOut(500);
      mostraImg();
    }  
    mostraImg();
  } else {
    divH = $('#fadeImgs div:nth-child(1)').outerHeight();
    $('#fadeImgs').stop().animate({height:divH},500,"easeInOutExpo",function(){  
      $('#fadeImgs div:nth-child(1)').stop().fadeIn(500);
    });    
  }
}

// pagina contactos
function contactos(){
  dropDown('#contAssuntoDDown','dDownWrapper5','#contAssuntoInput',30,150);
  loadMap();
  initFormCont();
}
// googleMaps
function loadMap(){
  var morada = $('.address1 p').text();
  $('#gMap').append('<iframe width="936" height="541" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.pt/maps?f=q&amp;source=s_q&amp;hl=pt-pt&amp;geocode=&amp;q='+morada+'&amp;sll='+latitude+','+longitude+'&amp;ie=UTF8&amp;hq=&amp;hnear='+morada+'&amp;ll='+latitude+','+longitude+'&amp;t=h&amp;z='+zoom+'&amp;type=ROADMAP&amp;output=embed&amp;iwloc=near"></iframe>');
}

// form contactos
initFormCont = function() {
  $("#contTextarea").focus(function(){
    if (this.value=='Escreva aqui a sua mensagem') {
      $(this).val('').css('color','#000')
    }
  });  
  
  jQuery.validator.addMethod("initialMessage", function (initial_message, element) {
       return this.optional(element) || initial_message != element.defaultValue;
  }, " ");  //adiciona metodo para mensagem inicial

  $('#contForm').validate({
    errorPlacement: function(error, element) {
      error.hide();
    },  
    invalidHandler: function(form, validator) {    
      var errors = validator.numberOfInvalids();
      if (errors==1) {
        $('#contMsg').text('Por favor verifique o campo assinalado.').css({'backgroundPosition':'-561px -69px','display':'block'});
      } else {
        $('#contMsg').text('Por favor verifique se preencheu correctamente os campos assinalados.').css({'backgroundPosition':'-561px -69px','display':'block'});
      }
      if ($("body").validate().element("#contNomeInput")) {
        $('#inValueNome').css('color','#999');
      } else {$('#inValueNome').css('color','#f22639')}
      if ($("body").validate().element("#contEmailInput")) {
        $('#inValueEmail').css('color','#999');
      } else {$('#inValueEmail').css('color','#f22639')}
      if ($("body").validate().element("#contTextarea")) {
        $('#contTextarea').css('color','#000');
      } else {$('#contTextarea').val('Escreva aqui a sua mensagem').css('color','#f22639')}
    },      
    rules: {
      contNomeInput: {required:true},  
      contEmpresaInput: {required:false},
      contEmailInput: {email:true,required:true},
      contTelInput: {required:false},
      contAssuntoInput: {initialMessage:true,required:true},
      contTextarea: {initialMessage:true,required:true}
    },
    submitHandler: function() {
      SendContactForm();
      return false;
    }
   });
}  

// funcoes gerais
function dropDown(elemento,classe,input,altura1,altura2){
  var elemDiv = elemento+' div';
    $(elemDiv).click(function () {
        $(this).removeClass().addClass(classe+'Active').css({height:altura2});
    });
    $(elemento+','+elemento+' ul').mouseleave(function () {
        $(elemDiv).css({height:altura1}).removeClass().addClass(classe);
    });  
    $(elemento, elemento+' ul').mouseleave(function () {
        $(elemDiv).css({height:altura1}).removeClass().addClass(classe);
    });
    $(elemento+' li a').each(function () {
        $(this).click(function () {
            $(elemDiv).css({height:altura1}).removeClass().addClass(classe);
      mudaInput($(this).text());
      return false;
        });
    });
    function mudaInput(valor) {
        $(input).val(valor);
    }
}
function cInputs(y,z){
  for (i=1;i<z+1;i++) {$(y+i).customInput();}
}  
function macFonte(){
  if($.client.os=="Mac"||$.client.os=="iPhone/iPod"){
    $("html, body, h1, h2, h3, h4, h5, input, textarea").css('font-weight', '600');
    menu(function(){$('.bg, .footer').removeClass('init')});
  } else {
    menu(function(){$('.bg, .footer').removeClass('init')});
  }
}  
function existe(x){
  if($(x).length>0) return true;
}
function verifica(){
  if(existe('#slider1')) {sliderHome()};
  if(existe('.timeline')){$('body').css('overflowX','hidden');$('.breadcrumbs').addClass('bgTransp');}
  if(existe('#cPDMesInput')){dropDown('#cPDMesDDown','dDownWrapper1','#cPDMesInput',26,130);dropDown('#cPDAnoDDown','dDownWrapper1','#cPDAnoInput',26,130);}
  if(existe('#cPD2MesInput')){dropDown('#cPD2MesDDown','dDownWrapper2','#cPD2MesInput',30,150);dropDown('#cPD2AnoDDown','dDownWrapper2','#cPD2AnoInput',30,150);}
  if(existe('#cPOEstInput')){dropDown('#cPOEstDDown','dDownWrapper3','#cPOEstInput',26,130);dropDown('#cPOAnoDDown','dDownWrapper3','#cPOAnoInput',26,130);}  
  if(existe('#cPGalInput')){dropDown('#cPGalDDown','dDownWrapper4','#cPGalInput',30,150);}
  if(existe('.ultNotsEvts')) $('.ultNotsEvts li:odd').css('margin-right', '0px');
  if(existe('.projEspOlip')) {$('.projEspOlip li:odd').css('margin-right', '0px');$('.projEspOlip li:nth-child(1),.projEspOlip li:nth-child(2)').css('border-top', '6px solid #f4f4f4');}
  if(existe('.revista')) {$('.revista li:odd').css('margin-right', '0px');$('.revista li:nth-child(1),.revista li:nth-child(2)').css('border-top', 'none');}
  if(existe('#revAnoInput')){dropDown('#revAnoDDown','dDownWrapper8','#revAnoInput',30,150);}
  if(existe('.albuns')) $('.albuns li:odd').css('margin-right', '0px');
  if(existe('.newsList.downld')) $('.newsList.downld li:odd').addClass('darker');
  if(existe('.newsList.links')) {$('.newsList.links li:odd').css('margin-right', '0px');$('.newsList.links li:nth-child(1),.newsList.links li:nth-child(2)').css('border-top', '6px solid #f4f4f4');};  
  if(existe('#contForm')) {contactos();}
  if(existe('#pesqAtlForm')){dropDown('#aPJogoDDown','dDownWrapper6','#aPJogoInput',30,150);dropDown('#aPModDDown','dDownWrapper6','#aPModInput',30,150);dropDown('#aPMedDDown','dDownWrapper6','#aPMedInput',30,150);cInputs("#opcao",2);}
  if(existe('#cPAtlPTMedDDown')){dropDown('#cPAtlPTMedDDown','dDownWrapper7','#cPAtlPTMedInput',26,130);dropDown('#cPAtlPTAnoDDown','dDownWrapper7','#cPAtlPTAnoInput',26,130);}
  //if(existe('#slider1')) {sliderHome()};
  
}
/************* onload ****************/
$(window).load(function () {
  macFonte(); // fonte diferente p mac
  initFormSearch(); // pesquisa
  recomend(); // recomendar website
  verifica();
});
