var schedule = new Array();
var swap_schedule;

Cufon.replace('h2,h3,h4,h5,.date, .list th, .cufon_me, .schedule_artist_name, .top_nav a, #contact label, #faq dt a',{hover:true});

$(document).ready(function(){
  
  var fb_like = "<iframe src=\"http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.pukemarock.be&amp;layout=standard&amp;show_faces=false&amp;width=530&amp;action=like&amp;font=segoe+ui&amp;colorscheme=dark&amp;height=32&amp;text-align:center;\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:530px; height:32px;\" allowTransparency=\"true\"></iframe>";
  $("#topper").prepend(fb_like);
  
  init_header();
  init_sponsors();
  
  if($("#schedule_display").length>0){
    load_schedule();
  }
  
  $(".tab_nav a").each(function(){
    var tab = $(this).attr("href").replace("#","");
    $(this).attr("href","javascript:;");
    $(this).attr("rel",tab);
  });
  $(".tab_nav a").click(function(){
    var tab = $(this).attr("rel");
    $(this).parent().parent().find(".active").removeClass("active");
    $(this).parent().addClass("active");
    $(this).parent().parent().parent().parent().find(".tab_active").hide();
    $("#"+tab).show();
    $("#"+tab).addClass("tab_active");
  });

  if($("#tweets").length>0){
    $("#tweets").tweet({
        username: ["pukemarock"],
        count: 4,
        query: "#pukemarock+OR+pukema+OR+pukemarock",
        loading_text: "searching twitter..."

    });
  }
  
  
  $("a[rel='t_blank'], #tweets a").each(function(){
    $(this).attr("target","_blank");
  });

  $("#newsletter_form").attr("target","_blank");
  $("#topper .hover_me a.handler").hover(
    function(){
      $(this).parent().find(".hover").show();
      $(this).parent().hover(
        function(){},
        function(){
          $(this).find(".hover").hide();
        }
      );
    },
    function(){}
  );
  
  $("#topper .tickets a").click(function(e){
    e.preventDefault();
    window.open($(this).attr("href"), 'shop', 'width=800,height=600,scrollbars=yes,resizable=no');
  });
  
  
  $("#faq dt a, .tab_list h3 a").each(function(){
    var tar = $(this).attr("href");
    $(this).attr("rel",tar);
    $(this).attr("href","javascript:;");
  });
  
  $("#faq dt a, .tab_list h3 a").click(function(){
    if(!$(this).parent().hasClass("active")){
      var answer_id = $(this).attr("rel");
      var answer = $(answer_id);
      answer.stop().slideDown('fast');
      $(this).parent().addClass("active");
    }else{
      var answer_id = $(this).attr("rel");
      var answer = $(answer_id);
      answer.stop().slideUp('slow');
      $(this).parent().removeClass("active");
    }
  }
  );
  
  
  /*$("#nav li").each(function(){
    if($(this).children("ul").size()>0){
      $(this).children("a").attr("href","javascript:;");
      
      $(this).children("a").hover(
        function(){
          $(this).parent().children("ul").slideDown('fast');
          $(this).parent().hover(
            function(){},
            function(){
              $(this).children("ul").slideUp('fast');
            }
          );
        },
        function(){}
      );
      
    }
  });*/
});


function init_header(){
  var url = $("#visual_feed").val();
  $.getJSON(url, function(data){
    if(data.success==true){
      for(var artist_id in data.items){
        var artist = data.items[artist_id];
        var show_artist = (artist_id==0) ? true : false;
        add_header(artist_id,artist,show_artist);
      }
      $('#visual_wrapper').cycle({
        fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
      });
      
    }
  });  
}

function add_header(item_id,artist,show_artist){
  var visual_header = "<h2><a href=\"/artiesten/artiest/"+artist.friendly_name+"\" title=\""+artist.name+" - "+artist.scheduled_at_long+"\">"+artist.name+"</a></h2>";
  visual_header += "<p class=\"date\"><a href=\"/artiesten/artiest/"+artist.friendly_name+"\" title=\""+artist.name+" - "+artist.scheduled_at_long+"\">"+artist.scheduled_at+"</a></p>"
  var visual = "<a href=\"/artiesten/artiest/"+artist.friendly_name+"\" id=\"visual\" style=\"background-image:url("+artist.img_url+");\" title=\""+artist.name+" - "+artist.scheduled_at_long+"\">"+artist.name+"</a>";

  var header = "<div id=\"header_item_"+item_id+"\" class=\"header_item\"";
  header += (show_artist) ? ">" : "style=\"display:none;\">";
  header += visual_header+visual+"</div>";
  $("#visual_wrapper").append(header);
  Cufon.replace('#header_item_'+item_id+' h2',{hover:true});
  Cufon.replace('#header_item_'+item_id+' .date',{hover:true});
}

function init_sponsors(){
  var url = $("#sponsor_feed").val();
  $.getJSON(url, function(data){
    if(data.success==true){
      for(var sponsor_id in data.items){
        var sponsor = data.items[sponsor_id];
        var show_sponsor = (sponsor_id==0) ? true : false;
        add_sponsor(sponsor_id,sponsor,show_sponsor);
      }
      $("#sponsors a[rel='t_blank']").each(function(){
        $(this).attr("target","_blank");
      });
      $('#sponsors').cycle({
        fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
      });
      
    }
  });
}

function add_sponsor(sponsor_id,sponsor,show_sponsor){
  var sponsor_html = "<a href=\""+sponsor.url+"\" title=\""+sponsor.name+"\" rel=\"t_blank\" style=\"background-image:url("+sponsor.img_url+");\">"+sponsor.name+"</a>";
  $("#sponsors").append(sponsor_html);
}
function load_schedule(){
  $("#schedule").children("li").each(function(){
    var schedule_day = {
      date: $(this).attr("id").replace("schedule_day_",""),
      title: $(this).children("h3").text(),
      stages: new Array()
    };
    
    $(this).children("ul").children("li").each(function(){
      var stage = {
        id: $(this).attr("id").replace("schedule_day_"+schedule_day.date+"_stage_",""),
        name: $(this).children("h4").text(),
        artists: new Array()
      };
      var section = 0;
      var artist_cnt = 0;
      $(this).children("ul").children("li").each(function(){
        
        var artist = {
          name: $(this).children(".schedule_artist_name").val(),
          description: $(this).children(".schedule_artist_name").attr("title"),
          start: $(this).children(".schedule_artist_start"),
          end: $(this).children(".schedule_artist_end"),
          html: $(this).html()
        };
        
        if(stage.artists[section]==undefined){
          stage.artists[section] = new Array();
        }
        stage.artists[section].push(artist);
        if(artist_cnt==5){section++;artist_cnt=0;}else{artist_cnt ++;}
        
      });
      schedule_day.stages[stage.id] = stage;
    });
    schedule.push(schedule_day);
  });
  
  var current_schedule = schedule[0];
  fill_schedule(current_schedule);
  
  load_date_nav();
}

function load_date_nav(){
  $("#nav_dates a").click(function(){
    var date_id = Number($(this).parent().attr("id").replace("nav_dates_",""));
    $(this).parent().parent().find(".active").removeClass("active");
    $(this).parent().addClass("active");
    var margin = "0";
    switch(date_id){
      case 0:
        margin = "0";
      break;
      case 1:
        margin = "-26px";
      break;
      case 2:
        margin = "-52px";
      break;
    }
    $(this).parent().parent().css("marginTop",margin);
    var current_schedule  = schedule[date_id];
    fill_schedule(current_schedule);
  });
}

function swap_schedule_artists(){
  schedule_next();
}

function schedule_next(){
  $("#schedule_body").find("ul.active").each(function(){
    if($(this).parent().children("ul").size()>1){
      var next_list = $(this).next();
      if(next_list.html()==null){next_list = $(this).parent().children("ul:first");}
      $(this).removeClass("active");
      $(this).fadeOut('fast',function(){
        next_list.fadeIn('fast',function(){
          $(this).addClass("active");
        });

      });
    }
  });
}

function schedule_prev(){
  $("#schedule_body").find("ul.active").each(function(){
    if($(this).parent().children("ul").size()>1){
      var next_list = $(this).prev();
      if(next_list.html()==null){next_list = $(this).parent().children("ul:last");}
      $(this).removeClass("active");
      $(this).fadeOut('fast',function(){
        next_list.fadeIn('fast',function(){
          $(this).addClass("active");
        });

      });
    }
  });
}

function fill_schedule(current_schedule){
  $("#schedule_body").fadeOut('fast',function(){
    $("#schedule_display").html("");
    var schedule_html = "<div id=\"schedule_header\" class=\"clearfix\">";
    schedule_html += "<h3 id=\"schedule_title_l\">"+current_schedule.stages[1].name+"</h3>";
    if(current_schedule.stages[2]!=undefined){
      schedule_html += "<h3 id=\"schedule_title_r\">"+current_schedule.stages[2].name+"</h3>";
    }
    schedule_html += "</div><div id=\"schedule_body\" class=\"clearfix\" style=\"display:none;\"><div id=\"schedule_body_l\">";
    for(var artist_group_id in current_schedule.stages[1].artists){
      var artist_group = current_schedule.stages[1].artists[artist_group_id];
      schedule_html += (artist_group_id==0) ? "<ul class=\"active\">" : "<ul style=\"display:none;\">";
      for(var artist_id in artist_group){
        var artist = artist_group[artist_id];
        schedule_html += "<li>"+artist.html+"</li>";
      }
      schedule_html += "</ul>"
    }

    schedule_html += "</div>";
    if(current_schedule.stages[2]!=undefined){
      schedule_html += "<div id=\"schedule_body_r\">";
      for(var artist_group_id in current_schedule.stages[2].artists){
        var artist_group = current_schedule.stages[2].artists[artist_group_id];
        schedule_html += (artist_group_id==0) ? "<ul class=\"active\">" : "<ul style=\"display:none;\">";
        for(var artist_id in artist_group){
          var artist = artist_group[artist_id];
          schedule_html += "<li>"+artist.html+"</li>";
        }
        schedule_html += "</ul>";
      }
      schedule_html += "</div>";
    }
    
    
    schedule_html += "</div>";
    schedule_html += "<ul id=\"schedule_footer\" class=\"clearfix\"><li><a href=\"javascript:;\" title=\"Vroeger\" class=\"schedule_prev\">&laquo; vroeger</a></li><li class=\"last\"><a href=\"javascript:;\" title=\"Later\" class=\"schedule_next\">later &raquo;</a></li></ul>";
    $("#schedule_display").html(schedule_html);
    Cufon.replace('#schedule_display h3, #schedule_body li a',{hover:true});
    $("#schedule_body").fadeIn('slow');
    clearInterval(swap_schedule);
    swap_schedule = setInterval("swap_schedule_artists()",4000);
    
    $("#schedule_footer a").click(function(){
      clearInterval(swap_schedule);
      if($(this).hasClass("schedule_next")){
        schedule_next();
      }else{
        schedule_prev();
      }
      swap_schedule = setInterval("swap_schedule_artists()",4000);
    });
    
  });
  
  
  
}