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 | |
---|
6 | var data_inicio_original; |
---|
7 | var data_final_original; |
---|
8 | var hora_inicio_original; |
---|
9 | var minuto_inicio_original; |
---|
10 | var hora_final_original; |
---|
11 | var minuto_final_original; |
---|
12 | |
---|
13 | window.onload = function(){ |
---|
14 | if(location.href.indexOf("type=1") != -1) |
---|
15 | show_suggestion(); |
---|
16 | } |
---|
17 | |
---|
18 | function 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 | |
---|
35 | function 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 | |
---|
54 | function 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 | |
---|
94 | function 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 | |
---|
111 | function 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 | |
---|
147 | function 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 | |
---|
164 | function fecha_sugestao() |
---|
165 | { |
---|
166 | divSugestao = document.getElementById('suggestion'); |
---|
167 | divSugestao.style.visibility = "hidden"; |
---|
168 | divSugestao.style.display = "none"; |
---|
169 | } |
---|