function ltrim(cadena)
{
	while (cadena.charAt(0) == ' ') cadena = cadena.substr(1, cadena.length - 1);
  return cadena;
}

function rtrim(cadena)
{
	while (cadena.charAt(cadena.length - 1) == ' ') cadena = cadena.substr(0, cadena.length - 1);
	return cadena;
}

function trim(cadena)
{
	return rtrim(ltrim(cadena));
}

function obtenir_element(id)
{
	if(document.all)
  {
  	return document.all[id];
  }
  else if(document.layers)
  {
  	return document.layers[id];
  }
  else if(document.getElementById)
  {
  	return	document.getElementById(id);
  }
}

function obtenir_obj_xml()
{ 
  var obj_xml = null;
  try
  {
  	obj_xml = new XMLHttpRequest();
  }
  catch (e)
  {
  	try
  	{
  		obj_xml = new ActiveXObject("Msxml2.XMLHTTP");
  	}
    catch (e)
    {
    	obj_xml = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  
  return obj_xml;
}

function comprovar_mail(text)
{
	var mailres = true;
	var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
	var arroba = text.indexOf("@",0);
  var punto = text.lastIndexOf(".");
	
  if ((text.lastIndexOf("@")) != arroba) arroba = -1;

	for (var contador = 0 ; contador < text.length ; contador++)
	{
		if (cadena.indexOf(text.substr(contador, 1),0) == -1)
		{
			mailres = false;
			break; 
   	} 
  }

  if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (text.length)) && (mailres == true) && (text.indexOf("..",0) == -1)) mailres = true;
  else mailres = false;
  
  return mailres;
}

function amplada_visualitzacio()
{
	var amplada = 0;
	
	if(document.documentElement && document.documentElement.clientWidth) amplada = document.documentElement.clientWidth;
	else if(document.body && document.body.clientWidth)	amplada = document.body.clientWidth;
	else if(window.innerWidth) amplada = window.innerWidth - 18;

	return amplada;
}

function alcada_visualitzacio()
{
	var alcada = 0;
	
	if(document.documentElement && document.documentElement.clientHeight) alcada = document.documentElement.clientHeight;
	else if(document.body && document.body.clientHeight) alcada = document.body.clientHeight;
	else if(window.innerHeight) alcada = window.innerHeight - 18;
		
	return alcada;
}

function posicio_scroll()
{
  var posicio = 0;

  if(document.documentElement && document.documentElement.scrollTop) posicio = document.documentElement.scrollTop;
  else if(document.body && esta_definit(document.body.scrollTop)) posicio = document.body.scrollTop;
  else
  {
  	if(es_numeric(obtenir_element(capa_actual).scrollTop)) posicio = 0;
  }
  	
  return posicio;
}

function es_numeric(n)
{
  for(var i = 0; i < arguments.length; i++)
  {
  	if(typeof(arguments[i]) != 'number') return false;
  }
  return true;
}

function esta_definit()
{
  for(var i = 0; i < arguments.length; i++)
  {
  	if(typeof(arguments[i]) == 'undefined') return false;
  }
  return true;
}

function validar_dades_cerca()
{
	if(trim(document.Cercador.Text_cerca.value) == '')
	{
		alert('Cal que introdueixis la paraula o text a cercar.');
		return false;
	}
	
	return true;
}

function comprovar_data(data)
{
	if(data.length > 10) return false;

	var reg = new RegExp("/");
	var vect = data.split(reg);

	var any, dia, mes;

	if(vect.length == 3) {

		if(vect[0].length != 2) return false;
		if(vect[1].length != 2) return false;
		if(vect[2].length != 4) return false;

		dia = vect[0] * 1;
		mes = vect[1] * 1;
		any = vect[2] * 1;

		if(isNaN(dia) || isNaN(mes) || isNaN(any)) return false;

		if(any < 1900 || any > 9999) return false;
		if(mes < 1 || mes > 12) return false;

		if(mes != 2)
		{
			if(dia < 1 || dia > 31) return false;
		}
		else
		{
			if(dia < 1 || dia > 29) return false;
		}

		return true;
	}

	return false;
}

function comparar_dates(data_1, data_2)
{
	var reg = new RegExp("/");
	var vect_1 = data_1.split(reg);
	var vect_2 = data_2.split(reg);
	var dia_1, dia_2, mes_1, mes_2, any_1, any_2

	dia_1 = vect_1[0] * 1;
	mes_1 = vect_1[1] * 1;
	any_1 = vect_1[2] * 1;

	dia_2 = vect_2[0] * 1;
	mes_2 = vect_2[1] * 1;
	any_2 = vect_2[2] * 1;

	if(any_1 > any_2) return 1;
	else if(any_1 < any_2) return 2;
	else if(any_1 == any_2 && mes_1 > mes_2) return 1;
	else if(any_1 == any_2 && mes_1 < mes_2) return 2;
	else if(any_1 == any_2 && mes_1 == mes_2 && dia_1 > dia_2) return 1;
	else if(any_1 == any_2 && mes_1 == mes_2 && dia_1 < dia_2) return 2;
	else return 0;
}