$(document).ready(function () {
    bindEvent();
    $('.form_global').find('.form_input').children().next().fadeOut(0);
});

var arr_Form_Input = new Array();


function bindEvent() {

    $('.form_global').find('.form_input').children().keyup(function () {
        if ($(this).hasClass('input-validation-valid') && $(this).next().find('div').html() == '') {
            hideErrorToolTip($(this).next());
        }
    });
    
    $('.form_global').find('.form_input').children().mouseenter(function () {
        if ($(this).attr('class') == 'input-validation-error') {
            displayErrorToolTip($(this).next());
        }
    });

    $('.form_global').find('.form_input').children().mouseleave(function () {
        if ($(this).attr('class') == 'input-validation-error') {
            hideErrorToolTip($(this).next());
        }
    });

    $('.form_global').find('.form_input').children().focus(function () {
        if ($(this).attr('class') == 'input-validation-error') {
            $(this).addClass('error-displayed');
            displayErrorToolTip($(this).next());
        }
    });

    $('.form_global').find('.form_input').children().blur(function () {
        if ($(this).attr('class') == 'input-validation-error error-displayed' || $(this).hasClass('input-validation-valid')) {
            $(this).removeClass('error-displayed');
            hideErrorToolTip($(this).next());
        }
    });
}

function displayErrorToolTip(formElement) {
    var inputWitdh = formElement.prev().outerWidth();
    var tooltipWidth = formElement.outerWidth();
    var toolTipLeft = 0;

    if (inputWitdh >= tooltipWidth) {
        toolTipLeft = (inputWitdh - tooltipWidth) / 2;
    } else {
        toolTipLeft = (-(inputWitdh) + ((tooltipWidth / 2) - inputWitdh));
    }

    formElement.css({
        'visibility': 'visible',
        'top': -formElement.outerHeight(),
        'left': toolTipLeft
    });
    $(formElement).stop(true,true).fadeIn(135);
}

function hideErrorToolTip(formElement) {
    $(formElement).stop(true,true).fadeOut(135);
}

