source: trunk/calendar/templates/default/js/suggestion.js @ 5143

Revision 5143, 5.3 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2305 - Enviando alteracoes, desenvolvidas internamente na Prognus. Calendar: adicionando arquivos.

Line 
1/**
2 * Gerenciamento das sugestões de mudança de horário de compromissos feitas pelos usuários.
3 * Prognus Software Livre - http://www.prognus.com.br
4 */
5
6var data_inicio_original;
7var data_final_original; 
8var hora_inicio_original;
9var minuto_inicio_original;
10var hora_final_original;   
11var minuto_final_original;
12 
13 window.onload = function(){
14  if(location.href.indexOf("type=1") != -1)
15        show_suggestion();
16}
17
18function validate_hour_field(data,begin)
19{       
20        begin==0? id='hora_inicio' : id='hora_final';
21        if(isNaN(data.value))
22        {
23                alert("A hora deve ser um número");
24                document.getElementById(id).value = "";
25                return;
26        }
27        if(data.value < 0 || data.value >= 24)
28        {
29                alert("A hora deve estar entre 0 e 23");
30                document.getElementById(id).value = "0";
31                return;
32        }
33}
34
35function validate_minute_field(data,begin)
36{
37        begin==0? id='minuto_inicio' : id='minuto_final';
38        if(isNaN(data.value))
39        {
40                alert("O minuto deve ser um número");
41                document.getElementById(id).value = "";
42                data.focus();
43                return;
44        }
45        if(data.value < 0 || data.value > 59)
46        {
47                alert("Os minutos devem estar entre 0 e 59");
48                document.getElementById(id).value = "";
49                data.focus();
50                return;
51        }
52}
53
54function validate_date_field(data, begin)
55{
56        begin==0? id='data_inicio' : id='data_final';
57        if(isNaN(data.value) && data.value.indexOf('/')==-1)
58        {
59                alert("Por favor, complete a data somente com números");
60                document.getElementById(id).value = "";
61                return;
62        }
63        var expReg =  /^((((0?[1-9]|1\d|2[0-8])\/(0?[1-9]|1[0-2]))|((29|30)\/(0?[13456789]|1[0-2]))|(31\/(0?[13578]|1[02])))\/((19|20)?\d\d))$|((29\/0?2\/)((19|20)?(0[48]|[2468][048]|[13579][26])|(20)?00))$/;
64    if ((data.value.match(expReg)) && data.value!='')
65        {
66                var dts = new Date(); 
67        var dia_atual = dts.getDate();
68        var mes_atual = dts.getMonth()+1;
69        var ano_atual = dts.getFullYear();   
70
71        var dia = data.value.substring(0,2);
72        var mes = data.value.substring(3,5);
73        var ano = data.value.substring(6,10);
74               
75                if((ano_atual>ano) || ((ano_atual==ano) && (mes_atual>mes)) || ((ano_atual==ano) && (mes_atual==mes) && (dia_atual>dia)))
76                {
77                        alert("Formato inválido de data.\nCompromisso mais antigo que a data atual.");
78                        data.value = "";
79                        data.focus();
80                }
81    }
82        else
83        {
84                if(data.value != '')
85                {
86                        alert("Formato inválido de data.");
87                        data.value = "";
88                        data.focus();
89                }
90    }
91}
92
93
94function insere_barras(begin)
95{
96        begin==0? id='data_inicio' : id='data_final';
97        obj = document.getElementById(id);
98        value = obj.value;
99        l = value.toString().length;
100        switch(l){
101                case 2:
102                        obj.value = value + "/";
103                break;
104                case 5:
105                        obj.value = value + "/";
106                break;
107        }
108}
109
110
111function trata_botao_submit()
112{
113        inicio = document.getElementById('data_inicio').value.split("/");
114        fim    = document.getElementById('data_final').value.split("/");
115       
116        if((document.getElementById('data_inicio').value == data_inicio_original) && (document.getElementById('data_final').value == data_final_original) && (document.getElementById('hora_inicio').value == hora_inicio_original) && (document.getElementById('minuto_inicio').value == minuto_inicio_original) && (document.getElementById('hora_final').value == hora_final_original) && (document.getElementById('minuto_final').value == minuto_final_original))
117        {
118                alert("A sugestão deve ser diferente do compromisso original.");
119                return false;
120        }
121       
122        if((inicio[2] > fim[2]) || ((inicio[1] > fim[1]) && (inicio[2]<=fim[2])) || (((inicio[0] > fim[0]) && ((inicio[1]<=fim[1]) && (inicio[2]<=fim[2])))))
123        {
124                alert("Data de início maior que data de fim.");
125                return false;
126        }
127
128        if((parseInt(document.getElementById('hora_inicio').value) > parseInt(document.getElementById('hora_final').value)) || ((parseInt(document.getElementById('minuto_inicio').value) > parseInt(document.getElementById('minuto_final').value)) && (parseInt(document.getElementById('hora_inicio').value) <= parseInt(document.getElementById('minuto_final').value))))
129        {
130                alert("Hora de início maior que hora de término.");
131                return false;
132        }
133       
134        if((document.getElementById('data_inicio').value =="") || (document.getElementById('data_final').value =="") || (document.getElementById('hora_inicio').value =="") || (document.getElementById('minuto_inicio').value =="") || (document.getElementById('hora_final').value =="") || (document.getElementById('minuto_final').value ==""))
135        {       
136                alert("Por favor, preencha todos os campos para enviar a solicitação.");
137                return false;
138        }
139        else
140        {
141                alert("Novo horário sugerido com sucesso.\nUm email foi enviado para o criador do evento com sua sugestão.");
142                window.close();
143        }
144}
145
146
147function show_suggestion()
148{
149        divElement = document.getElementById('suggestion');
150        divElement.style.visibility = 'visible';
151        divElement.style.display = 'block';
152       
153        data_inicio_original    = document.getElementById('data_inicio').value;
154        data_final_original     = document.getElementById('data_final').value;
155        hora_inicio_original    = document.getElementById('hora_inicio').value;
156        minuto_inicio_original  = document.getElementById('minuto_inicio').value;
157        hora_final_original     = document.getElementById('hora_final').value;
158        minuto_final_original   = document.getElementById('minuto_final').value;
159
160        return( false );
161}
162
163
164function fecha_sugestao()
165{
166        divSugestao = document.getElementById('suggestion');
167        divSugestao.style.visibility = "hidden";
168        divSugestao.style.display    = "none";
169}
Note: See TracBrowser for help on using the repository browser.