/**

    * @package DentroVideo - http://www.dentrovideo.com
    * @copyright Copyright (C) 2008 - 2010 Blobject. All rights reserved.
    * @license GNU/GPL, - http://www.dentrovideo.com/license
    * @author Blobject - http://www.blobject.es

**/

EXTRAS = {
		// Event listener by Scott Andrew (www.scottandrew.com):
		addEvent : function(obj, evType, fn, useCapture){
			if (obj.addEventListener){
				obj.addEventListener(evType, fn, useCapture);
				return true;
			} 
			else if (obj.attachEvent){
				var r = obj.attachEvent("on"+evType, fn);
				return r;
			} 
			else {
				return false;
			}
		},
		// Method adapted from Dan Pupius (pupius.co.uk):
		getElementsByClass : function(className,node) {
			if(!node) node=document;
			var refTags = document.all ? node.all : node.getElementsByTagName("*");
			var retVal = new Array();
			for(var z=0;z<refTags.length;z++) {
				if(refTags[z].className == className) 
				retVal.push(refTags[z]);
			}
			return retVal; 
		}
}

getLoadingIcon = function() {
	var loadingImage = document.createElement('IMG');
	loadingImage.setAttribute('id','dv_list_loading');
	loadingImage.setAttribute('src','./components/com_dv/images/icons/bigrotation2.gif');
	loadingImage.setAttribute('style','height: 14px; margin: 1px;');
	return loadingImage;
}

/**
 * Método que fija los eventos y acciónes que se realizan en la página de búsqueda.
 */
setEventosList = function() {
    var inputWord = $('dv_tagsearchinput');
    if(inputWord != null) {
        new Autocompleter.Request.JSON(inputWord,
            './index.php?option=com_dv&controller=editvideo&task=searchtag&format=raw');
    }
    //Eventos para que los inputs en modo bulk sean exclusivos y para que la paginacion sea ajax
    var formVideoAction = EXTRAS.getElementsByClass('dv_editcategories_list_field');
    if(formVideoAction != null && formVideoAction.length > 0) {
        for(var k = 0; k < formVideoAction.length; k++) {
            var inputTags = formVideoAction[k].getElementsByTagName('INPUT');
            var labelTags = formVideoAction[k].getElementsByTagName('LABEL');
            if((inputTags != null && inputTags.length > 0) &&
                    (labelTags != null && labelTags.length > 0)) {
                for(var i = 0; i < inputTags.length; i++) {
                    if(inputTags[i].getAttribute("type") == "radio") {
                        //$(inputTags[i].id).addEvent('change',toggleCheck);
                        if(inputTags[i].checked) {
                            for(var j = 0; j < labelTags.length; j++) {
                                if(labelTags[j].getAttribute("for") == inputTags[i].id) {
                                    if(inputTags[i].checked == true) {
                                        labelTags[j].className = "dv_upload_category_selected";
                                    } else {
                                        labelTags[j].className = "colourChange";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    //Evento para publicar, despublicar, eliminar y/o taggear un video
    var aActionTags = EXTRAS.getElementsByClass('dv_list_publish_video');
    if(aActionTags != null && aActionTags.length > 0) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+i+"_publish";
                    $(aActionTags[i].id).addEvent('click', publishVideo);
            }
    }
    aActionTags = EXTRAS.getElementsByClass('dv_list_unpublish_video');
    if(aActionTags != null && aActionTags.length > 0) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+i+"_unpublish";
                    $(aActionTags[i].id).addEvent('click',unpublishVideo);
            }
    }
    aActionTags = EXTRAS.getElementsByClass('dv_list_delete_video');
    if(aActionTags != null && aActionTags.length > 0) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+i+"_delete";
                    $(aActionTags[i].id).addEvent('click',deleteVideo);
            }
    }
    //Evento para mostrar el formulario de EDICION de un video
    aActionTags = EXTRAS.getElementsByClass('dv_list_edit_video');
    if(aActionTags != null) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+"_"+i+"_videoedition";
                    $(aActionTags[i].id).addEvent('click',doajaxedit);
            }
    }
    //Evento para añadir el video a los favoritos
    aActionTags = EXTRAS.getElementsByClass('dv_list_addfavorite_video');
    if(aActionTags != null && aActionTags.length > 0) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+i+"_addfavorites";
                    $(aActionTags[i].id).addEvent('click',addVideoToFavorites);
            }
    }
    //Evento para eliminar el video a los favoritos
    aActionTags = EXTRAS.getElementsByClass('dv_list_deletefavorite_video');
    if(aActionTags != null && aActionTags.length > 0) {
            for(var i = 0; i < aActionTags.length; i++) {
                    aActionTags[i].id = new Date().getTime()+i+"_removefavorites";
                    $(aActionTags[i].id).addEvent('click',removeVideoFromFavorites);
            }
    }
    var submitTags = EXTRAS.getElementsByClass('dv_list_ajaxeditform_input');
    if(submitTags != null && submitTags.length > 0) {
            for(var i = 0; i < submitTags.length; i++) {
                    submitTags[i].id = new Date().getTime()+"_"+i+"_editsubmit";
                    if(submitTags[i].name == "submit") {
                            $(submitTags[i].id).addEvent('click',doajaxsubmit);
                    } else {
                            $(submitTags[i].id).addEvent('click',doRemoveElement);
                    }
            }
    }
    // Eventos para ver el video directamente en la lista de videos.
    var spanTags = EXTRAS.getElementsByClass('dv_thumb_image');
    if(spanTags != null && spanTags.length > 0) {
            for(var i = 0; i < spanTags.length; i++) {
                    spanTags[i].id = new Date().getTime()+"_"+i+"_flash";
                    $(spanTags[i].id).addEvent('click', doFlashInsert);
            }
    }
    var spanTags_direct = EXTRAS.getElementsByClass('dv_thumb_image_direct');
    if(spanTags_direct != null && spanTags_direct.length > 0) {
            for(var i = 0; i < spanTags_direct.length; i++) {
                    spanTags_direct[i].id = new Date().getTime()+"_"+i+"_flash";
                    $(spanTags_direct[i].id).addEvent('click', gotoDirect);
            }
    }    
    spanTags = EXTRAS.getElementsByClass('dv_play_button');
    if(spanTags != null) {
            for(var i = 0; i < spanTags.length; i++) {
                    spanTags[i].id = new Date().getTime()+"_"+i+"_flash";
                    $(spanTags[i].id).addEvent('click', doFlashInsert);
            }
    }
    var divUserFavorites = EXTRAS.getElementsByClass("userFavorites");
    if(divUserFavorites != null) {
        for(i = 0; i < divUserFavorites.length; i++) {
            var spanUserName = EXTRAS.getElementsByClass("usernameFavoriteVideos", divUserFavorites[i]);
            if(spanUserName != null) {
                spanUserName[0].setAttribute("id", new Date().getTime()+i+"_collapseSpan");
                var divCollapsible = spanUserName[0].parentNode.getElementsByTagName("DIV");
                divCollapsible[0].setAttribute("id", new Date().getTime()+i+"_parentCollapseSpan");
                var numVideos = EXTRAS.getElementsByClass("dv_list_videoentry",divCollapsible[0]).length;
                spanUserName[0].innerHTML += " ("+numVideos+")";
                $(spanUserName[0].id).addEvent("click",collapseNext);
                divCollapsible[0].style.display = "none";
            }
        }
    }
    var subscriptedTags = EXTRAS.getElementsByClass("dv_configuration_tagitem");
    if(subscriptedTags != null && subscriptedTags.length > 0) {
        var tagList = subscriptedTags[0].getElementsByTagName("LABEL");
        subscriptedTags = tagList;
        for(i = 0; i < subscriptedTags.length; i++) {
            subscriptedTags[i].setAttribute("id",new Date().getTime()+i+"_tagsubscripted");
            $(subscriptedTags[i].id).addEvent("click",showVideosInTag);
        }
    }
}

showVideosInTag = function(ev) {
    ev.stop();
    var elemento = null;
    if(window.event) {//IE only
            elemento = window.event.srcElement;
    } else {
            elemento = ev.target;
    }
    var loadingIcon = getLoadingIcon();
    elemento.appendChild(loadingIcon);
    var idInput = elemento.getAttribute("for");
    if(idInput != null && idInput.length > 0) {
        var inputTag = document.getElementById(idInput);
        if(inputTag != null) {
            var divFormContainer = EXTRAS.getElementsByClass("dv_list_videolist");
            if(divFormContainer != null) {
                var aFormTags = divFormContainer[0].getElementsByTagName("FORM");
                if(aFormTags != null && aFormTags.length > 0) {
                    var formTag = aFormTags[0];
                    var destino = formTag.getAttribute("action");
                    var inputTags = formTag.getElementsByTagName("INPUT");
                    if(inputTags != null) {
                        for(i = 0; i < inputTags.length; i++) {
                            if(inputTags[i].getAttribute("name") == "option") {
                                destino += "?option="+inputTags[i].getAttribute("value");
                            }
                            if(inputTags[i].getAttribute("name") == "controller") {
                                destino += "&controller="+inputTags[i].getAttribute("value");
                            }
                            if(inputTags[i].getAttribute("name") == "task") {
                                destino += "&task="+inputTags[i].getAttribute("value");
                            }
                        }
                        destino += "&"+inputTag.getAttribute("name")+"="+inputTag.getAttribute("value");
                        var targetTag = document.getElementById("dv_list_tag_videolist");
                        if(targetTag == null) {
                            targetTag = document.createElement("DIV");
                            targetTag.setAttribute("id", "dv_list_tag_videolist");
                        }
                        var request = new Request({
                            url: destino+"&format=raw",
                            onSuccess:function(response) {
                                targetTag.innerHTML = response;
                                elemento.removeChild(loadingIcon);
                                setEventosList();
                            },
                            onFailure: function() {
                                targetTag.innerHTML = "Error en la solicitud TAG";
                                elemento.removeChild(loadingIcon);
                            }
                        });
                        request.send();
                    }
                }
            }
        }
    }
}

collapseNext = function(ev) {
    ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
    var divCollapsible = elemento.parentNode.getElementsByTagName("DIV");
    if(divCollapsible != null) {
        var newId = new Date().getTime()+"_collapsed";
        divCollapsible[0].setAttribute("id", new Date().getTime()+"_collapsed");
        if( divCollapsible[0].style.display != "none") {
            $(newId).tween("height",0);
            setTimeout('document.getElementById("'+newId+'").style.display = "none"',1000);
        } else {
            divCollapsible[0].style.display = "inherit";
            divCollapsible[0].style.height = "auto";
            var height = divCollapsible[0].offsetHeight;
            divCollapsible[0].style.height = "0";
            $(newId).tween("height",height);
            setTimeout('document.getElementById("'+newId+'").style.display = "inherit"',1000);
        }
    }
}

publishVideo = function(ev) {
	ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	eliminarPlayers();
	doajaxrequestfromlink(elemento.id,"publicado");
}

unpublishVideo = function(ev) {
	ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	eliminarPlayers();
	doajaxrequestfromlink(elemento.id,"despublicado");
}

deleteVideo = function(ev) {
	ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	
	Sexy.confirm(JTEXT_DELETEVIDEO, {
		textBoxBtnOk: JTEXT_YES,
		textBoxBtnCancel: JTEXT_CANCEL,
	onComplete:
		function(returnvalue) {
			if (returnvalue) {
				eliminarPlayers();
				doajaxrequestfromlink(elemento.id,"eliminado");
		    } else {
		    }
		}
	});
}

addVideoToFavorites = function(ev) {
    ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	eliminarPlayers();
	doajaxrequestfromlink(elemento.id,"A&ntilde;adido");
}

removeVideoFromFavorites = function(ev) {
    ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	eliminarPlayers();
	doajaxrequestfromlink(elemento.id,"Eliminado");
}

doajaxsearchfrompagination = function(ev) {
    ev.stop();
    var elemento = null;
    if(window.event) {//IE only
            elemento = window.event.srcElement;
    } else {
            elemento = ev.target;
    }
    eliminarPlayers();
    $('dv_list_wrapper').fade(0.3);
    var lIcon = getLoadingIcon();
    elemento.parentNode.appendChild(lIcon);
    if(elemento != null) {
        var divTagContainer = EXTRAS.getElementsByClass('dv_list_videolist');
        var request = new Request({
            url: elemento.getAttribute("href")+"&format=raw",
            onSuccess:function(responseText) {
                if(divTagContainer != null) {
                    for(var i = 0; i < divTagContainer.length; i++) {
                        var searchResponse = document.getElementById('dv_list_ajaxresponse');
                        if(searchResponse != null) {
                            searchResponse.parentNode.removeChild(searchResponse);
                        }
                        divTagContainer[i].innerHTML += '<span id="dv_list_ajaxresponse">'+responseText+'</span>';
                        location.href += "#dv_form_video_actions";
                    }
                }
                setEventosList();
            },
            onFailure: function() {
                    alert("Error");
            }
        });
        request.send();
    }
}

var singlevideo;
var singlevideo_seek = 0;
var gotosec = 0;

playerReady = function() {
	singlevideo = document.getElementById('singlevideo');
	singlevideo.addModelListener('STATE','eliminarPlayerFinal');
}

function aleatorio(inferior,superior){
	numPosibilidades = superior - inferior
	aleat = Math.random() * numPosibilidades
	aleat = Math.round(aleat)
	return parseInt(inferior) + aleat
} 

doFlashInsert = function(ev) {
    ev.stop();
    var elemento = null;
    if(window.event) {//IE only
            elemento = window.event.srcElement;
    } else {
            elemento = ev.target;
    }
    if(elemento.tagName == "IMG" || elemento.tagName == "A") {
            elemento = elemento.parentNode;
    }
    var imgTags = elemento.getElementsByTagName('IMG');
    if(imgTags != null) {
        eliminarPlayers();
        var inputTagsURL = elemento.parentNode.getElementsByTagName('INPUT');
        var idVideo = "";
        if(inputTagsURL != null) {
            for(var i = 0; i < inputTagsURL.length; i++) {
                if(inputTagsURL[i].name.indexOf('idVideo') >= 0) {
                    idVideo = inputTagsURL[i].value;
                }
            }
            var destino = './index.php?option=com_dv&controller=single&task=getVideoAjax&id='+idVideo+'&format=raw';
            var sol = new Request({
                url: destino,
                onSuccess: function(response) {
                    // Volvemos a poner todos los eventos click
                    setEventosList();
                    var spanPlayer = document.createElement("SPAN");
                    spanPlayer.setAttribute('id',new Date().getTime()+"_flash");
                    spanPlayer.setAttribute('class','dv_playercontainer');
                    elemento.appendChild(spanPlayer);
                    try {
                        var rObject = eval('('+response+')');
                        if(rObject.error == 0) {
                            // Eliminamos el click para que podamos interactuar con el vídeo
                            elemento.removeEvents('click');
                            for(var i = 0; i < imgTags.length; i++) {
                                imgTags[i].id = new Date().getTime()+"_"+i+"_imgThumb";
                                $(imgTags[i].id).fade(0);
                                setTimeout('document.getElementById("'+imgTags[i].id+'").style.display="none";',2000);
                            }
                            var moMorph = new Fx.Morph(elemento.id);
                            moMorph.start({
                                    width: '312px',
                                    height: '235px'
                            });
                            if ((navigator.appName == "Microsoft Internet Explorer" &&
                                   navigator.appVersion.indexOf("Mac") == -1 &&   navigator.appVersion.indexOf("3.1") == -1) ||
                                   (navigator.plugins && navigator.plugins["Shockwave Flash"])
                                   || navigator.plugins["Shockwave Flash 2.0"]) {
                                var aleal = aleatorio(0, 1000);
                                eval('var so' + aleal + '= new SWFObject(rObject.player, "singlevideo", "312", "235", "8", "#171d25");');
                                eval('so' + aleal + '.addParam("allowfullscreen","true");');
                                eval('so' + aleal + '.addParam("quality", "high");');
                                eval('so' + aleal + '.addParam("wmode", "transparent");');
                                //so.addParam('flashvars','file='+rObject.path+'&autostart=true'+'&streamer=lighttpd'+'&id='+rObject.id);
                                if (rObject.id != "none")
                                        rObject.path += '?vid='+rObject.id;
                                eval('so' + aleal + '.addVariable("file", rObject.path);');
                                if (rObject.streamer != "none") {
                                        eval('so' + aleal + '.addVariable("type", "video");');
                                }
                                eval('so' + aleal + '.addVariable("autostart", "true");');
                                eval('so' + aleal + '.addVariable("image", rObject.thumb);');
                                eval('so' + aleal + '.addVariable("javascriptid","singlevideo");');
                                if (rObject.streamer != "none") {
                                        eval('so' + aleal + '.addVariable("streamer", "lighttpd");');
                                }
                                if (rObject.id != "none") {
                                        eval('so' + aleal + '.addVariable("vid", rObject.id);');
                                }
                                eval('so' + aleal + '.addVariable("logo", "");');
                                eval('so' + aleal + '.addVariable("stretching", "fill");');
                                eval('so' + aleal + '.addVariable("controlbar", "over");');
                                eval('so' + aleal + '.write(spanPlayer.id);');
                            } else {
                                spanPlayer.innerHTML = "Debe instalar el plugin de flash";
                            }
                        }
                    } catch (ex) {
                            alert(ex.getMessage());
                    }
                },
                onFailure: function() {
                    setEventosList();
                    alert("No se puede obtener el video");
                }
            });
            sol.send();
        }
    }
}

gotoDirect = function(ev) {
    ev.stop();
    var elemento = null;
    if(window.event) {//IE only
            elemento = window.event.srcElement;
    } else {
            elemento = ev.target;
    }
    if(elemento.tagName == "IMG" || elemento.tagName == "A") {
            elemento = elemento.parentNode;
    }
    
    var inputTagsURL = elemento.parentNode.getElementsByTagName('INPUT');
    var idVideo = "";
    if(inputTagsURL != null) {
        for(var i = 0; i < inputTagsURL.length; i++) {
            if(inputTagsURL[i].name.indexOf('idVideo') >= 0) {
                idVideo = inputTagsURL[i].value;
            }
        }
    }
    var destino = './index.php?option=com_dv&view=single&id='+idVideo;
    
    window.location = destino;
}

eliminarPlayerFinal = function(obj) {
	if(obj.newstate == 'COMPLETED') {
		eliminarPlayers();
	}	
}

eliminarPlayers = function() {
	var otherPlayers = EXTRAS.getElementsByClass('dv_playercontainer');
	var player = document.getElementById('singlevideo');
	if(otherPlayers != null && otherPlayers.length > 0) {
		for(var i = 0; i < otherPlayers.length; i++) {
			var moMorph = new Fx.Morph(otherPlayers[i].parentNode.id);
			moMorph.start({
				width: '130px',
				height: '97px'
			});
			var imgOcultas = otherPlayers[i].parentNode.getElementsByTagName('IMG');
			if(imgOcultas != null) {
				otherPlayers[i].parentNode.removeChild(otherPlayers[i]);
				for(var j = 0; j < imgOcultas.length; j++) {					
					imgOcultas[j].style.display = "block";
					$(imgOcultas[j].id).fade(1);
				}
			}
		}
	} else if(player != null) {
		var moMorph = new Fx.Morph(player.parentNode.parentNode.id);
		moMorph.start({
			width: '130px',
			height: '97px'
		});
		var imgOcultas = player.parentNode.parentNode.getElementsByTagName('IMG');
		if(imgOcultas != null) {
			player.parentNode.parentNode.removeChild(player.parentNode);
			for(var j = 0; j < imgOcultas.length; j++) {					
				imgOcultas[j].style.display = "block";
				$(imgOcultas[j].id).fade(1);
			}
		}
	}
}

doajaxrequestfromlink = function(id,mensaje) {
    var elemento = document.getElementById(id);
    if(elemento != null) {
        var destino = elemento.getAttribute("href");
        var oQuery = parseQuery(destino);
        destino = "./index.php?";
        if(oQuery != null) {
            destino += "option="+oQuery.option+"&controller="+oQuery.controller+
                    "&task="+oQuery.task+"ajax&id="+oQuery.id;
        }
        var lIcon = getLoadingIcon();
        elemento.parentNode.appendChild(lIcon);
        var request = new Request({
                url: destino+"&format=raw",
                onSuccess:function(response) {
                    try {
                        var rObject = eval('('+response+')');
                        lIcon.parentNode.removeChild(lIcon);
                        if(rObject.error == 0) {
                            if(elemento.className.indexOf('unpublish') > 0) {
                                elemento.innerHTML  = JTEXT_PUBLISH;
                                elemento.className =  "dv_list_publish_video";
                                elemento.href ="./index.php?option="+oQuery.option+"&controller="+
                                        oQuery.controller+"&task=publish&id="+oQuery.id;
                            } else if (elemento.className.indexOf('publish') > 0) {
                                elemento.innerHTML  = JTEXT_UNPUBLISH;
                                elemento.className = "dv_list_unpublish_video";
                                elemento.href ="./index.php?option="+oQuery.option+"&controller="+
                                        oQuery.controller+"&task=unpublish&id="+oQuery.id;
                            }  else if(elemento.className.indexOf('addfavorite') > 0 || elemento.className.indexOf('deletefavorite') > 0) {
                                elemento.setAttribute("href", "#");
                                elemento.style.color = "#ccc";
                                elemento.parentNode.innerHTML += mensaje;
                            } else if(elemento.className.indexOf('delete') > 0) {
                                var newId  = new Date().getTime()+"_delete";
                                elemento.parentNode.parentNode.parentNode.id = newId;
                                $(newId).fade(0.3);
                                setTimeout('document.getElementById(\''+newId+'\').parentNode.removeChild(document.getElementById(\''+newId+'\'))',2000);
                            } else {
                                elemento.parentNode.setAttribute('style','text-align: right !important;');
                                elemento.parentNode.innerHTML += mensaje;
                            }
                        } else {
                            elemento.parentNode.setAttribute('style','text-align: right !important;');
                            elemento.parentNode.innerHTML += "Error en la operación seleccionada";
                        }
                    } catch(e) {}
                },
                onFailure: function() {
                        lIcon.parentNode.removeChild(lIcon);
                        elemento.parentNode.innerHTML += "Error en la operación seleccionada";
                }
        });
        request.send();
        return false;
    }
}


parseQuery = function(url) {
	var parts1 = url.split('?');
	var parts = '';
	if(parts1 == null) {
		parts = url;
	} else {
		parts = parts1[1];
	}
	if(parts.indexOf('&amp;') >= 0) {
		parts1 = parts.split('&amp;');
	} else {
		parts1 = parts.split("&");
	}
	if(parts1 != null) {
		var jsonStr = '{';
		for(var i = 0; i < parts1.length; i++) {
			var parts2 = parts1[i].split('=');
			if(i > 0) {
				jsonStr += ',';
			}
			jsonStr += '"'+parts2[0]+'":"'+parts2[1]+'"';
		}
		jsonStr += "}";
	}
	return eval('('+jsonStr+')');
}

setSelectedCategoriesList = function() {
    var divTags = document.getElementsByTagName("SPAN");
    if(divTags != null) {
        for(var i = 0; i < divTags.length; i++) {
            if(divTags[i].className == "dv_editcategories_field" ||
                        divTags[i].className == 'dv_editcategories_list_field') {
                var inputTags = divTags[i].getElementsByTagName("INPUT");
                var labelTags = divTags[i].getElementsByTagName("LABEL");
                if(inputTags != null) {
                    for(var j = 0; j < inputTags.length; j++) {
                        if(inputTags[j].checked == true) {
                            for(var k = 0; k < labelTags.length; k++) {
                                if(labelTags[k].getAttribute("for") == inputTags[j].id) {
                                    labelTags[k].className = "dv_upload_category_selected";
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

doajaxedit = function(ev) {
	ev.stop();
	var elemento = null;
	if(window.event) {//IE only
		elemento = window.event.srcElement;
	} else {
		elemento = ev.target;
	}
	var destinoOriginal = elemento.getAttribute("href");
	//Calculamos el destino de la solicitud
	var destino = elemento.getAttribute("href");
	var urlObject = parseQuery(destino);
	destino = './index.php?option='+
		urlObject.option+'&controller='+
		urlObject.controller+'&task'+
		'=editvideoajax&id='+
		urlObject.id+'&format=raw';
	elemento.setAttribute("href","void(0);");
	var formAntiwo = document.getElementById('dv_list_editform_id');
	if(formAntiwo != null) {
		formAntiwo.parentNode.removeChild(formAntiwo);
	}
	var nuevoObjeto = document.createElement('DIV');
	var loadingImage = getLoadingIcon();
	nuevoObjeto.setAttribute('class','dv_list_editform');
	nuevoObjeto.setAttribute('id','dv_list_editform_id');
	elemento.parentNode.appendChild(loadingImage);
	var request = new Request({
		url: destino,
		onSuccess: function(response) {
                    nuevoObjeto.innerHTML = response;
                    elemento.parentNode.parentNode.parentNode.appendChild(nuevoObjeto);
                    var heightBloq = nuevoObjeto.offsetHeight;
                    nuevoObjeto.setAttribute('style','height: 0px;');
                    $(nuevoObjeto.id).tween('height', heightBloq);
                    elemento.setAttribute("href",destinoOriginal);
                    elemento.setAttribute('onclick','return false;');
                    loadingImage.parentNode.removeChild(loadingImage);
                    setSelectedCategoriesList();
                    setEventosList();
		},
		onFailure: function() {
                    nuevoObjeto.removeChild(loadingImage);
                    elemento.setAttribute("href",destinoOriginal);
                    nuevoObjeto.innerHTML = "Error";
		}
	});
	request.send();
}

doajaxsubmit = function(ev) {
    ev.stop();
    var elemento = null;
    if(window.event) {//IE only
            elemento = window.event.srcElement;
    } else {
            elemento = ev.target;
    }
    eliminarPlayers();
    var formulario = elemento.parentNode.parentNode.parentNode.parentNode;
    var destino = "./index.php?";
    if(formulario != null) {
        var inputTags = formulario.getElementsByTagName("INPUT");
        var selectTags = formulario.getElementsByTagName("SELECT");
        var textareaTags = formulario.getElementsByTagName("TEXTAREA");
        
        if(inputTags != null) {
            for(var i = 0; i < inputTags.length; i++ ) {
                if((inputTags[i].getAttribute("type") == "checkbox" &&
                        inputTags[i].checked == true) ||
                    (inputTags[i].getAttribute("type") == "radio" &&
                        inputTags[i].checked == true) ||
                    (inputTags[i].getAttribute("type") != "checkbox" &&
                        inputTags[i].getAttribute("type") != "radio")) {
                    if(i > 0) {
                        destino += "&";
                    }
                    destino += inputTags[i].getAttribute('name')+'='+encodeURIComponent(inputTags[i].value);
                }
            }
        }
        
        if(selectTags != null) {
        	for (var i = 0; i < selectTags.length; i++) {
        		//alert(selectTags[i].value);
        		destino = destino+'&'+selectTags[i].getAttribute('name')+'='+encodeURIComponent(selectTags[i].value);
        	}
        }        
        
        if(textareaTags != null) {
            for(var i = 0; i < textareaTags.length; i++ ) {
                destino = destino+'&'+textareaTags[i].getAttribute('name')+'='+encodeURIComponent(textareaTags[i].value);
            }
        }
        var divTag = formulario.parentNode.getElementsByTagName("DIV");
        divTag[0].id = "dv_elemento_aux"+new Date().getTime();
        var lIcon = getLoadingIcon();
        var video = formulario.parentNode;
        video.id = new Date().getTime();
        formulario.id = new Date().getTime()+'f';
        var request = new Request({
            url: destino+'&format=raw',
            onSuccess: function(response) {
                try {
                    var rObject = eval('('+response+')');
                    var msgAnterior = document.getElementById('msgError');
                    if(msgAnterior != null) {
                        msgAnterior.parentNode.removeChild(msgAnterior);
                    }
                    lIcon.parentNode.removeChild(lIcon);
                    if(rObject.error == 0) {
                        divTag[1].innerHTML += '<span id="msgError">Editado correctamente</span>';
                        $(formulario.id).tween('height', 0);
                        setTimeout('document.getElementById("'+formulario.id+'").parentNode.removeChild(document.getElementById("'+formulario.id+'"));',2000);
                    } else if(rObject.error == 1) {
                        divTag[0].innerHTML += '<span id="msgError">Error al editar el video</span>';
                    }
                } catch (e) {
                }
                setSelectedCategoriesList();
                setEventosList();
            },
            onFailure: function() {
                lIcon.parentNode.removeChild(lIcon);
                divTag[0].innerHTML += '<span id="msgError">Error al importar</span>';
            }
        });
        divTag[0].appendChild(lIcon);
        request.send();
    }
}

doRemoveElement = function(ev) {
    var elemento = document.getElementById('dv_list_editform_id');
    eliminarPlayers();
    if(elemento != null && elemento.id != null) {
        $(elemento.id).tween('height', 0);
        setTimeout('document.getElementById(\'dv_list_editform_id\').parentNode.removeChild(document.getElementById(\'dv_list_editform_id\'));',2000);
        setEventosList();
    }
}

toggleCheck = function(e) {
    var elemento = null;
    if(window.event) {//IE only
        elemento = window.event.srcElement;
    } else {
        elemento = e.target;
    }
    var inputTags = elemento.parentNode.getElementsByTagName("INPUT");
    var labelTags = elemento.parentNode.getElementsByTagName("LABEL");
    if(inputTags != null) {
        var checkedInput = elemento.checked;
        for(var i =0; i < inputTags.length; i++) {
            if(inputTags[i].id != elemento.id) {
                //inputTags[i].checked = !checkedInput;
                if(labelTags != null) {
                    for(var j = 0; j < labelTags.length; j++) {
                        if(labelTags[j].getAttribute("for") == inputTags[i].id) {
                            if(checkedInput == false) {
                                labelTags[j].className = "dv_upload_category_selected";
                            } else {
                                labelTags[j].className = "colourChange";
                            }
                        }
                    }
                }
            } else if(inputTags[i].id == elemento.id) {
                if(labelTags != null) {
                    for(var j = 0; j < labelTags.length; j++) {
                        if(labelTags[j].getAttribute("for") == inputTags[i].id) {
                            if(checkedInput == true) {
                                labelTags[j].className = "dv_upload_category_selected";
                            } else {
                                labelTags[j].className = "colourChange";
                            }
                        }
                    }
                }
            }
        }
    }
}

EXTRAS.addEvent(window, 'load', setEventosList, false);