/* ----------------- Flash insert objects ----------------------- 
<http://www.pedrocandeias.net/flashinsertJS>
	Copyright 2008 Pedro Miguel Candeias da Silva
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/


/* ----------------- Start mp3 player insert ----------------------- */

if(typeof(JPN) == 'undefined') JPN = {}
JPN.Mp3 = {
	playimg: null,
	player: null,	
	go: function() {
		var all = document.getElementsByTagName('a')
		for (var i = 0, o; o = all[i]; i++) {
			if(o.href.match(/\.mp3$/i)) {
			var img = document.createElement('img')
				img.setAttribute('class','imgbut');
				img.src = 'http://jpn.icicom.up.pt/website/audioplay.gif';
				img.title = 'Ouvir'
				img.style.marginRight = '2px'
				img.style.cssFloat = 'none';
				img.style.styleFloat = 'none';
				img.style.cursor = 'pointer'
				img.style.height = '12px'	
				img.style.width = '12px'
				img.onclick = JPN.Mp3.makeToggle(img, o.href)
				o.parentNode.insertBefore(img, o.nextSibling)

			var displaytoogletext = document.createElement('span');
				displaytoogletext.setAttribute('class','clica');
				displaytoogletext.style.backgroundColor = '#CCFFFF'
				displaytoogletext.style.color = '#000000'
				displaytoogletext.style.cursor = 'pointer'
				displaytoogletext.onclick = JPN.Mp3.makeToggle(img, o.href)
				o.parentNode.insertBefore(displaytoogletext, o)		
				
				var gettoogletext = document.getElementsByTagName('a')[i]
				
		for( var x = 0; x < gettoogletext.attributes.length; x++ ) {
	if(gettoogletext.attributes[x].nodeName.toLowerCase() == 'title' ) {
		var toogletext = document.createTextNode(gettoogletext.attributes[x].nodeValue );
					displaytoogletext.appendChild(toogletext);
	}
}

o.style.display = 'none'

	}}},
	
	toggle: function(img, url) {
		if (JPN.Mp3.playimg == img) JPN.Mp3.destroy()
		else {
			if (JPN.Mp3.playimg) JPN.Mp3.destroy()
			if ((screen.width  <= 1024)) { 
					var objX = findPosX(img)+110;
			} 
			else if ((screen.width <= 1152) ) { 
			 		var objX = findPosX(img)+65;
			}
			
			else { 
			 		var objX = findPosX(img);
			}
			
				var objY = findPosY(img);
			img.src = 'http://jpn.icicom.up.pt/website/audioplay.gif'; 
			img.title = 'Parar';		
				
			JPN.Mp3.balloon = document.createElement('div');
			JPN.Mp3.balloon.setAttribute('class','balloon');	
			JPN.Mp3.balloon.style.width = '320px';
			JPN.Mp3.balloon.style.height = '110px'
			JPN.Mp3.balloon.style.position = 'absolute';
			JPN.Mp3.balloon.style.background = 'url(http://jpn.icicom.up.pt/website/mp3balloon.gif) top left no-repeat';
			JPN.Mp3.balloon.style.top = (objY - 120) + 'px';
			JPN.Mp3.balloon.style.left = (objX -255) + 'px';
			img.parentNode.insertBefore(JPN.Mp3.balloon, img.nextSibling)
							
				var closebut = document.createElement('img')
				closebut.src = 'http://jpn.icicom.up.pt/website/closebox.png';
				closebut.style.cursor = 'pointer'
				closebut.style.width = '12px'
				closebut.style.height = '12px'	
				closebut.style.marginTop = '12px'
				closebut.style.marginLeft = '285px'
				closebut.style.cssFloat = 'right';
				closebut.style.styleFloat = 'right';
				closebut.onclick =  JPN.Mp3.makeToggle(img, url);
				JPN.Mp3.balloon.appendChild(closebut)
		
		
				JPN.Mp3.playimg = img;
				JPN.Mp3.player = document.createElement('div');
				JPN.Mp3.player.setAttribute('class','mp3container');	
				JPN.Mp3.player.style.width = '280px';
				JPN.Mp3.player.style.height = '20px'
				JPN.Mp3.player.style.marginRight = '20px'
				JPN.Mp3.player.style.marginLeft = '20px'
				JPN.Mp3.player.style.marginTop = '25px'
				JPN.Mp3.player.innerHTML = '<embed src="http://jpn.icicom.up.pt/flash/mp3player.swf" width="280" height="20"' +
				' bgcolor="transparent" type="application/x-shockwave-flash"' +
				' pluginspage="http://www.macromedia.com/go/getflashplayer"' +
				'flashvars="file='+url+'&autostart=true" />'
				JPN.Mp3.balloon.appendChild(JPN.Mp3.player)

				var downloadlink = document.createElement('a')
				downloadlink.setAttribute('title', url);
				downloadlink.setAttribute('href', url);
				downloadlink.style.marginLeft = '23px';
				downloadlink.style.padding = '2px';
				downloadlink.style.textDecoration = 'underline';
				downloadlink.style.color = '#000000';
				downloadlink.style.cssFloat = 'left';
				downloadlink.style.styleFloat = 'left'
				JPN.Mp3.balloon.appendChild(downloadlink)
				
				var downloadtext = document.createTextNode('Descarregar ficheiro');
				downloadlink.appendChild(downloadtext)
	
	}},
	destroy: function() {
		JPN.Mp3.playimg.src = 'http://jpn.icicom.up.pt/website/audioplay.gif';
		JPN.Mp3.playimg = null
		JPN.Mp3.player.removeChild(JPN.Mp3.player.firstChild);
		JPN.Mp3.player.parentNode.removeChild(JPN.Mp3.player);
		JPN.Mp3.player = null
		JPN.Mp3.balloon.removeChild(JPN.Mp3.balloon.firstChild);
		JPN.Mp3.balloon.parentNode.removeChild(JPN.Mp3.balloon);
		JPN.Mp3.balloon = null
	},
	makeToggle: function(img, url) { 
	return function(){ 
	JPN.Mp3.toggle(img, url) }
	}
}

/* ----------------- Insert FLV player ----------------------- */


if(typeof(JPN) == 'undefined') JPN = {}
JPN.Flv = {
	playimg: null,
	player: null,	
	go: function() {
		var all = document.getElementsByTagName('a')
		for (var i = 0, o; o = all[i]; i++) {
			if(o.href.match(/\.flv$/i)) {
			var img = document.createElement('img')
				img.setAttribute('class','imgbut');
				img.src = 'http://jpn.icicom.up.pt/website/flvplay.gif';
				img.title = 'Ver'
				img.style.marginRight = '2px'
				img.style.cssFloat = 'none';
				img.style.styleFloat = 'none';
				img.style.cursor = 'pointer'
				img.style.height = '12px'	
				img.style.width = '12px'
				img.onclick = JPN.Flv.makeToggle(img, o.href)
				o.parentNode.insertBefore(img, o.nextSibling)

			var displaytoogletext = document.createElement('span');
				displaytoogletext.setAttribute('class','clica');
				displaytoogletext.style.backgroundColor = '#CCFFFF'
				displaytoogletext.style.color = '#000000'
				displaytoogletext.style.cursor = 'pointer'
				displaytoogletext.onclick = JPN.Flv.makeToggle(img, o.href)
				o.parentNode.insertBefore(displaytoogletext, o)		
				
				var gettoogletext = document.getElementsByTagName('a')[i]
				
		for( var x = 0; x < gettoogletext.attributes.length; x++ ) {
	if(gettoogletext.attributes[x].nodeName.toLowerCase() == 'title' ) {
		var toogletext = document.createTextNode(gettoogletext.attributes[x].nodeValue );
					displaytoogletext.appendChild(toogletext);
	}
}

o.style.display = 'none'

	}}},
	
	toggle: function(img, url) {
		if (JPN.Flv.playimg == img) JPN.Flv.destroy()
		else {
			if (JPN.Flv.playimg) JPN.Flv.destroy()
					if ((screen.width  <= 1024)) { 
					var objX = findPosX(img)+110;
			} 
			else if ((screen.width <= 1152) ) { 
			 		var objX = findPosX(img)+65;
			}
			
			else { 
			 		var objX = findPosX(img);
			}
			
				var objY = findPosY(img);
			img.src = 'http://jpn.icicom.up.pt/website/flvstop.gif'; 
			img.title = 'Parar';		
				
			JPN.Flv.balloon = document.createElement('div');
			JPN.Flv.balloon.setAttribute('class','balloon');	
			JPN.Flv.balloon.style.width = '320px';
			JPN.Flv.balloon.style.height = '320px'
			JPN.Flv.balloon.style.position = 'absolute';
			JPN.Flv.balloon.style.background = 'url(http://jpn.icicom.up.pt/website/flvballoon.gif) top left no-repeat';
			JPN.Flv.balloon.style.top = (objY - 325) + 'px';
			JPN.Flv.balloon.style.left = (objX -255) + 'px';
			img.parentNode.insertBefore(JPN.Flv.balloon, img.nextSibling)
							
				var closebut = document.createElement('img')
				closebut.src = 'http://jpn.icicom.up.pt/website/closebox.png';
				closebut.style.cursor = 'pointer'
				closebut.style.width = '12px'
				closebut.style.height = '12px'	
				closebut.style.marginTop = '9px'
				closebut.style.marginRight = '20px'
				closebut.style.marginBottom = '5px'
				closebut.style.cssFloat = 'right';
				closebut.style.styleFloat = 'right';
				closebut.onclick =  JPN.Flv.makeToggle(img, url);
				JPN.Flv.balloon.appendChild(closebut)
		
		
				JPN.Flv.playimg = img;
				JPN.Flv.player = document.createElement('div');
				JPN.Flv.player.setAttribute('class','flvcontainer');	
				JPN.Flv.player.style.width = '280px';
				JPN.Flv.player.style.height = '250px'
				JPN.Flv.player.style.marginLeft = '15px'
				JPN.Flv.player.innerHTML = '<embed src="http://jpn.icicom.up.pt/flash/flvplayer.swf" width="280" height="230"' +
				' bgcolor="transparent" type="application/x-shockwave-flash"' +
				' pluginspage="http://www.macromedia.com/go/getflashplayer"' +
				'flashvars="file='+url+'&showdigits=true&autostart=true" />'
				JPN.Flv.balloon.appendChild(JPN.Flv.player)

				var downloadlink = document.createElement('a')
				downloadlink.setAttribute('title', url);
				downloadlink.setAttribute('href', url);
				downloadlink.style.cssFloat = 'left';
				downloadlink.style.styleFloat = 'left'
				downloadlink.style.padding = '2px'
				downloadlink.style.marginLeft = '4px'
				downloadlink.style.textDecoration = 'underline';
				downloadlink.style.color = '#000000';
				JPN.Flv.player.appendChild(downloadlink)
	
				var downloadtext = document.createTextNode('Descarregar ficheiro');
				downloadlink.appendChild(downloadtext)
	
	}},
	destroy: function() {
		JPN.Flv.playimg.src = 'http://jpn.icicom.up.pt/website/flvplay.gif';
		JPN.Flv.playimg = null
		JPN.Flv.player.removeChild(JPN.Flv.player.firstChild);
		JPN.Flv.player.parentNode.removeChild(JPN.Flv.player);
		JPN.Flv.player = null
		JPN.Flv.balloon.removeChild(JPN.Flv.balloon.firstChild);
		JPN.Flv.balloon.parentNode.removeChild(JPN.Flv.balloon);
		JPN.Flv.balloon = null
	},
	makeToggle: function(img, url) { 
	return function(){ 
	JPN.Flv.toggle(img, url) }
	}
}

/* ----------------- Insert IMG player ----------------------- */


if(typeof(JPN) == 'undefined') JPN = {}
JPN.Img = {
	playimg: null,
	player: null,	
	go: function() {
		var all = document.getElementsByTagName('a')
		for (var i = 0, o; o = all[i]; i++) {
			if(o.href.match(/\.jpg$/i)) {
			var img = document.createElement('img')
				img.setAttribute('class','imgbut');
				img.src = 'http://jpn.icicom.up.pt/website/imgplay.gif';
				img.title = 'Ver'
				img.style.marginRight = '2px'
				img.style.cssFloat = 'none';
				img.style.styleFloat = 'none';
				img.style.cursor = 'pointer'
				img.style.height = '12px'	
				img.style.width = '12px'
				img.onclick = JPN.Img.makeToggle(img, o.href)
				o.parentNode.insertBefore(img, o.nextSibling)

			var displaytoogletext = document.createElement('span');
				displaytoogletext.setAttribute('class','clica');
				displaytoogletext.style.backgroundColor = '#CCFFFF'
				displaytoogletext.style.color = '#000000'
				displaytoogletext.style.cursor = 'pointer'
				displaytoogletext.onclick = JPN.Img.makeToggle(img, o.href)
				o.parentNode.insertBefore(displaytoogletext, o)		
				
		var gettoogletext = document.getElementsByTagName('a')[i]
				
		for( var x = 0; x < gettoogletext.attributes.length; x++ ) {
	if(gettoogletext.attributes[x].nodeName.toLowerCase() == 'title' ) {
		var toogletext = document.createTextNode(gettoogletext.attributes[x].nodeValue );
					displaytoogletext.appendChild(toogletext);
	}
}

	
			
			
o.style.display = 'none'

	}}},
	
	toggle: function(img, url) {
		if (JPN.Img.playimg == img) JPN.Img.destroy()
		else {
			if (JPN.Img.playimg) JPN.Img.destroy()
			
			
			if ((screen.width  <= 1024)) { 
					var objX = findPosX(img)+110;
			} 
			else if ((screen.width <= 1152) ) { 
			 		var objX = findPosX(img)+65;
			}
			
			else { 
			 		var objX = findPosX(img);
			}
			
				var objY = findPosY(img);

			img.src = 'http://jpn.icicom.up.pt/website/imgstop.gif'; 
			img.title = 'Parar';		
		
			JPN.Img.balloon = document.createElement('div');
			JPN.Img.balloon.setAttribute('class','balloon');	
			JPN.Img.balloon.style.width = '320px';
			JPN.Img.balloon.style.height = '300px'
			JPN.Img.balloon.style.position = 'absolute'
			JPN.Img.balloon.style.background = 'url(http://jpn.icicom.up.pt/website/imgballoon.gif) top left no-repeat';
			JPN.Img.balloon.style.top = (objY-300) + 'px';
			JPN.Img.balloon.style.left = (objX-255) + 'px';
			img.parentNode.insertBefore(JPN.Img.balloon, img.nextSibling)
							
				var closebut = document.createElement('img')
				closebut.src = 'http://jpn.icicom.up.pt/website/closebox.png';
				closebut.style.cursor = 'pointer'
				closebut.style.width = '12px'
				closebut.style.height = '12px'	
				closebut.style.marginTop = '9px'
				closebut.style.marginRight = '20px'
				closebut.style.marginBottom = '5px'
				closebut.style.cssFloat = 'right';
				closebut.style.styleFloat = 'right';
				closebut.onclick =  JPN.Img.makeToggle(img, url);
				JPN.Img.balloon.appendChild(closebut)
		
		
				JPN.Img.playimg = img;
				JPN.Img.player = document.createElement('div');
				JPN.Img.player.setAttribute('class','imgcontainer');	
				JPN.Img.player.style.width = '280px';
				JPN.Img.player.style.height = '250px'
				JPN.Img.player.style.marginLeft = '15px'
				JPN.Img.balloon.appendChild(JPN.Img.player)

				var imgdisplay = document.createElement('img')
				JPN.Img.player.setAttribute('alt','Imagem');	
				JPN.Img.player.setAttribute('title','Imagem');	
				imgdisplay.src = url;
				imgdisplay.style.width = '280px'
				imgdisplay.style.height = '210px'
				JPN.Img.player.appendChild(imgdisplay)


				var downloadlink = document.createElement('a')
				downloadlink.setAttribute('title', url);
				downloadlink.setAttribute('href', url);
				downloadlink.style.cssFloat = 'left';
				downloadlink.style.styleFloat = 'left'
				downloadlink.style.padding = '2px'
				downloadlink.style.marginLeft = '4px'
				downloadlink.style.textDecoration = 'underline';
				downloadlink.style.color = '#000000';
				JPN.Img.player.appendChild(downloadlink)
	
				var downloadtext = document.createTextNode('Descarregar ficheiro');
				downloadlink.appendChild(downloadtext)
	
	}},
	destroy: function() {
		JPN.Img.playimg.src = 'http://jpn.icicom.up.pt/website/imgplay.gif';
		JPN.Img.playimg = null
		JPN.Img.player.removeChild(JPN.Img.player.firstChild);
		JPN.Img.player.parentNode.removeChild(JPN.Img.player);
		JPN.Img.player = null
		JPN.Img.balloon.removeChild(JPN.Img.balloon.firstChild);
		JPN.Img.balloon.parentNode.removeChild(JPN.Img.balloon);
		JPN.Img.balloon = null
	},
	makeToggle: function(img, url) { 
	return function(){ 
	JPN.Img.toggle(img, url) }
	}
}

/* ----------------- obj position ----------------------- */





 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1){
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }





/*--------Kick in---*/

JPN.addLoadEvent = function(f) { var old = window.onload
	if (typeof old != 'function') window.onload = f
	else { window.onload = function() { old(); f() }}
}

JPN.addLoadEvent(JPN.Mp3.go)
JPN.addLoadEvent(JPN.Flv.go)
JPN.addLoadEvent(JPN.Img.go)
