function doPopup(u,i){if(i===null){return false;}var p='p'+Math.ceil(Math.random()*10000);var o='top=10,left=100,width=400,height=450,location=no,resizable=yes,status=no,scrollbars=yes';window.open(u+'?id='+i,p,o);return true;}
/* UTILS module */
var UTILS= ( function(mymod){
    // basic DOM functions
    mymod.get= function(e){return document.getElementById(e);}
    mymod.getTags= function(t){return document.getElementsByTagName(t);}
    mymod.getLinks= function(){return getTags("A");}
    // string functions
    mymod.trim= function(str){
        return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    };
    // all purpose event / error logger
    mymod.logger= function(msg){
        if ( window.console && console.log ) {
            console.log(msg);
        }
        else{
            alert(msg);
        }
    };
    // cross-browser event handlers
    // element, event type (name), function, use capture
    mymod.addEvent= function(el, eType, fn, bUC) {
      if (el.addEventListener) {
        el.addEventListener(eType, fn, bUC);
        return true;
      } else if (el.attachEvent) {
        return el.attachEvent('on' + eType, fn);
      } else {
        el['on' + eType] = fn;
      }
    };
    // stop event propagation
    mymod.stopProp= function(e) {
      if (e && e.stopPropogation)
        e.stopPropogation();
      else if (window.event && window.event.cancelBubble)
        window.event.cancelBubble = true;
    };
    // prevent default actions
    mymod.stopDef= function(e) {
      if (e &&e.preventDefault)
        e.preventDefault();
      else if (window.event && window.event.returnValue)
      window.eventReturnValue = false;
    };

    // return the object
    return mymod;

}( UTILS || {} ) );