

// Dialog
$('#dialog').dialog({
    autoOpen: false,
    width: 600,
    buttons: {
        "Ok": function() {
            $(this).dialog("close");
        },
        "Cancel": function() {
            $(this).dialog("close");
        }
    }
});


// Dialog Link
$('#dialog_link').click(function(){
    $('#dialog').dialog('open');
    return false;
});



function getElement(name) {
    if (document.all) {
        return document.all[name];
    } else {
        return document.getElementById(name);
    }
}

function checkRegisterForm() {

    return checkForm([
        1, false , '1', 'username', false,
        5, false , '2', 'password1', false,
        5, false , '3', 'password2', 'password1',
        1, false , '4', 'name', false,
        5, 'email' , '5', 'email', false,
        ]);

}


function checkIntegrity( min_size , regular , code ,object ,equals) {

    var obj = getElement(object);
    var err = getElement("e"+code);
    var cor = getElement("c"+code);
    var hla = getElement("h"+code);
    var pattern;

    switch (regular) {
        case ('email'):
            pattern=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            break;

        case ('ico'):
            pattern=/^([0-9]{8,10})+$/;
            break;

        case ('psc'):
            pattern=/^([0-9]{5})+$/;
            break;

        default:
            break;
    }


    if (obj.value.length > min_size) {
        // If equals is set
        if (equals) {
            equ = getElement(equals);
            if (obj.value == equ.value) {
                err.style.display = "none";
                cor.style.display = "table-cell";
                hla.style.visibility = "hidden";
                return true;
            } else {
                cor.style.display = "none";
            }
        } else if (regular) {
            if (pattern.test(obj.value)) {
                err.style.display = "none";
                cor.style.display = "table-cell";
                hla.style.visibility = "hidden";
                return true;
            } else {
                cor.style.display = "none";
            }
        } else {
            err.style.display = "none";
            cor.style.display = "table-cell";
            hla.style.visibility = "hidden";
            return true;
        }
    } else {
        cor.style.display = "none";
        return false;
    }
    return false;
}

function checkForm(field) {
    var i = 0;
    var is_correct = true;


    while ( 666 ) {
        min_size = field[i++];
        regular = field[i++];
        code = field[i++];
        object  = field[i++];
        equals = field[i++];

        if (!checkIntegrity(min_size, regular, code, object, equals)) {
            is_correct = false;
            err = getElement("e"+code);
            cor = getElement("c"+code);
            hla = getElement("h"+code);

            err.style.display = "table-cell";
            cor.style.display = "none";
            hla.style.visibility = "visible";

        }

        if (field.length <= i) break;
    }

    return is_correct;
}

