/***************************************************************/
/******************** VARIABLES GLOBALES ***********************/
/***************************************************************/
var weekday=new Array(7);
weekday[0]="Domingo";
weekday[1]="Lunes";
weekday[2]="Martes";
weekday[3]="Mi\u00e9rcoles";
weekday[4]="Jueves";
weekday[5]="Viernes";
weekday[6]="S\u00e1bado";
var monthName = new Array(12);
monthName[0]="Enero";
monthName[1]="Febrero";
monthName[2]="Marzo";
monthName[3]="Abril";
monthName[4]="Mayo";
monthName[5]="Junio";
monthName[6]="Julio";
monthName[7]="Agosto";
monthName[8]="Septiembre";
monthName[9]="Octubre";
monthName[10]="Noviembre";
monthName[11]="Diciembre";
jQuery.fn.serializeObject = function() {
var arrayData, objectData;
arrayData = this.serializeArray();
objectData = {};
$.each(arrayData, function() {
var value;
if (this.value != null) {
value = this.value;
} else {
value = '';
}
if (objectData[this.name] != null) {
if (!objectData[this.name].push) {
objectData[this.name] = [objectData[this.name]];
}
objectData[this.name].push(value);
} else {
objectData[this.name] = value;
}
});
return objectData;
};
/***************************************************************/
/******************** FIN VARIABLES GLOBALES *******************/
/***************************************************************/
/***************************************************************/
/************************ CSS MULTIBROWSER *********************/
/***************************************************************/
/**
* Variable para verificar que navegador y version esta utilizando el usuario.
* Hay que inicializarla en la página con la llamada BrowserDetect.init();
*/
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i");
} else if (BrowserDetect.browser == "Explorer") {
if (BrowserDetect.version==9) {
//css para ie9
document.write("");
} else if (BrowserDetect.version==8) {
//css para ie8
document.write("");
} else {
//css para ie7 y resto de ie's
document.write("");
}
} else if (BrowserDetect.browser == "Chrome") {
//pintamos la de chrome
document.write("");
} else {
//pintamos una css para el resto de navegadores
}
} else if (modulo == "mainmenu") {
if (BrowserDetect.browser == "Explorer" && BrowserDetect.version <= 7) {
//css para ie7 y resto de ie's
document.write("");
}
} else if ("agenda_ttss") {
if (BrowserDetect.browser == "Firefox") {
//pintamos la css de firefox
} else if (BrowserDetect.browser == "Explorer") {
if (BrowserDetect.version==9) {
//css para ie9
document.write("");
} else if (BrowserDetect.version==8) {
//css para ie8
document.write("");
} else {
//css para ie7 y resto de ie's
document.write("");
}
} else if (BrowserDetect.browser == "Chrome") {
//pintamos la de chrome
} else {
//pintamos una css para el resto de navegadores
}
}
}
/***************************************************************/
/******************** FIN CSS MULTIBROWSER *********************/
/***************************************************************/
/***************************************************************/
/************************ ARRAYS *******************************/
/***************************************************************/
/**
* Elimina un elemento de un array
*
* @param value - valor del elemento en el array
* @param arr - array
* @return
*/
function arrayPopByValue(value, arr) {
var pos = getPositionInArray(value, arr);
if (pos == -1) {
return;
} else {
if (pos == 0) {
arr.shift();
} else if (pos == (arr.length - 1)) {
arr.pop();
} else {
arr.splice(pos, 1);
}
}
}
/**
* Devuelve la posicion de un elemento en un array
*
* @param value - valor del elemento en el array
* @param arr - array
* @return
*/
function getPositionInArray(value, arr) {
for (var i=0; ifecha2, ambas fechas en formato dd/MM/yyyy
*
* @param fecha1, fecha2
* @return true si fecha1>fecha2 , false en cualquier otro caso
*/
function isFecha1GTFecha2(fecha1,fecha2){
var tempFecha1=fecha1.split("/");
var tempFecha2=fecha2.split("/");
var dia1=Number (tempFecha1[0]); // el number es para eliminar 0 a la izquierda
var mes1=Number (tempFecha1[1]);
var year1=tempFecha1[2];
var dia2=Number (tempFecha2[0]);
var mes2=Number (tempFecha2[1]);
var year2=tempFecha2[2];
//quitamos cero inicial del dia y el mes
if(dia1.length==2 && dia1.charAt(0)=='0'){
dia1=dia1.substr(1,1);
}
if(dia2.length==2 && dia2.charAt(0)=='0'){
dia2=dia2.substr(1,1);
}
if(mes1.length==2 && mes1.charAt(0)=='0'){
mes1=mes1.substr(1,1);
}
if(mes2.length==2 && mes2.charAt(0)=='0'){
mes2=mes2.substr(1,1);
}
if(year1>year2){
return true;
}
else if( year1==year2){
if(mes1>mes2){
return true;
}
else if(mes1==mes2){
if(dia1>dia2){
return true;
}
else{
return false;
}
}
}
return false;
}
/**
* Calcula el dia de hoy en formato Miercoles, 25 de Septiembre del 2013 y lo introduce
* en un objeto jQuery con el id remitido
*
* @param idCont
*/
function setTodayDate(idCont) {
var today = new Date();
var currentDay = (today.getDate() < 10 ? "0" : "") + today.getDate();
var currentMonth = today.getMonth();
var currentYear = today.getFullYear();
var currentDayWeek = today.getDay();
var currenDateString = weekday[currentDayWeek] + ", " + currentDay + " de " + monthName[currentMonth] + " del " + currentYear;
$('#' + idCont).html(currenDateString);
}
/**
* Comprueba si el campo 1 es menor que el campo 2 (int) parseandolos a entero
*
* @param field1
* @param field2
* @returns {Boolean}
*/
function isF1LessThanF2(field1,field2){
if(parseInt(field1)parseInt(field2)){
return true;
}
return false;
}
/**
* Comprueba si el campo 1 y el 2 son iguales parseandolos a entero
*
* @param field1
* @param field2
* @returns {Boolean}
*/
function isF1EqualF2(field1,field2){
if(parseInt(field1)==parseInt(field2)){
return true;
}
return false;
}
/***************************************************************/
/************************ FIN FECHAS ***************************/
/***************************************************************/
/***************************************************************/
/************************ DIALOGOS *****************************/
/***************************************************************/
/**
* Abre un Dialog de jQuery con el id dialogId.
* Si dialogPClass y dialogMsg no es blank, setea en el hijo del dialog con
* dicha clase el mensaje remitido
*
* @param dialogId - el id del dialogo
* @param dialogClass - la clase del hijo del elemento dialogo donde se quiere insertar el texto
* @param dialogMsg - el texto a insertar
*/
function abreDialogoJquery(dialogId, dialogClass, dialogMsg) {
if (isNotBlankString(dialogClass) && isNotBlankString(dialogMsg)) {
$('#' + dialogId).find('.' + dialogClass).text(dialogMsg);
}
$('#' + dialogId).dialog('open');
}
/**
* Cierra el dialog de jQuery con el id indicado
*
* @param dialogId - id del dialog
*/
function cierraDialogoJquery(dialogId) {
$('#' + dialogId).dialog('close');
}
/***************************************************************/
/************************ FIN DIALOGOS *************************/
/***************************************************************/
/***************************************************************/
/************************ VALIDACIONES *************************/
/***************************************************************/
/**
* Comprueba si un objeto de jQuery es vacio o no
*
* @param obj
* @returns {Boolean}
*/
function isNotBlank(obj) {
if (obj.val() != null && obj.val()!= "" && obj.val() != " ") {
return true;
} else {
return false;
}
}
/**
* Comprueba si una cadena es vacia o no
*
* @param str
* @returns {Boolean}
*/
function isNotBlankString(str) {
if (str != null && str != "" && str != " ") {
return true;
} else {
return false;
}
}
/**
*
* @param obj
*/
function validaCampo(obj) {
if (obj.hasClass('hora')) {
if (isNotBlank(obj)) {
if (obj.val().length < 5)
obj.val(obj.val().substring(0, 2) + ":" + obj.val().substring(2));
var er_fh = /^(0[0-9]|1\d|2[0-3]):([0-5]\d)$/;
if ( !(er_fh.test( obj.val() )) ) {
alert("La hora introducida debe estar en formato HH:MM");
obj.val('');
}
}
}
}
/**
* Recibe el 'id' del elemento HTML para proceder a la validación,
* si es correcta devuelve 'true' y sino saca un alert y devuelve 'false'
*
* @param a
* @returns {Boolean}
*/
function compruebaNIF(a) {
var resul = true;
var temp = $.trim($('#' + a).val()).toUpperCase();
var cadenadni = "TRWAGMYFPDXBNJZSQVHLCKE";
if (temp !== '') {
if (/^[0-9]{8}[A-Z]{1}$/.test(temp)) {
var posicion = temp.substring(8, 0) % 23;
var letra = cadenadni.charAt(posicion);
var letradni = temp.charAt(8);
if (letra == letradni) {
return true;
} else if (letra != letradni) {
resul = false;
}
}
//comprobacion de NIFs especiales (se calculan como CIFs)
else if (/^[KLM]{1}/.test(temp)) {
if (temp[8] == String.fromCharCode(64 + n)) {
return true;
} else if (temp[8] != String.fromCharCode(64 + n)) {
resul = false;
}
}
}
}
/***************************************************************/
/************************ FIN VALIDACIONES *********************/
/***************************************************************/
/**
* Se encarga de lanzar los eventos generales para todas las paginas de la aplicacion
*/
function generaEventosGenerales() {
$('#avisos_dialog').dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
resizable: false,
draggable: false,
buttons: {
'Ok': function() {
$(this).dialog('close');
}
}
});
$('#img_waiting').dialog({
autoOpen: false,
height: 175,
width: 200,
modal: true,
draggable: false,
resizable: false
});
$("#enlaceContacto").click(function() {
$(this).next().toggle();
});
$("#comboProvincias").change(function() {
$("#formContacto").attr("action", "mailto:"+$(this).val());
});
}