// Suche
function check_search() {
 if(!document.getElementById('sf').search_a.value) {
  alert('Bitte geben Sie einen Suchbegriff ein!');
  document.getElementById('sf').search_a.focus();
  return false;
 }
 else if(document.getElementById('sf').search_a.value.length<4) {
  alert('Bitte geben Sie mindestens 4 Zeichen ein!');
  document.getElementById('sf').search_a.focus();
  return false;
 }
}

// javascript validation for cpFormClass
function basic_checks() {
 var arrForm = jsStr.split('###'); 
 var anz = arrForm.length;
 for(var i=0;i<anz;i++) {
  var item = arrForm[i].split('%%%');
  var label = item[0];
  var fieldtype = item[1];
  var options = item[2];
  var required = item[3];
  var validate = item[4];
  var validateType = item[5];
  var validateLimited = item[6];
  var validateMin = item[7];
  var validateMax = item[8];
  var validateAllowed = item[9];
  var validateForbidden = item[10];
  var validateSame = item[11];
  var validateFilledBoth = item[12];
  var validateNotFilled = item[13];
  var errorMessage = item[14];
  
  if(fieldtype=='radio') {
   var anzOptions = document.getElementsByName('cpField'+i).length;
   var field = '';
   for(var r=0;r<anzOptions;r++) {
	if(document.getElementById('cpRadio'+i+r).checked==true) {
	 var element = document.getElementById('cpRadio'+i+r);
	 field = element.value;
	}
   }
   if(field=='') {var element = document.getElementById('cpRadio'+i+0);}
  }
  
  else if(fieldtype=='checkbox') {
   var field = '';
   var element = document.getElementById('cpField'+i);
   var arrCB = options.split('@@');
   label = arrCB[0];
   if(document.getElementById('cpField'+i).checked==true) {
	field = element.value;
   }
  }

  else {
   var element = document.getElementById('cpField'+i);
   var field = element.value;
  }

  var fieldvalue = field.replace(/ /g,''); // trim

// leere Muss-Felder
  if(required==1 && fieldvalue=='') {
   alert(label+': '+jsEmpty);
   element.focus();
   return false;
  }
  else if(required==1 && fieldtype=='select' && fieldvalue=='---') {
   alert(label+': '+jsEmpty);
   element.focus();
   return false;
  }

  if(fieldvalue!='') {

   if(validateType!='') {
	switch(validateType) {
	 case 'int'		:	if(!fieldvalue.match('^[0-9]*$')) {alert(label+': '+jsInt); element.focus(); return false;}; break;
	 case 'float'	:	if(!fieldvalue.match('^[0-9\.]*$')) {alert(label+': '+jsFloat); element.focus(); return false;}; break;
	 case 'char'	:	if(fieldvalue.match('[0-9]')) {alert(label+': '+jsChar); element.focus(); return false;}; break;
	 case 'mail'	:	if(fieldvalue.indexOf('@')==-1 || fieldvalue.indexOf('.')==-1 || fieldvalue.length<8) {alert(label+': '+jsMail); element.focus(); return false;}; break;
	}
   }

   if(validateLimited!='') {
	var numbers = validateLimited.split('-');
	if(fieldvalue<numbers[0] || fieldvalue>numbers[1]) {
	 alert(label+': '+jsLimited+numbers[0]+'-'+numbers[1]+'.');
	 element.focus();
	 return false;
	}
   }

   if(validateMin!='') {
	min = parseFloat(validateMin);
	if(fieldvalue.length<min) {
	 alert(label+': '+jsMin+min+'.');
	 element.focus();
	 return false;
	}
   }

   if(validateMax!='') {
	max = parseFloat(validateMax);
	if(fieldvalue.length>max) {
	 alert(label+': '+jsMax+max+'.');
	 element.focus();
	 return false;
	}
   }

/*   if(validateAllowed!='' && !fieldvalue.match(validateAllowed)) {
	alert(label+': '+errorMessage);
	element.focus();
	return false;
   }

   if(validateForbidden!='' && fieldvalue.match(validateForbidden)) {
	alert(label+': '+errorMessage);
	element.focus();
	return false;
   }
*/   
   if(validateSame!='' && fieldvalue != document.getElementById('cpField'+validateSame).value) {
	alert(label+': '+errorMessage);
	element.focus();
	return false;
   }
   
   if(validateFilledBoth!='' && document.getElementById('cpField'+validateFilledBoth).value=='') {
	alert(label+': '+errorMessage);
	element.focus();
	return false;
   }
   
  }
  if(validateNotFilled!='' && fieldvalue=='' && document.getElementById('cpField'+validateNotFilled).value=='') {
   alert(label+': '+errorMessage);
   element.focus();
   return false;
  }

 }
 return true;
}