String.prototype.padRight=function(totalCnt, ch)
{
    var rv=this;
    var cnt=totalCnt-this.length;
    for (var i=0;i<cnt;i++)
    rv+=ch;
    return rv;
}

String.prototype.padLeft=function(totalCnt, ch)
{
    var rv="";
    var cnt=totalCnt-this.length;
    for (var i=0;i<cnt;i++)
    rv+=ch;
    return rv+this;
}

//////////////////////////////////////////////////////////////////////////////////////////

function Tools()
{
    this.serialize = function(obj)
    {
        var serializer = new JSSerializer();
        return Base64.encode(serializer.serialize(obj, 'Object'));
//        return serializer.serialize(obj, 'Object');
    }

    this.deserialize = function(data)
    {
        var serializer = new JSSerializer();
        return serializer.deserialize(Base64.decode((data)));
    }

    this.log = function(level, msg)
    {
        if (LOG_MAXLEVEL>=level)
                alert(msg);
    }
}
var tools=new Tools();
