var pageForms = new Array();
var clearedTA= new Array();

function clearSpace(el){
  if(!clearedTA[el.id]){
    clearedTA[clearedTA.length] = el.id;
    clearedTA[el.id] = true; 
    el.value=''; 
  }  
}

function validateForm(strId) {
  for(var i=0;i<pageForms.length;i++) {
    
    if(pageForms[i] != null && pageForms[i].id == strId){

      fc = pageForms[i];
      if(fc.checkConstraints() == 0) {
        if(document.forms[fc.id].returnTo)
          document.forms[fc.id].returnTo.value = document.location.href;       
          document.forms[fc.id].submit();
      }
      return false;  
      break;      
    }
  }
  
}

function formConstraints(formId) {
	 this.id = formId;
  this.constraints = new Array();		

	 this.addConstraint = function (fld,type,msg) {
  this.constraints[this.constraints.length] = new fieldValidation(fld, type, msg);	
	}		
	this.checkConstraints = function() {
		var cFail= 0;		 
	  for(var ii=0;ii<this.constraints.length;ii++) {
	    switch (this.constraints[ii].type) {
	      case 'req': { 
	        if(IsEmpty(this.id, this.constraints[ii].name)){
	          alert(this.constraints[ii].msg);
	          SetFocus(this.constraints[ii].name);
	          return ++cFail;
	        }else break;
	      }
	    }  
	  }
	  return cFail;
	}
}

function fieldValidation(name,type,msg) {
  this.name = name;
  this.type = type;
  this.msg = msg;
}

function IsEmpty(frmId,fld){
	var formEl = document.forms[frmId].elements[fld];
	var domEl = document.getElementById(fld);
 
  var test=document.getElementById('geslacht');
 
	switch(domEl.type) {
	  case 'text': {
	    if(domEl.value != '') 
	      return false;
	    break;  
	  }
	  case 'radio': {
	  	for(j=0;j<formEl.length;j++) {
	  	  if(formEl[j].checked)
	  	    return false;
	  	}
	  	break;
	  }
	  case 'checkbox': {
  	  if(formEl.checked)
  	    return false;
  	  break;
	  }
	  case 'select-one': {
	    if(formEl.options[formEl.selectedIndex].value != '')
	    { 
	      return false;
	    }
	    break;  
	  }
	  case 'textarea': {
	  	if(domEl.innerText != ' ' && domEl.innerText != '')  
	  	  return false;
	    break;  
	  }
	}
	return true;
}

function SetFocus(fieldName) {
  document.getElementById(fieldName).focus();
}

function change_visibility(id,id2,visible)
{ 
	 if(visible == 'visible' )
  {
		  document.getElementById(id).style.display = 'none';
		  document.getElementById(id2).style.display = '';
  }
	 if(visible == 'invisible' )
  {
		  document.getElementById(id2).style.display = 'none';
		  document.getElementById(id).style.display = '';
  }
  
}

function onselect_search_in(value, formObj){
if (value.length == 0){
    formObj.period.disabled = false;
    if (formObj.period.checked){
    formObj.from.disabled = false;
    formObj.to.disabled = false;
    }
}
else{
    formObj.period.disabled = true;
    formObj.period.checked = false;
    formObj.from.disabled = true;
    formObj.from.value= "dd-mm-jjjj";
    formObj.to.disabled = true;
    formObj.to.value= "dd-mm-jjjj";
    }
}

function oncheckbox_search_in(blnChecked, formObj){
    if(blnChecked){
        //formObj.type.disabled = true;
        //formObj.type[0].selected = true; 
        formObj.from.disabled = false;
        formObj.from.value = '';
        formObj.to.disabled = false;
        formObj.to.value = '';
    }
    else{
        formObj.from.disabled = true;
        formObj.from.value= "dd-mm-jjjj";
        formObj.to.disabled = true;
        formObj.to.value= "dd-mm-jjjj"; 
        //formObj.type.disabled = false;
        //formObj.type[0].selected = true; 
    }
}

function checkdateformat(inputObj){
    var strOut;
    
    if (inputObj.value.length == 0){
        return false;
    }
    var reg0 = /(0[1-9]|[12][0-9]|3[01]|[1-9])([- \/.])(0[1-9]|1[012]|[1-9])([- \/.])(19|20\d\d)/;
    var reg1 = /(0[1-9]|[12][0-9]|3[01]|[1-9])([- \/.])(0[1-9]|1[012]|[1-9])([- \/.])(\d\d)/;
   
    var ar0 = reg0.exec(inputObj.value);
    var ar1 = reg1.exec(inputObj.value);
   
    if( (ar0 && ar0[0] == inputObj.value ) || (ar1 && ar1[0] == inputObj.value  ) ){
       if(ar0 && ar0[0] == inputObj.value ){
          if (ar0[1].length==1){ar0[1] = "0"+ar0[1];}
          if (ar0[3].length==1){ar0[3] = "0"+ar0[3];}
          //if (ar0[5].length==2){ar0[5] = "20"+ar0[5];}
          strOut = ar0[1]+"-"+ar0[3]+"-"+ar0[5] ;
          
          inputObj.value = strOut;
          return true;
       }
       if(ar1 && ar1[0] == inputObj.value){
          
          if (ar1[1].length==1){ar1[1] = "0"+ar1[1];}
          if (ar1[3].length==1){ar1[3] = "0"+ar1[3];}
          if (ar1[5].length==2){ar1[5] = "20"+ar1[5];}
          strOut = ar1[1]+"-"+ar1[3]+"-"+ar1[5] ;
         
          inputObj.value = strOut;
          return true;
       }
    }
    else if (inputObj.value == ''){
        //Do nothing
        return true;
    }
    else{
    return false;
    }
    
   
}
/*
function replaceChars(strValue)
{
var tmp = strValue;
var strReplace = ['.','/',' '] ; 
for (j=0;j<strReplace.length;j++){
    var i = tmp.indexOf(strReplace[j]);
    while(i > -1)
    { 
    tmp = tmp.replace(strReplace[j], '-'); 
    i = tmp.indexOf(strReplace[j]);
    }
}
return tmp;
}
*/

function checkFormFields(formObj){
    if(formObj.innerkeyword.value.length == 0){
        alert('Search term is empty.');
        return false;
    }
    if(formObj.period.checked){
        var reg0 = /(0[1-9]|[12][0-9]|3[01]|[1-9])[- \/.](0[1-9]|1[012]|[1-9])[- \/.](19|20)\d\d/;
        var arg_from = reg0.exec(formObj.from.value);
        var arg_to = reg0.exec(formObj.to.value);
        if (arg_from == null){
            alert('The "period from" is not a valid date.');
            return false;
        }
        if (arg_from && arg_from[0] != formObj.from.value ){
            alert('The "period from" is not a valid date.');
            return false;
        }
        if (arg_to == null){
            alert('The "period to" is not a valid date.');
            return false;
        }
        if (arg_to && arg_to[0] != formObj.to.value ){
            alert('The "period to" is not a valid date.');
            return false;
        }
        
    }
    return true;
}


