var PopupWindows = new Object();
function openPopup(url, id, paramStr){
    if (!paramStr) 
        paramStr = '';
    Popup = PopupWindows[id];
    if (!Popup) 
        Popup = '';
    if (!Popup.closed && Popup.location) {
        Popup.location.href = url;
    }
    else {
        Popup = window.open(url, id, paramStr);
        if (!Popup.opener) 
            Popup.opener = self;
    }
    if (window.focus) {
        Popup.focus()
    }
    return false;
}

function goToURL(target, url){
    self.location.href = url;
    return false;
}

function recordLink(linkObj, category, action){
    try {
        var pageTracker = _gat._getTracker("UA-XXXXX-X");
        pageTracker._trackEvent(category, action);
        setTimeout('document.location = "' + linkObj.href + '"', 100)
    } 
    catch (err) {
    }
}

function innerLabels(fields){
    fields.each(function(item){
        if (item.e.type == 'text') {
            item.e.addClass('blur');
            item.e.value = item.l;
            item.e.addEvent('focus', function(){
                item.e.removeClass('blur');
                if (item.e.value == item.l) {
                    item.e.value = '';
                }
            });
            item.e.addEvent('blur', function(){
                if (item.e.value == '') {
                    item.e.addClass('blur');
                    item.e.value = item.l;
                }
            });
        }
        else 
            if (item.e.type == 'password') {
                var label = document.createElement('label');
                label.htmlFor = item.e.id;
                label.className = 'innerLabel';
                label.innerHTML = item.l;
                item.e.addEvent('focus', function(){
                    label.style.display = 'none';
                });
                item.e.addEvent('blur', function(){
                    if (item.e.value == '') 
                        label.style.display = 'block';
                });
                item.e.parentNode.insertBefore(label, item.e);
            }
    });
}

function ConfirmThenSumbmit(f, m){
    if (m == null) 
        m = "Are you sure? This cannot be undone.";
    if (confirm(m)) 
        this.form.submit();
    return false;
}

function trapEnter(nextfield){
    if (window.event && window.event.keyCode == 13) {
        nextfield.focus();
        return false;
    }
    else {
        return true;
    }
}

function getCheckedValue(radioObj){
    if (!radioObj) 
        return "";
    var radioLength = radioObj.length;
    if (radioLength == undefined) 
        if (radioObj.checked) 
            return radioObj.value;
        else 
            return "";
    for (var i = 0; i < radioLength; i++) {
        if (radioObj[i].checked) {
            return radioObj[i].value;
        }
    }
    return "";
}

function setCheckedValue(radioObj, newValue){
    if (!radioObj) 
        return;
    var radioLength = radioObj.length;
    if (radioLength == undefined) {
        radioObj.checked = (radioObj.value == newValue.toString());
        return;
    }
    for (var i = 0; i < radioLength; i++) {
        radioObj[i].checked = false;
        if (radioObj[i].value == newValue.toString()) {
            radioObj[i].checked = true;
        }
    }
}

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");
    var params = {};
    var tokens;

    while (tokens = /[?&]?([^=]+)=([^&]*)/g.exec(qs)) {
        params[decodeURIComponent(tokens[1])]
            = decodeURIComponent(tokens[2]);
    }

    return params;
}

