var ping;

function jAttributeCheckValue(attribute, resource, value)
{
    var data = {};    
    
    data["mode"] = "validate";
    data["attribute"] = attribute;
    data["value"] = value;

    $.post(
        "/"+resource,
        data,
        function(result) {
            $(".popup_error").remove();
            jPopupError(attribute, result);
        }
    );
}

function jPopupError(attribute, error)
{
    if(trim(error) != "") {
        object = document.getElementById(attribute);
        if(object) {
            pos = absPosition(object);
            w = getinsideWindowWidth()-pos.x-50;
            
            if(error.length < 60)
                w = w/3;
            else if(error.length < 120)
                w = 2*w/3;                            
                
            $("<div></div>")
                .html(error)
                .addClass("popup_error")
                .css("position", "absolute")
                .css("top", pos.y-15)
                .css("left", pos.x+50)
                .width(w)
                .css("opacity", 0)
                .appendTo("body")
                .animate({opacity: "1"})
            ;
        }
    }
}

function jPopupErrorRemove()
{
    $(".popup_error").remove();
}

function jAmountKeyUp(object)
{
    var v = $(object).attr("value");
    if(v) {
        var s = new String(v);
        s = s.replace(/\./g, ",");                    
        
        var t = new String("0123456789,");
        var r = new String;
        for(i=0;i<s.length;i++)
            if(t.indexOf(s.substr(i,1)) >= 0)
                r += s.substr(i,1);
        s = r;            
        
        p = s.indexOf(",");
        if(p >= 0 && p < s.length-3)
            s = s.substr(0, s.length-1);
        
        i = s.indexOf(",")-1;
        if(i < 0)
            i = s.length-1;
        for(c=0;i>=0;i--,c++)
            if(c > 2) {
                s = s.substr(0, i+1)+" "+s.substr(i+1);
                c = 0;
            }
        
        if(s != v)
            $(object).attr("value", s);                
    }
}

function jAmountBlur(object)
{
    var v = $(object).attr("value");
    if(v) {
        var s = new String(v);  
        
        p = s.indexOf(",");
        if(p < 0)
            s += ",";
        p = 2-(s.length-s.indexOf(",")-1);
        for(i=0;i<p;i++)
            s += "0";
                
        if(s != v)
            $(object).attr("value", s);
    }
}

function jStartPing()
{
    ping = setTimeout("jOnPing()", 60000);
}

function jOnPing()
{
    clearTimeout(ping);
    $.post("/index.php", {_ping: "true"}, function(data){
        ping = setTimeout("jOnPing()", 60000);
    });
}