/* © Webuild 2010 //

// Gerais
/*	rtrim(string) e ltrim(string) -> string
Remove os espaços que existam à esquerda ou à direita da string.
Caso não indicado o segundo parâmetro, serão também considerados:

* " " (ASCII 32 (0x20)), espaço.
* "\t" (ASCII 9 (0x09)), tab.
* "\n" (ASCII 10 (0x0A)), nova linha (line feed).
* "\r" (ASCII 13 (0x0D)), tecla enter (carriage return).
* "\0" (ASCII 0 (0x00)), nulos.
* "\x0B" (ASCII 11 (0x0B)), tab vertical.

trim(string) -> string
Remove espaços existentes à esquerda e à direita da string
*/

function Trim(str, chars) { return Ltrim(Rtrim(str, chars), chars); }

function Ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function Rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

// Biblioteca
function ToggleVisibility(id) {
    var e = document.getElementById(id);
    if (e.style.display == 'block') e.style.display = 'none';
    else
        e.style.display = 'block';
}

function ResetText(id, text) {
    var el = document.getElementById(id);
    if (el.value == text) {
        el.value = '';
    }
}

function SubmitForm(btID) {
    var el = document.getElementById(btID);
    if (event.keyCode == 13) {
        event.cancelBubble = true;
        event.returnValue = false;
        el.click();
    }
}

function WriteText(id, text) {
    var el = document.getElementById(id);
    if (el.value == '') {
        el.value = text;
    }
}

function SetFocus(id) {
    var bt = document.getElementById(id);
    bt.focus();
}

function ResetButton() { document.forms[0].reset(); }

function ShowBox(id, display) {
    document.getElementById(id).style.display = display;
}

/* RadWindow */

function OpenRadWindow(url, id) {
    window.radopen(url, id);
}

function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
}

function OnClientClose(oWindow) {
    oWindow.Close();
    oWindow.BrowserWindow.location.reload();
}

//Pesquisa

/*	wbBoxValidaPesquisa(obj_elemento_a_validar) -> boolean
Verifica se o inserido na caixa de diálogo está preenchido e se o o seu conteúdo não coincide
com o default existente aquando entrada inicial.
*/
function IsValidSearch(id, texto, errorMsg) {
    var obj = document.getElementById(id);
    if (Trim(obj.value).length < 3 || obj.value == texto) {
        alert(errorMsg);
        return false;
    }

    return true;
}

//Login
//comportamento da box login
function LoginResetText(id) {//limpa background
    var el = document.getElementById(id);
    el.style.backgroundImage = "";
}

function LoginWriteText(id) {//comportamento da box login
    var el = document.getElementById(id);
    if (el.value == "" || el.value == null) {
        el.style.backgroundImage = "url(images/bk_pass.gif)";
    } else {
        el.style.backgroundImage = "";
    }
}

function Jump(name) {
    location.href = "#" + name;
}

//Validacoes Cliente - Com alteração dos CSS das boxes

function ClientValidation(validationGroup) {

    var validators = Page_Validators;
    var valIter;
    var idToParse;
    var boxName;
    var box;

    //Reset State - Necessarios por causa do multiplos validadores para o mesmo controlo uns validos e outros não
    for (i = 0; i < validators.length; i++) {
        valIter = validators[i];

        if (valIter.validationGroup == validationGroup) {
            ValidatorValidate(valIter);

            idToParse = valIter.id;
            boxName = "box" + idToParse.substring(idToParse.lastIndexOf("_")).replace(/_/i, "");
            box = document.getElementById(boxName);

            if (box !== null) {
                box.setAttribute("className", "boxValidator");
            }
        }
    }

    //Modifica mesmo o css da box
    for (i = 0; i < validators.length; i++) {
        valIter = validators[i];

        if (valIter.validationGroup == validationGroup) {
            ValidatorValidate(valIter);

            idToParse = valIter.id;
            boxName = "box" + idToParse.substring(idToParse.lastIndexOf("_")).replace(/_/i, "");
            box = document.getElementById(boxName);

            if (box !== null) {
                if (!valIter.isvalid) {
                    res = false;
                    box.setAttribute("className", "boxValidator error");
                } else {
                    if (box.getAttribute("className") !== "boxValidator error")
                        box.setAttribute("className", "boxValidator");
                }
            }
        }
    }
}


function RefreshParentPage() {
    window.parent.location.reload();
}
function RefreshPage() {
    window.location.reload();
}
