// functions
function showBrochures(){
	for(i=0; i<document.testForm.elements.length; i++) {
		if(document.testForm.elements[i].id.match("Brochure[0-9]")) {
			document.testForm.elements[i].disabled=false;
			document.getElementById('consuField_'+document.testForm.elements[i].id).style.display='block';
		}
	}
}
function hideBrochures(){
	for(i=0; i<document.testForm.elements.length; i++) {
		if(document.testForm.elements[i].id.match("Brochure[0-9]")) {
			document.testForm.elements[i].disabled=true;
			document.getElementById('consuField_'+document.testForm.elements[i].id).style.display='none';
		}
	}
}
function showSteps(){
	if(document.getElementById('consuField_Report')){
		document.getElementById('consuField_Report').style.display='block';
		document.getElementById('consuField_StoreIDFK').style.display='block';
	}else{
		addLoadEvent(showSteps);
		addLoadEvent(hideBrochures);
	}
	document.getElementById("addressFields").style.display='none';
}
function hideSteps(){
	if(document.getElementById('consuField_Report')){
		document.getElementById('consuField_Report').style.display='none';
		document.getElementById('consuField_StoreIDFK').style.display='none';
	}else{
		addLoadEvent(hideSteps);
		addLoadEvent(showBrochures);
	}
	document.getElementById("addressFields").style.display='block';
}
function addLoadEvent(func) {
var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
		if (oldonload) {
			oldonload();
			}
			func();
		};
	}
}
function isNumberKey(e) {
    var k;
    document.all ? k = e.keyCode : k = e.which
    return (k != 17 && (k > 47 && k < 58) || k == 8 || k == 9 || k == 0);
}
function radioValue(field){
	aRadioGroup = document.getElementsByName(field);
	for (i=0; i<aRadioGroup.length; i++){
		if (aRadioGroup[i].checked){
			return true;
		}
	}
	return false;
}
function returnRadioValue(field){
	aRadioGroup = document.getElementsByName(field);
	for (i=0; i<aRadioGroup.length; i++){
		if (aRadioGroup[i].checked){
			return aRadioGroup[i].value;
		}
	}
	return false;
}
function emailCheck(field,loggedIn){
	email1 = document.getElementById(field+'1');
	email2 = document.getElementById(field+'2');
	
	if( /*(!email1 || email1.value == '')  ||*/ (!isEmail(email1.value)) ){
		alert('Het ingevulde e-mailadres is niet correct.');
		email1.focus();
		return false;
	}
	if( /*(!email2 || email2.value == '')  ||*/ (!loggedIn && !isEmail(email2.value)) || (loggedIn && email2.value != '' && !isEmail(email2.value)) ){
		alert('Het ingevulde e-mailadres is niet correct.');
		email2.focus();
		return false;
	}
	
	if( (email1.value != email2.value && !loggedIn) || (loggedIn && email2.value != '' && email1.value != email2.value) ){
		alert('De e-mailadressen zijn niet gelijk');
		email2.focus();
		return false;
	}
	
	return true;
}
function isZipcode(string) {
    var filter = /^([0-9]){4}( ){1}([A-Za-z]){2}$/;
    if (filter.test(string))
        return true;
    else
        return false;
}
function isEmail(string) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(string)) 
		return true;
	else
		return false;
}
function isPhone(string) {
    if ((string.length == 10) && (string.substring(0, 1) == '0') && (IsNumeric(string))) {
        return true;
    } else {
        return false;
    }
}
function IsNumeric(strString){  
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (var i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
// DATE FUNCTIONS
function isFullDate(sDate) {
   var re = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   if (re.test(sDate)) {
      var dArr = sDate.split("-");
      var d = new Date(dArr[1]+"/"+dArr[0]+"/"+dArr[2]);
      return d.getMonth() + 1 == dArr[1] && d.getDate() == dArr[0] && d.getFullYear() == dArr[2];
   }
   else {
      return false;
   }
}
function isDate(sDate) {
   var re = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   if (re.test(sDate+"-2009")) {
      var dArr = sDate.split("-");
      var d = new Date(dArr[1]+"/"+dArr[0]+"/2009");
      return d.getMonth() + 1 == dArr[1] && d.getDate() == dArr[0];
   }
   else {
      return false;
   }
}
function isYear(sDate) {
   var re = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   if (re.test("01-01-"+sDate)) {
      var dArr = sDate.split("-");
      var d = new Date("01/01/"+dArr[0]);
      return d.getFullYear() == dArr[0];
   }
   else {
      return false;
   }
}

// AJAX FUNCTIONS
	if(document.getElementById('Zipcode') && document.getElementById('HouseNumber')){
		document.getElementById('Zipcode').onblur = function(){
			zipCodeCheck();
		}
		
		document.getElementById('HouseNumber').onblur = function(){
			zipCodeCheck();
		}
	
		function GetXmlHttpObject(){
			var xmlHttp=null;
			try{ // Firefox, Opera 8.0+, Safari
				xmlHttp=new XMLHttpRequest();
			}catch (e){ //Internet Explorer
				try{
					xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
				}catch (e){
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
			}
			return xmlHttp;
		}	
		
		function zipCodeCheck(){
			/*
			var http = GetXmlHttpObject();
			var url = "includes/xml_request.php";
			var zipCode = document.getElementById('Zipcode').value;
			var houseNumber = document.getElementById('HouseNumber').value;
			if(houseNumber && zipCode){
				document.getElementById("Street").value = 'Loading...';
				var params = "zipCode="+zipCode+"&houseNumber="+houseNumber;
				try {
					http.open("GET", url+"?"+params, true); // open server interface
				} catch (e) { // if error occurs
					alert("XMLHttpRequest.open() failed.\n"+e); // show error
					return;
				}
				http.onreadystatechange = function() {//Call a function when the state changes.
					if(http.readyState == 4 && http.status == 200) {
						zipCodeSuccess(http.responseText);
					}else if(http.readyState == 3){
						document.getElementById("Street").value = "Niet gevonden...";
					}
				}
				http.send(null);
			}
			*/
		}
		
		function zipCodeSuccess(response) {
			var address = eval('(' + response + ')');
			document.getElementById("Street").value = address.Street;
			document.getElementById("HouseNumber").value = address.HouseNumber;
			document.getElementById("Zipcode").value = address.ZipcodeDigits + address.ZipcodeLetters;
			document.getElementById("City").value = address.City;
		}
	}
