Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- jQuery(document).ready(function($) {
- // hide messages
- $("#error").hide();
- $("#success").hide();
- var errorColor = "#fec5c5";
- // USERNAME CHECK
- var usernameTimer;
- var doneTypingInterval = 1000;
- //on keyup, start the countdown
- $('input#username').keyup(function(){
- clearTimeout(usernameTimer);
- if ($('input#username').val) {
- usernameTimer = setTimeout(doneTypingUsername, doneTypingInterval);
- }
- });
- function doneTypingUsername () {
- if(!anyInput("username", 3, 20, "Korisničko ime", errorColor)){
- return false;
- }
- }
- // PASSWORD CHECK
- var passwordTimer;
- $('input#password').keyup(function(){
- clearTimeout(passwordTimer);
- if ($('input#password').val) {
- passwordTimer = setTimeout(doneTypingPassword, 500);
- }
- });
- function doneTypingPassword () {
- if(!passwordInput("password", "Šifra", errorColor)){
- return false;
- }
- }
- // NAME CHECK
- var nameTimer;
- $('input#name').keyup(function(){
- clearTimeout(nameTimer);
- if ($('input#name').val) {
- nameTimer = setTimeout(doneTypingName, doneTypingInterval);
- }
- });
- function doneTypingName () {
- if(!onlyTextInput("name", 3, 20, "Ime", errorColor)){
- return false;
- }
- }
- // SURNAME CHECK
- var surnameTimer;
- $('input#surname').keyup(function(){
- clearTimeout(surnameTimer);
- if ($('input#surname').val) {
- surnameTimer = setTimeout(doneTypingSurname, doneTypingInterval);
- }
- });
- function doneTypingSurname () {
- if(!onlyTextInput("surname", 3, 20, "Prezime", errorColor)){
- return false;
- }
- }
- // DATE CHECK
- var dateTimer;
- $('input#date').keyup(function(){
- clearTimeout(dateTimer);
- if ($('input#date').val) {
- dateTimer = setTimeout(doneTypingDate, 1000);
- }
- });
- function doneTypingDate () {
- if(!dateInput("date", "Datum rođenja", errorColor)){
- return false;
- }
- }
- // EMAIL CHECK
- var emailTimer;
- $('input#email').keyup(function(){
- clearTimeout(emailTimer);
- if ($('input#email').val) {
- emailTimer = setTimeout(doneTypingEmail, 1000);
- }
- });
- function doneTypingEmail () {
- if(!emailInput("email", "Email", errorColor)){
- return false;
- }
- }
- // on submit...
- $("#registerForm #submit").click(function() {
- $("#error").hide();
- var genders = ["Muski", "Zenski"];
- var error = 0;
- if(!anyInput("username", 3, 20, "Korisničko ime", errorColor)){
- error = 1;
- }
- if(!passwordInput("password", "Šifra", errorColor)){
- error = 1;
- }
- if(!checkPasswordMatch("password", "retypepassword", "Šifra", errorColor)){
- error = 1
- }
- if(!onlyTextInput("name", 3, 20, "Ime", errorColor)){
- error = 1;
- }
- if(!onlyTextInput("surname", 3, 20, "Prezime", errorColor)){
- error = 1;
- }
- if(!dateInput("date", "Datum rođenja", errorColor)){
- error = 1;
- }
- if(!selectInput("gender", "Pol", errorColor, genders)){
- error = 1;
- }
- if(!emailInput("email", "Email", errorColor)){
- error = 1;
- }
- if (error == 0)
- {
- var username = $("input#username").val();
- var password = $("input#password").val();
- var name = $("input#name").val();
- var surname = $("input#surname").val();
- var date = $("input#date").val();
- var gender = $("#gender").val();
- var email = $("input#email").val();
- var dataString = 'username='+ username
- + '&password=' + password
- + '&name=' + name
- + '&surname=' + surname
- + '&date=' + date
- + '&gender=' + gender
- + '&email=' + email;
- //$("#success").fadeIn();
- //$("#registerForm").fadeOut();
- $.ajax({
- type:"POST",
- url: "../utility/register_check.php",
- data: dataString,
- success: success()
- });
- }
- });
- function success(){
- $("#success").fadeIn();
- $("#registerForm").fadeOut();
- }
- return false;
- });
- function markErrorInField(fieldId, errorColor, errorMsg){
- document.getElementById(fieldId).setAttribute("title",errorMsg);
- $("input#" + fieldId).poshytip({
- className: 'tip-yellowsimple',
- showOn: 'focus',
- alignTo: 'target',
- alignX: 'right',
- alignY: 'center',
- offsetX: 5
- });
- $("input#" + fieldId).css("background", errorColor);
- return false;
- }
- function markNoErrorInField(fieldId, msg){
- document.getElementById(fieldId).setAttribute("title",msg);
- $("input#" + fieldId).poshytip({
- className: 'tip-yellowsimple',
- showOn: 'focus',
- alignTo: 'target',
- alignX: 'right',
- alignY: 'center',
- offsetX: 5
- });
- $("input#" + fieldId).css("background", "#d7f8cb");
- return true;
- }
- function markErrorInSelectField(fieldId, errorColor, errorMsg){
- document.getElementById(fieldId).setAttribute("title",errorMsg);
- $("#" + fieldId).poshytip({
- className: 'tip-yellowsimple',
- showOn: 'focus',
- alignTo: 'target',
- alignX: 'right',
- alignY: 'center',
- offsetX: 5
- });
- $("#" + fieldId).css("background", errorColor);
- return false;
- }
- function markNoErrorInSelectField(fieldId, msg){
- document.getElementById(fieldId).setAttribute("title", msg);
- $("#" + fieldId).poshytip({
- className: 'tip-yellowsimple',
- showOn: 'focus',
- alignTo: 'target',
- alignX: 'right',
- alignY: 'center',
- offsetX: 5
- });
- $("#" + fieldId).css("background", "#d7f8cb");
- return true;
- }
- function onlyTextInput(fieldId, minLenght, maxLength, fieldName, errorColor){
- var field = $("input#" + fieldId).val();
- if(field == ""){
- return markErrorInField(fieldId, errorColor, fieldName + " je obavezno.");
- }
- else if (field.length < minLenght){
- return markErrorInField(fieldId, errorColor, fieldName + " je prekratko.");
- }
- else if (field.length > maxLength){
- return markErrorInField(fieldId, errorColor, fieldName + " je predugo. Dozvoljeno je " + maxLength + " znakova.");
- }
- else {
- for (var i = 0; i < field.length; i++){
- if(!(field.charAt(i).toUpperCase() >= "A" && field.charAt(i).toUpperCase() <= "Z"))
- {
- return markErrorInField(fieldId, errorColor, fieldName + " sadrži znakove koji nisu slova.");
- }
- }
- return markNoErrorInField(fieldId, "Unesite " + fieldName.toString().toLowerCase());
- }
- }
- function anyInput(fieldId, minLenght, maxLength, fieldName, errorColor){
- var field = $("input#" + fieldId).val();
- if(field == ""){
- return markErrorInField(fieldId, errorColor, fieldName + " je obavezno.");
- }
- else if (field.length < minLenght){
- return markErrorInField(fieldId, errorColor, fieldName + " je prekratko.");
- }
- else if (field.length > maxLength){
- return markErrorInField(fieldId, errorColor, fieldName + " je predugo. Dozvoljeno je " + maxLength + " znakova.");
- }
- else
- return markNoErrorInField(fieldId, "Unesite " + fieldName.toString().toLowerCase());
- }
- function dateInput(fieldId, fieldName, errorColor){
- var field = $("input#" + fieldId).val();
- if(field == "")
- return markErrorInField(fieldId, errorColor, fieldName + " je obavezno.");
- var dateRegEx = /^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$/;
- if(!dateRegEx.test(field))
- return markErrorInField(fieldId, errorColor, "Datum mora biti u dd.mm.gggg formatu.");
- else
- return markNoErrorInField(fieldId, "Unesite " + fieldName.toString().toLowerCase() + " u dd.mm.gggg formatu.");
- }
- function emailInput(fieldId, fieldName, errorColor){
- var field = $("input#" + fieldId).val();
- if(field == "")
- return markErrorInField(fieldId, errorColor, fieldName + " je obavezno.");
- var emailRegEx = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
- if(!emailRegEx.test(field))
- return markErrorInField(fieldId, errorColor, "Unesena email adresa nije ispravna");
- else
- return markNoErrorInField(fieldId, "Unesite " + fieldName.toString().toLowerCase() + ".");
- }
- function passwordInput(fieldId, fieldName, errorColor){
- var field = $("input#" + fieldId).val();
- if(field == "")
- return markErrorInField(fieldId, errorColor, fieldName + " je obavezno.");
- else if(field.length < 6)
- return markErrorInField(fieldId, errorColor, "Šifra mora biti minimalno duga 6 znakova");
- else{
- var passwordStrength = 1;
- var numRegEx = /[0-9]/;
- var specRegEx = /[!."#$%&\/\[\]()=?*_-]/;
- var clRegex = /[A-Z]/;
- passwordStrength += numRegEx.test(field) + specRegEx.test(field) + clRegex.test(field);
- return markPasswordStrengthField(fieldId, passwordStrength);
- }
- }
- function markPasswordStrengthField(fieldId, passwordStrength){
- if (passwordStrength == 1)
- $("input#" + fieldId).css("background", "#fee0b4");
- else if (passwordStrength == 2)
- $("input#" + fieldId).css("background", "#fbfdb3");
- else if (passwordStrength == 3)
- $("input#" + fieldId).css("background", "#d7f8cb");
- else
- $("input#" + fieldId).css("background", "#83fa76");
- document.getElementById(fieldId).setAttribute("title","Sigurnost šifre: " + passwordStrength);
- $("input#" + fieldId).poshytip({
- className: 'tip-yellowsimple',
- showOn: 'focus',
- alignTo: 'target',
- alignX: 'right',
- alignY: 'center',
- offsetX: 5
- });
- return true;
- }
- function selectInput(fieldId, fieldName, errorColor, listOfValues){
- var field = $("#" + fieldId).val();
- if(field == "Odaberite" || field == "")
- return markErrorInSelectField(fieldId, errorColor, "Odaberite vrijednost za polje " + fieldName + ".");
- else {
- for (var i = 0; i < listOfValues.length; i++){
- if (field == listOfValues[i])
- return markNoErrorInSelectField(fieldId, "Odaberite " + fieldName.toString().toLowerCase() + ".");
- }
- return markErrorInSelectField(fieldId, errorColor, "Niste odabrali vrijednost.");
- }
- }
- function checkPasswordMatch(passFieldId1, passFieldId2, fieldName, errorColor){
- var field = $("input#" + passFieldId2).val();
- if(field == "")
- return markErrorInField(passFieldId2, errorColor, fieldName + " je obavezno.");
- var password1 = $("input#" + passFieldId1).val();
- var password2 = $("input#" + passFieldId2).val();
- if (password1 != password2){
- markErrorInField(passFieldId1, errorColor, "Šifre se ne poklapaju.");
- markErrorInField(passFieldId2, errorColor, "Šifre se ne poklapaju");
- return false;
- }
- else
- {
- markNoErrorInField(passFieldId1, "Unesite šifru.");
- markNoErrorInField(passFieldId2, "Unesite šifru.");
- return true;
- }
- }
Add Comment
Please, Sign In to add comment