function confirmMsg(msg)
{
    if (confirm(msg)) {
        return true;
    } else {
        if (window.event) window.event.returnValue = false;
        return false;
    }
}

function confirmLink(msg, link)
{
    if (confirm(msg)) {
        window.location = link;
        return true;
    } else {
        if (window.event) window.event.returnValue = false;
        return false;
    }
}

function changeConfirm(input)
{
    if (!confirm("Do you want to change the value from " + input.defaultValue + " to " + input.value)) {
        input.value = input.defaultValue;
        return false;
    }
    return false;
}

function popup(url, width, height)
{
   popup(url, width, height, '_blank');
}

function popup(url, width, height, name)
{
    popupDetailed(url, width, height, name, 'no', 'yes', 'no', 'yes', 'yes', 'no');
}

function popupDetailed(url, width, height, name, location, resizable, menubar, scrollbars, status, toolbar)
{   
    var newWin = window.open(url,
                    name,
                    'width=' + width + ',height=' + height + ',location=' + location + ',resizable=' + resizable + ',menubar=' + menubar + ',scrollbars=' + scrollbars + ',status=' + status + ',toolbar=' + toolbar
                    );
    if (newWin != null)
    {
        if (newWin.opener == null) newWin.opener = self;
        newWin.focus();
    }
}

function newWindow(url)
{
    var newWin = window.open(url);
    if (newWin.opener == null) newWin.opener = self;
    newWin.focus();
}

function alertLink(msg)
{
    alert(msg);
    if (window.event) window.event.returnValue = false;
    return false;
}

function actionLink(action)
{
    if (window.event) window.event.returnValue = false;
    eval(action);
    return false;
}

function popupLink(url, width, height, name)
{
    popup(url, width, height, name);
    if (window.event) window.event.returnValue = false;
    return false;
}

function windowLink(url)
{
    newWindow(url, name);
    if (window.event) window.event.returnValue = false;
    return false;
}

function closeAndRefresh()
{
    try
    {
        if (window.opener != null && !window.opener.closed)
        {
            window.opener.location = window.opener.location;
            window.opener.focus();
        }
    } catch (e) { }

    window.close();
}

function submitOpener()
{
    window.opener.document.forms.mainForm.submit();
}

function closeAndSubmitOpener()
{
    try
    {
        if (window.opener != null && !window.opener.closed)
        {
            if (window.opener.document.forms.mainForm != null)
            {
                window.opener.document.forms.mainForm.submit();
            }
            window.opener.focus();
        }
    } catch (e) { }

    window.close();
}

function closeAndSubmitOpenerIfHasDataElem(hasDataElem)
{
    try
    {
        if (window.opener != null && !window.opener.closed)
        {
            if (window.opener.document.forms.mainForm != null &&
                eval("window.opener.document.forms.mainForm." + hasDataElem) != null)
            {
                window.opener.document.forms.mainForm.submit();
            }
            window.opener.focus();
        }
    } catch (e) { }

    window.close();
}

function toggleOtherElements(disable, theForm, safeElementName)
{
    for (var i = 0; i < theForm.elements.length; i++) {
        var element = theForm.elements[i];
        if (element.name && element.name != safeElementName  && element.type != "submit" && element.type != "hidden" && element.name != "stage" && element.type != "button" && element.name.indexOf("partyState") == -1  && element.name.indexOf("partyIndex") == -1 && element.name.indexOf("submitPartyIndex") == -1 && element.name.indexOf("partyType") == -1) {
            element.disabled = disable;
        }
    }
}

function refreshPage(url)
{
    if (arguments.length != 1) url = window.location;
    window.location = url;
}

function delayedRefresh(seconds, url)
{
    if (arguments.length < 1) seconds = 3;
    if (arguments.length < 2) url = window.location;
    setTimeout("refreshPage('" + url + "')", seconds*1000);
}

function setOpenerField(openerForm, elemName, value)
{
    elem = eval("window.opener.document.forms."+openerForm+"." + elemName);
    elem.value = value;
}

function setOpenerFieldAndTriggerChange(openerForm, elemName, value)
{
    elem = eval("window.opener.document.forms."+openerForm+"." + elemName);
    elem.value = value;    
    if (elem.onchange) elem.onchange();
}

function setOpenerFieldCloseAndSubmit(openerForm, elemName, value)
{
    elem = eval("window.opener.document.forms."+openerForm+"." + elemName);
    elem.value = value;
    
    form = eval("window.opener.document.forms."+openerForm);
    form.submit();
    window.opener.focus();
    window.close();
}


function setFieldValue(elemName, value)
{
    elem = eval("window.document.forms.mainForm." + elemName);
    elem.value = value;
}

function setFieldChecked(elemName, value)
{
    elem = eval("window.document.forms.mainForm." + elemName);
    elem.checked = value;
}


function setFieldValueAndSubmit(elemName, value)
{
    if (window.event) window.event.returnValue = false;
    setFieldValue(elemName, value);
    window.document.forms.mainForm.submit();

    return false;
}

function confirmSetFieldValueAndSubmit(elemName, value, msg)
{
    if (window.event) window.event.returnValue = false;
    if (confirm(msg)) {
        setFieldValue(elemName, value);
        window.document.forms.mainForm.submit();
    }

    return false;
}
