$(document).ready(function(){

  var $videowidth = 0;
  $('#videoSlide ul li').each(function(){
    $videowidth += parseInt($(this).css('width'));
    $videowidth += parseInt($(this).css('margin-right'));
    $videowidth += parseInt($(this).css('padding-right'));
    $videowidth += parseInt($(this).css('padding-left'));
  });
  $('#videoSlide').css('width',$videowidth);

  var $casewidth = 0;
  $('#caseSlide ul div.caseContainer').each(function(){
    $casewidth += parseInt($(this).css('width'));
  });
  $('#caseSlide').css('width',$casewidth);

  var $newswidth = 0;
  $('#newsSlide div.newsItem').each(function(){
    $newswidth += 858;
  });
  $('#newsSlide').css('width',$newswidth);

  var $jobswidth = 0;
  $('#jobsSlide div.jobItem').each(function(){
    $jobswidth += 858;
  });
  $('#jobsSlide').css('width',$jobswidth);
  
  var $studioswidth = 0;
  $('#studioSlide div.studioItem').each(function(){
    $studioswidth += 858;
  });
  $('#studioSlide').css('width',$studioswidth);

  $('div.arrow_back').click(sliderNavi);
  $('#news div.arrow_back').trigger('click');
  $('#jobs div.arrow_back').trigger('click');
  $('#studio div.arrow_back').trigger('click');
  $('div.arrow_back').unbind('click');
  $('div.jobsnavi').click(sliderNavi);
  $('div.studionavi').click(sliderNavi);
  $('div.arrow_active').click(sliderNavi);
  $('#videoSlide a').click(sliderNavi);
  //$('#channel div.arrow_back').trigger('click');
  //$('#jobs div.arrow_back').trigger('click');
  $.smoothAnchors("slow", "swing", false);

  function clearSelection() {
      if(document.selection && document.selection.empty) {
          document.selection.empty();
      } else if(window.getSelection) {
          var sel = window.getSelection();
          sel.removeAllRanges();
      }
  }

  $('#caseList a.tooltip').colorbox({
    onComplete: function(){
      $.colorbox.resize({});
    },
    scrolling: false,
    preloading: false,
    arrowKey: false,
    loop: false,
    slideshowAuto: false,
    close: 'Sulje'
  });

  $('div.g1bottom a.g1picWrapper').colorbox({
    onComplete: function(){
      $.colorbox.resize({});
    },
    scrolling: false,
    preloading: false,
    arrowKey: false,
    loop: false,
    slideshowAuto: false,
    close: 'Sulje'
  });

  // tooltip
  $('a.tooltip').tooltip({
    bodyHandler: function(){
      return tooltipBody($(this));
    },
    fixPNG:true,
    top:-56,
    left:-77,
    track:true,
    showUrl:false
  });

  function tooltipBody($obj){
    var $str = '';
    $str += '<div class="tooltip_header"></div>';
    $str += '<div class="tooltip_content">'+ $obj.attr('rel') +'</div>';
    $str += '<div class="tooltip_footer"></div>';
    return $str;
  }

  // tooltip end

  // slider

  function sliderNavi(){
    if($(this).hasClass('video')){
      var limit = 6;
      var width = 143;
      var container = '#videoStripe';
      var inner = '#videoSlide';
      var parent = 'div.videoMainContainer';
      var items = $(container+' li').length;
      var speed_hz = 200;
      var has_navi = 0;
      var count_height = 0;
    }else if($(this).hasClass('case')){
      var limit = 4;
      var width = 215;
      var container = '#caseStripe';
      var inner = '#caseSlide';
      var parent = 'div.caseMainContainer';
      var items = $(container+' div.caseContainer').length;
      var speed_hz = 200;
      var has_navi = 0;
      var count_height = 0;
    }else if($(this).hasClass('news')){
      var limit = 1;
      var width = 858;
      var container = '#newsStripe';
      var inner = '#newsSlide';
      var parent = 'div.newsMainContainer';
      var item_name = 'newsItem';
      var items = $(container+' div.newsItem').length;
      var single = true;
      var speed_hz = 400;
      var has_navi = 0;
      var count_height = 1;
    }else if($(this).hasClass('jobs')){
      var limit = 1;
      var width = 858;
      var container = '#jobsStripe';
      var inner = '#jobsSlide';
      var parent = 'div.jobsMainContainer';
      var item_name = 'jobItem';
      var items = $(container+' div.jobItem').length;
      var single = true;
      var speed_hz = 400;
      var has_navi = 1;
      var count_height = 1;
    }else if($(this).hasClass('jobsnavi')){
      var limit = 1;
      var width = 858;
      var container = '#jobsStripe';
      var inner = '#jobsSlide';
      var parent = 'div.jobsMainContainer';
      var item_name = 'jobItem';
      var items = $(container+' div.jobItem').length;
      var single = true;
      var speed_hz = 400;
      var has_navi = 1;
      var count_height = 1;
      var navi_item_name = 'jobsnavi_';
    }else if($(this).hasClass('studio')){
      var limit = 1;
      var width = 858;
      var container = '#studioStripe';
      var inner = '#studioSlide';
      var parent = 'div.studioMainContainer';
      var item_name = 'studioItem';
      var items = $(container+' div.studioItem').length;
      var single = true;
      var speed_hz = 400;
      var has_navi = 1;
      var count_height = 1;
    }else if($(this).hasClass('studionavi')){
      var limit = 1;
      var width = 858;
      var container = '#studioStripe';
      var inner = '#studioSlide';
      var parent = 'div.studioMainContainer';
      var item_name = 'studioItem';
      var items = $(container+' div.studioItem').length;
      var single = true;
      var speed_hz = 400;
      var has_navi = 1;
      var count_height = 1;
      var navi_item_name = 'studionavi_';
    }

    var src_init = $(container+' li:first').find('img').attr('ref');
    var src_alt = $(container+' li:first').find('img').attr('alt');
    var img_init = '<img src="'+ src_init +'" alt="'+ src_alt +'" />';
    //$(inner+' li:first').addClass('active');
    if(items <= limit) $(parent).find('div.arrow').removeClass('arrow_active').removeClass('arrow_fwd_active');

    if($(this).hasClass('videoThumb')){
      var src = $(this).attr('rev');
      var alt = $(this).find('img').attr('alt');
      $('#youtube').load('embed/'+src);
      $(container+' li a').each(function(){
        $(this).removeClass('active');
      });
      $(this).addClass('active');
    }
    if($(this).hasClass('arrow_back_active')){
      $('div.arrow_active').unbind('click');
      var pos = $(inner).css('left');
      var new_pos = parseInt(pos)+width;
      $(inner).animate({
        left: new_pos
      },{
        duration: speed_hz,
        easing: 'linear',
        complete: function(){
          check_pos(new_pos);
          $('div.arrow_active').click(sliderNavi);
        }
      });
      var left = new_pos;
    }
    if($(this).hasClass('arrow_fwd_active')){
      $('div.arrow_active').unbind('click');
      var pos = $(inner).css('left');
      var new_pos = parseInt(pos)-width;
      $(inner).animate({
        left: new_pos
      },{
        duration: speed_hz,
        easing: 'linear',
        complete: function(){
          check_pos(new_pos);
          $('div.arrow_active').click(sliderNavi);
        }
      });
      var left = new_pos;
    }
    if($(this).hasClass('news')){
      var left = (left) ? left : 0;
      var visible = left/(-width);
      $('#newsStripe div.newsItem').each(function(index){
        if(index == visible) news_height = $(this).height();
      });
      $(container).animate({
        height: news_height
      },
      {
        duration: 400,
        easing: 'swing'
      });
    }
    if($(this).hasClass('jobsnavi') || $(this).hasClass('studionavi')){
      $('div.arrow_active').unbind('click');
      var number = parseInt(this.id.replace(navi_item_name, ""));
      var new_pos = -width * number;
      $(inner).animate({
        left: new_pos
      },{
        duration: speed_hz,
        easing: 'linear',
        complete: function(){
          check_pos(new_pos);
          $('div.arrow_active').click(sliderNavi);
        }
      });
      $('.jobsnavi').removeClass('active');
      $(this).addClass('active');
      var left = new_pos;
    }
    if($(this).hasClass('jobs') || $(this).hasClass('jobsnavi') || $(this).hasClass('studio') || $(this).hasClass('studionavi')){
      var left = (left) ? left : 0;
      var visible = left/(-width);
      $(container+' div.'+item_name).each(function(index){
        if(index == visible) temp_height = $(this).height();
      });
      $(container).animate({
        height: temp_height
      },
      {
        duration: speed_hz,
        easing: 'swing'
      });
    }
    function check_pos(pos){
      nro = (-pos / width);
      if (parent == 'div.jobsMainContainer') {
        $('.jobsnavi').removeClass('active');
        $('#jobsnavi_'+nro).addClass('active');
      }else if (parent == 'div.studioMainContainer') {
        $('.studionavi').removeClass('active');
        $('#studionavi_'+nro).addClass('active');
      }


      if(pos < 0){
        $(parent+' div.arrow_back').addClass('arrow_active').addClass('arrow_back_active');
      }else{
        $(parent+' div.arrow_back').removeClass('arrow_active').removeClass('arrow_back_active');
      }
      if(pos <= -(items*width)+(limit*width) ){
        $(parent+' div.arrow_fwd').removeClass('arrow_active').removeClass('arrow_fwd_active');
      }else{
        $(parent+' div.arrow_fwd').addClass('arrow_active').addClass('arrow_fwd_active');
      }
    }
  }
  // slider end

  // form validation
  var feedback_options = {
    target:     '#feedback'
  };
  var newsletter_options = {
    target:     '#newsletter_form'
  };
  $('#newsletter_form.en').validate({
    submitHandler: function(form){
      $(form).ajaxSubmit(newsletter_options);
      return false;
    },
    messages: {
      newsletter_email:{
        required: 'Please enter email-address',
        email: 'Please check email-address'
      }
    },
    errorPlacement: function(error,element){
      error.insertAfter( $('#newsletter_submit') );
    }
  });
  $('#newsletter_form').validate({
    submitHandler: function(form){
      $(form).ajaxSubmit(newsletter_options);
      return false;
    },
    messages: {
      newsletter_email:{
        required: 'Syötä sähköpostiosoite, kiitos',
        email: 'Tarkista email-osoite, kiitos'
      }
    },
    errorPlacement: function(error,element){
      error.insertAfter( $('#newsletter_submit') );
    }
  });
  $('#feedback.en').validate({
    submitHandler: function(form){
      $(form).ajaxSubmit(feedback_options);
      return false;
    },
    messages: {
      subject: 'Please select subject',
      name: 'Please enter your name',
      message: 'Please enter the message',
      email:{
        email: 'Please check email-address'
      }
    }
  });
  $('#feedback').validate({
    submitHandler: function(form){
      $(form).ajaxSubmit(feedback_options);
      return false;
    },
    messages: {
      subject: 'Valitse aihe, kiitos',
      name: 'Syötä nimesi, kiitos',
      message: 'Muista myös itse viesti!',
      email:{
        email: 'Tarkista email-osoite, kiitos'
      }
    }
  });
  // form validation end 
});


