﻿function doRegisterHandler(target, event, handler) {
    target.addEventListener ?
        target.addEventListener(event, handler, false) :
        target.attachEvent('on' + event, handler);
}
function doUnregisterHandler(target, event, handler) {
    target.removeEventListener ?
        target.removeEventListener(event, handler, false) :
        target.detachEvent('on' + event, handler);
}

function doFindChildElement(el, tagName, idx) {
    if (!el || tagName.length == 0 || idx < 0) return;
    var num = idx;
    for (var i = 0; i < el.childNodes.length; i++) {
        if (el.childNodes[i].tagName &&
           el.childNodes[i].tagName.toLowerCase() == tagName &&
           --num < 0)
            return el.childNodes[i];
    }
}
function getValueById(id) {
    var el = document.getElementById(id);
    if (el) { return el.value };
    return null;
}
function doShowPrintFriendly(url) {
    var opts = ',menubar=yes,toolbar=yes,scrollbars=yes,location=no,directories=no,status,resizable=yes,dependent';
    var iWidth = 800;
    
    popupWin = window.open(url + '&print=1', name, 'width=' + iWidth + ',height=' + (screen.height - 150) + ',left=' + ((screen.width - iWidth) * .5) + ',top=25' + opts);
    window.opener = top
}
function doAddScriptTag(url) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
}
