function redirect(page) {
    window.location.href = page
}

function OpenWindow(page, params) {
    open_window(page, params)
}

function open_window(page, params) {
    window.open(page, "popup", params)
}

function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;

    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;
}

function stopBubbling(e) {

    if (!e)
        e = window.event;

    if (e.stopPropagation)
        e.stopPropagation();

    if (e.preventDefault)
        e.preventDefault();

    e.cancelBubble = true;
    e.cancel = true;
    e.returnValue = false;
    return false;

}

function DefaultButton(btnID, e) {
    default_button(btnID, e)
}

function default_button(btnID, e) {

    var btn = document.getElementById(btnID);

    if (document.all) {
        if (e.keyCode == 13) {
            stopBubbling(e)
            btn.click();
        }
    } else if (document.getElementById || document.layers) {
        if (e.which == 13) {
            if (btn && btn.click) {
                stopBubbling(e)
                btn.click();
            } else if (btn && btn.onclick) {
                var temp = eval(btn.onclick);
                if (temp) {
                    stopBubbling(e)
                    temp(e);
                }
            }
        }
    }
}

var emailSignupInitialText;
var emailSignupTbx;

function EmailSignup(tbxID, initialText, listName, e) {
    var tbx = $get(tbxID);

    if (tbx) {

        emailSignupInitialText = initialText;
        emailSignupTbx = tbx;

        if (tbx.value == '' || tbx.value == initialText) {
            setTimeout('alert(\'Invalid Email Address\');', 100);
        } else {
            RodeoAustin.Web.WebServices.General.EmailSignup(tbx.value, listName, EmailSignupSuccess, EmailSignupError);
        }
    } else {
        setTimeout('alert(\'Invalid Email Address\');', 100);
    }
}

function EmailSignupSuccess(result) {
    if (result.result == 1) {
        emailSignupTbx.value = emailSignupInitialText;

        OpenModal('modal', 'I_thanks.aspx?e=' + result.message, '490px', '125px', 'no')
    } else {
        alert(result.message)
    }
}

function EmailSignupError(result) {
    alert(result.message);
}

function Search(initialText, tbx) {
    if (tbx) {
        var Query = tbx.value;
        if (Query == '' || Query == initialText) {
            setTimeout('alert(\'Invalid Search Criteria\');', 100)
        } else {
            redirect('search.aspx?q=' + Query);
        }
    }
}


/***IMAGE CACHING FUNCTIONS***/
function MM_swapImgRestore() { //v3.0

    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}
/***/
/**MODAL MANAGEMENT**/

var CurrentModal;
var CurrentModalOnCloseDoPostBack = false;
var CurrentModalOnCloseTargetID = '';
var CurrentModalContext = '';
var CurrentModalOpeningParent = null;
var CurrentModalOnCloseCallbackFunction = '';

function OpenModal(behaviorID, url, width, height, OpenModalParams) {
    var m = $find(behaviorID);
    if (m) {

        CurrentModal = m

        var scrolling = 'NO';

        if (OpenModalParams) {
            CurrentModalOnCloseDoPostBack = OpenModalParams.OnClosePostBack;
            CurrentModalOnCloseTargetID = OpenModalParams.OnCloseTargetID;
            CurrentModalOnCloseArgument = OpenModalParams.OnCloseArgument;
            CurrentModalContext = OpenModalParams.ModalContext;
            CurrentModalOpeningParent = OpenModalParams.Parent;
            CurrentModalOnCloseCallbackFunction = OpenModalParams.OnCloseCallbackFunction;
            if (OpenModalParams.ScrollFrame && OpenModalParams.ScrollFrame == true) {
                scrolling = 'auto';
            }
        }

        if (url != '') {
            var mContent = $get(behaviorID + '_content')
            if (mContent) {
                mContent.innerHTML = '<iframe src=\'' + url + '\' width=\'' + width + '\' height=\'' + height + '\' scrolling=\'' + scrolling + '\' frameborder=\'0\'/>';
            }
        }

        m.show()
        return true;
    } else {
        return false;
    }

}

function OpenModalParams() {
    var OnClosePostBack = false;
    var OnCloseTargetID = '';
    var OnCloseArgument = '';
    var ModalContext = '';
    var OnCloseCallbackFunction = '';
    var Parent = null;
    var ScrollFrame = false;
}

function HideModal(HideModalParams) {

    var m = CurrentModal;

    if (m) {

        var mContent = $get(m._id + '_content')
        if (mContent) {
            mContent.innerHTML = '';
        }

        m.hide();

        var _EventArgs = (CurrentModalOnCloseArgument == '') ? '' : CurrentModalOnCloseArgument;
        if (HideModalParams) {
            _EventArgs = (HideModalParams.EventArgs == 'undefined') ? '' : HideModalParams.EventArgs;

            if (HideModalParams.CancelOnCloseDoPostBack) {
                CurrentModalOnCloseDoPostBack = false;
            }
        }

        if (CurrentModalOnCloseDoPostBack) {
            if (CurrentModalOpeningParent) {
                CurrentModalOpeningParent.UpdatePage(CurrentModalOnCloseTargetID, _EventArgs);
            } else {
                UpdatePage(CurrentModalOnCloseTargetID, _EventArgs);
            }
        } else if (CurrentModalOnCloseCallbackFunction) {

            var _tmp = CurrentModalOnCloseCallbackFunction;
            _tmp = _tmp + '({ \'EventTargetID\':\'' + CurrentModalOnCloseTargetID + '\', \'EventArgs\':\'' + _EventArgs + '\' })'

            if (CurrentModalOpeningParent) {
                CurrentModalOpeningParent.eval(_tmp);
            } else {
                eval(_tmp);
            }
        }

        CurrentModal = null;
        CurrentModalOnCloseDoPostBack = false;
        CurrentModalOnCloseTargetID = '';
        CurrentModalOpeningParent = null;

    }
}

function HideModalParams() {
    var EventArgs;
    var CancelOnCloseDoPostBack = false;
}

function ModalOnCloseCallbackParams() {
    var EventTargetID = '';
    var EventArgs = '';
}

/***/
/***PopupControlExtender***/

function ShowQuickDialog(behaviorID, params, ev) {
    var pce = $find(behaviorID);
    if (pce) {
        if (params) {
            pce._popupBehavior.set_parentElementID(params.targetElementID);
            pce.set_OffsetX(params.offSetX);
            pce.set_OffsetY(params.offSetY);
        }
        pce.showPopup()
    }

    if (ev) {
        ev.cancelBubble = true;
        if (ev.stopPropagation) ev.stopPropagation();
    }
}

function HideQuickDialog(behaviorID) {
    var pce = $find(behaviorID);
    if (pce) {
        pce.hidePopup();
    }
}

function ShowQuickDialogParams() {
    offSetX = 0;
    offSetY = 0;
    targetElementID = '';
}

/***/

function UpdatePage(target, args) {
    setTimeout('__doPostBack(\'' + target + '\', \'' + args + '\')', 100)
}

function ChangePaginationPageSize(ddlID, baseURL) {
    var ddl = $get(ddlID);

    if (baseURL.indexOf('?') == -1) {
        baseURL += "?"
    } else {
        baseURL += "&"
    }

    redirect(baseURL + 'cp=1&ps=' + ddl[ddl.selectedIndex].value);
}

function GetFlashMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    } else {
        return document[movieName]
    }
}

function ClearDefaultText(tbx, defaultText) {

    if (tbx) {
        if (tbx.value == defaultText) {
            tbx.value = '';
        }
    }
}

/***********************************************
* Textarea Maxlength script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function ismaxlength(obj, maxLength) {
    var mlength = obj.getAttribute ? parseInt(maxLength) : ""
    if (obj.getAttribute && obj.value.length > mlength)
        obj.value = obj.value.substring(0, mlength)
}

/***********************************************
* Found at http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/msg/f2234ba565b8effa?dmode=source&output=gplain
***********************************************/

function SetUniqueRadioButton(nameregex, current) {
    re = new RegExp(nameregex);
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i]
        if (elm.type == 'radio') {
            if (re.test(elm.name)) {
                elm.checked = false;
            }
        }
    }
    current.checked = true;
}



 