// JS Video descripcion

var timerId=new Array();
var timerDelay=1000;
var vd_enable=false;
var vd_loading_div='vd_loading';
var vd_loading_texto=null;
var vd_loading_delay=2000;
var vd_error_load='';
var clip_default='';
var base_url='';
var base_module_url='/mod_videodescripcion/';

//window.addEvent('domready', function(){		
window.onload=function() {									   
									    
	 if (!vd_enable) {
		$('flwp_videodescripcion').setStyle('display','none');		
	 }
	
	 var aElements=$(document.body).getElements('a');
	 var cont=0;
	 for (var aEl in aElements) {
		 if ($(aElements[aEl])!=undefined) {
			 var spanElement=$(aElements[aEl]).getElement('span');
			 if (spanElement!=null) {
				 aElements[aEl].innerHTML=spanElement.innerHTML;
			 }			 
			 
			 $(aElements[aEl]).addEvent('mouseover',function(evento) {
				e = new Event(evento);
				if ( (this.parentNode['className']!=null) && (this.parentNode['className']!=undefined)) {
					var clases=this.parentNode['className'].split(" ");
					for (var i=0; i<clases.length; i++) {
						var posId=clases[i].indexOf('item');
						if (posId!=-1) {	
							e.OItemid=clases[i].substring(posId+4);
						}
					}
				}
				stopTimer(timerId);
				timerId.push(getTarget.delay(timerDelay, null,[e]));
				//return getTarget(e,evento);
			 });
		 }
	 }
								 
	 $('videodescripcion-enabled').addEvent('click',videodescripcion_activate);
	 $('videodescripcion-disabled').addEvent('click',videodescripcion_activate);
};


function getTarget(e) {
	var target=null;
	var mytarget=new Object();	
				
	if (e.target.toString()!='[object]') target=e.target;
	else target=e.target.parentNode;
	var objeto=target.toString().split(/[&\?]/);
	for (i=0; i<objeto.length; i++) {		
		if (i==0) mytarget['url']=objeto[i];
		else {
			var params=objeto[i].split("=");
			mytarget[params[0]]=params[1];			
		}		
	}
	
	if (e.OItemid!=undefined) mytarget['OItemid']=e.OItemid;
	
	getVideo(mytarget,e);
	return mytarget;
}

function stopTimer() {
	for (var i=0; i<timerId.length; i++) {
		$clear(timerId[i]);
	}
	timerId=new Array();
}

function getVideo(params,evento) {
	if ( (vd_enable) && (params.url!='') && (params.url!=null) ) {		
		videodescripcion_error_clear();
		var _mouse=getXY(evento);
				
		//videodescripcion_set_loading_div(vd_loading_div,_mouse);
		//videodescripcion_hide_loading_div(vd_loading_div);
		
		new Ajax('index.php', {
			method: 'post',
			data: 'option=com_videodescripcion&no_html=1&task=getvideo&params='+Json.toString(params),
			onSuccess: function(text) {				
				if ((text!='') && (text!=undefined)) {
					var clip=null;
					var url='';
					
					if (typeof(flowplayer('flwp_videodescripcion').getClip())=='object') {
						clip=flowplayer('flwp_videodescripcion').getClip();
						url=clip.url;
					}							
					if (url!=base_url+'video/'+text+'.flv') {
						//videodescripcion_set_loading_div(vd_loading_div,_mouse,vd_loading_texto);
						//setTimeout("videodescripcion_hide_loading_div('"+vd_loading_div+"')",vd_loading_delay);
						flowplayer('flwp_videodescripcion').play(base_url+'video/'+text+'.flv');						
					}
					else {
						if (!flowplayer('flwp_videodescripcion').isPlaying()) {
							//videodescripcion_set_loading_div(vd_loading_div,_mouse,vd_loading_texto);
							//setTimeout("videodescripcion_hide_loading_div('"+vd_loading_div+"')",vd_loading_delay);
							if (flowplayer('flwp_videodescripcion').getState()==1) flowplayer('flwp_videodescripcion').play();
							else flowplayer('flwp_videodescripcion').resume();
						}
					}
				}
				
			}
		}).request();
	}
}


function videodescripcion_error_clear() {
	document.getElementById('videodescripcion-error').innerHTML='';
}


function videodescripcion_activate() {
	var player_display="none";
	var enabled_display="none";
	var disabled_display="block";
	videodescripcion_error_clear();	
	
	vd_enable=!vd_enable;
	if (vd_enable) {
		var player_display="block";
		var enabled_display="block";
		var disabled_display="none";
	}
	else {
		flowplayer('flwp_videodescripcion').setClip({clip:{'url': clip_default,'start': 0}});
	}
	
	$('flwp_videodescripcion').setStyle('display',player_display);
	$('videodescripcion-enabled').setStyle('display',enabled_display);
	$('videodescripcion-disabled').setStyle('display',disabled_display);
	
	new Ajax('index.php', {
		method: 'post',
		data: 'option=com_videodescripcion&no_html=1&task=setestado&estado='+vd_enable
	}).request();
}

function videodescripcion_set_loading_div(id,pos,texto) {	
	var vdLoading=document.getElementById(id);
		if (!vdLoading) {
			var nuevoDiv = document.createElement("div");
			nuevoDiv.id=id;
			var cuerpo = document.getElementsByTagName("body")[0];			
			cuerpo.appendChild(nuevoDiv);
			vdLoading=document.getElementById(id);
		}
		$(id).setStyle('top',pos.y+10);
		$(id).setStyle('left',pos.x-10);
		if (texto!=null) {
			vdLoading.innerHTML=texto;
			videodescripcion_show_loading_div(id);
		}
}

function videodescripcion_show_loading_div(id) {
	$(id).setStyle('display','block');
}

function videodescripcion_hide_loading_div(id) {
	$(id).setStyle('display','none');
}

function getXY(e) {	
	var posx=0;
	var posy=0;	
	
	if (e.page.x || e.page.y) 	{
		posx = e.page.x;
		posy = e.page.y;
	}
	else if (e.client.x || e.client.y) 	{
		posx = e.client.x + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.client.y + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}	
	
	return {'x':posx+10,'y':posy+10};
}

