(function($) {
	$.fn.customFadeIn = function(speed, callback) {
		$(this).fadeIn(speed, function() {
			if(jQuery.browser.msie)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
	$.fn.customFadeOut = function(speed, callback) {
		$(this).fadeOut(speed, function() {
			if(jQuery.browser.msie)
				$(this).get(0).style.removeAttribute('filter');
			if(callback != undefined)
				callback();
		});
	};
})(jQuery);

function GetObj(objectId)
{
	return document.getElementById(objectId);
}

function IsObj(obj)
{
	if(obj) return true;
	return false;
}

function CheckInput(obj, value)
{
	if(obj)
	{
		SetMessage("");
		
		if(obj.value == value)
		{
			obj.value = "";
		}
		else if(obj.value == "")
		{
			obj.value = value;
		}
		else
		{
			cleanMessage();
		}
	}
}

function IsEmpty(obj)
{
	if(obj.value == "") return true;
	return false;
}

function IsEmail(obj)
{
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (filter.test(obj.value)) return true;
	return false;
}

function IsPostcode(obj)
{
	var filter = /^[1-9]{1}[0-9]{3}[a-zA-Z]{2}$/;
	
	if (filter.test(obj.value)) return true;
	return false;
}

function IsSameAsTitle(obj)
{
	if(obj.value == obj.title) return true;
	return false;
}

function focusObject(obj)
{
	obj.focus();
}

function SetMessageById(value, messageId)
{
	objMessage = document.getElementById(messageId);
	
	if(objMessage)
	{
		objMessage.innerHTML = value;
	}
}

function SetMessage(value, objectId)
{
	objMessage = document.getElementById(objectId);
		
	if(objMessage)
	{
		objMessage.innerHTML = value;
	}
	else
	{
		
		objMessage = document.getElementById('message');
		
		if(objMessage)
		{
			if(value != "")
			{
				scroll(0,0);
				objMessage.innerHTML = value;
			}
		}
	}
}

function cleanMessage()
{
	objMessage = document.getElementById('message');
		
	if(objMessage)
	{
		objMessage.innerHTML = "";
	}
}

function VerstuurContactFormulier(formObj)
{	
	objNaam 		= document.getElementById('id-naam');
	objEmailadres	= document.getElementById('id-emailadres');
	objTelefoon		= document.getElementById('id-telefoon');
	objWoonplaats 	= document.getElementById('id-woonplaats');
	objVraag		= document.getElementById('id-vraag');
	
	if(objNaam && objEmailadres && objTelefoon && objWoonplaats && objVraag)
	{
		if(IsEmpty(objNaam) || IsSameAsTitle(objNaam))
		{
			focusObject(objNaam);
			Alert("U bent vergeten uw naam in te vullen!");
			return;
		}
		
		if(IsEmpty(objEmailadres) || IsSameAsTitle(objEmailadres))
		{
			focusObject(objEmailadres);
			Alert("U bent vergeten uw e-mailadres in te vullen!");
			return;
		}

		if(!IsEmail(objEmailadres))
		{
			focusObject(objEmailadres);
			Alert("Het opgegeven e-mailadres is onjuist!");
			return;
		}
		
		if(IsEmpty(objTelefoon) || IsSameAsTitle(objTelefoon))
		{
			focusObject(objTelefoon);
			Alert("U bent vergeten uw telefoonnummer in te vullen!");
			return;
		}
		
		if(IsEmpty(objWoonplaats) || IsSameAsTitle(objWoonplaats))
		{
			focusObject(objWoonplaats);
			Alert("U bent vergeten uw woonplaats in te vullen!");
			return;
		}
		
		
		if(IsEmpty(objVraag) || IsSameAsTitle(objVraag))
		{
			focusObject(objVraag);
			Alert("U bent vergeten uw vraag in te vullen!");
			return;
		}
		
		formObj.submit();
	}
}

function ShowMessage(sMessage)
{
	alert(sMessage);
}

function VerstuurNieuwsbriefAanvraag(oForm)
{
	objNaam 		= document.getElementById('n_name');
	objAdres		= document.getElementById('n_adres');
	objPostcode 	= document.getElementById('n_postcode');
	objWoonplaats 	= document.getElementById('n_city');	
	objEmailadres	= document.getElementById('n_email');
	
	if(objNaam && objAdres && objPostcode && objWoonplaats && objEmailadres)
	{
		if(IsEmpty(objNaam) || IsSameAsTitle(objNaam))
		{
			focusObject(objNaam);
			ShowMessage("U bent vergeten uw naam in te vullen!");
			return;
		}
		
		if(IsEmpty(objAdres) || IsSameAsTitle(objAdres))
		{
			focusObject(objAdres);
			ShowMessage("U bent vergeten uw adres in te vullen!");
			return;
		}
		
		if(IsEmpty(objPostcode) || IsSameAsTitle(objPostcode))
		{
			focusObject(objPostcode);
			ShowMessage("U bent vergeten uw postcode in te vullen!");
			return;
		}
		
		if(!IsPostcode(objPostcode))
		{
			focusObject(objPostcode);
			ShowMessage("De opgegeven postcode is onjuist! Gebruik het volgende formaat: 1234AA (zonder spatie)");
			return;
		}
		
		if(IsEmpty(objWoonplaats) || IsSameAsTitle(objWoonplaats))
		{
			focusObject(objWoonplaats);
			ShowMessage("U bent vergeten uw woonplaats in te vullen!");
			return;
		}
		
		if(IsEmpty(objEmailadres) || IsSameAsTitle(objEmailadres))
		{
			focusObject(objEmailadres);
			ShowMessage("U bent vergeten uw e-mailadres in te vullen!");
			return;
		}

		if(!IsEmail(objEmailadres))
		{
			focusObject(objEmailadres);
			ShowMessage("Het opgegeven e-mailadres is onjuist!");
			return;
		}
		
		oForm.submit();
	}
}

function ObjectExists(sObjectId)
{
	bReturn = false;
	
	if ($('#' + sObjectId).length) 
	{
		bReturn = true;
	}
	
	return bReturn;
}

/* Impressies */

function GetScreenWidth()
{
	return $(window).width();
}

function GetScreenHeight()
{
	return $(window).height();
}

function ResizeImpressie()
{
	$('.ImpressieImage').css('height',((GetScreenHeight() * 0.75) - 125) + 'px');
}

function HideLoader()
{
	$('#IdLoader').hide();
}

function ShowLoader()
{
	$('#IdLoader').show();
}

function LoadImage(sMain, sSub, iPos)
{
	$('#IdImpressiePanel').show();
	$('#IdImpressie').hide();
	ShowLoader();

	var sUrl = 'impressie.php?mainpage=' + sMain + '&subpage=' + sSub + '&pos=' + iPos;
	
	$('#IdImpressie').load(sUrl, function()
	{
		HideLoader();
		ResizeImpressie();
		$('#IdImpressie').show();
	});
}

function CloseImpressie()
{
	$('#IdImpressiePanel').hide();
	$('#IdImpressie').hide();
}

/* Handle resize on resize action */
$(window).resize(function(){ResizeImpressie();});

/* Not Used */

function UpdateLabel()
{
	var oImage = $('#image-' + GetCounter());
	$('#IdContent').html(oImage.attr('content'));
	$('#Counter').html(GetCounter());
}


function GetCounter()
{
	var obj = document.getElementById('IdCurrent');
	
	return obj.value;
}

function NextCounter()
{
	var obj = document.getElementById('IdCurrent');
	
	obj.value = parseInt(obj.value) + 1;
}

function PrevCounter()
{
	var obj = document.getElementById('IdCurrent');
	
	obj.value = parseInt(obj.value) - 1;
}

function ResetNext()
{
	var obj = document.getElementById('IdCurrent');
	
	obj.value = 1;
}

function ResetPrev()
{
	var obj = document.getElementById('IdCurrent');
	var objTotal = document.getElementById('IdTotal');
	
	obj.value = parseInt(objTotal.value);
}


function ImageExits()
{
	var oImage = document.getElementById('image-' + GetCounter());

	if(oImage) return true;
	return false;
}

function Prev(bSamePage)
{
	$('#image-' + GetCounter()).css({zIndex:99}).fadeOut( function(){
		PrevCounter();		
		UpdateLabel();
		
		if(ImageExits() == true)
		{
			$('#image-' + GetCounter()).css({zIndex:90}).fadeIn(function(){
				$(this).css('filter','');
			});
		}
		else
		{
			if(bSamePage)
			{
				ResetPrev();
				UpdateLabel();
				$('#image-' + GetCounter()).css({zIndex:90}).fadeIn(function(){
					$(this).css('filter','');
				});
			}
			else
			{
				LoadCategory('prev');
			}
		}
		
	});
}

function Next(bSamePage)
{
	$('#image-' + GetCounter()).css({zIndex:99}).fadeOut( function(){
		NextCounter();
		UpdateLabel();
		
		if(ImageExits() == true)
		{
			$('#image-' + GetCounter()).css({zIndex:90}).fadeIn(function(){
				$(this).css('filter','');
			});
		}
		else
		{
			if(bSamePage)
			{
				ResetNext();
				UpdateLabel();
				$('#image-' + GetCounter()).css({zIndex:90}).fadeIn(function(){
					$(this).css('filter','');
				});
			}
			else
			{
				LoadCategory('next');
			}
		}
	});
}

function GetInputValue(sId)
{
	var obj = document.getElementById(sId);
	
	return obj.value;
}

function LoadCategory(sType)
{
	var sUrl 	= '';
	var sMain 		= GetInputValue('IdMain');
	var sCurrentSub	= GetInputValue('IdSub');
		
	var sSub	= '';
	var sPos	= '';
	
	if(sType == 'prev')
	{
		sSub = GetInputValue('IdPrevBrand');
		sPos = GetInputValue('IdPrevImage');
		
		sUrl = 'impressie.php?mainpage=' + sMain + '&subpage=' + sSub + '&pos=' + sPos;
	}
	else
	{
		sSub = GetInputValue('IdNextBrand');
		sPos = GetInputValue('IdNextImage');
		
		sUrl = 'impressie.php?mainpage=' + sMain + '&subpage=' + sSub + '&pos=' + sPos;
	}
	
	// $('div.Footer a').removeClass(sCurrentSub + '-active');
	// $('#link-' + sSub).addClass(sSub + '-active');

	LoadFooter(sMain, sSub);
	
	$('#IdImpressie').hide();
	ShowLoader();
	
	//ApplyImpressieClass();	
	
	$('#IdImpressie').load(sUrl, function()
	{
		HideLoader();
		ResizeImpressie();
		$('#IdImpressie').show();
	});	
}

function LoadFooter(sMain, sSub)
{
	sUrl = 'footer.php?mainpage=' + sMain + '&subpage=' + sSub;
	
	$('#IdFooter').load(sUrl);
}

function GetScreenWidth()
{
	return $(window).width();
}

function GetScreenHeight()
{
	return $(window).height();
}

$(document).ready(function() {
	var iHeight = GetScreenHeight();
	
	if(iHeight < 768)
	{
		$('div.ContentOuterPanel').addClass('COP1024');
	}
	else if(iHeight < 1024)
	{
		$('div.ContentOuterPanel').addClass('COP1280');
	}
	
	// You need to specify the size of your background image here (could be done automatically by some PHP code)
	var FullscreenrOptions = {width: 1901, height: 1006, bgID: '#bgimg' };
	// This will activate the full screen background!
	jQuery.fn.fullscreenr(FullscreenrOptions);	
});


