function walidate_field(check_value, form_name, element_to_check, element_to_class_it, class_if_true, class_if_false, class_if_no_matter) {
    var element_value = '';
    var element_class = '';
    element_value = document.getElementById(form_name).elements[element_to_check].value;
    element_class = document.getElementById(form_name).elements[element_to_check].className;
    if (((element_value == '') && (element_class == '' || element_class == 'normal')) || (element_class == 'banned')) {
        document.getElementById(element_to_class_it).className = class_if_no_matter;
    } else {
        if (check_value == true) {
            document.getElementById(element_to_class_it).className = class_if_true;
        } else {
            document.getElementById(element_to_class_it).className = class_if_false;
        }
    }
}
function needed_field(form_name, fields_needed, class_needed_name, class_not_needed_name) {
    var f = 0;
    var i = 0;
    var l = 0;
    var legal_form_demand = '';
    var found_element = false;

    var formObject = document.getElementById(form_name);
    for (f = 0; f < formObject.elements.length; f++) {

        var classThis = formObject.elements[f].className;
        var positionSTB = classThis.search(class_needed_name);
        if (positionSTB > -1) {
            formObject.elements[f].className = classThis.replace(class_needed_name, class_not_needed_name);
        }
    }

    for (l = 0; l < fields_needed.length; l++) {
        field_detail = fields_needed[l].split( "|" );
        field_name = field_detail[0];

        found_element = false;
        f = 0;
        while ((f < formObject.elements.length) && (found_element == false)) {
            if (formObject.elements[f].name == field_name) {
                var classThis = formObject.elements[f].className;
                var positionSTB = classThis.search(class_not_needed_name);
                if (positionSTB > -1) {
                    formObject.elements[f].className = classThis.replace(class_not_needed_name, class_needed_name);
                } else {
                    if (classThis != '') {
                        formObject.elements[f].className = classThis+' '+class_needed_name;
                    } else {
                        formObject.elements[f].className = class_needed_name;
                    }
                }
                found_element = true;
            }
            f++;
        }
    }
}
function needed_signs(field_id, field_length, check_if_empty, information_text) {

	var field_value = document.getElementById(field_id).value;

	if ((field_value.length < field_length) || ((field_value.length == 0) && check_if_empty)) {
		alert(information_text);
		document.getElementById(field_id).focus();
		return false;
	} else {
		return true;
	}
}
function number_format(form_name, field_name, minimum_value) {
    var field_value = '';
    var field_numbers = '';
    var i = 0;

    field_value = document.getElementById(form_name).elements[field_name].value;

    if (field_value.length > 0) {

        for (i=0; i<field_value.length; i++) {
            nr_ascii = field_value.charCodeAt(i);
            if ((nr_ascii>=48) && (nr_ascii<=57)) {
                field_numbers = field_numbers + field_value[i];
            }
        }

        if (field_numbers < minimum_value) {
            field_numbers = minimum_value;
        }
        document.getElementById(form_name).elements[field_name].value = field_numbers;
    }
}
function days_in_month(month, year) {
    switch(parseInt(month,10)) {
        case 2:
            if ((year%100)==0)
                if ((year%400)==0)
                    return 29;
                else
                    return 28;
            else if((year%4)==0)
                    return 29;
            else
                return 28;
            break;
        case 4:
            return 30
            break;
        case 6:
            return 30
            break;
        case 9:
            return 30
            break;
        case 11:
            return 30
            break;
        default:
            return 31;
            break;
    }
}
function date_format(form_name, field_name) {
    var field_value = '';
    var field_numbers = '';
    var formatted_value = '';
    var part = '';
    var i = 0;
    var l = 0;
    field_value = document.getElementById(form_name).elements[field_name].value;

    for (i=0; i<field_value.length; i++) {
        nr_ascii = field_value.charCodeAt(i);
        if ((nr_ascii>=48) && (nr_ascii<=57)) {
            field_numbers = field_numbers + field_value[i];
        }
    }

    l = field_numbers.length;
    if (l > 8) {
        l = 8;
    }

    var d = new Date();
    var the_year = d.getFullYear();
    var the_month = 1;
    var days_month = 31;

    part = '';
    for (i=0; i < l; i++) {
        part = part + field_numbers[i];
        switch (i) {
            case 3: {
                if (parseInt(part) < 1900) {
                    part = '1900';
                } else {
                    if (parseInt(part) > the_year + 10) {
                        part = the_year + 10;
                    }
                }
                formatted_value = formatted_value + part;
                if (i<l-1) {
                    formatted_value = formatted_value + '-';
                }
                the_year = part;
                part = '';
                break;
            }
            case 5: {
                if (parseInt(part) < 1) {
                    part = '01';
                } else {
                    if (parseInt(part) > 12) {
                        part = 12;
                    }
                }
                formatted_value = formatted_value + part;
                if (i<l-1) {
                    formatted_value = formatted_value + '-';
                }
                the_month = part;
                part = '';
                break;
            }
            case 7: {
                if (parseInt(part) < 1) {
                    part = '01';
                } else {
                    days_month = days_in_month(the_month, the_year);
                    if (parseInt(part) > days_month) {
                        part = days_month;
                    }
                }
                formatted_value = formatted_value + part;
                part = '';
                break;
            }
        }
    }
    if (part != '') {
        formatted_value = formatted_value + part;
    }

    document.getElementById(form_name).elements[field_name].value = formatted_value;
}
function contact_form_validation(){
   var ok = true;
   var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
   var imie = $('#kontakt_imie').val();
   var naz = $('#kontakt_nazwisko').val();
   var email = $('#kontakt_email').val();
   var tresc = $('#kontakt_tresc').val();

   if( (imie == '') || (naz == '') || (filter.test(email) == false ) || (tresc == '') ){
       ok = false;
   }

   if(ok == true){
     xajax_DDXAjaxControl.call('contact','send_email',xajax.getFormValues('contact_form'));
   }else{
       $('#kontakt_info').html('<span style="color:red;">Formularz niepoprawnie wypełniony!</span>');

   }
   return false;
}
