﻿/**
 * Abre uma popup centralizada.
 * @param {string}  arquivo     Arquivo a ser aberto
 * @param {string}  nome        Nome da window da popup
 * @param {int}     width       Largura da popup
 * @param {int}     height      Altura da popup
 * @param {string}  properties  Outras propriedades da popup (scroolbars, resizable, etc)
 */
function openPopUp(arquivo, nome, width, height, properties) {
    var left = parseInt((screen.availWidth - width)/2);
    var top = parseInt((screen.availHeight - height)/2);
    var w = window.open(
        arquivo,
        nome,
        "top="+top+",left="+left+",width="+width+",height="+height+(properties != "" ? ","+properties : "")
    );
    w.focus();
}

function mOvr(el) {
    dojo.html.setOpacity(el, 1);
}

function mOut(el) {
    if(el == selected) { return; }
    dojo.html.setOpacity(el, 0.4);
}

function tglImg(el, src) {
    el.src = src;
}

function showError(message)
{
    var Message = new String(message);
    var Code = Message.substring(3, 9);

    if (parseInt(Code) <= -20000)
    {
        var pos = Message.indexOf('ORA-', 5);
        Message = Message.substring(10, pos);
    }
    else
    {
        Message = "Generic Error!";
    }
    Message = Message.replace('#FIM', '');
    alert(Message);
}

var WCM_MODIFIERS = {
    toShortDate : function(str) { 
        var dt = new Date(str);
        var day = '00'+dt.getDate();
        var month = '00'+(dt.getMonth()+1);
        return day.substr(day.length-2,2) + '/' + 
               month.substr(month.length-2,2) + '/' + 
               dt.getFullYear();
    },
    toShortDateTime : function(str) { 
        var dt = new Date(str);
        var day = '00'+dt.getDate();
        var month = '00'+(dt.getMonth()+1);
        var hour = '00'+dt.getHours();
        var minute = '00'+dt.getMinutes();
        return day.substr(day.length-2,2) + '/' + 
               month.substr(month.length-2,2) + '/' + 
               dt.getFullYear() + ' ' +
               hour.substr(hour.length-2,2) + ':' + 
               minute.substr(minute.length-2,2);
    },
    toRUTFormat : function(str){
        var value = new String(str);
        value = value.substr(0,8) + '-' + value.substr(8,1);
        return value;
    }
};


function openURL(url) {
    var w = window.open(url, 'link');
    w.focus();
}


function getIFrameDocument(iFrameId) {
    var oIframe = document.getElementById(iFrameId);
    var oDoc = oIframe.contentWindow || oIframe.contentDocument;
    if (oDoc.document) {
        oDoc = oDoc.document;
    }
    return oDoc;
}

function formatDateTime(value) {
    var result = new Date(value);
    
    result = result.getDate() + '/' 
             + (result.getMonth() + 1) + '/' 
             + result.getFullYear() + ' ' 
             + result.getHours() + ':' 
             + result.getMinutes() + ':'
             + result.getSeconds();
   return result;
}

function SerializeForm(exceptionMessage) {
    var controls = document.forms[0].elements
    var _return = new String('');
    var required = false;
    var firstControl = null;

    for(var i = 0; i < controls.length; i++) {
        var _id = new String(controls[i].id);
        if(_id.length > 3) {
            if(_id.substring(0,3) == 'wcm') {
                if(!dojo.lang.isUndefined(controls[i].attributes["required"])) {
                    if(controls[i].value == '') {
                        if(firstControl == null)
                            firstControl = controls[i];
                            
                        controls[i].className = 'required_field';
                        required = true;
                    } else {
                        controls[i].className = 'normal_field';
                        _return += _id.substring(3, _id.length) + ":" + controls[i].value + ";";
                    }
                } else {
                    _return += _id.substring(3, _id.length) + ":" + controls[i].value + ";";
                }
            }
        }
    }
    if(_return.length > 0)
        _return = _return.substring(0, _return.length -1 );
    
    if(required) {
        _return = '';
        alert(exceptionMessage);
        firstControl.focus();
    }
    return _return;
}

function ValidateForm() {
    var controls = document.forms[0].elements;
    var firstControl = null;
    var validate = true;
    for(var i = 0; i < controls.length; i++) {
        var _id = new String(controls[i].id);
        if(_id.length > 3) {
            if(_id.substring(0,3) == 'wcm') {
                if(!dojo.lang.isUndefined(controls[i].attributes['validator'])) {
                    var _validator = controls[i].attributes['validator'];
                    switch(_validator.value) {
                        case 'Numeric': 
                            if(controls[i].value != '') {
                                if(isNaN(controls[i].value)) {
                                    controls[i].className = 'required_field';
                                    validate = false;
                                    if(firstControl == null)
                                        firstControl = controls[i];                                    
                                } else {
                                   controls[i].className = 'normal_field'; 
                                }
                            } else {
                                controls[i].className = 'normal_field';
                            }
                            break;
                    }
                } else {
                    controls[i].className = 'normal_field';
                }
            }
        }
    }
    
    if(!validate) {
        alert('This field accepts only numeric values.');
        firstControl.focus();
    }
    return validate;
}

