$(document).ready(
	function(){	
		if (document.getElementById('radiator')){setCoverColor(document.frmStep2.color.value);}
		centerWebsite();
	}
)

$(window).resize(function() {
	centerWebsite();
});



function switchAddress(status){
	if (status){
		document.getElementById('afw_adres').style.display = 'block';
	} else {
		document.getElementById('afw_adres').style.display = 'none';
	}
}



function setIdeal(status){
	if (document.getElementById('bankkeuze')){
		if (status == true){
			document.getElementById('bankkeuze').style.display = 'block';
		}
		if (status == false){
			document.getElementById('bankkeuze').style.display = 'none';
		}
	}
}



function centerWebsite(){
	var myWidth = 0, myHeight = 0, myMargin = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
		myMargin =  Math.round((myHeight - 680 )/2);
		if (myMargin < 0){myMargin = 0}
		if (document.getElementById('container')){
			document.getElementById('container').style.marginTop = ''+myMargin+'px';
		}
}



function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }
   
   

function IsValid(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-!?";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}



function checkStep1(){
	var errorCheck = 0;
	
	// Diepte check: inserted value is longer than 1 char and shorter than 5 | inserted value is numeric
	if ((IsNumeric(document.getElementById('diepte').value) == true)&&((!document.getElementById('diepte').value.length == 0)&&(document.getElementById('diepte').value.length < 5))){
		// Passed
		document.getElementById('lbl1').className = 'normal';
		//document.getElementById('lbl1').style.background = '#fff000';
	} else {
		// Failed
		errorCheck = 1;
		document.getElementById('lbl1').className = 'hilite';
		//document.getElementById('lbl1').style.background = '#ff0000';
	}
	
	// Lengte check: inserted value is longer than 1 char and shorter than 5 | inserted value is numeric | inserted value is < 3020
	if ((IsNumeric(document.getElementById('lengte').value) == true)&&((!document.getElementById('lengte').value.length == 0)&&(document.getElementById('lengte').value.length < 5))&&(parseInt(document.getElementById('lengte').value)<=3020)){
		// Passed
		document.getElementById('lbl2').className = 'normal';
	} else {
		// Failed
		errorCheck = 1;
		document.getElementById('lbl2').className = 'hilite';
	}
	
	// Hoogte check: inserted value is longer than 1 char and shorter than 5 | inserted value is numeric | inserted value is < 3020
	if ((IsNumeric(document.getElementById('hoogte').value) == true)&&((!document.getElementById('hoogte').value.length == 0)&&(document.getElementById('hoogte').value.length < 5))&&(parseInt(document.getElementById('hoogte').value)<=1020)){
		// Passed
		document.getElementById('lbl3').className = 'normal';
	} else {
		// Failed
		errorCheck = 1;
		document.getElementById('lbl3').className = 'hilite';
	}
	
	if (errorCheck == 1){
		document.getElementById('error').style.display = 'block';
	} else {
		document.frmStep1.submit();
	}
}



function checkStep2(){
	document.frmStep2.submit();
}



function checkStep3(){
	if ((IsNumeric(document.getElementById('aantal').value) == true)&&((!document.getElementById('aantal').value.length == 0)&&(document.getElementById('aantal').value.length < 3))){
		document.frmStep3.submit();		
	} else {
		document.getElementById('error2').style.display = 'block';
		document.getElementById('lbl1').style.background = '#ff0000';
	}
}



function checkStep4(){
	document.frmStep4.submit();
}



function checkStep5(sitetype){
	obj = document.frmStep5;
	var error = 0;
	
	document.getElementById('lbl1').className = 'normal';
	document.getElementById('lbl2').className = 'normal';
	document.getElementById('lbl3').className = 'normal';
	document.getElementById('lbl4').className = 'normal';
	document.getElementById('lbl5').className = 'normal';
	document.getElementById('lbl6').className = 'normal';
	if (document.getElementById('lbl7')){document.getElementById('lbl7').className = 'normal';}
	if (document.getElementById('lbl8')){document.getElementById('lbl8').className = 'normal';}
	if (document.getElementById('lbl9')){document.getElementById('lbl9').className = 'normal';}
	if (document.getElementById('lbl10')){document.getElementById('lbl10').style.color = '#000';}
	document.getElementById('error2').innerHTML = '';
	document.getElementById('error2').style.display = 'none';
	if (obj.f_s_betaalmethode){obj.f_s_betaalmethode.value = '';}
	
	obj.f_s_naam.value = replaceAll(obj.f_s_naam.value,","," ");
	if (obj.f_s_naam.value.length==0){
		error = 1;
		document.getElementById('lbl1').className = 'hilite';
	}
	
	obj.f_s_adres.value = replaceAll(obj.f_s_adres.value,","," ");
	if (obj.f_s_adres.value.length==0){
		error = 1;
		document.getElementById('lbl2').className = 'hilite';
	}
	
	obj.f_s_postcode.value = replaceAll(obj.f_s_postcode.value," ","");
	
	obj.f_s_telefoon.value = replaceAll(obj.f_s_telefoon.value,"-","");
	obj.f_s_telefoon.value = replaceAll(obj.f_s_telefoon.value," ","");
	
	if (obj.f_s_land.value == 'België'){
		if ((obj.f_s_postcode.value.length==4)&&(IsNumeric(obj.f_s_postcode.value))){
			//ok
		}else{
			error = 1;
			document.getElementById('lbl3').className = 'hilite';
		}
		if (!isTelBelgie(obj.f_s_telefoon.value)){
			error = 1;
			document.getElementById('lbl6').className = 'hilite';
		}
	} else {
		if (obj.f_s_land.value == 'Deutschland') {
			if (!isPostcodeDE(obj.f_s_postcode.value)){
				error = 1;
				document.getElementById('lbl3').className = 'hilite';
			}
			if (obj.f_s_telefoon.value.toString().length < 5) {
				error = 1;
				document.getElementById('lbl6').className = 'hilite';
			}
		} else {
			if (!isPostcode(obj.f_s_postcode.value)){
				error = 1;
				document.getElementById('lbl3').className = 'hilite';
			}else{
				obj.f_s_postcode.value = obj.f_s_postcode.value.substr(0,4)+" "+obj.f_s_postcode.value.substr(4,6).toUpperCase();
			}
			if (!isTel(obj.f_s_telefoon.value)){
				error = 1;
				document.getElementById('lbl6').className = 'hilite';
			}
		}
	}
	
	obj.f_s_woonplaats.value = replaceAll(obj.f_s_woonplaats.value,","," ");
	if (obj.f_s_woonplaats.value.length==0){
		error = 1;
		document.getElementById('lbl4').className = 'hilite';
	}
	
	if (!isEmailAdres(obj.f_s_email.value)){
		error = 1;
		document.getElementById('lbl5').className = 'hilite';
	}
	
	if (obj.adr_afw){
		if (obj.adr_afw[0].checked) {
			obj.f_s_aflever_adres.value = replaceAll(obj.f_s_aflever_adres.value,","," ");
			if (obj.f_s_aflever_adres.value.length==0){
				error = 1;
				document.getElementById('lbl7').className = 'hilite';
			}
			obj.f_s_aflever_postcode.value = replaceAll(obj.f_s_aflever_postcode.value," ","");
			if (obj.f_s_land.value == 'België') {
				if ((obj.f_s_aflever_postcode.value.length==4)&&(IsNumeric(obj.f_s_aflever_postcode.value))){
					//ok
				}else{
					error = 1;
					document.getElementById('lbl8').className = 'hilite';
				}
			} else {
			
				if (obj.f_s_land.value == 'Deutschland') {
					if (!isPostcodeDE(obj.f_s_aflever_postcode.value)) {
						error = 1;
						document.getElementById('lbl8').className = 'hilite';
					}
				} else {
					if (!isPostcode(obj.f_s_aflever_postcode.value)){
						error = 1;
						document.getElementById('lbl8').className = 'hilite';
					}else{
						obj.f_s_aflever_postcode.value = obj.f_s_aflever_postcode.value.substr(0,4)+" "+obj.f_s_aflever_postcode.value.substr(4,6).toUpperCase();
					}
				}
			}
			obj.f_s_aflever_woonplaats.value = replaceAll(obj.f_s_aflever_woonplaats.value,","," ");
			if (obj.f_s_aflever_woonplaats.value.length==0){
				error = 1;
				document.getElementById('lbl9').className = 'hilite';
			}
		}
	}
	
	if (obj.betaaltype){
		if (obj.betaaltype[0].checked || obj.betaaltype[1].checked || obj.betaaltype[2].checked){
			if (obj.betaaltype[0].checked){obj.f_s_betaalmethode.value = obj.betaaltype[0].value}
			if (obj.betaaltype[1].checked){obj.f_s_betaalmethode.value = obj.betaaltype[1].value}
			if (obj.betaaltype[2].checked){obj.f_s_betaalmethode.value = obj.betaaltype[2].value}
			if (obj.betaaltype[2].checked) {
				if(obj.betaaltype[2].value == 'iDeal') {
					obj.f_s_betaalmethode.value = obj.banknaam.value;
				} else {
					obj.f_s_betaalmethode.value = obj.betaaltype[2].value
				}
			}
		} else {
			error = 1;
			document.getElementById('lbl10').style.color = '#ff0000';
		}
	}
	
	if (!error == 1){
		if (sitetype == 'configurator'){
			document.frmStep5.submit();
		} else {
			gmap_address();
		}
	} else {
		document.getElementById('error2').style.display = 'block';
	}
}

function gmap_address()
{

	var oForm = document.frmStep5;

	var coords   = null;
	var geocoder = new GClientGeocoder();

	var address = oForm.f_s_adres.value + ', ' + oForm.f_s_woonplaats.value + ', ' + oForm.f_s_land.value;

	if (geocoder)
	{
		geocoder.getLatLng(address,
			function(point)
			{
				if (point)
				{
					var a = point.toString().split(",");
					oForm.f_s_lon.value = a[1].replace(')', '');
					oForm.f_s_lat.value = a[0].replace('(', '');
				} else {
					//Onbekende coordinaten
					oForm.f_s_lat.value = 52.479435;
					oForm.f_s_lon.value = 4.378052;
				}
				//alert('Lattitude: '+oForm.f_s_lat.value+'\r'+'Longitude: '+oForm.f_s_lon.value);
				document.frmStep5.submit();
			}
		);
	}
}

function checkInmeetservice(){
	obj = document.frmInmeetservice;
	var error = 0;
	
	document.getElementById('lbl1').className = 'normal';
	document.getElementById('lbl2').className = 'normal';
	document.getElementById('lbl3').className = 'normal';
	document.getElementById('lbl4').className = 'normal';
	document.getElementById('lbl5').className = 'normal';
	document.getElementById('lbl6').className = 'normal';
	if (document.getElementById('lbl7')){document.getElementById('lbl7').className = 'normal';}
	if (document.getElementById('lbl8')){document.getElementById('lbl8').className = 'normal';}
	if (document.getElementById('lbl9')){document.getElementById('lbl9').className = 'normal';}
	if (document.getElementById('lbl10')){document.getElementById('lbl10').style.color = '#000';}
	document.getElementById('error2').innerHTML = '';
	document.getElementById('error2').style.display = 'none';
	if (obj.f_s_betaalmethode){obj.f_s_betaalmethode.value = '';}
	
	obj.f_s_naam.value = replaceAll(obj.f_s_naam.value,","," ");
	if (obj.f_s_naam.value.length==0){
		error = 1;
		document.getElementById('lbl1').className = 'hilite';
	}
	
	obj.f_s_adres.value = replaceAll(obj.f_s_adres.value,","," ");
	if (obj.f_s_adres.value.length==0){
		error = 1;
		document.getElementById('lbl2').className = 'hilite';
	}
	
	obj.f_s_postcode.value = replaceAll(obj.f_s_postcode.value," ","");
	if (obj.f_s_land.value == 'België'){
		if ((obj.f_s_postcode.value.length==4)&&(IsNumeric(obj.f_s_postcode.value))){
			//ok
		}else{
			error = 1;
			document.getElementById('lbl3').className = 'hilite';
		}
	} else {
		if (!isPostcode(obj.f_s_postcode.value)){
			error = 1;
			document.getElementById('lbl3').className = 'hilite';
		}else{
			obj.f_s_postcode.value = obj.f_s_postcode.value.substr(0,4)+" "+obj.f_s_postcode.value.substr(4,6).toUpperCase();
		}
	}
	
	obj.f_s_woonplaats.value = replaceAll(obj.f_s_woonplaats.value,","," ");
	if (obj.f_s_woonplaats.value.length==0){
		error = 1;
		document.getElementById('lbl4').className = 'hilite';
	}
	
	if (!isEmailAdres(obj.f_s_email.value)){
		error = 1;
		document.getElementById('lbl5').className = 'hilite';
	}
	
	//obj.f_s_telefoon.value = replaceAll(obj.f_s_telefoon.value,"-","");
	//obj.f_s_telefoon.value = replaceAll(obj.f_s_telefoon.value," ","");
	//if (!isTel(obj.f_s_telefoon.value)){
	//	error = 1;
	//	document.getElementById('lbl6').className = 'hilite';
	//}
	
	if (!error == 1){
		document.frmInmeetservice.submit();
	} else {
		document.getElementById('error2').style.display = 'block';
	}
}



function addNewCover(frmAction){
	document.frmStep4.action = frmAction;
	document.frmStep4.submit();
}



function isEmailAdres(string){
  var patroon = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  return patroon.test(string);
	}


	
function replaceAll( str, from, to ){
    var idx = str.indexOf( from );
    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
   		}
    return str;
	}



function isMobile(string){
  var patroon =
    /^06(-{0,1})[1-9][0-9]{7}$/;
  return patroon.test(string);
}


function isTelefoon(string){
  var patroon =
    /^0[1-9][0-9]{1,2}(-{0,1})[1-9][0-9]{5,6}$/;
  return patroon.test(string);
}


function isTel(string){
	if(string.length!=10) return false;
	return isTelefoon(string) || isMobile(string);
}	



function isTelBelgie(string){
	if((string.length>8)&&(string.length<11)) 
	{
		return true;
	}
	else
	{
		return false;
	}
	//return isTelefoon(string) || isMobile(string);
}	



function isPostcode(string){
	if(isPostcodeNL(string)) return true;
	return false;
}


function isPostcodeNL(string){
    var patroon =
      /^[1-9][0-9]{3}[A-Za-z]{2}$/;
    return patroon.test(string);
}

function isPostcodeDE(string){
	var patroon = /^[0-9]{5}$/;
	return patroon.test(string);
}

function checkCode(actioncode){
	if (IsValid(actioncode) == true){
		document.location.href='/shophandler.asp?action=update&code=' + actioncode;
	} else {
		document.location.href='/shophandler.asp?action=update&code=';
	}
}


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 toDefault(obj) {
	if (obj.value == obj.defaultValue) {
		obj.value = '';
	}
	if (!obj.onblur) {
		obj.onblur = function () {
			if (this.value == '')
				this.value = this.defaultValue;
		}
	}
}

