////////////////////////////////////////////////////////////////////////////////////////////////////
// Menu Top                                                                                       //
////////////////////////////////////////////////////////////////////////////////////////////////////
//var MenuTopIds=["ulMenuTopo"] //Enter id(s) of SuckerTree UL menus, separated by commas

//function MenuTopoBuild()
	//{
		//for (var i=0; i<MenuTopIds.length; i++)
		//	{
				//var ultags=document.getElementById(MenuTopIds[i]).getElementsByTagName("ul")
				//for (var t=0; t<ultags.length; t++){
					//if (ultags[t].parentNode.parentNode.id==MenuTopIds[i]){ //if this is a first level submenu
					//	ultags[t].style.top=ultags[t].parentNode.offsetHeight+"px" //dynamically position first level submenus to be height of main menu item
					//	ultags[t].parentNode.getElementsByTagName("a")[0].className="mainfoldericon"
					//}
					//else{ //else if this is a sub level menu (ul)
					//ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
    				//ultags[t].parentNode.getElementsByTagName("a")[0].className="subfoldericon"
					//}
				//ultags[t].parentNode.onmouseover=function(){
				//this.getElementsByTagName("ul")[0].style.visibility="visible"
				//}
				//ultags[t].parentNode.onmouseout=function(){
				//this.getElementsByTagName("ul")[0].style.visibility="hidden"
				//}
				//}
			//}
	//}

//if (window.addEventListener)
//window.addEventListener("load", MenuTopoBuild, false)
//else if (window.attachEvent)
//window.attachEvent("onload", MenuTopoBuild)


////////////////////////////////////////////////////////////////////////////////////////////////////
// Menu Down Right                                                                                //
////////////////////////////////////////////////////////////////////////////////////////////////////

function getObject(id) 
{
	if(document.all)
	{
		return(document.all(id))
	}
	else if (document.getElementById)
	{
		return(document.getElementById(id))
	}
}

function hideDetails() 
{
	getObject('Menu1').className='aGroupMenu';
	getObject('Menu2').className='aGroupMenu';
	getObject('Menu3').className='aGroupMenu';
	getObject('Menu4').className='aGroupMenu';
	getObject('Menu5').className='aGroupMenu';
	getObject('Menu6').className='aGroupMenu';
	getObject('Menu7').className='aGroupMenu';
	
	getObject('SubMenu1').className='Off';
	getObject('SubMenu2').className='Off';
	getObject('SubMenu3').className='Off';
	getObject('SubMenu4').className='Off';
	getObject('SubMenu5').className='Off';
	getObject('SubMenu6').className='Off';
	getObject('SubMenu7').className='Off';
	
	getObject('SubSubMenu1').className='Off';
	getObject('SubSubMenu2').className='Off';
	getObject('SubSubMenu3').className='Off';
	getObject('SubSubMenu4').className='Off';
	getObject('SubSubMenu5').className='Off';
	getObject('SubSubMenu6').className='Off';
	getObject('SubSubMenu7').className='Off';	
}

function showDetails(id,idsub) 
{
	var Chave = id +"/"+ idsub;
	var id = getObject(id);
	var idsub = getObject(idsub);
	var StatusClass = id.className;
	
	switch (StatusClass)
	{
		case 'aGroupMenuOn':
			id.className = 'aGroupMenu2';
			idsub.className = 'Off'; 
			break
		default:
			id.className = 'aGroupMenuOn';
			idsub.className = 'ulGroupMenu';
	}	
}

function showDetails2(id,idsub) 
{
	var Chave = id +"/"+ idsub;
	var id = getObject(id);
	var idsub = getObject(idsub);
	var StatusClass = id.className;
	
	switch (StatusClass)
	{
		case 'aGroupMenuOn2':
			id.className = 'aGroupMenu2B';
			idsub.className = 'Off'; 
			break
		default:
			id.className = 'aGroupMenuOn2';
			idsub.className = 'ulGroupMenu';
	}
	
}


////////////////////////////////////////////////////////////////////////////////////////////////////
//   Inserir uma Animação no Internet Explorer                                                    //
////////////////////////////////////////////////////////////////////////////////////////////////////

if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!document.createElement||!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7);
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){
var _25=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
for(var i=3;axo!=null;i++){axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);_25=new deconcept.PlayerVersion([i,0,0]);}}
catch(e){}
if(_23&&_25.major>_23.major){return _25;}
if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){
try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}
catch(e){}}}return _25;};
deconcept.PlayerVersion=function(_29){
this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0;
this.minor=parseInt(_29[1])||0;
this.rev=parseInt(_29[2])||0;};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;};
deconcept.util={getRequestParameter:function(_2b){
var q=document.location.search||document.location.hash;
if(q){var _2d=q.indexOf(_2b+"=");
var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;
if(q.length>1&&_2d>-1){return q.substring(q.indexOf("=",_2d)+1,_2e);}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var _2f=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2f.length;i++){
for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=null;}}}};
if(typeof window.onunload=="function"){
var oldunload=window.onunload;
window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();oldunload();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push==null){
Array.prototype.push=function(_32){
this[this.length]=_32;
return this.length;};}

var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for backwards compatibility
var SWFObject = deconcept.SWFObject;


////////////////////////////////////////////////////////////////////////////////////////////////////
//   Print  Friendly                                                                               //
////////////////////////////////////////////////////////////////////////////////////////////////////

function imprime(ControlName)
{
	var win = window.open("", "imprime", "width=660, left=150, scrollbars=yes, toolbar=no, titlebar=no, menubar=no, resizable=no, status=no");
	var doc = win.document;
	var css = document.getElementById("divAux");
	
	doc.open("text/html", "replace");
	
	switch (css.innerHTML)
	{
		case "CS": 
			doc.write("<link href=css/Print.css type=text/css rel=stylesheet>");
			break;
	}	
	doc.write(document.getElementById(ControlName).innerHTML);
	win.print();
	doc.close();
}

function Iframes(URL)
{
	var objWindow = window.open(URL, "imprime", "width=660, left=150, scrollbars=yes, toolbar=no, titlebar=no, menubar=no, resizable=no, status=no");//window.open(URL);
	var doc = objWindow.document;
	var iFrames = document.getElementById("divIframe");
}


//////////////////////////////////////////////////////////////////////////////////////
//    Validador de Campos do registo                                                //
//////////////////////////////////////////////////////////////////////////////////////
function VerificaCampos(txtMail,spanErrorMail,spanErrorMailIncorrecto,txtMailamigo,spanErrorMailAmigo,spanErrorMailAmigoIncorrecto,txtNome,spanErrorNome)
{
	var Name = document.getElementById(txtNome);
	var ErrorName = document.getElementById(spanErrorNome);

	var Email = document.getElementById(txtMail);
	var ErrorEmail = document.getElementById(spanErrorMail);
	var ErrorEmailIncorrecto = document.getElementById(spanErrorMailIncorrecto);

	var EmailAmigo = document.getElementById(txtMailamigo);
	var ErrorEmailAmigo = document.getElementById(spanErrorMailAmigo);
	var ErrorEmailAmigoIncorrecto = document.getElementById(spanErrorMailAmigoIncorrecto);

	var blnName = VerificaName(Name,ErrorName);
	var blnEmail = VerificaEmail(Email,ErrorEmail);
	var blnEmailCorrecto = ISEmail(Email,ErrorEmailIncorrecto);
	var blnEmailAmigo = VerificaEmail(EmailAmigo,ErrorEmailAmigo);
	var blnEmailAmigoCorrecto = ISEmail(EmailAmigo,ErrorEmailAmigoIncorrecto);

	if (blnName && blnEmail && blnEmailCorrecto && blnEmailAmigo && blnEmailAmigoCorrecto )
		return true;
	else
		return false;
}

function VerificaName(Name,ErrorName)
{
	if (Name.value != '')
	{
		ErrorName.className = "Off";
		return true;
	}
	else
	{
		ErrorName.className = "block";
		return false;
	}
}

function VerificaEmail(Email, ErrorEmail)
{
	if (Email.value != '')
	{
		ErrorEmail.className = "Off";
		return true;
	}
	else
	{
		ErrorEmail.className = "block";
		return false;
	}
}

function ClearName(idName,ErrorName)
{
	var Name = document.getElementById(idName);
	var ErrorName = document.getElementById(ErrorName);

	if (Name.value != '')
	{
		ErrorName.className = "Off";
	}
	else
	{
		ErrorName.className = "block";
	}
}

function ClearEmail(idEmail,ErrorEmail,WrongEmail)
{
	var Email = document.getElementById(idEmail);
	var ErrorEmail = document.getElementById(ErrorEmail);
	var WrongEmail = document.getElementById(WrongEmail);

	ISEmail(Email,WrongEmail);

	if (Email.value != '')
	{
		ErrorEmail.className = "Off";
	}
	else
	{
		ErrorEmail.className = "block";
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////
//   HighLight Pesquisa                                                                            //
////////////////////////////////////////////////////////////////////////////////////////////////////

function doHighlight(bodyText, searchTerm, highlightStartTag, highlightEndTag) 
{
  // the highlightStartTag and highlightEndTag parameters are optional
  if ((!highlightStartTag) || (!highlightEndTag)) {
    highlightStartTag = '<font size="1em;">';
    highlightEndTag = "</font>";
  }
  
  // find all occurences of the search term in the given text,
  // and add some "highlight" tags to them (we're not using a
  // regular expression search, because we want to filter out
  // matches that occur within HTML tags and script blocks, so
  // we have to do a little extra validation)
  var newText = "";
  var i = -1;
  var lcSearchTerm = searchTerm.toLowerCase();
  var lcBodyText = bodyText.toLowerCase();
    
  while (bodyText.length > 0) {
    i = lcBodyText.indexOf(lcSearchTerm, i+1);
    if (i < 0) {
      newText += bodyText;
      bodyText = "";
    } else {
      // skip anything inside an HTML tag
      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
        // skip anything inside a <script> block
        if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
          newText += bodyText.substring(0, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
          bodyText = bodyText.substr(i + searchTerm.length);
          lcBodyText = bodyText.toLowerCase();
          i = -1;
        }
      }
    }
  }
  
  return newText;
}

function doHighlightSearch(bodyText, searchTerm, highlightStartTag, highlightEndTag) 
{
  // the highlightStartTag and highlightEndTag parameters are optional
  if ((!highlightStartTag) || (!highlightEndTag)) {
    highlightStartTag = '<font style="background-color:#c6d6ee;">';
    highlightEndTag = "</font>";
  }
  
  // find all occurences of the search term in the given text,
  // and add some "highlight" tags to them (we're not using a
  // regular expression search, because we want to filter out
  // matches that occur within HTML tags and script blocks, so
  // we have to do a little extra validation)
  var newText = "";
  var i = -1;
  var lcSearchTerm = searchTerm.toLowerCase();
  var lcBodyText = bodyText.toLowerCase();
    
  while (bodyText.length > 0) {
    i = lcBodyText.indexOf(lcSearchTerm, i+1);
    if (i < 0) {
      newText += bodyText;
      bodyText = "";
    } else {
      // skip anything inside an HTML tag
      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
        // skip anything inside a <script> block
        if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
          newText += bodyText.substring(0, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
          bodyText = bodyText.substr(i + searchTerm.length);
          lcBodyText = bodyText.toLowerCase();
          i = -1;
        }
      }
    }
  }
  
  return newText;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Verifica se E-mail preenchido
////////////////////////////////////////////////////////////////////////////////////////////////////
function ISEmail(Email, ErrorEmail)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (Email.value != '')
	{
		if (filter.test(Email.value))
		{
			ErrorEmail.className = "Off";
 			return true;
		}
		else
		{
			ErrorEmail.className = "block";
 			return false;
		} 
	}
	else
	{
		ErrorEmail.className = "Off";
 		return true;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Verifica se campo é vazio
////////////////////////////////////////////////////////////////////////////////////////////////////
function IsEmpty(id, Message)
{
	var id = document.getElementById(id);
	var Message = document.getElementById(Message);

	if (id.value != '')
	{
		Message.className= 'Off';
		return false;
	}
	else
	{
		Message.className= 'block';
		return true;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Verifica se E-mail preenchido e válido
////////////////////////////////////////////////////////////////////////////////////////////////////
function ISEmailCorrect(Email, Message, MessageWrong)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	var Email = document.getElementById(Email);
	var Message = document.getElementById(Message);
	var MessageWrong = document.getElementById(MessageWrong);
	
	if (Email.value != '')
	{
		if (filter.test(Email.value))
		{
			MessageWrong.className = 'Off';
			Message.className = 'Off';
 			return true;
		}
		else
		{
			MessageWrong.className = 'block';
			Message.className = 'Off';
 			return false;
		} 
	}
	else
	{
		Message.className = 'block';
		MessageWrong.className = 'Off';
 		return false;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Alert de mensagem e redirecionamento
////////////////////////////////////////////////////////////////////////////////////////////////////
function AlertRedirect(msg, siteURL)
{
	alert(msg);
	if(siteURL != "")
		window.location = siteURL;
}

/////////////////////////////////////////////////////////////////////////
//  Mostra / Esconde uma DIV alterando a imagem clicada                //
/////////////////////////////////////////////////////////////////////////
function showHideImageDiv(IDdiv, IDImage, srcON, srcOFF)
{
	if(document.getElementById(IDdiv).style.display == 'none') {
		document.getElementById(IDdiv).style.display = '';
		document[IDImage].src = srcOFF;
	}
	else {
		document.getElementById(IDdiv).style.display = 'none';
		document[IDImage].src = srcON;
	}
}

//////////////////////////////////////////////////////////////////////////////////////
//    Abrir uma Nova Janela sem toolbars com dimensões específicas                  //
//////////////////////////////////////////////////////////////////////////////////////
function OpenWindowNotoolbar(url, valWidth, valHeight)
{
	if (valWidth == undefined) {
		valWidth = "750";
	}
	if (valHeight == undefined) {
		valHeight = "700";
	}
	window.open(url, "", "left=200,top=30,Height=" + valHeight + ",Width=" + valWidth + ",status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,help=no;");
}

//////////////////////////////////////////////////////////////////////////////////////
//    Altera posição do scroll na página                                            //
//////////////////////////////////////////////////////////////////////////////////////
function changePageScroll(scrollX, scrollY)
{
	window.scrollBy(scrollX, scrollY); // horizontal and vertical scroll increments
}

/////////////////////////////////////////////////////////////////////////
//  Mostra / Esconde uma DIV                                           //
/////////////////////////////////////////////////////////////////////////
function mostraEscondeDiv(IDdiv)
{
	if(document.getElementById(IDdiv).style.display == 'none') {
		document.getElementById(IDdiv).style.display = '';
	}
	else {
		document.getElementById(IDdiv).style.display = 'none';
	}
}
