// JavaScript Document function desplegar_menu() { $("#menu").toggleClass("mobile_active"); } function desplega_newsletter() { $(".contenidor_newsletter").slideToggle(); } function desplega_acte(id_acte,id_contenidor) { var id_remove = $("#"+id_contenidor+" div.active").attr('id'); if(!$("#"+id_acte).hasClass("active")) { $("#"+id_acte).slideDown().addClass("active"); $("#link_"+id_acte).find('span').remove(); $("#link_"+id_acte).append(" - Tancar"); } $("#"+id_remove).slideUp().removeClass("active"); $("#link_"+id_remove).find('span').remove(); $("#link_"+id_remove).append(" - Veure més"); } function scroll_a_id(id) { $("html,body").animate({scrollTop:$(id).offset().top}); } function obrir_video_slide(video) { $.magnificPopup.open({ items: { src: video, // can be a HTML string, jQuery object, or CSS selector type: 'iframe' }, callbacks:{ close: function(){$(".slide_gran").cycle('resume');} } }); $(".slide_gran").cycle('pause'); } function canvia_camps_donatius(tipus) { if(tipus == "Persona") { $(".camp_empresa").css("display","none"); $(".camp_persona").css("display","inline-block"); } else { $(".camp_empresa").css("display","inline-block"); $(".camp_persona").css("display","none"); } } function canvia_periodicitat(obj) { $("#periodicitat").val(obj.value); $(".boto_periodicitat").removeClass("active"); $("#"+obj.id).addClass("active"); } function canvia_quantitat(valor) { valor=valor.replace(",","."); valor=valor.replace("€",""); $("#valor_eur").val( (Math.round(valor*100)/100) + " €" ); $("#amount_targeta").val(Math.round(valor*100)); $(".boto_quantitat").removeClass("active"); try { $("#qty_"+valor).addClass("active"); }catch(e){}; } function inserir_nova_quantitat(obj) { if($('.boto_quantitat.active').length > 0) { $(".boto_quantitat").removeClass("active"); obj.value = ""; }else { $(this).addClass("active"); } } function comprova_quantitat(valor) { valor=valor.replace(",","."); if(valor.length == 0 || isNaN(valor) || valor <= 0) { canvia_quantitat("20€"); } else canvia_quantitat(valor+"€"); } function mostra_empreses(id_directori,lletra) { $(".lletres_empreses a").removeClass("active"); $("#lletra_"+lletra).addClass("active"); $("#llistat_empreses_"+id_directori).html("Carregant empreses..."); if($(window).width() < 650) { $('html,body').animate({scrollTop:$("#llistat_empreses_"+id_directori).offset().top-20}); } $.ajax({ type: "POST", url: 'http://www.caritasgirona.cat//index.php?id='+id_directori+'&no_index=true&lletra='+lletra, dataType: "html", success: function(data) { $("#llistat_empreses_"+id_directori).html(data); } }); } function comprova_forma_pagament(obj) { if(obj.value == "domiciliacio") { $("#pagament_domiciliacio").css('display','block'); $("#pagament_targeta").css('display','none'); $("#boto_enviar_donatiu").css('display','inline-block'); $("#nom_titular,#opcions_iban,#opcions_periodicitat").css('display','block'); } else if(obj.value == "targeta") { $("#nom_titular,#opcions_iban,#opcions_periodicitat").css('display','none'); } } function initialize(x,y,canvas,markerTitle) { x = parseFloat(x); y = parseFloat(y); var myLatlng = new google.maps.LatLng(x,y); var myOptions = { zoom: 15, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById(canvas), myOptions); var marker = new google.maps.Marker({ position: myLatlng, map: map, icon: 'http://www.caritasgirona.cat//templates/PUBLIC/img/marcador_mapa.png', title: markerTitle }); } function comprova_form_contacte() { error = ""; frm = document.frm_contacte; if(frm.nom.value.length < 3 || frm.nom.value == "Nom") error += 'Ompli el camp: Nom\n'; if(frm.telefon.value.length < 3 || frm.telefon.value == "Telèfon") error += 'Ompli el camp: Telèfon\n'; if(frm.xmal.value.length < 3 || frm.xmal.value == "E-mail") error += 'Ompli el camp: E-mail\n'; else if(!(/\S+@\S+\.\S+/.test(frm.xmal.value))) error += 'Email incorrecte\n'; if(!frm.check_condicions.checked) error += 'Cal acceptar les condicions abans de continuar\n'; if(frm.captcha_client.value.length < 4) error += 'Escriu el codi\n'; if(error) alert(error); else frm.submit(); } function comprova_form_newsletter() { error = ""; frm = document.frm_newsletter; if(frm.name.value.length < 3 || frm.name.value == "Nom") error += 'Ompli el camp: Nom\n'; if(frm.xmal.value.length < 3 || frm.xmal.value == "E-mail") error += 'Ompli el camp: E-mail\n'; else if(!(/\S+@\S+\.\S+/.test(frm.xmal.value))) error += 'Email incorrecte\n'; if(!frm.check_condicions.checked) error += 'Cal acceptar les condicions abans de continuar\n'; if(error) alert(error); else frm.submit(); } function validaData(data){ var dtCh= "/"; var minYear=1900; var maxYear=2100; function isInteger(s){ var i; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } return true; } function stripCharsInBag(s, bag){ var i; var returnString = ""; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function daysInFebruary (year){ return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { for (var i = 1; i <= n; i++) { this[i] = 31 if (i==4 || i==6 || i==9 || i==11) {this[i] = 30} if (i==2) {this[i] = 29} } return this } function isDate(dtStr){ var daysInMonth = DaysArray(12) var pos1=dtStr.indexOf(dtCh) var pos2=dtStr.indexOf(dtCh,pos1+1) var strDay=dtStr.substring(0,pos1) var strMonth=dtStr.substring(pos1+1,pos2) var strYear=dtStr.substring(pos2+1) strYr=strYear if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1) if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1) for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1) } month=parseInt(strMonth) day=parseInt(strDay) year=parseInt(strYr) if (pos1==-1 || pos2==-1){ return false } if (strMonth.length<1 || month<1 || month>12){ return false } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){ return false } if (strYear.length != 4 || year==0 || yearmaxYear){ return false } if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){ return false } return true } if(isDate(data)){ return true; }else{ return false; } } function valida_nif_cif_nie( a ) { var temp = a.toUpperCase(); var cadenadni = "TRWAGMYFPDXBNJZSQVHLCKE"; if( temp!= '' ) { //si no tiene un formato valido devuelve error if( ( !/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test( temp ) && !/^[T]{1}[A-Z0-9]{8}$/.test( temp ) ) && !/^[0-9]{8}[A-Z]{1}$/.test( temp ) ) { return 0; } //comprobacion de NIFs estandar if( /^[0-9]{8}[A-Z]{1}$/.test( temp ) ) { posicion = a.substring( 8,0 ) % 23; letra = cadenadni.charAt( posicion ); var letradni = temp.charAt( 8 ); if( letra == letradni ) { return 1; } else { return -1; } } //algoritmo para comprobacion de codigos tipo CIF suma = parseInt(a.charAt(2))+parseInt(a.charAt(4))+parseInt(a.charAt(6)); for( i = 1; i < 8; i += 2 ) { temp1 = 2 * parseInt( a.charAt( i ) ); temp1 += ''; temp1 = temp1.substring(0,1); temp2 = 2 * parseInt( a.charAt( i ) ); temp2 += ''; temp2 = temp2.substring( 1,2 ); if( temp2 == '' ) { temp2 = '0'; } suma += ( parseInt( temp1 ) + parseInt( temp2 ) ); } suma += ''; n = 10 - parseInt( suma.substring( suma.length-1, suma.length ) ); //comprobacion de NIFs especiales (se calculan como CIFs) if( /^[KLM]{1}/.test( temp ) ) { if( a.charAt( 8 ) == String.fromCharCode( 64 + n ) ) { return 1; } else { return -1; } } //comprobacion de CIFs if( /^[ABCDEFGHJNPQRSUVW]{1}/.test( temp ) ) { temp = n + ''; if( a.charAt( 8 ) == String.fromCharCode( 64 + n ) || a.charAt( 8 ) == parseInt( temp.substring( temp.length-1, temp.length ) ) ) { return 2; } else { return -2; } } //comprobacion de NIEs //T if( /^[T]{1}[A-Z0-9]{8}$/.test( temp ) ) { if( a.charAt( 8 ) == /^[T]{1}[A-Z0-9]{8}$/.test( temp ) ) { return 3; } else { return -3; } } //XYZ if( /^[XYZ]{1}/.test( temp ) ) { temp = temp.replace( 'X','0' ) temp = temp.replace( 'Y','1' ) temp = temp.replace( 'Z','2' ) pos = temp.substring(0, 8) % 23; if( a.toUpperCase().charAt( 8 ) == cadenadni.substring( pos, pos + 1 ) ) { return 3; } else { return -3; } } } return 0; }