/*
 * jQuery plugin: fieldSelection - v0.1.1 - last change: 2006-12-16
 * (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd
 */
(function(){var fieldSelection={getSelection:function(){var e=(this.jquery)?this[0]:this;return(('selectionStart'in e&&function(){var l=e.selectionEnd-e.selectionStart;return{start:e.selectionStart,end:e.selectionEnd,length:l,text:e.value.substr(e.selectionStart,l)}})||(document.selection&&function(){e.focus();var r=document.selection.createRange();if(r===null){return{start:0,end:e.value.length,length:0}}var re=e.createTextRange();var rc=re.duplicate();re.moveToBookmark(r.getBookmark());rc.setEndPoint('EndToStart',re);return{start:rc.text.length,end:rc.text.length+r.text.length,length:r.text.length,text:r.text}})||function(){return null})()},replaceSelection:function(){var e=(typeof this.id=='function')?this.get(0):this;var text=arguments[0]||'';return(('selectionStart'in e&&function(){e.value=e.value.substr(0,e.selectionStart)+text+e.value.substr(e.selectionEnd,e.value.length);return this})||(document.selection&&function(){e.focus();document.selection.createRange().text=text;return this})||function(){e.value+=text;return jQuery(e)})()}};jQuery.each(fieldSelection,function(i){jQuery.fn[i]=this})})();

if (typeof autoScrollHomeActive == 'undefined') var autoScrollHomeActive = false;
if (typeof autoScrollPorfolioActive == 'undefined') var autoScrollPorfolioActive = false;

var autoScrollHome = null;
var api = false;
var additional_info_height = new Array();
var current_item = 0;  

jQuery(document).ready(function(){
  var width = jQuery(document).width();
  jQuery('div#full-size-header').width(width);
  jQuery('div#full-size-header div.full-size-header-wrapper div.item').each(function(){
    jQuery(this).width(width);
  });

  jQuery(window).resize(function(){
    //Get current left margin from wrapper
    width = jQuery(this).width();
    if(width > 1000) {
      jQuery('div.full-size-header-wrapper').css(
        'left', '-'+ (current_item * width)  +'px'
      );
      jQuery('div#full-size-header').width(width);
      jQuery('div#full-size-header div.full-size-header-wrapper div.item').each(function(){
        jQuery(this).width(width);
      });
    }
  });

  if (autoScrollHomeActive) {
    jQuery('#full-size-header').scrollable({
      items : 'div.full-size-header-wrapper',
      onSeek: function(){
        current_item = this.getIndex();
      },
      onBeforeSeek: function (e, i) {
        callback_on_move(i);
      },
      speed : 600
    }).navigator({
      navi : 'div.tabs',
      indexed : true
    });
    jQuery('#full-size-header').hover(function() { clearInterval(autoScrollHome); }, function() { autoScrollHome = setInterval('autoScrollableNext()', 10000); });
    api = jQuery("#full-size-header").data("scrollable");
    api.begin();
    autoScrollHome = setInterval('autoScrollableNext()', 10000);
  }
});

function autoScrollableNext() {
  
  var total = api.getSize();
  var current = api.getIndex();
  var max = total -1;
  if (current == max) {
    api.begin();
  }
  else {
    api.next();
  }
}

function callback_on_move(i) {
  var cclass = jQuery('div.tabs').attr('class');
  var is_special = false;
  if (cclass != 'tabs') is_special = true;
//         console.log('cclass = ' + cclass);
//         console.log(is_special);

  var nclass = jQuery("div.full-size-header-wrapper > div:nth("+i+")").attr('rel') || '';
  var become_special = false;
  if (nclass) {
    nclass = "tabs tabs-"+ nclass;
    become_special = true;
  }
  else {
    nclass = "tabs";
  }
//         console.log('nclass = ' + nclass);
//         console.log(become_special);
  
  if (become_special || is_special) {
    jQuery('div.tabs').fadeOut(300, function(){
        jQuery(this).attr('class', nclass);
        jQuery('div.tabs').fadeIn();
      }
    );
  }
}
jQuery(document).ready(function(){
  if (autoScrollPorfolioActive) {
    jQuery('div.viewport').scrollable({
      items : 'div.viewport ul.items',
      onSeek: function(){
        current_item = this.getIndex();
      },
      speed : 600
    }).navigator({
      navi : 'div.slider-nav',
      indexed : true
    });
    jQuery('div.viewport').hover(function() { clearInterval(autoScrollHome); }, function() { autoScrollHome = setInterval('autoScrollableNext()', 10000); });
    api = jQuery("div.viewport").data("scrollable");
    
    autoScrollHome = setInterval('autoScrollableNext()', 10000);
  }
});

jQuery(document).ready(function(){
  //Get the current height of the additional info box
  jQuery('div.small-image').find('div.additional-info').each(function(){
    var height = jQuery(this).css('height');
    additional_info_height[jQuery(this).attr('id')] = height;
    jQuery(this).css({top : '-'+ height});    
    //jQuery(this).css({display : 'none'});
  });

  jQuery('div.small-image').hover(function(){
    var inf = jQuery(this).find('div.info');
    inf.css({overflow : 'visible'});
    jQuery(this).find('div.additional-info').stop().animate({
      top : '62px'
    });
  },
  function(){
    var inf = jQuery(this).find('div.info');
    inf.css({overflow : 'visible'});
    var neg_top = additional_info_height[jQuery(this).find('div.additional-info').attr('id')];
    jQuery(this).find('div.additional-info').stop().animate({
      top : '-'+ neg_top
    });    
  });
  
  
  jQuery('a.quote').bind('click', function(){
    var elm = jQuery('textarea#comment');
    var current_text = elm.val();    
    var selected_text = elm.getSelection();
    //wat blijft er over na de selectie??
  //  console.log(current_text);
  //  console.log(selected_text.text);
    current_text.replace(/selected_text.text/gi, "HAHA");
  //  console.log(current_text);
    
//    elm.val('[quote]'+ selected_text.text +'[/quote]'+ current_text);
  });
});

function checkRequired(fields) {
  var error = false;
  for(i in fields) {
    if(fields[i] != 'comment') {
      if(jQuery('#'+ fields[i]).val() == jQuery('#'+ fields[i]).attr('rel')) {
        jQuery('#'+ fields[i]).addClass('error');
        error = true;
      } 
      else {
        jQuery('#'+ fields[i]).removeClass('error');    
        jQuery('#'+ fields[i]).addClass('correct');    
      }
    }
    else if(fields[i] == 'comment') {
//       console.log(CKEDITOR.instances.comment.getData());
//       return false;
      if(CKEDITOR.instances.comment.getData().length < 20) {
        jQuery('span#cke_comment').addClass('error');
        error = true;
      }
      else {
        jQuery('span#cke_comment').removeClass('error');      
      }
    }
  }
  
  if(error) {
    jQuery('.error-p').css({display : 'block'});
    return false;
  }
  else {
    return true;
  }
}


