function forbidSpecChars(object)
{
    if(object.value.indexOf(">") >= 0 || object.value.indexOf("<") >= 0 || object.value.indexOf("\"") >= 0 || object.value.indexOf("\'") >= 0)
    {
        object.value = object.value.replace(/>/g, "");
        object.value = object.value.replace(/</g, "");
        object.value = object.value.replace(/"/g, "");
        object.value = object.value.replace(/'/g, "");
    }
}

function viewFullSizeImage(url, params) {
    window.open(url, 'Image_Preview', params);
    return false;
}

function copyToClipboard(textSrc, contextPath) {
    var meintext = document.getElementById(textSrc).value;
    if(window.clipboardData)
    {
        window.clipboardData.setData("Text", meintext);
    }
    else if(window.netscape)
    {
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)) {
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        document.getElementById(flashcopier).innerHTML = '<embed src="' + contextPath + '/swf/_clipboard.swf" FlashVars="clipboard=' + escape(meintext) + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    }
}


// set focus on form
function focusForm() {
    var forms = document.forms;
    if(forms.length > 0) {
        var formToFocus = forms[0];
        if(forms[0].id == 'formSearch') {
            if(forms.length > 1) {
                formToFocus = forms[1];
            }
            else {
                return;
            }
        }
        for (var i = 0; i < formToFocus.elements.length; i++) {
            if((formToFocus.elements[i].nodeName == "INPUT" && formToFocus.elements[i].type != "hidden" && formToFocus.elements[i].disabled == false) || (formToFocus.elements[i].nodeName == "TEXTAREA" && formToFocus.elements[i].readonly == false)) {
                formToFocus.elements[i].focus();
                break;
            }
        }
    }
}

function showProgressBar(label, doNotHideBody) {
    var mainTable = document.getElementById('mainTbl');
    if(!doNotHideBody) {
        mainTable.style.display = "none";
    }
    var loadingSpan = document.getElementById('loadingSpan');
    var loadingLabel = document.getElementById('loadingLabel');
    loadingLabel.innerHTML = label;
    loadingSpan.style.display = "";
}

function addRowHandlers(tableId, link, idParamName) {
    if(idParamName == null || idParamName == '') {
        idParamName = "id";
    }
    if(document.getElementById) {
        table = document.getElementById(tableId);
        if(table != null) {
            trs = table.getElementsByTagName('tr');
            for (j = 0; j < trs.length; j++) {
                //alert(table);
                if(trs[j].className == 'odd') {
                    trs[j].onmouseover = function() {
                        this.className = 'highlightedLine';
                        return false;
                    };
                    trs[j].onmouseout = function() {
                        this.className = "odd";
                        return false;
                    };
                    tds = trs[j].getElementsByTagName('td');
                    for (k = 0; k < tds.length; k++)
                    {
                        // if table contains inputs (i.e. checkbox) - action ignored
                        inputs = tds[k].getElementsByTagName('input');
                        hrefs = tds[k].getElementsByTagName('a');
                        if(hrefs.length <= 0 && inputs.length <= 0)
                        {
                            tds[k].onmousedown = function() {
                                var paramValue = this.parentNode.getElementsByTagName("td")[0].innerHTML;
                                location.href = link + "?" + idParamName + "=" + paramValue;
                                return false;
                            };
                        }
                    }
                }
                if(trs[j].className == 'even') {
                    trs[j].onmouseover = function() {
                        this.className = 'highlightedLine';
                        return false;
                    };
                    trs[j].onmouseout = function() {
                        this.className = "even";
                        return false;
                    };
                    tds = trs[j].getElementsByTagName('td');
                    for (k = 0; k < tds.length; k++)
                    {
                        // if table contains inputs (i.e. checkbox) - action ignored
                        inputs = tds[k].getElementsByTagName('input');
                        hrefs = tds[k].getElementsByTagName('a');
                        if(hrefs.length <= 0 && inputs.length <= 0)
                        {
                            tds[k].onmousedown = function() {
                                var paramValue = this.parentNode.getElementsByTagName("td")[0].innerHTML;
                                location.href = link + "?" + idParamName + "=" + paramValue;
                                return false;
                            };
                        }
                    }
                }
            }
        }
    }
}
