//Call noconflict if detect jquery
//Apply jquery.noConflict if jquery is enabled
if ($defined(window.jQuery) && $type(jQuery.noConflict)=='function') {
  jQuery.noConflict();
  jQuery.noConflict();
}

function switchFontSize (ckname,val){
  var bd = $E('body');
  switch (val) {
    case 'inc':
      if (CurrentFontSize+1 < 7) {
        bd.removeClass('fs'+CurrentFontSize);
        CurrentFontSize++;
        bd.addClass('fs'+CurrentFontSize);
      }    
    break;
    case 'dec':
      if (CurrentFontSize-1 > 0) {
        bd.removeClass('fs'+CurrentFontSize);
        CurrentFontSize--;
        bd.addClass('fs'+CurrentFontSize);
      }    
    break;
    default:
      bd.removeClass('fs'+CurrentFontSize);
      CurrentFontSize = val;
      bd.addClass('fs'+CurrentFontSize);    
  }
  Cookie.set(ckname, CurrentFontSize,{duration:365});
}

function switchTool (ckname, val) {
  createCookie(ckname, val, 365);
  window.location.reload();
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

//addEvent - attach a function to an event
function gkAddEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}




window.addEvent('domready', function() {
    if($('gk-current-content')){
      var curContentHeight = document.getElementById('gk-current-content').offsetHeight;
      if(curContentHeight < 900){
         curContentHeight  = 900;
         $('gk-current-content').setStyle('min-height',900+"px");
      } 

       if($('nav')){
          var LeftNavHeight = document.getElementById('nav').offsetHeight;
        }
        if($('content_related')){
          $('content_related').setStyle('min-height',curContentHeight-LeftNavHeight-5+"px");
        }
        if($('main-right-col-content')){
          $('main-right-col-content').setStyle('min-height',curContentHeight+"px");
        }
    }
    


});

window.addEvent('load', function() {
  new SmoothScroll(); 
  var login = false;
  var register = false;
  var tools = false;
  var search = false;
  var login_fx = null;
  var hlogin_fx = null;
  var register_fx = null;
  var hregister_fx = null;
  var search_fx = null;
  var tools_fx = null;
  var link_login_fx = null;
  var link_reg_fx = null;
  var link_search_fx = null;
  var login_over = false;
  var register_over = false;
  var opened = false;
  var opened2 = false;




  if($('btn_login')){
    login_fx = new Fx.Style($('popup_login'), 'opacity',{duration:300}).set(0);
    hlogin_fx = new Fx.Style($('popup_login'), 'height',{duration:300}).set(0);
    
    $('popup_login').setStyle('display','block');
    $('btn_login').addEvent('click', function(e){
      new Event(e).stop();
      if(!login){
        login_fx.start(1);
        var pw = $$('#popup_login .gk_popup_wrap')[0];
        hlogin_fx.start(pw.getSize().size.y + pw.getStyle('margin-top').toInt() * 2);
        login = true;  
        $('btn_login').addClass('popup');
        
        $('popup_login').setStyles({
          "left" : ($('btn_login').getCoordinates().left + $('btn_login').getCoordinates().width - $('popup_login').getCoordinates().width) + "px",
          "top" : ($('btn_login').getCoordinates().top - 2) + "px"
        });
      }else{
        login_fx.start(0);
        hlogin_fx.start(0);
        login = false;
        $('btn_login').removeClass('popup');
      }

      if(register){
        register_fx.start(0);
        hregister_fx.start(0);
        register = false;
        $('btn_register').removeClass("popup");
      }
    });
    
    $('popup_login').addEvent('mouseenter',function(){login_over = true;});
    $('popup_login').addEvent('mouseleave',function(){login_over = false;});
  }

  if($('btn_register')){
    register_fx = new Fx.Style($('popup_register'),'opacity',{duration:300}).set(0);
    hregister_fx = new Fx.Style($('popup_register'),'height',{duration:300}).set(0);
    $('popup_register').setStyle('display','block');
    $('btn_register').addEvent('click', function(e){
      new Event(e).stop();
      if(!register){
        var pw = $$('#popup_register .gk_popup_wrap')[0];
        register_fx.start(1);
        hregister_fx.start(pw.getSize().size.y + pw.getStyle('margin-top').toInt() * 2);
        register = true;  
        $('btn_register').addClass("popup");
        
        $('popup_register').setStyles({
          "left" : ($('btn_register').getCoordinates().left + $('btn_register').getCoordinates().width - $('popup_register').getCoordinates().width) + "px",
          "top" : ($('btn_register').getCoordinates().top - 2) + "px"
        });    
      }else{
        register_fx.start(0);
        hregister_fx.start(0);
        register = false;
        $('btn_register').removeClass("popup");
      }

      if(login){
        login_fx.start(0);
        hlogin_fx.start(0);
        login = false;
        $('btn_login').removeClass("popup");
      }
    });  

    $('popup_register').addEvent('mouseenter',function(){register_over = true;});
    $('popup_register').addEvent('mouseleave',function(){register_over = false;});
  }

  if($('btn-tools')){
    opened = false;
    if($('btn_login')) link_login_fx = new Fx.Style($('btn_login'),'opacity',{duration:300});
    if($('btn_register')) link_reg_fx = new Fx.Style($('btn_register'),'opacity',{duration:300});
    if($('btn_search')) link_search_fx = new Fx.Style($('btn_search'),'opacity',{duration:300});
    
    $('popup_tools').getParent().setProperty('class','gk_hide').setStyles({
      'display' : 'block'
    });
    $('popup_tools').setStyle('display', 'block');
    tools_fx = new Fx.Style($('popup_tools').getParent(),'width',{duration:300}).set(0);
    $('btn-tools').addEvent('click', function(e){
      new Event(e).stop();
      tools_fx.start((opened) ? 0 : 140);
      if($('btn_login')) link_login_fx.start((!opened) ? 0 : 1);
      if($('btn_register')) link_reg_fx.start((!opened) ? 0 : 1); 
      opened = !opened;
      
      if(login) {
        login_fx.start(0);
        hlogin_fx.start(0);
        login = false;
        $('btn_login').removeClass("popup");
      }

      if(register){
        register_fx.start(0);
        hregister_fx.start(0);
        register = false;
        $('btn_register').removeClass("popup");
      }
    });  
  }   
     //
  $(document.body).addEvent("click", function(e){
    if(login && !login_over){
      login_fx.start(0);
      hlogin_fx.start(0);
      login = false;
      $('btn_login').removeClass("popup");
    }
    if(register && !register_over){
      register_fx.start(0);
      hregister_fx.start(0);
      register = false;
      $('btn_register').removeClass("popup");
    }
  });     
    // EQUAL COLUMNS
  var equalizers = [$('gk-botsl1'), $('gk-botsl2')];
  equalizers.each(function(wrap,i){
    if(wrap) {
      var max = 0;
      var cols = wrap.getElementsBySelector('.column');
      var col_amount = 0;
      
      cols.each(function(col,j){
        col_amount++;
        if(col.getSize().size.y > max) max = col.getSize().size.y; 
      });
      
      if(col_amount > 1){
        cols.each(function(col){
          col.getElement('div').setStyle("min-height", max + "px");
        });
      }
    }
  });
    //
  if($('stylearea')){
    $$('.style_switcher').each(function(element,index){
      element.addEvent('click',function(event){
                var event = new Event(event);
        event.preventDefault();
        changeStyle(index+1);
      });
    });
  }
});

// Function to change styles
function changeStyle(style){
  var file = tmplurl+'/css/style'+style+'.css';
  new Asset.css(file);
  new Cookie.set('gk41_style',style,{duration: 200,path: "/"});
  (function(){if(CufonCheck()) Cufon.refresh();}).delay(500);
}

function CufonCheck(){ return (typeof(Cufon) == "undefined")?  false: true; }

// JCaptionCheck
function JCaptionCheck(){ return (typeof(JCaption) == "undefined")?  false: true; }

if(!JCaptionCheck()) {
  var JCaption = new Class({
    initialize: function(selector)
    {
      this.selector = selector;
      var images = $$(selector);
      images.each(function(image){ this.createCaption(image); }, this);
    },

    createCaption: function(element)
    {
      var caption   = document.createTextNode(element.title);
      var container = document.createElement("div");
      var text      = document.createElement("p");
      var width     = element.getAttribute("width");
      var align     = element.getAttribute("align");
      var docMode = document.documentMode;

      //Windows fix
      if (!align)
        align = element.getStyle("float");  // Rest of the world fix
      if (!align) // IE DOM Fix
        align = element.style.styleFloat;

      text.appendChild(caption);
      text.className = this.selector.replace('.', '_');

      if (align=="none") {
        if (element.title != "") {
          element.parentNode.replaceChild(text, element);
          text.parentNode.insertBefore(element, text);
        }
      } else {
        element.parentNode.insertBefore(container, element);
        container.appendChild(element);
        if ( element.title != "" ) {
          container.appendChild(text);
        }
        container.className   = this.selector.replace('.', '_');
        container.className   = container.className + " " + align;
        container.setAttribute("style","float:"+align);

        //IE8 fix
        if (!docMode|| docMode < 8) {
          container.style.width = width + "px";
        }
      }

    }
  });

  document.caption = null;
  window.addEvent('load', function() {
    var caption = new JCaption('img.caption')
    document.caption = caption
  });
}

