// JavaScript Document

function addslashes(str)
{
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str)
{
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function canviaSubstr(str,from,to)
{
	var from_ok=eval("/"+from+"/gi"); //"gi", per buscar totes les aparicions de "from" ("g") sense tenir en compte les majúscules-minúscules ("i")
	str=str.replace(from_ok,to);
	return str;
}

function refresh_pagina(num_segons)
{
	setTimeout("history.go();",1000*num_segons); //Actualitza la pàgina cada 'num_segons' segons
}

function ucfirst(frase)
{
    var str=frase.split(/\s+/g); //separa el contingut del camp en una matriu de paraules
    for(var i=0;i<str.length;i++)
	{
		if(str[i] != "DJ" && str[i] != "dj" && str[i] != "Dj" && str[i] != "dJ" && str[i] != "(DJ" && str[i] != "(dj" && str[i] != "(Dj" && str[i] != "(dJ")
		{
			var inicial=str[i].substring(0,1);
			if(inicial=="(" || inicial=="'")
			{
				inicial=str[i].substring(0,2);
				var resta_paraula=str[i].substring(2,str[i].length);
			} else {
				var resta_paraula=str[i].substring(1,str[i].length);
			}
			str[i]=inicial.toUpperCase()+resta_paraula.toLowerCase(); //aplica el format "Xxxxxx" a totes les paraules de la matriu
		} else {
			if(str[i].indexOf("(") == -1)
			{
				str[i]="DJ";
			} else {
				str[i]="(DJ";
			}
		}
    }
	return str.join(" "); //torna a ajuntar les paraules en una frase separada per espais
}

function uctotal(form,index_form)
{
	var frase=form.elements[index_form].value;
	form.elements[index_form].value=frase.toUpperCase();
}

function verifyField(valor,tipo)
{
	// PÀGINA DE VERIFICACIÓ D'EXRESSIONS REGULARS EN JAVASCRIPT:
	// http://www.regular-expressions.info/javascriptexample.html
	switch(tipo)
	{
		case "fecha":
			var regExp=/^[0-9]{4}[-][0-9]{2}[-][0-9]{2}$/;
			break;
		case "ano":
			if(valor != "----")
			{
				var regExp=/^[0-9]{4}$/;
			} else {
				var regExp="";
			}
			break;
		case "cp":
			var regExp=/^[0-9]{4,6}$/;
			break;
		case "texto":
			var regExp=/[^0-9]/;
			break;
		case "numero":
			var regExp=/^[0-9]{1,10}$/;
			break;
		case "precio":
			var regExp=/^[0-9.]$/;
			break;
		case "numtexto":
			var regExp=/^([a-zA-Z0-9_-]+)$/;
			break;
		case "nif":
			var regExp="";
			break;
		case "ss":
			var regExp="";
			break;
		case "telefono":
			var regExp=/^[0-9]{8,13}$/;
			break;
		case "mail":
			var regExp=/^[a-zA-Z0-9._-]+([+][a-zA-Z0-9._-]+){0,1}[@][a-zA-Z0-9._-]+[.][a-zA-Z]{2,6}$/;
			break;
		case "web":
//			var regExp=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
			var regExp=/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
			break;
		case "none":
			return true;
			break;
	}
	
	if(valor.match(regExp))
	{
		return true;
	} else {
		return false;
	}
}

function validaSeguridadSocial(numSS)
{
	/*******************************************************************************
	 Un número de la Seguretat Social té el següent format: AABBBBBBBBCC:
	 - "AA": codi de la provincia
	 - "BBBBBBBB": número d'assegurat dins la província corresponent
	 - "CC": dígits de control
	 
	 El càlcul de "CC" es fa de la següent manera:
	 - Si BBBBBBBB <  10000000 ===> D=AA*10000000+BBBBBBBB
	 - Si BBBBBBBB >= 10000000 ===> D=AABBBBBBBB (concatenació de "AA" i "BBBBBBBB")
	 - CC=Mod(D,97) (és a dir, la resta de la divisió entera entre D i 97)
	 *******************************************************************************/
	if(numSS.length < 12) while(numSS.length < 12) numSS="0"+numSS;
	if(numSS.length == 12)
	{
		var aa=numSS.substring(0,2);
		var bbbbbbbb=numSS.substring(2,10);
		var cc=numSS.substring(10,12);
		
		var aa_int=parseFloat(aa);
		var bbbbbbbb_int=parseFloat(bbbbbbbb);
		
		if(bbbbbbbb_int < 10000000)
		{
			var d=aa_int*10000000+bbbbbbbb_int;
		} else {
			var d=parseFloat(aa+""+bbbbbbbb);
		}
		if(cc == d%97)
		{
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function getFilePath(form)
{
	var filePath=stripslashes(form.userfile.value);
	if(filePath != "")
	{
		if(confirm("Segur que desitges incloure a la base de dades d'usuaris els continguts de l'arxiu\n''"+filePath+"''?")) form.submit();
	} else {
		alert("No has seleccionat cap arxiu.");
	}
}

function activarOferta(idEstadoItem,idItem)
{
	var query="UPDATE oferta SET id_estado_item="+idEstadoItem+" WHERE id_oferta="+idItem;
	
	self.location+="?q="+query;
}

function deleteItem_listado(idItem,tipo,labelItem)
{
	var labelItem_slashes=stripslashes(labelItem);
	if(confirm("Estàs segur que vols eliminar l'element ''"+labelItem_slashes+"''")) self.location="borrar.php?id="+idItem+"&tipo="+tipo;
}
