//Ticker related
var ticker;
var ticker_content;
var ticker_righttoleft = false;
var speed = 1;
var style = "font-family:Arial; font-size:12px; color:#444444";
var paused = false;
var tickerSupported = false;
var tickerCount = 0;
var ie6 = (document.all && !window.opera && !window.XMLHttpRequest) ? true : false;

//Resize function related
var fancyWidth, fancyHeight;
var feedIntervalID, tickerIntervalID, feedLoopIntervalID;

$(document).ready(function(){
  getFeed();
  $("a#retry_feed").live('click', function(){
    window.clearTimeout(feedIntervalID);
    getFeed();
    return false;
  });
  
  if(ie6) $("#content").pngFix();
  $("a.fancyBergselaan").fancybox({hideOnContentClick:false});
  $("a.fancyBergselaan.googlemaps").fancybox({hideOnContentClick:false,type:'iframe'});
  $("a.fancyPortfolio").fancybox({hideOnContentClick:false});
  $("a.fancyPortfolio.resize").fancybox({hideOnContentClick:false,
    type:'iframe',
    onComplete:function(){
      $("#fancybox-wrap").css({'width': (fancyWidth + 20) + 'px', 'height': (fancyHeight + 20) + 'px'});
      $("#fancybox-inner").css({'width': fancyWidth + 'px', 'height': fancyHeight + 'px'});
      $.fancybox.center();
    }
  }); 
  $("a.fancyPortfolio.resize").click(function(){
    dimensions = $(this).attr("name").split(" ");
    fancyWidth  = parseInt(dimensions[0]), fancyHeight = parseInt(dimensions[1]);
  });
  
  $("div#tickerlogo a").fancybox({hideOnContentClick:false});
  $("div#feed_picker a").live("click", function(){
    if((href = $(this).attr("href")) != undefined){
      getFeed(href);
      $.fancybox.close();
    }
    return false;
  });
}); 

function ticker_start() {
  ticker = document.getElementById("rssticker");
  ticker_content = ticker.innerHTML;
  ticker_width = ticker.style.width;

  // Firefox/Safari/Opera
  if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Safari")!=-1 || navigator.userAgent.indexOf("Opera")!=-1) {
    ticker.innerHTML = "<table cellspacing='0' cellpadding='0' width='100%'><tr><td nowrap='nowrap' style='"+style+"' id='TICKER_BODY' width='100%'>&nbsp;</span></td></tr></table>";
    tickerSupported = true;
  }
  // IE
  if (navigator.userAgent.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf("Opera")==-1) {
    ticker.innerHTML = "<div style='width:100%'><span style='"+style+"' id='TICKER_BODY' width='100%'></span></div>";
    tickerSupported = true;
  }
  if(!tickerSupported) ticker.outerHTML = ""; else {
    ticker.scrollLeft = ticker_righttoleft ? ticker.scrollWidth - ticker.offsetWidth : 0;
    document.getElementById("TICKER_BODY").innerHTML = ticker_content;
    ticker.style.display="block";
    ticker_tick();
  } 
}

function getFeed(url){
  if(url == undefined) url = "/feeds/ticker_feed";
  
  $.getJSON(url, function(data){
    $("div#ticker").fadeOut(500,function(){
      if(data != undefined){
        $("div#rssticker").html(data.feed);
        $("div#tickerlogo img").attr("src", "/images/icons/" + data.title.toLowerCase() + ".gif");
        $("div#ticker").fadeIn(500);
        ticker_start();
        window.clearTimeout(feedLoopIntervalID);
        feedLoopIntervalID = window.setTimeout(getFeed, 300000);
      }
      else {
        $.ajaxSetup ({cache: false});
        $("div#rssticker").html("Fout tijdens ophalen feeds&#8230; nieuwe poging in 5 seconde <a href='' id='retry_feed'>of nu</a>");
        $("div#ticker").fadeIn(500);
        feedIntervalID = window.setTimeout(function(){getFeed()}, 5000);
      }
    });
  });
}

function ticker_tick() {
  if(++tickerCount == 3){
    if(!paused) ticker.scrollLeft += speed * (ticker_righttoleft ? -1 : 1);
    if(ticker_righttoleft && ticker.scrollLeft <= 0) ticker.scrollLeft = ticker.scrollWidth - ticker.offsetWidth;
    if(!ticker_righttoleft && ticker.scrollLeft >= ticker.scrollWidth - ticker.offsetWidth) ticker.scrollLeft = 0;
    tickerCount = 0;
  }
  window.clearTimeout(tickerIntervalID);
  tickerIntervalID = window.setTimeout("ticker_tick()", 10);
}

function swapRSS(element){
  if(element.className == "swapRSSOff"){
    element.className = "swapRSSOn";
    ticker.style.display = "none";
  }
  else {
    ticker.style.display = "block";
    element.className = "swapRSSOff";
  }
}

function removeRSS(){
  document.getElementById("removeRSS").style.display = "none";
  document.getElementById("addRSS").style.display = "block";
}

function addRSS(){
  document.getElementById("removeRSS").style.display = "block";
  document.getElementById("addRSS").style.display = "none";
}

function popUp(URL) {
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=660,height=500,left = 192,top = 144');");
}