﻿var __cultureInfo = '{"name":"pt-BR","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":",","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":".","CurrencySymbol":"R$ ","NaNSymbol":"NaN (Não é um número)","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":1,"PercentNegativePattern":1,"NegativeInfinitySymbol":"-Infinito","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":",","NumberGroupSeparator":".","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"+Infinito","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":",","PercentGroupSeparator":".","PercentSymbol":"%","PerMilleSymbol":"‰","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"","Calendar":{"MinSupportedDateTime":"\/Date(-62135589600000)\/","MaxSupportedDateTime":"\/Date(253402300799999)\/","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, d\u0027 de \u0027MMMM\u0027 de \u0027yyyy HH:mm:ss","LongDatePattern":"dddd, d\u0027 de \u0027MMMM\u0027 de \u0027yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"dd\u0027 de \u0027MMMM","PMDesignator":"","RFC1123Pattern":"ddd, dd MMM yyyy HH\u0027:\u0027mm\u0027:\u0027ss \u0027GMT\u0027","ShortDatePattern":"d/M/yyyy","ShortTimePattern":"H:mm","SortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd HH\u0027:\u0027mm\u0027:\u0027ss\u0027Z\u0027","YearMonthPattern":"MMMM\u0027 de \u0027yyyy","AbbreviatedDayNames":["dom","seg","ter","qua","qui","sex","sáb"],"ShortestDayNames":["dom","seg","ter","qua","qui","sex","sáb"],"DayNames":["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],"AbbreviatedMonthNames":["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""],"MonthNames":["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""],"IsReadOnly":true,"NativeCalendarName":"Calendário gregoriano","AbbreviatedMonthGenitiveNames":["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""],"MonthGenitiveNames":["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""]}}';

var tdsActiveIndex = {
    next:function(ctrlId){
        var control = document.getElementById(ctrlId);
        var index = parseInt(control.value);
        control.value = ++index;
    },
    prior:function(ctrlId){
        var control = document.getElementById(ctrlId);
        var index = parseInt(control.value);
        control.value = --index;
    },
    set:function(index, ctrlId)
    {
        var control = document.getElementById(ctrlId);                            
        control.value = index;
    }
}


var tdsAutoComplete = {
    textBox:null,
    comboBox:null,
    isCollapsed:true,
    forceMatch:true,
    size:10,
    positionBkp:null,
    zIndexBkp:null,
    topBkp:null,
    leftBkp:null,    
    addAttribute:function(object, name, attribute){
        var namedAtt = document.createAttribute(name);
        namedAtt.value = attribute;
        object.attributes.setNamedItem(namedAtt);
    },
    getX:function(oElement){
        var offsetLeft = 0;
        while(oElement != null){
            offsetLeft += oElement.offsetLeft;
            oElement = oElement.offsetParent;
        }
        return offsetLeft;
    },
    getY:function(oElement){
        var offsetTop = 0;
        while(oElement != null){
            offsetTop += oElement.offsetTop;
            oElement = oElement.offsetParent;
        }
        return offsetTop;
    },
    showField:function(){
        var field = tdsAutoComplete.textBox;
        var select = tdsAutoComplete.comboBox;
        
        if(field != null && select != null && field.style.display == 'none'){
            var style = field.style;
            var top = tdsAutoComplete.getY(select);
            var left = tdsAutoComplete.getX(select);
            
            style.display = '';
            style.top = top + select.clientTop;
            style.left = left + select.clientLeft;
            style.heigth = select.clientHeight;
            style.width = select.clientWidth;
            
            tdsAutoComplete.positionBkp = select.style.position;
            tdsAutoComplete.zIndexBkp = select.style.zIndex;
            tdsAutoComplete.topBkp = select.style.top;
            tdsAutoComplete.leftBkp = select.style.left;

            select.style.position = 'absolute';
            select.style.zIndex = 10;
            select.style.top = top + select.clientTop + select.clientHeight;
            select.style.left = (left + select.clientLeft - 3);
            
            if(select.length > 1){
                select.size = (select.options.length <= tdsAutoComplete.size) ? select.options.length - 1 : tdsAutoComplete.size;
            }
            
            
            field.value = '';
            field.focus();
        }
    },
    setElements:function(comboBox, forceMatch){
        tdsAutoComplete.textBox = document.getElementById(comboBox +'_txt');
        tdsAutoComplete.comboBox = document.getElementById(comboBox);
        tdsAutoComplete.forceMatch = forceMatch;
    },
    autoComplete:function(e){
        var field = tdsAutoComplete.textBox;
        var select = tdsAutoComplete.comboBox;
        var keynum = (window.event) ? e.keyCode : e.which;
        
        switch(keynum){
            case 13:
                field.style.display = 'none';
                select.focus();
                return;
            case 40:
            case 80:
            case 9:
                return;
        }

        tdsAutoComplete.showField();
        
	    var found = false;
	    for (var i = 0; i < select.options.length; i++) {
		    if (select.options[i]['text'].toUpperCase().indexOf(field.value.toUpperCase()) == 0) {
			    found = true; 
			    break;
		    }
	    }
	    if (found) { 
	        select.selectedIndex = i; 
	    }
	    else { 
	        select.selectedIndex = -1; 
	    }
    	
	    if (tdsAutoComplete.forceMatch && !found) {
		    field.value = field.value.substring(0, field.value.length-1); 
		    return;
	    }
    	
	    var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
	    if (cursorKeys.indexOf(keynum +";") == -1) {
	        if (field.createTextRange) {
		        var r1 = field.createTextRange();
		        var oldValue = r1.text;
		        var newValue = found ? select.options[i]['text'] : oldValue;
    			
		        if (newValue != field.value) {
			        field.value = newValue;
			        var rNew = field.createTextRange();
			        rNew.moveStart('character', oldValue.length) ;
			        rNew.select();
		        }
	        }else{
	            var oldValue = field.value;
	            var newValue = found ? select.options[i]['text'] : oldValue;
    	        
	            if (newValue != field.value) {
	                field.value = newValue;
	                field.setSelectionRange(oldValue.length, newValue.length);
	            }
	        }
        }
    },
    hiddenElement:function(){
        var select = tdsAutoComplete.comboBox;
        select.size = 1;   
        
        select.style.position = tdsAutoComplete.positionBkp;
        select.style.zIndex = tdsAutoComplete.zIndexBkp;
        select.style.top = tdsAutoComplete.topBkp;
        select.style.left = tdsAutoComplete.leftBkp;
    },
    cancelReturn:function(e){
        var field = tdsAutoComplete.textBox;
        var list = tdsAutoComplete.comboBox;
        var keynum = (window.event) ? e.keyCode : e.which;
        
        if( keynum == 13){
            if (window.event) e.returnValue = false;
            
            if(field.value.length > 0){
                field.value = list.options[list.selectedIndex].text;
                if(field.createTextRange){
                    var rNew = field.createTextRange();
                    rNew.move('character', 0) ;
                    rNew.select();
                }else{
                    field.setSelectionRange(0, 0);
                }
            }
            tdsAutoComplete.hiddenElement();            
            return false;
        }

        return true;
    },
    copyText:function(e){
        var field = tdsAutoComplete.textBox;
        var list = tdsAutoComplete.comboBox;
        var keynum = (window.event) ? e.keyCode : e.which;
        
        if(list.selectedIndex >= 0 && field.style.display == '' ){
            field.value = list.options[list.selectedIndex].text;
        }
    },
    focusControl:function(){
        var field = tdsAutoComplete.textBox;
        var list = tdsAutoComplete.comboBox;
        var focused = (document.commandDispatcher && document.commandDispatcher.focusedElement) ? 
                        document.commandDispatcher.focusedElement : document.activeElement;
        
        if(focused == null){
            tdsAutoComplete.hiddenElement();
        }else if(focused.name != list.name && field.style.display == ''){
            field.focus();
        }
    },
    mouseDown:function(e){
        var select = e.srcElement;
        var sourceX = tdsAutoComplete.getX(select);
        var sourceY = tdsAutoComplete.getY(select);
        
        var limiteConteudo = (e.offsetX > sourceX + select.clientLeft) && (e.offsetX <= (sourceX + select.clientWidth)) &&
                            (e.offsetY > (sourceY + select.clientTop)) && (e.offsetY <= (sourceY + select.offsetHeight));
                          
        if(!limiteConteudo){
            e.srcElement.focus();
        }else{
            tdsAutoComplete.showField();
        }
    }
}


var tdsControlPanel = {
    inicia:function(texto, imagem, link) {
        dragObject='ddMenu'; 
        document.getElementById('ddMenu').innerHTML = '<img style="filter: alpha(opacity=30);" src=' + imagem.replace("~/", "") + '>';
        document.getElementById('ddMenu').display = 'none';
    }
}


var tdsModalPopup = {
    backColor:new Array(),
    opacity:new Array(),
    modalPanel:new Array(),
    showModalPopup:function(){
        var visivel = false;
        var backColor = 'white';
        var opacity = 20;
        
        for(key in tdsModalPopup.modalPanel){
            visivel = tdsModalPopup.modalPanel[key].style.display == '';
            if(visivel){
                backColor = tdsModalPopup.backColor[key];
                opacity = tdsModalPopup.opacity[key];
                break;
            }
        }
    
        if(visivel && !document.getElementById('tdsModapPopupBackground')){
            tdsModalPopup.addBackground(backColor, opacity);
        }
    },
    addBackground:function(backColor, opacity){
        var myWidth = 0, myHeight = 0;
            
        if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
            myWidth = window.innerWidth;
            myHeight = window.innerHeight;
        } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {   //IE 6+ in 'standards compliant mode'
            myWidth = top.document.documentElement.clientWidth;
            myHeight = top.document.documentElement.clientHeight;
        } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible
            myWidth = top.document.body.clientWidth;
            myHeight = top.document.body.clientHeight;
        }    
        
        var modalPopup = document.createElement('div');
        modalPopup.setAttribute('id', 'tdsModapPopupBackground');
        modalPopup.style.position = 'absolute';
        modalPopup.style.zIndex = '100';
        modalPopup.style.left = 0;
        modalPopup.style.top = 0;
        modalPopup.style.width = myWidth +'px';
        modalPopup.style.height = myHeight +'px';
        modalPopup.style.display = 'block';
        modalPopup.style.backgroundColor = backColor;
       
        if(modalPopup.style.opacity)
            modalPopup.style.opacity = opacity / 100;
        else
            modalPopup.style.filter = 'alpha(opacity=' + opacity + ')';
        
        document.body.appendChild(modalPopup);
    }
}


var tdsCheckControl = {
    CheckAll:function(myself, prefix, sufix){
        var me = document.getElementById(myself);
        var tamanho = document.forms[0].length; 
        
        for(i=0; i < tamanho; i++){    
            var o = document.forms[0][i];
            if (o.type == 'checkbox' ){
                var isPrefix = (o.id.substring(0, prefix.length) == prefix);
                var isSufix = ((sufix.length > 0) ? o.id.indexOf(sufix) > 0 : true);
                var isSame = (me.name == o.name);
                if(!o.disabled && !isSame && isPrefix && isSufix ){
                    o.checked = me.checked;
                }            
            }
        }    
    },
    CheckInv:function(prefix, sufix){  
        var tamanho = document.forms[0].length;
        for(i=0; i < tamanho; i++){
            var o = document.forms[0][i];
            
            var isPrefix = (o.id.substring(0, prefix.length) == prefix);
            var isSufix = ((sufix.length > 0) ? o.id.indexOf(sufix) > 0 : true);
            
            if(!o.disabled && o.type == 'checkbox' && isPrefix && isSufix){
                o.checked = !o.checked;
            }
        }
    }
}


