function Agenda() { date=new Date(); this.any=date.getFullYear(); this.mes=date.getMonth()+1; date=undefined; // Metodes i propietats this.carregar=ag_carregar; this.guardar=ag_guardar; this.get_mes=ag_get_mes; this.get_any=ag_get_any; this.canvia=ag_canvia; // Definicio dels metodes // Carrega les possibles cookies per saber el mes i l'any function ag_carregar() { var llistaAux=parseCookies(); llista_zero=llistaAux; this.compra=new Array(); pr=new RegExp("ag_.*"); for(nom in llista_zero) { if(nom=='ag_mes') { this.mes=parseInt(llista_zero[nom],10); } if(nom=='ag_any') { this.any=parseInt(llista_zero[nom],10); } } } // Funcio auxiliar que llig les cookies function parseCookies() { var i, pares, valores, listaCookies; //posem cada parella "nom=valor" per separat pares = document.cookie.split("; "); // creem la llista de cookies var listaCookies=new Array(); pr=new RegExp("ag_.*"); // Guardem el valor en un array o un altre depenent el tipus de dada (titol, quantitat o preu) de cada producte for (i=0; i0) { this.mes+=1; if(this.mes>12) { this.mes-=12; this.any+=1; } } else { this.mes-=1; if(this.mes<1) { this.mes+=12; this.any-=1; } } this.guardar(); } this.carregar(); } /****************************************************************/ String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g,""); } /****************************************************************/ function validar_form_usuari(txtpass) { ret=true; p1=document.getElementById('pass1').value.trim(); p2=document.getElementById('pass2').value.trim(); if(p1!=p2) { alert(txtpass); ret=false; } return ret; } function validar_reg_usuari(txtpass) { ret=true; if(document.getElementById('usuari').value.trim()=="") { alert("El nom d'usuari no pot estar buit"); return false; } p1=document.getElementById('contrasenya').value.trim(); p2=document.getElementById('contrasenya2').value.trim(); if(p1!=p2) { alert(txtpass); ret=false; } return ret; } /*******************************************************************/ function validaData(a,b) { tratarFecha(document.getElementById(a),document.getElementById(a).value,true); if(b==true) { if(document.getElementById(a).value.length<=0) { alert("ERROR: El camp de la data està buït"); return false; } else { if(tratarFecha(document.getElementById(a),document.getElementById(a).value,false)) ok=true; else return false; } return true; } } // FUNCIONS VARIADES DE DATES function bisiesto(anyo) { if ((anyo%400 == 0) || (anyo%4 == 0) || (anyo%100 == 0)) return true; else return false; } function validarFecha(valor,validaFecha) { var dia, mes, anyo; var d,m,a; var error=0; formt = "'dd-mm-aaaa, dd/mm/aaaa'"; var reg = /(^\d{2})(-|\/)(\d{2})(-|\/)(\d{4}$)/; if (valor=="") { if (validaFecha==false) { return valor} else if (validaFecha==true) { alert ('La data introduïa no es vàlida'+'\n'+'El format correcte es '+formt); return false; } } else { farr = reg.exec(valor); // mira si coincide con el patron de fecha if (!farr) { if (validaFecha==false) return valor; else if (validaFecha==true) { alert ('La data introduïa no es vàlida'+'\n'+'El format correcte es '+formt); return false; } } else // el formato coincide, falta ver rangos { dia = farr[1]; mes = farr[3]; anyo = farr[5]; } if (validaFecha==false) { if ((dia!="")&&(mes!="")&&(anyo!="")) return dia+"-"+mes+"-"+anyo else return valor; } else { fecha = new String(valor); if (anyo <= 1900) { alert ('La data és incorrecta'+'\n'+'L\' any ha de ser superior a 1900'); return false; } if ( !caracter(dia,"es_numero") || !caracter(mes,"es_numero") || !caracter(anyo,"es_numero")) { alert ('La data introduïda no es vàlida'+'\n'+'El format correcte es '+formt); return false; } if ((dia < 1) || (dia > 31) || (mes < 1) || (mes > 12) || (anyo < 0)) { alert ('La data és incorrecta'); return false; } if ( mes == 2 ) { if ( dia > 29 ) { alert ('La data és incorrecta'); return false; } if ( (dia ==29 ) && !(bisiesto(anyo)) ) { alert ('La data és incorrecta, l\'any '+anyo+ ' no es bixest'); return false; } } else if (( dia == 31 ) && (( mes == 4 ) || ( mes == 6 ) || ( mes == 9 ) || ( mes == 11 ))) { alert ('La data és incorrecta, el mes especificat no té 31 dies.'+'\n'+'El format correcte és '+formt); return false; } return true; } } } function tratarFecha(campo, valorCampo,dateCheck) { if (valorCampo=="") return campo.value=""; else if (dateCheck==true) { campo.value=darFormatoFecha(valorCampo,"/"); } else if (dateCheck==false) { return validarFecha(valorCampo,true); } else campo.value=valorCampo; } function darFormatoFecha(valor,separadorSalida) { var fecha; var str=separadorSalida; fecha = new String(valor); var d,m,a,dd,mm,aa; fecha=sustituyeCaracter(valor,"-","/"); if (fecha.length==0) {formatoFecha=1;} else if (fecha.split('/').length==3) {formatoFecha=2;} //d/m/aaaa else if (fecha.length==8) {formatoFecha=3;} //ddmmaaaa else if (fecha.length==9) {formatoFecha=3;} //dd/mmaaaa , ddmm/aaaa else {formatoFecha=4;} if (formatoFecha==1) return ""; //fecha vacia else if (formatoFecha==2) //formato 'd-m-aaaa' { arrayFecha=fecha.split('/'); d=arrayFecha[0]; dd=rellenaCeros(d,2); m=arrayFecha[1]; mm=rellenaCeros(m,2); a=arrayFecha[2]; if(a.length<4){ // Si el anyo no esta en 4 digitos le sumamos 1900 o 2000 var a_number = parseInt(a); if(a_number < 30) a = a_number + 2000; else a = a_number + 1900; } fechaFormateada=dd+str+mm+str+a; return fechaFormateada; } else if (formatoFecha==3) //formato 'ddmmaaaa' { fecha=sustituyeCaracter(fecha,"/",""); if (!caracter(fecha,"es_numero")) { return valor; } else { dd=fecha.substring(0,2); mm=fecha.substring(2,4); a=fecha.substring(4,8); if(a.length<4){ // Si el anyo no esta en 4 digitos le sumamos 1900 o 2000 var a_number = parseInt(a); if(a_number < 30) a = a_number + 2000; else a = a_number + 1900; } fechaFormateada=dd+str+mm+str+a; return fechaFormateada; } } else if (formatoFecha==4) { return valor; } return ""; } function dataactual() { a=new Date(); b=a.getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear(); document.getElementById('data').value=b; delete a; delete b; validaData('data',false); } function dataactualAgenda() { a=new Date(); b=a.getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear(); document.getElementById('dataIni').value=b; delete a; delete b; validaData('dataIni',false); a=new Date(); b=a.getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear(); document.getElementById('dataFi').value=b; delete a; delete b; validaData('dataFi',false); } function esborrarNoticia(titol) { ret=false; ret=confirm("Estas segur d'esborrar la notícia '"+titol+"'"); return ret; } function esborrarMocio(titol) { ret=false; ret=confirm("Estas segur d'esborrar la moció '"+titol+"'"); return ret; } // -------------------------------------------------- // Funciones de Caracteres // * caracter devuelve una variable boolean indicando si la // cadena pasada es del tipo que queremos comprobar. // * rellenaCeros // // -------------------------------------------------- function caracter(cadena,tipo) { var c=0; letras="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; numero="0123456789"; caracter_control="§#!|ºª\"\\·$%&/()=?¿¡{}+*'[]_,;:<>"; letras_especiales="ñÑàèìòùáéíóúüçÁÉÍÓÚÜÇ "; signos_puntuacion=".,;:"; if (tipo == "es_numero") { for (c=0;c"+i+""); } } function externalLinks() { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i