// JavaScript Document
function validate (value)
{
	value = ( value==undefined || value=='undefined' || value==null ) ? '' : value;
	//
	var msgBox = $('#boxHinweis');
	var items;
	var temp;
	var tp;
	var is_valid = true;
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	items = value!='' ? value.split(',') : new Array();
	//
	msgBox.removeClass('failure');
	msgBox.removeClass('success');
	msgBox.empty();
	//
	var arr=new Array();
	for(k=0;k<items.length;k++){
		temp=items[k].split('|');
		arr.push('jq-'+temp[0]);
	}
	removeClasses(arr, 'required');
	//
	for(i=0;i<items.length;i++){
		temp=items[i].split('|');
		var t=$('#jq-'+temp[0].replace(" ", ""));
		var t_valid = true;
		switch (temp[1]) {
			case "email":
						tp = (!isNaN(temp[2])) ? t.attr('value').length>=temp[2] : t.attr('value').length>=2;
						if( !tp || !regex.test("" + t.attr('value')) ){ t_valid=false; }
					break;
			
			case "int":
						tp = (!isNaN(temp[2])) ? t.attr('value').length>=temp[2] : t.attr('value').length>=2;
						if( !tp || isNaN(t.attr('value'))){ t_valid=false; }
					break;
			default:
						tp = (!isNaN(temp[2])) ? t.attr('value').length>=temp[2] : t.attr('value').length>=2;
						if( !tp ){ t_valid=false; }
					break;
		};
		if( !t_valid  ){
			t.addClass('required');
			is_valid=false;
		}
	}
	//
	if( !is_valid ){
		msgBox.addClass('failure');
		msgBox.append('Bitte füllen Sie die benötigen Felder vollständig aus.');
	}
	//
	return is_valid;
}

function removeClasses (p_array, p_classes)
{
	for( var i in p_array ){ $('#'+p_array[i]).removeClass(p_classes); }
}
