var	filesToLoadTemplate		= new Array();
var	currentFileTemplate		= 0;
function loadFilesTemplate()
{
	if (typeof filesToLoadTemplate[currentFileTemplate] == 'string')
	{
		$.getScript(SCORE_URL + 'Includes/Javascripts/' + filesToLoadTemplate[currentFileTemplate], loadFilesTemplate);
		currentFileTemplate++;
	}
	else
	{
		executeTemplate();
	}
}
$(document).ready(loadFilesTemplate);

function executeTemplate()
{
	categoriesInit();
	productInit();
	selfLabelledInit();
	sliderInit();
	$('form#search').submit(searchSubmit);
}
function searchSubmit(e)
{
	e.preventDefault();

	var	query			= $('form#search input[name=query]').val();
	if (!query)
		return false;
		query			= query.split('/').join(' ');
		query			= escape(query);
	var	queryCurrent	= $('form#search').attr('class');

	if(!isNaN(query))
		query			+= '_';
	var url				= $('form#search').attr('action');
		url				= url.split('zoek:' + queryCurrent).join('zoek:' + query);

	document.location.href	= url;

	return false;
}

/*	Self labeled fields	*/
function selfLabelledBlur()
{
	var	parent	= $(this).parent().get(0);
	while (parent.tagName != 'FORM')
		parent	= $(parent).parent().get(0);

	$('label[for=' + $(this).attr('id') + ']', parent).hide();
	var	label	= $('label[for=' + $(this).attr('id') + ']', parent).html();

	if ($(this).attr('type') == 'password' && $(this).val() == '')
	{
		$(this).hide();
		$('input.passwordLabel', $(this).parent().get(0)).show();
	}
	else
	{
		if ($(this).val() == '')
			$(this).val(label);
	}
}
function selfLabelledFocus(event)
{
	var	parent	= $(this).parent().get(0);
	while (parent.tagName != 'FORM')
		parent	= $(parent).parent().get(0);

	var	label	= $('label[for=' + $(this).attr('id') + ']', parent).html();

	if ($(this).hasClass('passwordLabel'))
	{
		$(this).hide();
		$('input[id=' + $(this).attr('rel') + ']', $(this).parent().get(0)).show().focus();
	}
	else
	{
		if ($(this).val() == label)
			$(this).val('');
	}
}
function selfLabelledInit()
{
	$('input.self').each(function ()
	{
		var	parent	= $(this).parent().get(0);
		while (parent.tagName != 'FORM')
			parent	= $(parent).parent().get(0);

		$('label[for=' + $(this).attr('id') + ']', parent).hide();
		var	label	= $('label[for=' + $(this).attr('id') + ']', parent).html();

		if ($(this).attr('type') == 'text')
		{
			$(this).val(label).focus(selfLabelledFocus).blur(selfLabelledBlur);
		}
		else if ($(this).attr('type') == 'password')
		{
			var	passwordLabel	= $('<input class="' + $(this).attr('class') + ' passwordLabel" rel="' + $(this).attr('id') + '" type="text" value="' + label + '" />').focus(selfLabelledFocus);
			$(this).blur(selfLabelledBlur);
			$(this).parent().prepend(passwordLabel);
			$(this).hide();
		}
	});
}

/* Product detail page */
function productInit()
{
	if ($('div#product div.left a').has('img').length)
		productFancyboxInit();
	$('div#product div.left a.thumbnail').mouseover(productImageSwitch);
}
var fancyboxLoading = false;
function productFancyboxInit()
{
	if (fancyboxLoading)
		return;
	if (typeof $.fancybox == 'function')
		return productFancyboxLoaded();
	
	fancyboxLoading = true;
	$.getScript(SCORE_URL + 'Includes/Javascripts/JQuery.Plugin.Fancybox.js', productFancyboxLoaded);
}
function productFancyboxLoaded()
{
	fancyboxLoading = false;
	
	var images = $('div#product div.left a').has('img').length;
	if (images != 1)
		$('div#product div.left a').has('img').not('.thumbnail').click(function (e)
		{
			$($('div#product div.left a.thumbnail').has('img').get(0)).click();
			e.preventDefault();
			return false;
		});
	$('div#product div.left a' + (images != 1 ? '.thumbnail' : '')).has('img').fancybox();
}
function productImageSwitch(e)
{
	var	image		= $('img', this).attr('src').split('/');
		image		= image[(image.length-1)];

	var	link		= $('div#product div.left a').has('img').not('.thumbnail');
		linkHref	= $(link).attr('href');
		linkHref	= linkHref.split('/');
		linkHref[(linkHref.length-1)] = image;
		linkHref	= linkHref.join('/');
	$(link).attr('href', linkHref);

	var	img		= $('img', link);
		imgSrc	= $(img).attr('src');
		imgSrc	= imgSrc.split('/');
		imgSrc[(imgSrc.length-1)] = image;
		imgSrc	= imgSrc.join('/');
	$(img).attr('src', imgSrc);

	e.preventDefault();
	return false;
}

/* Homepage slider */
function sliderInit()
{
	if ($('div#slider').length)
		$.getScript(SCORE_URL + 'Includes/Javascripts/JQuery.Easing.js', function () {$.getScript(SCORE_URL + 'Includes/Javascripts/JQuery.Plugin.CodaSlider.js', sliderLoaded);});
}
function sliderLoaded()
{
	$('div#slider').codaSlider({
		autoSlide			: true,
		autoSlideInterval	: 4000,
		dynamicArrows		: false,
		dynamicTabs			: false
	});
}

/* Categories */
var	categoryActive			= null;
function categoriesInit()
{
	categoryActive			= $('ul#menu li.active').attr('id');
	categoriesUpdate();

	$('ul#menu li').hover(categoryOver, categoryOut);
}
function categoryOut()
{

}
function categoryOver()
{
	$('ul#menu li').removeClass('active');
	$(this).addClass('active');
	categoriesUpdate();
}
function categoriesUpdate()
{
	$('ul#submenu li').not(':empty').hide();
	$('ul#submenu li.' + $('ul#menu li.active').attr('id')).show();
}
