﻿try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {};
function fastScrollTo(target){var distance = $(target).offset().top - $(document).scrollTop();var time = (Math.round(distance/200))*100;$('html,body').animate({scrollTop: $(target).offset().top}, time);}
function ajaxAlert(msg, sucess) {var _class = sucess===undefined?("alert"):(sucess?"sucess":"error");$('#interfaceAlert').jqmShow().removeClass("alert").removeClass("sucess").removeClass("error").addClass(_class).find('span.msg').html(msg);$("#btnAlertOk").focus();}
function ajaxAlertError(msg){ajaxAlert(msg,false);}
function ajaxAlertSucess(msg){ajaxAlert(msg,true);}
function ajaxConfirm(msg,funcao,funcaoCancel){funcaoCancel===undefined?funcaoCancel=new Function():funcaoCancel=funcaoCancel;$('#interfaceConfirm').jqmShow().find('#spanConfirm').html(msg).end().find('#btnConfirm').focus().unbind("click").click(function(){$('#interfaceConfirm').jqmHide();funcao.call(this.constructor);});$("#btnConfirmCancelar").unbind("click").click(function(){$('#interfaceConfirm').jqmHide();funcaoCancel.call(this.constructor);});}
function ajaxRequest(msg,funcao){$(".requestInput:first").focus();$('#interfaceRequest').jqmShow().find('#spanRequest').html(msg).end().find('input').val('').focus().end().find('.btnConfirmRequest').unbind().click(function(){$('#interfaceRequest').jqmHide();var value = $('#interfaceRequest').find("input").val();funcao.call(this.constructor, value);});}
var interfaceAlert = '<div class="jqmWindow floatBox" id="interfaceAlert"><div class="content"><div class="alertHeader"><span>Aviso</span></div><div class="padd"><div class="floatBoxIcon" /><span class="msg"></span><br /><div class="buttonContainer rtl"><input type="button" href="##" class="button" id="btnAlertOk" value="Continuar" /></div><div class="clear"></div></div></div></div>';
var interfaceConfirm = '<div class="jqmWindow floatBox" id="interfaceConfirm"><div class="content"><div class="alertHeader"><span>Confirmação</span></div><div class="padd"><div class="floatBoxIcon" /><span id="spanConfirm"></span><br /><div class="buttonContainer rtl"><input type="button" class="button" id="btnConfirm" value="Continuar" /> <input type="button" class="button" id="btnConfirmCancelar" value="Cancelar" /></div><div class="clear"></div></div></div></div>';
var interfaceRequestString = '<div class="jqmWindow floatBox" id="interfaceRequest"><div class="content"><div class="alertHeader"><span>Inserção de Valor</span></div><div class="padd"><div class="floatBoxIcon" /><span id="spanRequest"></span><br /><input type="text" class="requestInput" /><div class="buttonContainer rtl"><input type="button" class="button" id="btnConfirmRequest" value="Continuar" /> <input type="button" class="button btnRequestCancelar" value="Cancelar" /></div><div class="clear"></div></div></div></div>';
function displayLoadInterface(bool){showLoadInterface = bool;}
$().ready(function(){
    $(".button, .smallBtn").focus(function(){$(this).addClass("btnFocus");}).blur(function(){$(this).removeClass("btnFocus");});
    $("#btnChangeWindow").toggle(function(){
        $(this).css("background-position","right");
        $(".masterContentBox").addClass("maximized");
    }, function(){
        $(this).css("background-position","left");
        $(".masterContentBox").removeClass("maximized");
    });

    //MENU
    $("#menu ul li.btn").hover(function(){$(this).addClass("hover");}, function(){$(this).removeClass("hover");});
    $("#menu a").focus(function(){$(this).blur();}).each(function(){var r = $(this).text(); $(this).before("<span>"+r+"</span>");});

    //AJAX START STOP 
    $(window).ajaxStart(function(){
        $("#ajaxLoader").show();
    });
    $(window).ajaxStop(function(){
       $("#ajaxLoader").hide();
    });
    
    $('body').append(interfaceAlert).append(interfaceConfirm).append(interfaceRequestString);
    $('#btnAlertOk').click(function(){$('#interfaceAlert').jqmHide();});
    $('#btnRequestCancelar').click(function(){$('#interfaceRequest').jqmHide();});
    var overlay = jQuery.browser.msie?(jQuery.browser.version==6?0:25):25;
    $('#interfaceAlert').jqm({modal:false, overlay: overlay});
    $('#interfaceConfirm').jqm({overlay:overlay});
    $('#interfaceRequest').jqm({overlay:overlay});   
});
function AjaxRequestJson(jsonString, pageName, webMethodFunc, func){
    $.ajax({type: "POST",
        data: jsonString,
        contentType: "application/json; charset=utf-8",dataType: "json",
        url: pageName+"/"+webMethodFunc,
        dataFilter: function(data) {
        try{
            var msg = JSON.parse(data);
        }
        catch(e){
            ajaxAlert("Não foi possível ler o JSON retornado de '"+webMethodFunc+"'.");
            return {sucess:false};
        }
        if (msg.hasOwnProperty('d'))
          return msg.d;
        else
          return msg;
        },
        success: function(d){
            func.call(this.constructor, d);
        },
        error: function(){ajaxAlert("Erro na chamada assíncrona '"+webMethodFunc+"'. AjaxError.")}
    });

}
//function BuildTabSystem(name, tabContainer, array, clickEvent){ //ex{[{label:"pada",target:"#id01", id="btn01"},{label:"pada",target:"#id01", id="btn02"}]}
//    var str="";
//    var tabNamespace = "tabBoxPanel"+name;
//    $(tabContainer).html("");
//    jQuery.each(array, function(){
//        var key = this.key;
//        var anchor = document.createElement("a");
//        var target = this.target;
//        $(anchor).attr("class","tabOff").attr("id",this.id).attr("href","#"+this.target).text(this.label).unbind("click.tab").bind('click.tab', function(){
//            $(tabContainer).find("a").attr("class","tabOff");
//            $("."+tabNamespace).hide();
//            $(this).attr("class","tabOn");
//            $(target).show();
//            var btn = this;
//            if(clickEvent!==undefined){
//            clickEvent.call(this.constructor, btn, key);
//            }
//        });
//        $(this.target).addClass(tabNamespace);
//        $(tabContainer).append(anchor);
//    });
//    $(tabContainer).find("a:first").trigger("click");
//}

(function($) {
    jQuery.fn.serializeForm = function(removeSufix){
        var obj = new Object();
        var json = $(this).find("select, :input, textarea").each(function(){
            if($(this).attr("name")==""){
                $(this).attr("name",this.id);
            }
        });
        var jsonArray = $(this).find("select, input, textarea").serializeArray();
        jQuery.each(jsonArray, function(){
            obj[this.name.replace(new RegExp("^"+removeSufix),"")] = this.value;
        });
        return obj;
    }
})(jQuery);