// Setup global default AJAX settings for requests
$.ajaxSetup({
    async: true,
    cache: false,
    contentType: "application/x-www-form-urlencoded",
    error: defaultAjaxError,
    type: "POST"
});
// Default error callback funciton for AJAX request
function defaultAjaxError(){
    alert("Data loading ERROR!");
}
// Default success callback funciton for AJAX request
function defaultAjaxSuccess(){
    alert("Success!");
}
// Show loading process
function showLoading(id,inc){
    if(!inc){
        $("#"+id).hide();
        $("#"+id).after("<img src='assets/js/jquery/images/ajax-loader.gif' id='loading'>");
    }else{
        $("#"+id).html("<img src='assets/js/jquery/images/ajax-loader.gif' id='loading'>");
    }
    
}
// Hide loading proccess
function hideLoading(id){
    $("#"+id).show();
    $("#loading").remove();
}
//Assign click event element
function assignClick(id,fn){
    $(document).ready(
        function(){
            $("#"+id).click(
                function(e){
                    e.preventDefault();
                    fn.call();
                }
            );
        }
    );
}
// Show error message
function showError(text,formId){
    hideError();
    var element = '<div id="errorMsg"><a name="top"></a>'+text+'</div>';
    $("#"+formId).before(element);
    location.href = '#top';
}
//Hide error message
function hideError(){
    $("#errorMsg").remove();
}
// Function to display error message and error tooltips for fields with errors
function showFieldsErrors(responce,formId){
    
    var msg = 'Invalid information submited. Please check highlighted information.';
    
    showError(msg,formId);
    jQuery.each(responce, function(i, val) {
        if(val.valid == "false"){
            $("#"+i).addClass("error");
            $("#"+i).css({border:"1px solid #FF0000"});
            $("#"+i).tooltip({
                delay: 0,
                bodyHandler: function(){
                    return val.msg;
                },
                id: 'tooltipError',
                fade: 200
            });
        }else{
            $("#"+i).removeClass("error");
            $("#"+i).css({border:"none"});
            $("#"+i).tooltip();
        }
    });
}