/*****************************************************************************************************
* Easy Javascript Validation by Daniel Boorn
* Copyright 2006, All Rights reserved by Daniel Boorn
* Contact: daniel.boorn@gmail.com - wwww.dboorn.com
* In any form element add the following form attributes to validate
* required ="yes"
* validate = { "int", "float", "text", "email" }
* message = "Error Message for Element"
* Example: <input type="text" validate="int" message="Please enter valid zip code" name="zip">
*
* It is required that you add the following to any submit button
*     onClick="validate(this.form);
******************************************************************************************************/


             function validate(form){


                var error = false;
                //for each form element
                for(var i=0; i<form.length; i++){
                        var element = form[i];
                        //if form field not required

                        if(!element.disabled){
                                //if required
                                if(element.getAttribute("required") == "yes"){
                                        //if form element if empty

                                        if(!valid(element.value,element.getAttribute("validate"),element)){
                                                error = true;
                                                break;

                                        }
                                }
                                else if(element.getAttribute("validate") != ""){
                                        //if validation is need by not required
                                        if(element.value != ""){
                                                if(!valid(element.value,element.getAttribute("validate"),element)){
                                                        error = true;
                                                        break;
                                                }

                                        }
                                }
                        }

                }

                //Alert Error
                if(error){
                         element.focus();
                         alert('Bitte alle Felder korrekt ausfuellen!');
						 return false;
                }
                else{
                         form.submit();
                }


        }


function komma2punkt(s)
{
  var
    stelle;
  stelle = s.indexOf(',');
  while (stelle > -1)
  {
    s = s.substring(0,stelle)+'.'+s.substring(stelle+1,s.length);
    stelle = s.indexOf(',');
  };
  return s;
}



        function valid(value,type,element){
                if(value == "")
                        return false;

                switch(type){
                        case "weight":
		value = value.replace(/,/, ".");
                                if(isNaN(value) || value < 30 || value > 300)
                                        return false;
                                break;
                        case "size":
		value = value.replace(/,/, ".");
                                if(isNaN(value) || value < 0.80 || value > 2.30)
                                        return false;
                                break;
                        case "fluessigkeiten":
		value = value.replace(/,/, ".");
                                if(isNaN(value) || value > 7)
                                        return false;
                                break;


                        case "int":
		value = value.replace(/,/, ".");
                                if(isNaN(value))
                                        return false;
                                break;
                        case "float":
		value = value.replace(/,/, ".");
                                if(isNaN(value))
                                        return false;
                                break;
                        case "email":
                                var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                                if (!filter.test(value))
                                        return false;
                                break;
                        case "date(YYYY-MM-DD)":
                                var filter  = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;
                                if (!filter.test(value))
                                        return false;
                                break;
                        case "checked":
                                if(!element.checked)
                                        return false;
                                break;
                        case "phone":// 555-555-5555
                                var filter  = /^[2-9]\d{2}-\d{3}-\d{4}$/;
                                if (!filter.test(value))
                                        return false;
                                break;
                        case "creditcard": // 4444-4444-4444-4444
                                var filter  = /^(\d{4}[- ]){3}\d{4}|\d{16}$/;
                                if (!filter.test(value))
                                        return false;
                                break;
                        case "expdate": // MM/YY
                                var filter  = /^((0[1-9])|(1[0-2]))\/(\d{2})$/;
                                if (!filter.test(value))
                                        return false;
                                break;

                        default://string
                                break;
                }
                return true;
        }

    function check_length(maxchars,message,div_id)
    {
            var len = message.value.length;

        if(len > maxchars){
                message.value = message.value.substr(0,maxchars);
                len = maxchars;
        }

        document.getElementById(div_id).innerHTML = maxchars - len;
    }

    function validate_field(field)
    {
                 var error = false;

                         var element = field;
                        //if form field not required
                        if(!element.disabled){
                                //if required
                                if(element.getAttribute("required") == "yes"){
                                        //if form element if empty
                                        if(!valid(element.value,element.getAttribute("validate"),element)){
                                                error = true;
                                        }
                                }
                                else if(element.getAttribute("validate") != ""){
                                        //if validation is need by not required
                                        if(element.value != ""){
                                                if(!valid(element.value,element.getAttribute("validate"),element))
                                                        error = true;
                                        }
                                }
                        }

	
                 var msg = document.getElementById('msg_'+field.getAttribute("id"));
                 if(error) {
                         msg.innerHTML = '<img src="../img/form_error.png" />';
                 } else {
                         msg.innerHTML = '<img src="../img/form_ok.png" />';
                 }
    }
