﻿/// <reference path="~/Scripts/InputValidation.js" />
/// <reference path="~/Scripts/json.js" />
/// <reference path="~/Scripts/WebService.js" />


// Name:        Library.js
// Assembly:    logicbase.Web
// Version:     1.0.0
// Author:      lb.sr
// Date:        06.10.2009
//-----------------------------------------------------------------------
// Copyright (C) logic-base GmbH
//-----------------------------------------------------------------------

/// <summary locid="Fügt Page-Load-Events hinzu" />
/// <param name="func">Funktionsname</param>
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    }
    else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

/// <summary locid="Feuert das Event eines Controls. Übergeben werden muss der Name des Events ohne dem 'on'. Beispiel: soll 'onclick' soll gefeuert werden, muss nur 'click' als Eventname übergeben werden." />
/// <param name="element">Control</param>
/// <param name="event">Eventname</param>
function fireEvent(element, event) {
    if (document.createEventObject) {
        // dispatch for IE
        var evt = document.createEventObject();
        return element.fireEvent('on' + event, evt)
    }
    else {
        // dispatch for firefox + others
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent(event, true, true); // event type,bubbling,cancelable
        return !element.dispatchEvent(evt);
    }
}

/// <summary locid="Schneidet die Nachkommastellen ab - kein Runden." />
/// <param name="value">Wert</param>
/// <param name="precision">Nachkommastellen</param>
/// <returns type="String"><returns>
function cutDecimal(value, precision) {
    var separatorIndex = String(value).indexOf(".");
    if (separatorIndex == -1) return value;
    return String(value).substring(0, separatorIndex + precision + (precision > 0 ? 1 : 0));
}