$(document).ready(function(){
	
	//hide noscript content	
	$("#uitleg").hide();	
	$("#subpages div.subpage").hide();
	$('#subpages div.subpage').addClass('show');
	$('#subpages div.subpage span.terug').remove();
	
	//add legenda / partijen links
	$('<a id="legenda-link" class="subpage-link">Uitleg / Legenda</a>').insertAfter('#overzicht');
	$('<a id="overigepartijen-link" class="subpage-link">Overige Partijen</a>').insertAfter('#overzicht');
	$('<a id="programmas-link" class="subpage-link">Verkiezingsprogrammas</a>').insertAfter('#overzicht');

	//table cell behaviors	
	$('#overzicht td[class!=onderwerp]').bind("mouseenter",function() {
		
		// highlight headers on cell over
		$('#overzicht th').removeClass('highlight'); 
			
		var index = $(this).parent().children().index(this);	
		 $('#overzicht').each(function() {
		  $(':nth-child(' + (index + 1) + ')' ,this).addClass('highlight');
		});
		
		//remove highlights when not needed
		}).bind("mouseleave",function(){
			  var index = $(this).parent().children().index(this);	
				$('#overzicht').each(function() {
					  $(':nth-child(' + (index + 1) + ')' ,this).removeClass('highlight');
				})
	});
  
  
  	//standpunt weergeven
	$('#overzicht td[class!=onderwerp]').click(function(){
		
		//clean up first
		ruimop();
		
		//get the party 
		var headSplit = $(this).attr('headers').split(" ");
		var party = headSplit[0];
		
		//get the subject
		var subject = $(this).siblings(".onderwerp").text();
		
		//get the text
		var targ = $(this).children().attr('href');		
		var standpunt = 	'<div id="standpunt-detail">';
		standpunt +=		'<div id="sd-inner">';
		standpunt +=			'<h3>' + $(targ).html() + '</h3>';
		standpunt +=			'<p>' + $(targ).next().html() + '</p>';
		standpunt +=		'</div>';
		standpunt +=	'</div>';
		
		 //party flag position
		 var multipx = $(this).parent().children().index(this);
		 var offsetx = 162 + (45*multipx);
		
		 //subject flag position
		 var multipy = $(this).parent().index();
		 var offsety = 40 + (36*multipy);
		 
		 //reveal
		 $(standpunt).hide().appendTo('#content').fadeTo('fast', 1);
		
		 //position party flag
		$('<div id="sd-partij">' + party + '</div>').appendTo('#standpunt-detail');
		$('#sd-partij').css('margin-left', offsetx);
		
		//position subject flag
		$('<div id="sd-onderwerp">' + subject + '</div>').appendTo('#standpunt-detail');
		$('#sd-onderwerp').css('margin-top', offsety);
		
		//place back-link
		$('<a id="sd-terug">Terug</a>').appendTo('#standpunt-detail');	
		$('#sd-terug').click(function() {
			$("#sd-partij").animate({"left": "0px"}, "fast");
			$("#sd-onderwerp").animate({"top": "0px"}, "fast");
			$('#standpunt-detail').fadeOut('fast', function() { $(this).remove(); });
		});
		
		//move party & subject
		$("#sd-partij").animate({"left": "-"+(45*(multipx-1))+"px"}, "slow");
		$("#sd-onderwerp").animate({"top": "-"+(36*(multipy))+"px"}, "slow");
		 
	});
	
	
	//onderwerp weergeven
	$('#overzicht td.onderwerp').click(function(){
		
		//clean up first
		ruimop();
		
		//get the subject
		var subject = $(this).text();
		
		//get the text
		var targ = $(this).children().attr('href');		
		var targ = targ + '-dt';
		
		var standpunt = 	'<div id="standpunt-detail">';
		standpunt +=		'<div id="sd-inner">';
		standpunt +=			'<h3>' + $(targ).html() + '</h3>';
		standpunt +=			'<p>' + $(targ).next().html() + '</p>';
		standpunt +=		'</div>';
		standpunt +=	'</div>';
		 
		 //subject flag position
		 var multipy = $(this).parent().index();
		 var offsety = 40 + (36*multipy);
		 
		 //reveal
		 $(standpunt).hide().appendTo('#content').fadeTo('fast', 1);
		
		//position subject flag
		$('<div id="sd-onderwerp">' + subject + '</div>').appendTo('#standpunt-detail');
		$('#sd-onderwerp').css('margin-top', offsety);
		
		//place back-link
		if($("#sd-terug").length) { 
			$("#sd-terug").remove();			
		}
		$('<a id="sd-terug">Terug</a>').appendTo('#standpunt-detail');	
		$('#sd-terug').click(function() {
			$("#sd-onderwerp").animate({"top": "0px"}, "fast");
			$('#standpunt-detail').fadeOut('fast', function() { $(this).remove(); });
		});
				
		//move & subject
		$("#sd-onderwerp").animate({"top": "-"+(36*(multipy))+"px"}, "slow");
		 
	});
						   
	//subpage weergeven
	$('a.subpage-link').click(function(){
		
		//clean up first
		ruimop();
		
		//get the subpage
		var idSplit = $(this).attr('id').split("-");
		var subp = "#" + idSplit[0];
		
		 //reveal
		 $(subp).fadeTo('fast', 1);
		
		//place back-link
		$('<a id="sd-terug">Terug</a>').appendTo(subp);	
		$('#sd-terug').click(function() {
			$(subp).fadeOut('fast', function() { $(this).hide(); });
			$(this).remove();
		});			
		 
	});
	
	
	function ruimop() {
		if($("#subpages div.subpage #sd-terug").length) { 
			$("#subpages div.subpage #sd-terug").remove();
			$("#subpages div.subpage").fadeOut('fast');
		}	
		
		if($("#standpunt-detail").length) { 
			$('#standpunt-detail').fadeOut('fast').remove();
		}
	}

});
