﻿
var validatorClass = 'valactive';
var errorClass = 'error';
var holderClass = 'valholder';

window.scrollTo = function () { } // Poanta ovog je da prozor ne odskrola na vrh kod validacije

jQuery(document).ready(function () {

    jQuery('input, select, .form-submit').bind('click change', function () {

        CheckValidators('.' + validatorClass);
    });

    jQuery(window).scroll(function () {

        CheckValidators('.' + validatorClass);
    });
});

function SpecimenOK() {
    if (typeof (Page_ClientValidate) == 'function')
        Page_ClientValidate();

    if (!Page_IsValid)
        GoToSpecimen();

    return Page_IsValid;
}

function GoToSpecimen() {
    window.location.hash = "specimen";
    return false;
}

// SOURCE: http://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery
function ClearForm() {
    jQuery('.errorMessage', '#frmMain')
  .attr('style', 'color: Red; visibility: hidden;');

    jQuery(':input', '#frmMain')
 .not(':button, :submit, :reset, :hidden')
 .removeAttr('checked')
 .removeAttr('selected');

    // Modifikacija: na radiobuttonima ne smijem izbrisati value
    jQuery(':input', '#frmMain')
 .not(':button, :submit, :reset, :hidden, :radio')
 .val('');
}

function CheckValidators(valSelector) {

    jQuery(valSelector).each(function () {

        if (jQuery(this).css('visibility') == 'visible' && jQuery(this).is(":visible")) {

            GetMasterParent(this).addClass(errorClass);
        }
        else if (jQuery(this).siblings(valSelector).length > 0) {

            var removeClass = true;

            jQuery(this).siblings(valSelector).each(function () {

                if (jQuery(this).css('visibility') == 'visible' && jQuery(this).is(":visible")) {
                    removeClass = false;
                }
            });

            if (removeClass) {
                GetMasterParent(this).removeClass(errorClass);
            }
        }
        else {

            GetMasterParent(this).removeClass(errorClass);
        }
    });
}

function GetMasterParent(item) {

    return jQuery(jQuery(jQuery(jQuery(item).parent()).parent()));
}

function IsCheckBoxListValid(val, args) {

    var parentElement = jQuery(val).parent();
    args.IsValid = jQuery(parentElement).find("input:checked").length > 0;
}

function UpdateHiddenDate(hiddenFieldSelector, valueIndex, newValue) {

    var hiddenField = jQuery(hiddenFieldSelector);

    if (dateVal == '') {
        dateVal = '..';
    }

    var dateVal = hiddenField.val().split('.');
    var newDateVal = '';

    if (newValue == '0') {
        newValue = '';
    }

    for (var ii = 0; ii < 3; ii++) {

        if (ii != 0) {
            newDateVal += '.';
        }

        if (dateVal[ii] == undefined) {
            dateVal[ii] = '';
        }

        if (ii != valueIndex) {
            newDateVal += dateVal[ii];
        }
        else {
            newDateVal += newValue;
        }
    }

    if (newDateVal == '..') {
        newDateVal = '';
    }

    hiddenField.val(newDateVal);
}
