
// ----------------------------------------- images swap

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//------------------------------------------------- Auto height

function muda_frame ( ifram , valor ) {
var oFrame = document.all (ifram);
oFrame.style.height = valor;
}

//------------------------------------------------- DATA / HORA

var meses = new Array();

meses[0] = "Janeiro";
meses[1] = "Fevereiro";
meses[2] = "Março";
meses[3] = "Abril";
meses[4] = "Maio";
meses[5] = "Junho";
meses[6] = "Julho";
meses[7] = "Agosto";
meses[8] = "Setembro";
meses[9] = "Outubro";
meses[10] = "Novembro";
meses[11] = "Dezembro";

function time()
{
	var data = new Date();

	document.getElementById("tempo").value = data.getDate()+" de "+meses[data.getMonth()]+" de "+data.getFullYear()+" ";

	setTimeout("time()",1000);
}

//------------------------------------------------- "TEXT CLEAR"

function clearText(theField)
{
if (theField.defaultValue == theField.value)
theField.value = '';
}

function addText(theField)
{
if (theField.value == '')
theField.value = theField .defaultValue;
}

//------------------------------------------------- "TEXT COUNTER"

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) 
field.value = field.value.substring(0, maxlimit);
else 
countfield.value = maxlimit - field.value.length;
}

//------------------------------------------------- "TEXT DIAGONAL"

var id = 0;
function displayTextDiagonal (text, down, deg, lsp) {
  deg = deg || 45;
  deg = Math.PI / 180 * deg;
  lsp = lsp || 10;
  dy = lsp * Math.tan(deg);
  var html = '';
  html += '<DIV ID="td' + id + '"' + ' CLASS="positioned"' + '>';
  if (down) {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + id + r 
             + '" CLASS="positioned" STYLE="left: ' 
             + (r * lsp) + 'px; top: ' + (r * dy) + 'px;">'; 
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  else {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + id + r 
              + '" CLASS="positioned" STYLE="left: ' 
              + (r * lsp) + 'px; top: ' 
              + ((text.length - r) * dy) + 'px;">'; 
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  html += '<\/DIV>';
  id++;
  document.write(html);
}

//------------------------------------------------- BOLD ITALIC GENERATOR

// A

function getSelTextABold()
{
    var corpo_a_bold = '';
     if (window.getSelection)
    {
        corpo_a_bold = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_a_bold = document.getSelection();
            }
    else if (document.selection)
    {
       corpo_a_bold = document.selection.createRange().text;
            }
    else return;

corpo_a_bold=corpo_a_bold.bold();

document.edit_content.a_text.value =  corpo_a_bold;
}

function getSelTextAItalic()
{
    var corpo_a_italic = '';
     if (window.getSelection)
    {
        corpo_a_italic = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_a_italic = document.getSelection();
            }
    else if (document.selection)
    {
        corpo_a_italic = document.selection.createRange().text;
            }
    else return;

corpo_a_italic=corpo_a_italic.italics();

document.edit_content.a_text.value =  corpo_a_italic;
}

// B

function getSelTextBBold()
{
    var corpo_b_bold = '';
     if (window.getSelection)
    {
        corpo_b_bold = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_b_bold = document.getSelection();
            }
    else if (document.selection)
    {
       corpo_b_bold = document.selection.createRange().text;
            }
    else return;

corpo_b_bold=corpo_b_bold.bold();

document.edit_content.b_text.value =  corpo_b_bold;
}

function getSelTextBItalic()
{
    var corpo_b_italic = '';
     if (window.getSelection)
    {
        corpo_b_italic = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_b_italic = document.getSelection();
            }
    else if (document.selection)
    {
        corpo_b_italic = document.selection.createRange().text;
            }
    else return;

corpo_b_italic=corpo_b_italic.italics();

document.edit_content.b_text.value =  corpo_b_italic;
}

// C

function getSelTextCBold()
{
    var corpo_c_bold = '';
     if (window.getSelection)
    {
        corpo_c_bold = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_c_bold = document.getSelection();
            }
    else if (document.selection)
    {
       corpo_c_bold = document.selection.createRange().text;
            }
    else return;

corpo_c_bold=corpo_c_bold.bold();

document.edit_content.c_text.value =  corpo_c_bold;
}

function getSelTextCItalic()
{
    var corpo_c_italic = '';
     if (window.getSelection)
    {
        corpo_c_italic = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_c_italic = document.getSelection();
            }
    else if (document.selection)
    {
        corpo_c_italic = document.selection.createRange().text;
            }
    else return;

corpo_c_italic=corpo_c_italic.italics();

document.edit_content.c_text.value =  corpo_c_italic;
}

// D

function getSelTextDBold()
{
    var corpo_d_bold = '';
     if (window.getSelection)
    {
        corpo_d_bold = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_d_bold = document.getSelection();
            }
    else if (document.selection)
    {
       corpo_d_bold = document.selection.createRange().text;
            }
    else return;

corpo_d_bold=corpo_d_bold.bold();

document.edit_content.d_text.value =  corpo_d_bold;
}

function getSelTextDItalic()
{
    var corpo_d_italic = '';
     if (window.getSelection)
    {
        corpo_d_italic = window.getSelection();
             }
    else if (document.getSelection)
    {
        corpo_d_italic = document.getSelection();
            }
    else if (document.selection)
    {
        corpo_d_italic = document.selection.createRange().text;
            }
    else return;

corpo_d_italic=corpo_d_italic.italics();

document.edit_content.d_text.value =  corpo_d_italic;
}

//------------------------------------------------- CLICK AND DRAG

function Browser() {

var ua, s, i;

this.isIE = false;
this.isNS = false;
this.version = null;

ua = navigator.userAgent;

s = "MSIE";
if ((i = ua.indexOf(s)) >= 0) {
this.isIE = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}

s = "Netscape6/";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}

// Treat any other "Gecko" browser as NS 6.1.

s = "Gecko";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = 6.1;
return;
}
}

var browser = new Browser();

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 0;

function dragStart(event, id) {

var el;
var x, y;

// If an element id was given, find it. Otherwise use the element being
// clicked on.

if (id)
dragObj.elNode = document.getElementById(id);
else {
if (browser.isIE)
dragObj.elNode = window.event.srcElement;
if (browser.isNS)
dragObj.elNode = event.target;

// If this is a text node, use its parent element.

if (dragObj.elNode.nodeType == 3)
dragObj.elNode = dragObj.elNode.parentNode;
}

// Get cursor position with respect to the page.

if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft
+ document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop
+ document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}

// Save starting positions of cursor and element.

dragObj.cursorStartX = x;
dragObj.cursorStartY = y;
dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);

if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0;

// Update element's z-index.

dragObj.elNode.style.zIndex = ++dragObj.zIndex;

// Capture mousemove and mouseup events on the page.

if (browser.isIE) {
document.attachEvent("onmousemove", dragGo);
document.attachEvent("onmouseup", dragStop);
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
document.addEventListener("mousemove", dragGo, true);
document.addEventListener("mouseup", dragStop, true);
event.preventDefault();
}
}

function dragGo(event) {

var x, y;

// Get cursor position with respect to the page.

if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft
+ document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop
+ document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}

// Move drag element by the same amount the cursor has moved.

dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
dragObj.elNode.style.top = (dragObj.elStartTop + y - dragObj.cursorStartY) + "px";

if (browser.isIE) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS)
event.preventDefault();
}

function dragStop(event) {

// Stop capturing mousemove and mouseup events.

if (browser.isIE) {
document.detachEvent("onmousemove", dragGo);
document.detachEvent("onmouseup", dragStop);
}
if (browser.isNS) {
document.removeEventListener("mousemove", dragGo, true);
document.removeEventListener("mouseup", dragStop, true);
}
}

//------------------------------------------------- VALIDAÇÕES BACK-END

function validForm_1(form)
{
	erro = false;
	
	if(form.user.value.length < 2 || form.user.value.length > 255)
	{
		form.user.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Nome-utilizador");
	}
	
	if(form.pass.value.length < 2 || form.pass.value.length > 255)
	{
		erro = true;
		form.pass.style.borderColor = "#ff0000";
		alert("Inserir Palavra-passe");
	}

	if(form.pass.value != form.c_pass.value)
	{
		erro = true;
		form.pass.style.borderColor = "#ff0000";
		form.c_pass.style.borderColor = "#ff0000";
		alert("Confirmar correctamente Palavra-passe");
	}

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email.value))
	{
		erro = true;
		form.email.style.borderColor = "#ff0000";
		alert("Insira o email correctamente");
	}

	if(form.nome.value.length < 2 || form.nome.value.length > 255)
	{
		form.nome.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Nome da Organização");
	}

	if(form.site.value.length < 2 || form.site.value.length > 255)
	{
		form.site.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Website da Organização");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_2(form)
{
	erro = false;
	
	if(form.user.value.length < 2 || form.user.value.length > 255)
	{
		form.user.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Nome-utilizador");
	}
	
	if(form.pass.value.length < 2 || form.pass.value.length > 255)
	{
		erro = true;
		form.pass.style.borderColor = "#ff0000";
		alert("Inserir Palavra-passe");
	}

	if(form.pass.value != form.c_pass.value)
	{
		erro = true;
		form.pass.style.borderColor = "#ff0000";
		form.c_pass.style.borderColor = "#ff0000";
		alert("Confirmar correctamente Palavra-passe");
	}

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email.value))
	{
		erro = true;
		form.email.style.borderColor = "#ff0000";
		alert("Insira o email correctamente");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_3(form)
{
	erro = false;

	if(form.botao_a.value.length < 2)
	{
		form.botao_a.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Título");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_4(form)
{
	erro = false;
	
	if(form.id_pagina.selectedIndex == 0 && form.id_aplicacao.selectedIndex == 0)
	{
		erro = true;
		alert("Seleccionar Página e/ou Aplicação destinatária");
	}

	if(form.id_tipo.selectedIndex == 0)
	{
		erro = true;
		alert("Seleccionar Tipo de apresentação");
	}
	
	if(form.referencia.value.length < 2)
	{
		form.referencia.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Referência");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_5(form)
{
	erro = false;

	if(form.id_pagina.selectedIndex == 0)
	{
		erro = true;
		alert("Seleccionar Página destinatária");
	}

	if(form.botao_a.value.length < 2)
	{
		form.botao_a.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Título");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_6(form)
{
	erro = false;

	if(form.legenda.value.length < 2)
	{
		form.legenda.style.borderColor = "#ff0000";
		erro = true;
		alert("Inserir Legenda");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}


//------------------------------------------------- VALIDAÇÕES FRONT-END

function validForm_webs(form)
{
	erro = false;

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email_webs.value))
	{
		erro = true;
		form.email_webs.style.borderColor = "#ff0000";
		alert("Email - X");
	}

	if(form.mensagem_webs.value.length < 10 || form.mensagem_webs.value.length > 999)
	{
		form.mensagem_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Mensagem - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_testemunho(form)
{
	erro = false;

	if(form.mensagem_webs.value.length < 10 || form.mensagem_webs.value.length > 999)
	{
		form.mensagem_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Mensagem - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_inscricao(form)
{
	erro = false;

	if(form.nome_webs.value.length < 4 || form.nome_webs.value.length > 255)
	{
		form.nome_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Nome Completo - X");
	}
	
	if(form.datanasc_webs.value.length < 10 || form.datanasc_webs.value.length > 10)
	{
		form.datanasc_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Data Nascimento - X");
	}

	if(form.morada_webs.value.length < 10 || form.morada_webs.value.length > 300)
	{
		form.morada_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Morada - X");
	}

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email_webs.value))
	{
		erro = true;
		form.email_webs.style.borderColor = "#ff0000";
		alert("Email - X");
	}

	if(form.habilitacoes_webs.value.length < 4 || form.habilitacoes_webs.value.length > 255)
	{
		form.habilitacoes_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Habilitações - X");
	}

	if(form.profissao_webs.value.length < 4 || form.profissao_webs.value.length > 255)
	{
		form.profissao_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Ocupação Profissional - X");
	}

	if(form.como_webs.value.length < 10 || form.como_webs.value.length > 999)
	{
		form.como_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Como tomou conhecimento - X");
	}

	if(form.motivo_webs.value.length < 10 || form.motivo_webs.value.length > 999)
	{
		form.motivo_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Motivos - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_socio(form)
{
	erro = false;

	if(form.nome_webs.value.length < 4 || form.nome_webs.value.length > 255)
	{
		form.nome_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Nome Completo - X");
	}
	
	if(form.morada_webs.value.length < 4 || form.morada_webs.value.length > 255)
	{
		form.morada_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Morada - X");
	}

	if(form.localidade_webs.value.length < 2 || form.localidade_webs.value.length > 255)
	{
		form.localidade_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Localidade - X");
	}

	if(form.codigopostal_webs.value.length < 4 || form.codigopostal_webs.value.length > 8)
	{
		form.codigopostal_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Código Postal - X");
	}

	if(form.concelho_webs.value.length < 2 || form.concelho_webs.value.length > 255)
	{
		form.concelho_webs.style.borderColor = "#ff0000";
		erro = true;
		alert("Concelho - X");
	}
	
	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email_webs.value))
	{
		erro = true;
		form.email_webs.style.borderColor = "#ff0000";
		alert("Email - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_conta(form)
{
	erro = false;
	
	if(form.user_conta.value.length < 2 || form.user_conta.value.length > 255)
	{
		form.user_conta.style.borderColor = "#ff0000";
		erro = true;
		alert("Nome-utilizador / Username - X");
	}
	
	if(form.pass_conta.value.length < 2 || form.pass_conta.value.length > 255)
	{
		erro = true;
		form.pass_conta.style.borderColor = "#ff0000";
		alert("Palavra-passe / Password - X");
	}

	if(form.pass_conta.value != form.c_pass_conta.value)
	{
		erro = true;
		form.pass_conta.style.borderColor = "#ff0000";
		form.c_pass_conta.style.borderColor = "#ff0000";
		alert("Confirmar Palavra-passe / Confirm Password - X");
	}

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email_conta.value))
	{
		erro = true;
		form.email_conta.style.borderColor = "#ff0000";
		alert("Email - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}

function validForm_news(form)
{
	erro = false;

	var emailRxp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!emailRxp.test(form.email_news.value))
	{
		erro = true;
		form.email_news.style.borderColor = "#ff0000";
		alert("Email - X");
	}

	if (erro)
	{
		return false;
	} else {
		return true;
	}
}
