
$(document).ready(function() 
{
	IE6warning();
    $('body').supersleight();
});





//------------------------------------------------------------------------------------------------- NAVIGATION

var nav_timeout = 500;
var nav_closetimer = 0;
var nav_menuitem = 0;

function navigationInit()
{
	window.setTimeout(navigationWidth, 500);

	$('#nav > li').bind('mouseover', navigationOpen);
	$('#nav > li').bind('mouseout', navigationTimer);
	
	document.onclick = navigationClose;
}

function navigationWidth()
{
	var item = $('#nav > li');
	item.each(function(index) 
	{
		var item = $(this);
		var width = item.width();
		
		item.find('ul.nav_sub').css('min-width', width-2*15);
	});
}

function navigationOpen()
{
	navigationCancelTimer();
	navigationClose();
	
	nav_menuitem = $(this).find('ul').css('visibility', 'visible');
}

function navigationClose()
{
	if (nav_menuitem) nav_menuitem.css('visibility', 'hidden');
}

function navigationTimer()
{
	nav_closetimer = window.setTimeout(navigationClose, nav_timeout);
}

function navigationCancelTimer()
{
	if (nav_closetimer)
   	{  
		window.clearTimeout(nav_closetimer);
      	nav_closetimer = null;
	}
}





//------------------------------------------------------------------------------------------------- SLIDESHOW

var slide_timeout = 5000;
var slide_anim = 250;
var slide_random = 1;

var slide_timer = 0;
var slide_array = [];
var slide_start = 555;
var slide_last = 555;
var slide_diff = 10;
var slide_zindex = 0;
var slide_url = "";

function slideshowInit()
{
	var size = $('#slideshow > .box > .artist').size();
	if (size < 6) slide_diff = 60 / (size - 2);
	
	var item = $('#slideshow > .box > .artist');
	item.each(function() 
	{
		slide_array.push($(this));
	});
	
	if (slide_random) slide_array = $.shuffle(slide_array);
	
	for (var i=0; i<slide_array.length; i++)
	{
		var item = slide_array[i];

		item.css('top', 0);
		item.css('z-index', slide_zindex);

		if (i==0) 
		{
			slide_url = item.find('img').attr('alt');
			item.css('left', 0);
		}
		else
		{
			slide_last = slide_start + (i-1) * slide_diff;
			item.css('left', slide_last);
		}
		
		slide_zindex++;
	}
	
	$('#slideshow > .box').click(function() { window.location = slide_url; });
	
	if (size>2) slide_timer = window.setTimeout(slideshowNext, slide_timeout);
}

function slideshowNext()
{
	for (var i=0; i<slide_array.length; i++)
	{
		var item = slide_array[i];
		
		//alert(i + " / " + item.css("left"));
		
		if (item.css('left')=="0px")
		{
			item.animate({left:-slide_start}, slide_anim, function() { $(this).css('left', slide_last); } );
			item.css('z-index', slide_zindex);
		}
		else if (item.css('left')==slide_start+"px")
		{
			item.animate({left: 0}, slide_anim);
			item.css('z-index', item.css('z-index')-1);

			slide_url = item.find('img').attr('alt');
		}
		else
		{
			var pos = item.css('left').substring(0, item.css('left').indexOf("px")) - slide_diff;
			item.animate({left: pos}, slide_anim);
			item.css('z-index', item.css('z-index')-1);
		}
	}
	
	slide_timer = window.setTimeout(slideshowNext, slide_timeout);
}





//------------------------------------------------------------------------------------------------- FEATURED

var featured_anim = 100;

function featuredInit(t, w)
{
	$('#featured_' + t + ' > .artist').hover(function()
	{
		$(this).find('img').animate({left:'-'+w+'px'}, {duration:featured_anim});
		$(this).find('.box').animate({left:'0px'}, {duration:featured_anim});
	}, 
	function()
	{
		$(this).find('img').animate({left:'0px'},{duration:featured_anim});
		$(this).find('.box').animate({left:w+'px'},{duration:featured_anim});
	});
}





//------------------------------------------------------------------------------------------------- HISTORY

var history_anim = 100;

var history_list = 0;
var history_prev = 0;
var history_next = 0;

var history_counter = 0;
var history_max = 0;
var history_width = 0;

function historyInit()
{
	historyWidth();
	
	history_list = $('#years > .list'); 
	history_prev = $('#years > .prev');
	history_next = $('#years > .next');
	
	historyCheckButton();
}

function historyWidth()
{
	var w = 0;
	var c = 0;
	
	var item = $('#years > .list > li');
	item.each(function(index) 
	{
		w += $(this).width();
		if (index==0) history_width = w;

		c ++;
	});
	
	history_max = c - 8;
	
	history_list = $('#years > .list');
	history_list.css('width', w+c);

}

function historyMove(d)
{
	if (history_counter+d>=0 && history_counter+d<history_max) 
	{
		history_counter = history_counter + d;
		historyCheckButton();
		
		var l = history_list.position().left + (history_width+1)*d*(-1);
		history_list.animate({left:l}, history_anim);
	}
}

function historyCheckButton()
{
	history_counter > 0 ? historyUpdateButton(history_prev, true, -1) : historyUpdateButton(history_prev, false, 0); 
	history_counter < history_max-1 ? historyUpdateButton(history_next, true, +1) : historyUpdateButton(history_next, false, 0); 
}

function historyUpdateButton(b, s, d)
{
	if (s) 
	{
		b.attr('href', 'javascript:historyMove('+d+');');
		b.addClass('enabled');
	}
	else 
	{
		b.removeAttr('href');
		b.removeClass('enabled');
	}	
}





//------------------------------------------------------------------------------------------------- HEIGHT

function updateHeight(a, b, c)
{
	b>c ? $(a).css('height', b+50) : $(a).css('height', c+50);
}





//------------------------------------------------------------------------------------------------- PROGRAM

var program_anim = 250;

var program_list = "";
var program_prev = "";
var program_next = "";

var program_top = 0;
var program_bottom = 0;

var program_counter = 0;
var program_array = [];

function programInit() 
{
	program_list = $('#program > .container > .list'); 
	program_prev = $('#program > .prev');
	program_next = $('#program > .next');
	
	$('#program > .prev > .txt').css('margin-left', Math.round((317-$('#program > .prev > .txt').width())/2));
	$('#program > .next > .txt').css('margin-left', Math.round((317-$('#program > .next > .txt').width())/2));

	var item = $('#program > .container > .list > .box');
	item.each(function(counter) 
	{
		var y = Math.round($(this).position().top) * (-1);
		program_array.push(y);
	});
	
	programCheckButton();
}

function programMove(d)
{
	if (program_counter+d>=0 && program_counter+d<program_array.length) 
	{
		program_counter = program_counter + d;
		programCheckButton();

		program_list.animate({top:program_array[program_counter]}, program_anim);
	}
}

function programCheckButton()
{
	program_counter > 0 ? programUpdateButton(program_prev, true, -1) : programUpdateButton(program_prev, false, 0); 
	program_counter < program_array.length-1 ? programUpdateButton(program_next, true, +1) : programUpdateButton(program_next, false, 0); 
}

function programUpdateButton(b, s, d)
{
	if (s) 
	{
		b.attr('href', 'javascript:programMove('+d+');');
		b.addClass('enabled');
	}
	else 
	{
		b.removeAttr('href');
		b.removeClass('enabled');
	}	
}





//------------------------------------------------------------------------------------------------- GALLERY BTN

var gallery_timeout = 2500;
var gallery_anim = 250;
var gallery_random = 1;

function galleryInit() 
{
	$('#gallery > a > .box').cycle({fx:'fade', speed:gallery_anim, timeout:gallery_timeout, random:gallery_random});
}





//------------------------------------------------------------------------------------------------- SHARE

var share_timeout = 500;
var share_closetimer = 0;
var share_menuitem = 0;

function shareInit() 
{
	var w = Math.round(removePx($('#share').css('width')));
	var t = Math.round(removePx($('#share > a').css('top'))) - 14 - Math.round(removePx($('#share > .nav').css('height')));
	
	$('#share > .nav').css('min-width', w);
	$('#share > .nav').css('left', -5);
	$('#share > .nav').css('top', t);

	$('#share').bind('mouseover', shareOpen);
	$('#share').bind('mouseout', shareTimer);
}

function shareOpen()
{
	shareCancelTimer();
	shareClose();
	
	share_menuitem = $(this).find('ul').css('visibility', 'visible');
}

function shareClose()
{
	if (share_menuitem) share_menuitem.css('visibility', 'hidden');
}

function shareTimer()
{
	share_closetimer = window.setTimeout(shareClose, share_timeout);
}

function shareCancelTimer()
{
	if (share_closetimer)
   	{  
		window.clearTimeout(share_closetimer);
      	share_closetimer = null;
	}
}





//------------------------------------------------------------------------------------------------- SPONSOR

var sponsor_timeout = 2500;
var sponsor_anim = 250;
var sponsor_random = 1;

function sponsorInit() 
{
	$('#sponsor > .box').cycle({fx:'fade', speed:sponsor_anim, timeout:sponsor_timeout, random:sponsor_random});
}





//------------------------------------------------------------------------------------------------- FLASH

function flashInit() 
{
	var flashvars = {};
	var params = {
		wmode : 'transparent',
		scale : 'noscale',
		menu : 'false',
		allowFullScreen : 'false'
	};
	var attributes = {};
	swfobject.embedSWF("swf/sponsor.swf", "sponsor", "140", "50", "9.0.0", "",flashvars, params, attributes);
}





//------------------------------------------------------------------------------------------------- GENERAL

function removePx(v)
{
	return v.substring(0, v.indexOf("px"));
}

function IE6warning()
{
    if (jQuery.browser.msie && jQuery.browser.version.substr(0, 1) == '6') 
	{
        var warningText = 'Uw browser is erg verouderd en deze site werkt daarom niet goed. Update hier voor een optimaal en veiliger surfgenot.'
        
        $('body').prepend($('<a/>', {
            id: 'IE6warning',
            text: warningText,
            href: 'http://www.browserchoice.eu/',
            target: '_blank'
        }));
        
        $('#IE6warning').css({
            'display': 'block',
            'position': 'relative',
            'z-index': '2'
        }).hide().slideDown();
    }
}

jQuery.fn.supersleight = function(settings)
{
    settings = jQuery.extend({
        imgs: true,
        backgrounds: true,
        shim: 'img/blank.gif',
        apply_positioning: true
    }, settings);
    
    return this.each(function(){
        if (jQuery.browser.msie &&
        parseInt(jQuery.browser.version, 10) < 7 &&
        parseInt(jQuery.browser.version, 10) > 4) {
            jQuery(this).find('*').andSelf().each(function(i, obj){
                var self = jQuery(obj);
                // background pngs
                if (settings.backgrounds &&
                self.css('background-image').match(/\.png/i) !==
                null) {
                    var bg = self.css('background-image');
                    var src = bg.substring(5, bg.length - 2);
                    var mode = (self.css('background-repeat') ==
                    'no-repeat' ? 'crop' : 'scale');
                    var styles = {
                        'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
                        src +
                        "', sizingMethod='" +
                        mode +
                        "')",
                        'background-image': 'url(' + settings.shim + ')'
                    };
                    self.css(styles);
                };
                // image elements
                if (settings.imgs &&
                self.is('img[src$=png]')) {
                    var styles = {
                        'width': self.width() + 'px',
                        'height': self.height() + 'px',
                        'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
                        self.attr('src') +
                        "', sizingMethod='scale')"
                    };
                    self.css(styles).attr('src', settings.shim);
                };
                // apply position to 'active' elements
                if (settings.apply_positioning &&
                self.is('a, input') &&
                (self.css('position') === '' ||
                self.css('position') ==
                'static')) {
                    self.css('position', 'relative');
                };
                            });
        };
            });
};

