/* Formfelder-validierer
 *
 */
 
cc = {}
 
cc.formValidator = {
	isText : function(v){
		if(v != ""){
			return true;
		}else{
			return false;	
		}
	},
	
	isNumber : function(v){
		if(v+""!="0"){
			v=v.replace("0","");	
			if(v*1+"" == v+""){
				return true;
			}else{
				return false;
			}
		}else{
			return true;
		}
	},
	
	isEmail : function(v) {
		if(v.search("@") >0 && v.split("@")[1].split(".").length > 1){
			return true;
		}else{
			return false;
		}
	},
	
	isDate : function(v) {
		av = v.split(".");
		if(av.length == 3){
			if(this.isNumber(av[0])&&this.isNumber(av[1])&&this.isNumber(av[2])){
				//Monat Testen	
				
				if(av[1].substr(0,1)=="0"){
					av[1] = av[1].replace("0","");
				}
				if(av[0].substr(0,1)=="0"){
					av[0] = av[0].replace("0","");
				}
				
				if(av[1]<=12 && av[1] >= 1){
					
					if(av[1] == 1 ||
					   av[1] == 3 ||
					   av[1] == 5 ||
					   av[1] == 7 ||
					   av[1] == 8 ||
					   av[1] == 10 ||
					   av[1] == 12 ){
						// 31 Tage
						
						if(av[0]<=31 && av[0] >= 1){
							return true;
						}
						
					}else if(av[1] == 4 ||
							 av[1] == 6 ||
							 av[1] == 9 ||
							 av[1] == 11 ){
						//30 Tage
						if(av[0]<=30 && av[0] >= 1){
							return true;
						}
						
					}else if(av[1] == 2){
						//28/29 Tage
						if(av[2]%4==0 && !(av[2]%100==0 && av[2]%400!=0)){	
							if(av[0]<=29 && av[0] >= 1){
								return true;
							}
						}else{
							if(av[0]<=28 && av[0] >= 1){
								return true;
							}
						}
					}
				}
			}
		}
		return false;
	},
	
	isValid : function(vForm){
		ret = true;
		for(i=vForm.elements.length-1;i>=0;i--){
			if(vForm.elements[i].getAttribute("needed") != null){
				if(!eval("this.is"+vForm.elements[i].getAttribute("needed")+"('"+escape(vForm.elements[i].value)+"')")){
					ret = false;
					vForm.elements[i].focus();
					vForm.elements[i].className += " fieldError";
				}else{
					vForm.elements[i].className = vForm.elements[i].className.replace(/fieldError/g,'');
					vForm.elements[i].removeAttribute("className");
				}
			}
		}
		return ret;
	},
	
	validAndSubmit : function(vForm){
		if(this.isValid(vForm)){
			vForm.submit();
		};	
	}
	
}