function gelijkaanchange(checkbox){

	if(checkbox.checked == true){
		var lis = jQuery("#gelijkaan").parents("ul").find("li").not("li:first");
		lis.hide("slow");
		lis.find("input").each(function(i){
			if(this.getAttribute("required") != null){
				this.setAttribute("required", "no");
			}
		});	
	}else{
		var lis = jQuery("#gelijkaan").parents("ul").find("li").not("li:first");
		lis.show("slow");
		lis.find("input").each(function(i){
			if(this.getAttribute("required") != null){
				this.setAttribute("required", "");
			}
		});	
	}
}

function changeZijspan(param){
	var el = jQuery("#zijspan_inp");
	if(param.value== "Motor"){
		el.find("input").each(function(i){
			if(this.getAttribute("required") != null){
				this.setAttribute("required", "");
			}
		});
		el.show();
	}else{
		el.find("input").each(function(i){
			if(this.getAttribute("required") != null){
				this.setAttribute("required", "no");
			}
		});
		el.hide();
	}
}

window.addEvent('domready', function() {
	
	var myAccordion = new Accordion($('accordion'), 'h2.toggler', 'div.reisAlgemeen', {
		opacity: false,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#FF3030');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#4E4E4E');
		}
	});
});

function trim (str) {
var ws = /\s/, _start = -1, _end = str.length;
while(ws.test(str.charAt(++_start)));
if( _start >= _end) return '';
while(ws.test(str.charAt(--_end)));
return str.slice(_start , _end+1);
}

function isEmpty(veld){
  var str = trim(veld.value);
  veld.value = str;
  if(str==null|str=="")return true;
  return false;
}


function isAlpha(veld){
  var str = veld.value;
  var datepat=/^[\D]*$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    return true;
  }
}

function isNum(veld){
  var str = veld.value;
  var datepat=/^[\d]*$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    return true;
  }
}

function isAlphaNum(veld){
  var str = veld.value;
  var datepat=/^[\w\d\s@^*$+<>={}\[\]?!\(\),:;.\-%\\\/\"\']*$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    return true;
  }
}

function isEmail(veld){
  var str = veld.value;
  var datepat=/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    return true;
  }
  return true;
}

function isDate(veld){
  var str = veld.value;
  var datepat=/^(\d\d)[-/.](\d\d)[-/.](\d\d\d\d)$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    veld.value = matchArray[1]+'-'+matchArray[2]+'-'+matchArray[3];
    return true;
  }
}

function isTelephone(veld){
  // zelfde idee als bij isDate, ook \d met wat andere tekens [+]?[\d- ()]*
  var str = veld.value;
  var datepat=/^[+]{0,1}[\d- ()]*$/;
  var matchArray=str.match(datepat);
  if (matchArray==null){
      return false;
  }else{
    return true;
  }
}

function isRadiocheck(veld){
  //lusje maken die over alle items gaat, indien 1 geselecteerd, dan is het goed
  var radioElements = document.getElementsByName(veld.name);
  var sel = false;
  for (var i=0;i<radioElements.length;i++){
    if(radioElements[i].checked)sel = true; 
  }
  return sel;
}

function isCheckboxcheck(veld){
  return veld.checked;
}


function checkform(theForm){
  var valid = true;
  var formValidate = theForm.getAttribute("validate");
  if(formValidate!= null && formValidate == "SKIP"){return true;}
  
  for (var i=0;i<theForm.length;i++){
    var veld = theForm.elements[i];
    var validField = true;
    var validate = ""; //reset

    if(veld.getAttribute("required") != null){
      if(isEmpty(veld)){
			validField=false;
      }else{
			validate = veld.getAttribute("validate");
			if(validate == "A" && !isAlpha(veld)){
			  validField=false;
			}
			if(validate == "AN" && !isAlphaNum(veld)){
			  validField=false;
			}
			if(validate == "ANA" && !isAlphaNum(veld)){
			  validField=false;
			  alert("In het veld '"+veld.name+"' staan tekens die niet worden geaccepteerd.");
			}
			if(validate == "N" && !isNum(veld)){
			  validField=false;
			}
			if(validate == "E" && !isEmail(veld)){
			  validField=false;
			}
			if(validate == "D" && !isDate(veld)){
			  validField=false;
			}
			if(validate == "T" && !isTelephone(veld)){
			  validField=false;
			}
			if(validate == "R" && !isRadiocheck(veld)){
			  validField=false;
			}
			if(validate == "CB" && !isCheckboxcheck(veld)){
			  validField=false;
			}
      }
      if(validate != null && validate != "R"){
		if(validField){
	  		veld.previousSibling.className = '';
		}else{
	 		 veld.previousSibling.className = 'formrequired';
		}
      }else{
		if(validField){
		  veld.parentNode.previousSibling.className = '';
		}else{
		  veld.parentNode.previousSibling.className = 'formrequired';
		}
      }
      if(!valid | (!validField && veld.getAttribute("required") != "no")){
		valid = false;
      }
    }
  }
  
  return valid;
}

//--------------- bij een enter geen submit doen -------------
function getKey(e) {
var k = (e.keyCode)?e.keyCode:e.which;
return k;
}

function noentersubmit(evt){
var e=evt?evt:(event?event:null);
if (getKey(e)==27) return false;
if ((getKey(e) == 13) && (e.srcElement.nodeName=="INPUT" || e.srcElement.nodeName=="SELECT" )) return false;
}
document.onkeypress = noentersubmit;
 

