[5143] | 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 | } |
---|