function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}

function submitFormPage(sFromId){
    $(sFromId).submit();
}

function frameUpdater(sIdArea, sUrl, method){
    
    if(!sUrl){
        return false;
    }
    
    if(method==undefined){
        method = 'post';
    }
    
    if(sUrl.indexOf(BASE_URL)==-1){
        sUrl = BASE_URL + sUrl;
    }
    
    // Do request
    new Ajax.Request(sUrl+"/ajax/true/", {
        evalScripts: true,
        method: method,
        onSuccess: function (transport){
            $(sIdArea).update(transport.responseText);
        }
    });
}

function goToPage(sUrl){
    if(!sUrl){
        return;
    }
    else {
        window.location.href = sUrl
    }
}


function codePage(sReplaceString, sUrl){
    if(!sReplaceString || !sUrl){
        return;
    }
    
    sUrl = sUrl.replace('%d',sReplaceString);
    
    goToPage(sUrl);
}
/**
 * Clas loadRemoteData
 * 
 */
function loadRemoteData(url){
    this.sUrl           = url;
    this.eventElement   = null;
    this.eventName      = null;
    this.eventCallback  = null;
    this.answer         = true;
    this.elHandler      = '';
}

loadRemoteData.prototype.setUrl = function (url){
    this.sUrl = url;
}

loadRemoteData.prototype.addEvent = function (el, eventName, callback){
    this.eventElement   = el;
    this.eventName      = eventName;
    this.eventCallback  = callback;
}

loadRemoteData.prototype.addHandler = function (handler){
    this.elHandler = handler;
}

loadRemoteData.prototype.doRequest = function (params){
    
    if(!this.el && !this.elHandler){
        return false;
    }
    
    if(params){
        for (request_val in params){
            this.sUrl = this.sUrl + request_val + "/" + escape(params[request_val]) + "/";
        }
    }
    
    // Add Event on certain element
    var eEl     = this.eventElement;
    var eNm     = this.eventName;
    var eCl     = this.eventCallback;
    
    var answer  = this.answer;
    
    // Get data handler
    var handler = this.elHandler;
    
    // Do request
    new Ajax.Request(this.sUrl+"ajax/true/", {
        method: 'post',
        evalScripts: true,
        onSuccess: function (transport){
            
            var response = transport.responseText;
                        
            // Add event handler if have
            if(eEl){
                Event.observe(eEl,eNm,eCl);
            }
            
            // Process answer
            if(handler) handler(response);
        }
    });
}

loadRemoteData.prototype.doFormRequest = function (sFormId, params){
    
    var moreUrlParams = '';
    
    if(params){
        for (request_val in params){
            moreUrlParams = moreUrlParams + request_val + "/" + escape(params[request_val]) + "/";
        }
    }
    
    // Add Event on certain element
    var eEl     = this.eventElement;
    var eNm     = this.eventName;
    var eCl     = this.eventCallback;
    
    var answer  = this.answer;
    
    // Get data handler
    var handler = this.elHandler;
    
    // Do form request
    if(moreUrlParams){
        $(sFormId).action = $(sFormId).action + moreUrlParams;
    }
    $(sFormId).action = $(sFormId).action+"ajax/true/";
    $(sFormId).request({
        onComplete: function (transport){
            var response = transport.responseText;
                        
            // Add event handler if has
            if(eEl) Event.observe(eEl,eNm,eCl);
            
            // Process answer
            if(handler) handler(response);
        }
    });
}
/**
 * End class
 */
