String.prototype.trim = function() {
	a = this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
};

function validateRegisto(form) {
	var msg = "Atenção:\n\n";

	
	var nome = /[^\d]/
	if(!form.nome.value.match(nome) || form.nome.value=="")
	{
		msg += "O campo nome terá de ser preenchido!\n";
	}
	

	if(form.morada.value=="")
	{
		msg += "O campo morada terá de ser preenchido!\n";
	
	}
	
	if(form.localidade.value=="")
	{
		msg += "O campo localidade terá de ser preenchido!\n";
	
	}
	
	var cp = /[\d]/
	if(form.cp1.value=="" || !form.cp1.value.match(cp))
	{
		msg += "O código-postal está incorrecto!\n";
	
	}
	
    var telf = /^[0-9]{9}$/
	if(!form.telefone.value.match(telf) ||	 form.telefone.value.length<9 )
	{
		msg += "O número de telefone é inválido!\n";
	}
	
	if(!form.fax.value.match(telf) ||	 form.fax.value.length<9 )
	{
		msg += "O número de fax é inválido!\n";
	}

	if(!form.nc.value.match(telf) ||	 form.nc.value.length<9 )
	{
		msg += "O número de contribuinte é inválido!\n";
	}

	if(form.alvara.value=="")
	{
		msg += "O campo alvará terá de ser preenchido!\n";
	}


	if(!form.responsavel.value.match(nome) || form.responsavel.value=="")
	{
		msg += "O campo responsavel terá de ser preenchido!\n";
	}


	
	
	var email = /[\w]*@[\w-]*\.[\w]{2,4}?/
	if(form.email.value=="" || !form.email.value.match(email) )
	{
		msg += "O email que introduziu é inválido!\n";
	}
	
	if(form.email.value!="" && form.email.value!=form.email2.value)
	{
		msg += "Os emails que introduziu não são iguais!\n";
	}
	
	if(msg == "Atenção:\n\n")
	{
		return true;
	}
	else
	{
		alert(msg);
		return false;
	}
}

function validateReservar(form, mini, maxi)
{

  var msg = "Atenção:\n\n";
  //DEFINIR CAPACIDADES
  var DBL = 2;
  var DC = 3;
  var TRP = 3;
  var SNG = 1;
  var QUD = 4;

  var room1 = 0;
  var room2 = 0;
  var ocupation = 0;


  for(var i = 0; i < form.elements.length; i++) {
	//DBL
    if(form.elements[i].name) {
	  var nome = form.elements[i].name;
	  var value = form.elements[i].value;
	  if(nome == 'DBL' && value > 0) {
		  room1 = nome;  
		  ocupation = DBL;
	  }
	  if(room1 != 0) {
	    if(nome.indexOf('adtInRoomDBL_')==0) {
	      var adtInRoomDBL = parseInt(form.elements[i].value);
	    }
	    if(nome.indexOf('chdInRoomDBL_')==0) {
	      var chdInRoomDBL = parseInt(form.elements[i].value);
	      number = nome.substr(nome.indexOf('_')+1);
	      if((adtInRoomDBL+chdInRoomDBL) < DBL) {
		    msg += "Preencha correctamente os Ocupantes do "+number+"º Quarto Duplo.\n";
	      }
	    }
	  }
    }
	//END DBL

	//DC
    if(form.elements[i].name) {
	  var nome2 = form.elements[i].name;
	  var value2 = form.elements[i].value;
	  if(nome2 == 'DC' && value2 > 0) {
	    room2 = nome; 
		ocupation = DC;
	  }
	  if(room2 != 0) {
	    if(nome2.indexOf('adtInRoomDC_')==0) {
	      var adtInRoomDC = parseInt(form.elements[i].value);
	    }
	    if(nome2.indexOf('chdInRoomDC_')==0) {
	      var chdInRoomDC = parseInt(form.elements[i].value);
	      number = nome2.substr(nome2.indexOf('_')+1);
	      if((adtInRoomDC+chdInRoomDC) < DC) {
		    msg += "Preencha correctamente os Ocupantes do "+number+"º Quarto Duplo(Cama Extra).\n";
	      }
	    }
	  }
    }
	//END DC
	
	//QUD
    if(form.elements[i].name) {
	  var nome = form.elements[i].name;
	  var value = form.elements[i].value;
	  if(nome == 'QUD' && value > 0) {
		  room1 = nome;  
		  ocupation = QUD;
	  }
	  if(room1 != 0) {
	    if(nome.indexOf('adtInRoomQUD_')==0) {
	      var adtInRoomQUD = parseInt(form.elements[i].value);
	    }
	    if(nome.indexOf('chdInRoomQUD_')==0) {
	      var chdInRoomQUD = parseInt(form.elements[i].value);
	      number = nome.substr(nome.indexOf('_')+1);
	      if((adtInRoomQUD+chdInRoomQUD) < QUD) {
		    msg += "Preencha correctamente os Ocupantes do "+number+"º Quarto Quádruplo.\n";
	      }
	    }
	  }
    }
	//END QUD	

  }
  //END FOR
  
  //CHECK ROOMS
  

  
  if($('#SNG').length > 0 ) {
    if($('#SNG')[0].value > 0)
	  ocupation = SNG;
  }
  
  if($('#TRP').length > 0) {
    if($('#TRP')[0].value > 0)
	  ocupation = SNG;
  }
  /*------------------------*/
  if($('#agencia')) {
    if($('#agencia').value == '')
	  msg += "Escolha uma Agência.\n";	  	
  }
  /*---------------------------*/
  
    if(ocupation == 0) {
	  msg += "Escolha um tipo de Quarto!\n";	  	
	}
	
    var depdat;
	var year = form.partida.value.substr(0,4);
	var month = form.partida.value.substr(5,2);
	var day = form.partida.value.substr(8,2);


	var year2 = form.regresso.value.substr(0,4);
	var month2 = form.regresso.value.substr(5,2);
	var day2 = form.regresso.value.substr(8,2);

    depdat = Date.UTC(year, month-1, day, 0, 0, 0);
	  retdat = Date.UTC(year2, month2-1, day2, 0, 0, 0);

	if(form.regresso.value!='' && form.partida.value!='') {
		if(retdat < depdat) {
		  msg += "A data de regresso é anterior à de partida!\n";	  	
		}

		if((retdat-depdat)/(86400000)+1<(mini+1)) {	
		  msg += "Não é possível reservar este pacote por um período inferior a "+mini+" noites.\n";		
		} else if((retdat-depdat)/(86400000)+1>(maxi+1)) {
		  msg += "Não é possível reservar este pacote por um período superior a "+maxi+" noites.\n";		
		}
		
		if(retdat==depdat) {
		  msg += "Data de partida igual à de regresso.\n";			
		}		

	} else {
		  msg += "Escolha as datas de Partida e de Regresso!\n";	  			
	}
	

	if(msg == "Atenção:\n\n") {	
		var result = waitingDIV();
		
		//var timestamp = Number(new Date());

		/*while(timestamp) {
			if(Number(new Date()) > (timestamp + 1000)) {
				break;
			} 				
		}*/
		
		if(result) {
			return true;
		}
	} else {
		alert(msg);
		return false;
	}
}


function validateNomes(form)
{
	var msg = "Atenção:\n\n";
	




	for(i=0;i<form.length;i++)
	{
      if(form.elements[i].type == "text" && form.elements[i].value == "" || form.elements[i].value == "<nome>" || form.elements[i].value == "<apelido>") {
		  var msg = "Atenção:\n\n";		  
          msg += "Preencha todos os nomes dos passageiros!\n";	
		  
		//alert(msg);
		//return false;		  
      }
    }
	
	
/*------------------------------------------------------*/


	
	if(form.nome) {
		var nome = /[^\d]/
		if(!form.nome.value.match(nome) || form.nome.value=="")
		{
			msg += "O campo nome terá de ser preenchido!\n";
		}
		
	
		if(form.morada.value=="")
		{
			msg += "O campo morada terá de ser preenchido!\n";
		
		}
		
		if(form.localidade.value=="")
		{
			msg += "O campo localidade terá de ser preenchido!\n";
		
		}
		
		var cp = /[\d]/
		if(form.cp1.value=="" || !form.cp1.value.match(cp))
		{
			msg += "O código-postal está incorrecto!\n";
		
		}
		
		var telf = /^[0-9]{9}$/
		if(!form.telf.value.match(telf) ||	 form.telf.value.length<9 )
		{
			msg += "O número de telefone é inválido!\n";
		}
		
	
		if(!form.nc.value.match(telf) ||	 form.nc.value.length<9 )
		{
			msg += "O número de contribuinte é inválido!\n";
		}
	
	
	
		
		
		var email = /[\w]*@[\w-]*\.[\w]{2,4}?/
		if(form.email2.value=="" || !form.email2.value.match(email) )
		{
			msg += "O email que introduziu é inválido!\n";
		}
	}
	


/*-------------------------------------------------------*/


	
	if(msg == "Atenção:\n\n")
	{
		var result = waitingDIV();
		
		//var timestamp = Number(new Date());

		/*while(timestamp) {
			if(Number(new Date()) > (timestamp + 1000)) {
				break;
			} 				
		}*/
		
		if(result) {
			return true;
		}

		
	}
	else
	{
		alert(msg);
		return false;
	}
}

function validateFirstLogin(form)
{
	var msg = "Atenção:\n\n";
	
	
	if(form.password2.value.length < 6)
	{
		msg += "A password terá de ter no mínimo 6 caracteres.\n";
	}
	
	if(form.password2.value != form.password3.value)
	{
		msg += "As passwords não são iguais!\n";
	}
	
	
	if(msg == "Atenção:\n\n")
	{
		return true;
	}
	else
	{
		alert(msg);
		return false;
	}
}

function showhide(element, element2) 
{


	//Effect.BlindDown('d1');; return false;
	document.getElementById(element).style.display = (document.getElementById(element).style.display == "block" || document.getElementById(element).style.display == "") ? "none" : "block";
	
		document.getElementById(element2).src = (document.getElementById(element).style.display == "none" || document.getElementById(element).style.display == "") ? "_images/btnPlus.png" : "_images/btnMinus.png";
	
	return false;
}


