function holderHeight() {
    tmp = (document.getElementById("holder").offsetHeight - 55) + "px";

    b = document.getElementById("bottom");
    b.style.top = tmp;
}

function vis() {
    if(document.getElementById('cont_pos')) {
        document.getElementById('cont_pos').style.visibility = 'visible';
    }
}

function multilevel(data) {
    for (var i = 0; i < data.length; i++) {
        var spaces = '';
        var level = 0;

        if (data[i].shift > 0) {
            level = data[i].shift;
        } else if (data[i].level > 0) {
            level = data[i].level;
        }
        if (level > 1) {
            for (var j = 1; j < level; j++) {
                spaces += '   ';
            }
        }
        data[i].name = spaces + data[i].name;
    }
}

function searchfunc(){
    document.getElementById('div-login').style.display = "none";
    document.getElementById('div-search').style.display = "block";
    document.getElementById('div-browse').style.display = "none";
    document.getElementById('srch').style.background = "url(/_img/bg-tabs-srch-act.gif) top right no-repeat";
    document.getElementById('lgn').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
    if (document.getElementById('brws')){
        document.getElementById('brws').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
        document.getElementById('brws').style.color = "#88460F";
    }
    document.getElementById('srch').style.color = "#D56E19";
    document.getElementById('lgn').style.color = "#88460F";
}
function loginfunc(){
    document.getElementById('div-login').style.display = "block";
    document.getElementById('div-search').style.display = "none";
    document.getElementById('div-browse').style.display = "none";
    document.getElementById('lgn').style.background = "url(/_img/bg-tabs-act.gif) top right no-repeat";
    if (document.getElementById('srch')){
        document.getElementById('srch').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
        document.getElementById('srch').style.color = "#88460F";
    }
    if (document.getElementById('brws')) {
        document.getElementById('brws').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
        document.getElementById('brws').style.color = "#88460F";
    }
    document.getElementById('lgn').style.color = "#D56E19";
}
function browsefunc(){
    document.getElementById('div-login').style.display = "none";
    document.getElementById('div-search').style.display = "none";
    document.getElementById('div-browse').style.display = "block";
    document.getElementById('brws').style.background = "url(/_img/bg-tabs-act.gif) top right no-repeat";
    document.getElementById('brws').style.color = "#D56E19";
    if (document.getElementById('srch')){
        document.getElementById('srch').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
        document.getElementById('srch').style.color = "#88460F";
    }
    document.getElementById('lgn').style.background = "url(/_img/bg-tabs.jpg) top right no-repeat";
    document.getElementById('lgn').style.color = "#88460F";
}

// LIMIT MULTIPLE SELECTED OPTIONS
var selectedOptions = [];
function checkCountSelected(select, maxNumber) {

    for (var i = 0; i < select.options.length; i++) {

        if (select.options[i].selected && select.options[i].value == '-1') {
            for (var j = 0; j < select.options.length; j++) {
                if (j != i) {
                    select.options[j].selected = false;
                }
            }
        }

        if (select.options[i].selected && !new RegExp(i, 'g').test(selectedOptions.toString())) {
            selectedOptions.push(i);
        }

        if (!select.options[i].selected && new RegExp(i, 'g').test(selectedOptions.toString())) {
            selectedOptions = selectedOptions.sort(function(a, b) {
                return a - b
            });
            for (var j = 0; j < selectedOptions.length; j++) {
                if (selectedOptions[j] == i) {
                    selectedOptions.splice(j, 1);
                }
            }
        }

        if (selectedOptions.length > maxNumber) {
            select.options[i].selected = false;
            selectedOptions.pop();
        }
    }

}

function confirmDialog(message, url) {
    if (confirm(message)) {
        location.href = url;
    }
}

function setSessionAttribute(attrName, attrValue) {
    DWREngine.setAsync(false);
    DWRHelper.setSessionAttribute(attrName, attrValue);
    DWREngine.setAsync(true);
}

function checkUserPermissions(paidItemType) {
    var result = true;
    DWREngine.setAsync(false);
    DWRHelper.checkUserPermissions(paidItemType, function updateFieldValue(data){result = data;});
    DWREngine.setAsync(true);
    return result;
}

function forwardRequest(url) {
    var response;
    DWREngine.setAsync(false);
    DWRHelper.forwardRequest(url, function(data) {response = data;});
    DWREngine.setAsync(true);
    if (response) {
        document.write(response);
        document.close();
    }
}

function doAjaxSubmit(eventId, formId, options) {
    if (typeof(tools) != "undefined" && tools.list.length > 0) {
        tools.list.each(function(el){
            el.submitHandler();
        });
    }
    if (window.tinyMCE) { tinyMCE.triggerSave(false, false); }

    var clientParams = {};
    clientParams.formId = formId;

    if (!options) { options = {}; }

    if (options.enableUpload) {
        clientParams.enableUpload = options.enableUpload;
    } else {
        clientParams.enableUpload = true;
    }

    if (!options.disableSpinner) {
        clientParams.startHandler = function () {
        };

        clientParams.completeHandler = function () {
        };
    }
    clientParams.errorHandler = function () {
        $(formId).unspin();
    };

    if (options.onSuccess) {
        clientParams.successHandler = options.onSuccess;
    }

    XT.doAjaxSubmit(eventId, $(formId), null, clientParams);
}

function doAjaxSubmitWizardPage(eventId, formId, target) {
    document.getElementById('_target').name = target;
    doAjaxSubmit(eventId, formId);
}

function doAjaxRequest(url, params, method, update, onComplete, sync) {
    var request = new Request.HTML({ url: url, method: method, update: update, async: !sync, onComplete: onComplete });
    request.send(params);
}

function addErrorViewSupport(){
    $$('.errmsg').addEvent('mouseover', function(ev){
        var div = this.getElement('div');
        if (div) {
            var txt = div.get('html');
            $('newAlert').set('html', txt);
            var mouseX = ev.page.x;
            var mouseY = ev.page.y;
            $('newAlert').setStyle('display','block');
            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
        }
    });
    $$('.errmsg').addEvent('mouseleave', function(){
        $('newAlert').setStyle('display','none');
    });
}

function appendToSessionList(listName, value) {
    DWRHelper.appendToSessionList(listName, value, function(){});
}

function removeFromSessionList(listName, value) {
    DWRHelper.removeFromSessionList(listName, value, function(){});
}

function clearSessionList(listName) {
    DWRHelper.clearSessionList(listName, function(){});
}

function submitFormOnEnter(event, submitAction) {
    var srcElement = navigator.appName.indexOf('Microsoft') != -1? event.srcElement : event.target;
    if (event.keyCode == '13' && srcElement.type != 'textarea') submitAction();
}

function toggleBlock(elId) {
    var el = document.getElementById(elId);
    if (el.style.display == 'block') {
        el.style.display = 'none';
    } else {
        el.style.display = 'block';
    }
}

function attachErrorMessages() {
    $$('.errmsg').addEvent('mouseover', function(ev) {
        var div = this.getElement('div');
        if (div) {
            var txt = div.get('html');
            $('newAlert').set('html', txt);
            var mouseX = ev.page.x;
            var mouseY = ev.page.y;
            $('newAlert').setStyle('display', 'block');
            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
        }
    });
    $$('.errmsg').addEvent('mouseleave', function() {
        $('newAlert').setStyle('display', 'none');
    });
    $$('.errmsg-pass').addEvent('mouseover', function(ev) {
        var div = this.getElement('div');
        if (div) {
            var txt = div.get('html');
            $('newAlert').set('html', txt);
            var mouseX = ev.page.x;
            var mouseY = ev.page.y;
            $('newAlert').setStyle('display', 'block');
            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
        }
    });
    $$('.errmsg-pass').addEvent('mouseleave', function() {
        $('newAlert').setStyle('display', 'none');
    });
}

function prepareRequestParameters(formId) {
    var reqParams = "";

    ($(formId).getElements('input')
            .combine($(formId).getElements('textarea'))
            .combine($(formId).getElements('select')))
            .each(function(arg, index) {
        if (index != 0) reqParams = reqParams + '&';
        reqParams = reqParams + arg.name + '=' + encodeURIComponent(arg.value);
    });

    return reqParams;
}