//  Navegadores testados:
//  Internet Explorer 6, Internet Explorer 7, Firefox 2
//  Opera 9, Netscape 8, Safari para Windows 3

var todosQuadros = new Array;
var statuto = 0	;
var blabla = 0;

// atalho para nao ter que usar sempre o document.getElementById
function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string') element = document.getElementById(element);
    if (arguments.length == 1) return element;
    elements.push(element);
  }
  return elements;
}
function adicionarEvento(objeto, TipoEvento, funcao){
	if(objeto.addEventListener){ // todos navegadores menos IE
		objeto.addEventListener(TipoEvento, funcao, false);
		return true;
	} else if (objeto.attachEvent){ // IE
		var r = objeto.attachEvent('on'+TipoEvento, funcao);
		return r;
	} else {
		return false;
	}
}
// busca o objeto requerido entre todos os objetos e muda seu status de aberto para fechado e vice-versa
function mudaStatus(obj){
	for(i=0;i<todosQuadros.length;i++){
		if(todosQuadros[i][0]==obj) {
			if(todosQuadros[i][1] == "fechado") todosQuadros[i][1] = "aberto";
			else todosQuadros[i][1] = "fechado";
		}
	}
}
// busca o objeto requerido entre todos os objetos e retorna seu status atual, aberto ou fechado
function retornaStatus(obj){
	for(i=0;i<todosQuadros.length;i++){
		if(todosQuadros[i][0]==obj) {
			return todosQuadros[i][1];
		}
	}
}
// busca o objeto requerido entre todos os objetos e devolve a altura do mesmo previamente guardada no array
function retornaAltura(obj){
	for(i=0;i<todosQuadros.length;i++){
		if(todosQuadros[i][0]==obj) {
			return todosQuadros[i][2];
		}
	}
}
function abre(obj,alt){
	if(alt==undefined) alt=0;
	var altura = retornaAltura(obj);
	alt=Math.ceil(alt)+10;
	if(alt>altura) alt = altura; // para nao ultrapassar o tamanho original
	$(obj).style.height=alt+"px";
	if(alt<altura) {
		setTimeout("abre('"+obj+"',"+alt+")",1);
	} else {
		// caso tenha sobrado por algum motivo algum pixel a mostra, limitamos a altura, por segurança apenas
		if($(obj).offsetHeight>0)  $(obj).style.height=altura+"px";
		// altera a propriedade para aberto
		mudaStatus(obj);
	}
}
function fecha(obj,alt){
	if(alt==undefined) alt=$(obj).offsetHeight;
	alt=Math.ceil(alt)-10;
	if(alt<0) alt=0; // caso o valor seja menor que 0 deixamos em zero, valores negativos aqui causam erros
	$(obj).style.height=alt+"px";
	if(alt>0) {
		setTimeout("fecha('"+obj+"',"+alt+")",1);

	} else {
		// caso tenha sobrado por algum motivo algum pixel a mostra, zeramos a altura, por segurança apenas
		if($(obj).offsetHeight>0)  $(obj).style.height="0px";
		// altera a propriedade para fechado
		mudaStatus(obj);
	}
}
// funcao que faz o efeito "slide"
function slide(obj){
	var status = retornaStatus("div_"+obj.id);
	$("div_"+obj.id).style.overflow="hidden"; // para garantir que o conteudo nao vai extrapolar a area correta
	var altura = $("div_"+obj.id).offsetHeight;
	
	if(blabla==0 && status=="aberto")
	{
		document.getElementById('marterDivVCall').style.visibility='visible';	
		document.getElementById('marterDivVCall').style.top='0px';	
		//document.getElementById('marterDivVCall').style.filter = 'filter: Alpha(opacity=80); opacity: .8;';
		document.getElementById('marterDivVCall').style.height=document.body.clientHeight;
		document.getElementById('artigos').style.visibility='visible';
		document.getElementById('div_slide1').style.visibility='visible';
		document.getElementById('boxTelVideo').style.visibility='visible';
		setPositionVCall();
		abre("div_"+obj.id,0);
		statuto=1;
		blabla=1;	
		return false;
	}
	if(blabla==1 && status=="fechado")
	{
		fecha("div_"+obj.id,altura);
		document.getElementById('marterDivVCall').style.visibility='hidden';		
		document.getElementById('div_slide1').style.visibility='hidden';	
		blabla=2;	
		statuto = 0;
		return false;
	}
	if(status == "aberto" && statuto==0){ // se estiver aberto fecha e vice-versa
		fecha("div_"+obj.id,altura);
		document.getElementById('div_slide1').style.visibility='hidden';	
		document.getElementById('marterDivVCall').style.visibility='hidden';		
		statuto = 1;
		return false;
	} else if(status=="fechado" && statuto==1){
	document.getElementById('marterDivVCall').style.visibility='visible';
	document.getElementById('marterDivVCall').style.top='0px';	
	document.getElementById('marterDivVCall').style.height=document.body.clientHeight;
	document.getElementById('marterDivVCall').style.top='0px';		
	//document.getElementById('marterDivVCall').style.filter = 'filter: Alpha(opacity=80); opacity: .8;';
	document.getElementById('artigos').style.visibility='visible';
	document.getElementById('div_slide1').style.visibility='visible';
	document.getElementById('boxTelVideo').style.visibility='visible';
	setPositionVCall();
	abre("div_"+obj.id,0);
	statuto=0;
	return false;
	}
}
function checaLinks(atributo_rel){
	var todosLinks = document.getElementsByTagName("a"); // pega todos os links 

	for (var i=0; i<todosLinks.length; i++){ 
			var cada_link = todosLinks[i]; // varre os links um por um
			var atributo_rel = String(cada_link.getAttribute('rel')); // pega o valor do atributo rel no link
			atributo_rel = atributo_rel.split(",")
			if (cada_link.getAttribute('href') && (atributo_rel[0].toLowerCase().match('slide'))){ 
				var altura_quadro = $("div_"+cada_link.getAttribute('id')).offsetHeight;
				// abaixo inserimos no array todos os dados de cada quadro
				// seu status se eh aberto ou fechado, sua altura original, e como index seu ID
				todosQuadros.push(new Array("div_"+cada_link.id, "aberto", altura_quadro));
				// Entra se o link tiver um valor de href e o valor de rel for igual a slide
				if(atributo_rel[1]=="fechado") slide(cada_link);
				cada_link.onclick = function () { 
					slide(this); 
					return false; 
				} 
				// quando o link for clicado chama a funçao slide
				// O return false serve para anular a açao do href
			}
	}	
}
//adicionarEvento(window,"load", checaLinks);


//Luciano Code New
function vboxFunction()
{
	var ssd = findPoss(document.getElementById('wt_CompoundWebwidget712031_wt_Imagewidget711880'));
	//var conteudoVBoxCall = '<div id="marterDivVCall" style="filter: alpha(opacity=90); opacity: .9;z-index:5;position:absolute;width:100%;height:'+ssd+'px;background-color:#000;visibility:hidden;"><div id="artigos" style="width:1px;height:10px;margin-top:-500px;visibility:hidden;text-align:right;background-color:#FFF"><div id="div_slide1" style="height:700px;width:400px;background-color:#000;margin-top:-400px;visibility:hidden"></div><br /><div id="boxTelVideo" style="border:0px solid #999;width:412px;height:313px;background-color:#FFF;visibility:hidden;text-align:right;background-image:url(http://sip.zonadvanced.pt/cofidis/cofidis_top.gif);background-repeat:no-repeat"><div style="margin-right:2px;text-align:right;position:float;left:2px" id="contIframe"><p align="right"><a href="#" style="text-decoration:none"><img src="http://sip.zonadvanced.pt/cofidis/close.gif" title="Fechar" border="0" style="padding-top:10px"  onClick="vboxFunction();"/></a>&nbsp;&nbsp;</p></div><iframe src ="http://sip.zonadvanced.pt/cofidis/popup.php" frameborder="0" width="410" height="240" scrolling="no" style="margin-top:30px"></div></div></div>';
	var conteudoVBoxCall = '<div id="marterDivVCall" style="filter: alpha(opacity=90);opacity: .9;z-index:5;position:absolute;width:100%;height:'+ssd+'px;background-color:#000;visibility:hidden;"><div id="artigos" style="width:1px;height:10px;margin-top:-500px;visibility:hidden;text-align:right;background-color:#FFF"><div id="div_slide1" style="height:700px;width:400px;background-color:#000;margin-top:-400px;visibility:hidden"></div><br /><div id="boxTelVideo" style="border:0px solid #999;width:412px;height:313px;background-color:#FFF;visibility:hidden;text-align:right;background-image:url(http://sip.zonadvanced.pt/cofidis/cofidis_top.gif);background-repeat:no-repeat"><div style="margin-right:2px;text-align:right;position:float;left:2px" id="contIframe"><p align="right"><a href="#" style="text-decoration:none"><img src="http://sip.zonadvanced.pt/cofidis/close.gif" title="Fechar" border="0" style="padding-top:10px"  onClick="vboxFunction();"/></a>&nbsp;&nbsp;</p></div><iframe src ="http://sip.zonadvanced.pt/cofidis/popup.php" frameborder="0" width="410" height="240" scrolling="no" style="background-color:#FFF;margin-top:30px"></div></div></div>';

	var div = document.createElement('div'); 
	div.innerHTML = conteudoVBoxCall;
	document.body.appendChild(div.firstChild); 

	checaLinks('slide1,fechado');
}

	function setPositionVCall()
	{
		var xx = screen.width - 415;
		var x = Math.round(xx / 2);
		var yy = getScrollXY();
		var y = Math.round(yy - 215);

		document.getElementById('artigos').style.marginTop=y+'px';
		document.getElementById('artigos').style.marginLeft=x+'px';
	}


//formulario functions

function checkVideoForm(){

                if(document.getElementById('vformNome').value.length <= 2)
                {
                        alert('Por favor introduza o seu nome.');
                        document.getElementById('vformNome').style.backgroundColor='#FF9966';
                        document.getElementById('vformNome').focus()
                        return false;
                }
                document.getElementById('vformNome').style.backgroundColor='#FFFFFF';

                if(document.getElementById('vformMobile').value.length != 9 || IsNumeric(document.getElementById('vformMobile').value)==false )
                {
                        alert('Indique um numero de telemovel valido.');
                        document.getElementById('vformMobile').style.backgroundColor='#FF9966';
                        document.getElementById('vformMobile').focus();
                        return false;
                }
                document.getElementById('vformMobile').style.backgroundColor='#FFFFFF';
		document.vCallForm.submit();
}



function IsNumeric(strString)
   //  check for valid numeric strings
{
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function setMsgVForm()
{
        document.getElementById('msgVForm').innerHTML='A processar chamada, por favor aguarde.';
}



//retorna a resolucao do ecra
function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }

	return [ myWidth, myHeight ];
}


//retorna posicao da barra de rolagem
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  //return [ scrOfX, scrOfY ];
  return scrOfY;
}

function findPoss(obj) {
        var curleft = curtop = 0;
        if (obj.offsetParent) {
                curleft = obj.offsetLeft
                curtop = obj.offsetTop
                while (obj = obj.offsetParent) {
                        curleft += obj.offsetLeft
                        curtop += obj.offsetTop
                }
        }
        return curtop;
}
