function sluitpopup(){
	document.getElementById('popup').style.display = 'none';
}

function submitCartPopup(btn){
	var submitCartForm = document.getElementById('submitCartForm');
	
	submitCartForm.action = submitCartForm.action+'?btn='+btn;
	sluitpopup();
	submitCartForm.submit();
}

function Save( form ){
	
	if ( validate( form ) )
	{
		//form.onsubmit();
		form.submit();
	}
}

function validate( form ){
	var x, y;

	if ( typeof ( verplichteVelden ) != "undefined" )
	for ( y in verplichteVelden )
	{
		
		for ( x in form )
		{	
			if ( form[x] && verplichteVelden[y] == form[x].name )
			{
				if ( form[x].value == null || form[x].value.length == 0 )
				{
					Fout( form[x], "EMPTY" );
					form[x].select();
					form[x].focus();
					return false;
				}	
			}
		}
	}
	
	if ( typeof ( numeriekeVelden ) != "undefined" )
	for ( y in numeriekeVelden )
	{
		for ( x in form )
		{	
			if ( form[x] && numeriekeVelden[y] == form[x].name )
			{
				if ( !IsNumeric( form[x].value ) )
				{
					Fout( form[x], "NUM" );
					form[x].select();
					form[x].focus();
					return false;
				}	
			}
		}
	}
	
	if ( typeof ( emailVelden ) != "undefined" )
	for ( y in emailVelden )
	{
		for ( x in form )
		{	
			if ( form[x] && emailVelden[y] == form[x].name )
			{
				if ( !IsEmail( form[x].value ) )
				{
					Fout( form[x], "EMAIL" );
					form[x].select();
					form[x].focus();
					return false;
				}	
			}
		}
	}
	
	if ( typeof ( tijdVelden ) != "undefined" )
	for ( y in tijdVelden )
	{
		for ( x in form )
		{	
			if ( form[x] && tijdVelden[y] == form[x].name )
			{
				if ( !IsTijd( form[x].value ) )
				{
					Fout( form[x], "TIJD" );
					form[x].select();
					form[x].focus();
					return false;
				}	
			}
		}
	}
	
	return true;
}

function Fout( veld, melding )
{
	if ( melding == "EMPTY" )
		document.getElementById('message').innerHTML = "<p class=\"message red\">U heeft geen '" + veld.id + "' ingevuld.</p>";
	if ( melding == "NUM" )
		document.getElementById('message').innerHTML = "<p class=\"message red\">U heeft geen geldig getal in '" + veld.id + "' ingevuld.</p>";
	if ( melding == "EMAIL" )
		document.getElementById('message').innerHTML = "<p class=\"message red\">U heeft geen geldig E-mailadres in '" + veld.id + "' ingevuld.</p>";
	if ( melding == "TIJD" )
		document.getElementById('message').innerHTML = "<p class=\"message red\">U heeft geen juiste tijd in '" + veld.id + "' ingevuld. (hh:mm)</p>";
}

function IsNumeric( sText )
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function IsEmail( sText ) 
{
	return ( sText.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1 || sText == null || sText.length == 0)
}

function IsTijd( sText ) // hh:mm
{
   var ValidChars = "0123456789:";
   var IsTijd = true;
   var Char;
   
   for (i = 0; i < sText.length && IsTijd == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsTijd = false;
      }
   }
      
   if ( sText.charAt(2) != ":" )
   		IsTijd = false;
   		
	if ( parseInt(sText.substr(0,2)) > 23 )
		IsTijd = false;
		
	if ( parseInt(sText.substr(3,5)) > 59 )
		IsTijd = false;	
   			
   return IsTijd;	
}

function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}


//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}
