var validationRules = [ ['validate-ascii', 'Wpisz zachodnie alfabetyczne znaki', function(v) { return isascii(v); }], ['validate-required', 'To pole jest obowiązkowe', function(v) { v = v.replace(/^\s+|\s+$/g, ''); return !(v == ''); }], ['validate-email', 'Wpisz aktualny adres e-mail, np. jan@domena.com', function (v) { // return (v == '') || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v) return (v == '') || /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v) }], ['validate-phone', 'Tylko cyfry, proszę', function (v) { return (v == '') || /^[\s()+-]*([0-9][\s()+-]*){6,20}$/.test(v) }], ['validate-ts-phone', 'Tylko cyfry, proszę', function (v) { return (v == '') || /^((\\(\\+[0-9 ]{2,5}\\))|(\\+[0-9 ]{2,5}))?[\\.\\-\\s]?(\\([0-9]{1,}\\))?[\\.\\-\\s]?([0-9]|[0-9]{2})[\\.\\-\\s]?[0-9]{1,}[\\.\\-\\s]?[0-9]{1,}[\\.\\-\\s]?[0-9]{1,}[\\.\\-\\s]?[0-9]{1,}[\\.\\-\\s]?[0-9\\.\\-\\040]+/.test(v) }], ['validate-nosameemail', 'Emaile muszą być inne', function (v) { return $("#emailPub").html().replace(/^\s+|\s+$/g, '') != $("#emailgodson").val(); }], ['validate-selection', 'Wybierz jedną z opcji', function(v,elm){ return elm.options ? elm.selectedIndex > 0 : !(v == ''); }], ['validate-one-required', 'Wybierz jedną z opcji', function (v,elm) { var p = elm.parentNode; var options = p.getElementsByTagName('option'); return $A(options).any(function(elm) { return $F(elm); }); }], ['validate-cb-required', 'Brak akceptacji', function(v,elm) { return $(elm).is(':checked'); }], ['validate-resume-required', 'Brak CV', function(v,elm) { return !($("#resumetext").val() == "" && $("#resumefile").val() == ""); }], ['validate-letter-required', 'Brak listu motywacyjnego', function(v,elm) { return !($("#lettertext").val() == "" && $("#letterfile").val() == ""); }], ['validate-resumefilename-required', 'Brak CV', function(v,elm) { return $('[name*="resumefilename"]').val()!=''; }], ['validate-letterfilename-required', 'Brak listu motywacyjnego', function(v,elm) { return $('[name*="letterfilename"]').val()!='' || $('[name*="lettertext"]').val().trim()!=''; }], ['validate-country', 'Kraj wpisany jest nieznany.', function(v,elm) { var text = $(elm).val(); var id = $('#id_' + $(elm).attr('id')).val(); if( countries ){ var items = countries.items; if ($.isArray(items)) { for (var i = 0; i < items.length; i++) { if ( id == items[i].id ) return true; } for (var i = 0; i < items.length; i++) { if ( text.toLowerCase() == items[i].title.toLowerCase() ){ $('#id_' + $(elm).attr('id')).val(items[i].id); return true; } } } } return false; }], ['validate-number', 'Wpisz aktualny numer w tym polu', function(v) { return (v == '') || (!isNaN(v) && !/^\s+$/.test(v)); }], ['validate-from', 'Niewłaściwy format roku (np. 2008)', function(v) { if((v == '')) return true; var regex = /^(\d{4})$/; if(!regex.test(v)) return false; var year = new Date().getFullYear(); return (v <= year) && ( ($('[name*="to"]').val() == '') || v <= $('[name*="to"]').val() ) ; }], ['validate-to', 'Niewłaściwy format roku (np. 2008)', function(v) { if((v == '')) return true; var regex = /^(\d{4})$/; if(!regex.test(v)) return false; var year = new Date().getFullYear(); return (v <= year) && (v >= $('[name*="from"]').val()) ; }], ['validate-ext', 'Przykro nam, rozszerzenie musi być : doc, pdf, rtf, docx', function(v) { if (v == '') return true; var ind = v.lastIndexOf( "." ) ; if ( ind == -1 || ind == v.length - 1 ) return false ; var ext = v.substring( ind + 1 ) ; return (ext == 'doc' || ext == 'docx' || ext == 'pdf' || ext == 'rtf' ); }], ['validate-maxLength255', 'To pole ma limitowaną liczbę znaków (255 znaków)', function(v) { return (v.length <= 255); }], ['validate-check-required', 'To pole jest obowiązkowe', function(v,elm) { return $(elm).is(':checked'); }], ['validate-select-required', 'To pole jest obowiązkowe', function(v,elm) { return $(elm).val(); }], ['validate-checkbox-required', 'To pole jest obowiązkowe', function(v,elm) { $elm = $(elm); $fe = $elm.closest(".form-element"); $first = $fe.find("input:checkbox").first(); return ( ( $elm.attr("id") !== $first.attr("id") || $fe.find(":checked").length > 0) ); }], ['validate-radio-required', 'To pole jest obowiązkowe', function(v,elm) { $elm = $(elm); $fe = $elm.closest(".form-element"); $first = $fe.find("input:radio").first(); return ( ( $elm.attr("id") !== $first.attr("id") || $fe.find(":checked").length > 0) ); }], ['one-checkbox-required', 'To pole jest obowiązkowe', function(v,elm) { $elm = $(elm); $container = $elm.closest('.form-container'); console.log("one: " + $container.html()); return ( $container.find(":checked").length > 0) ; }], ];