//////////////////////
//  SEARCH
////////////////////////
var lastsearches = Array();
var panelviews = ["list","list","list","list"];
var expectedLoadings = 0;
var lodingscount = 0;
var searchMediaOnLoad="";
function searchMedia(url){
	if(!inmedia){
		window.location.href = "#"+oxoadmindir+"mediamanager/media.php";
		searchMediaOnLoad=url;
		loadPage(oxoadmindir+'mediamanager/media.php',null,onMyMediaLoad);
		activateMenu('mediamanager','media');
		console.log("NOT IN MY MEDIA, LOADING SECTION");
		return;
	}
	console.log("LOADING MEDIA: "+url)
	var form = dojo.byId('filterform');
	var msgbox = dojo.byId("mediamsg");
	var fobjs = dojo.query("input",form).concat(dojo.query("select",form));
	var searchval = dojo.byId('searchq').value;
	var frompl = dojo.byId('fromplaylist').value;
	//var ordby = dojo.byId('ob').value;
	var urls = Array();
	var paneids = Array();
	for(var i=0;i<fobjs.length;i++){
		if(fobjs[i].checked && fobjs[i].id!="mediaadmintoggler"){
			var turl = url+(url.indexOf("?")!=-1?"":"?")+"&t="+fobjs[i].value+"&q="+searchval+"&v="+panelviews[fobjs[i].value-1]+"&fpl="+frompl;
			turl += mediaadmin?"&fam=1":"";
			//urls.push(turl+"&ob="+ordby);
			urls.push(turl);
			lastsearches[fobjs[i].value] = turl;
			paneids.push(fobjs[i].value);
			var innerpane = dojo.byId('contents'+fobjs[i].value+'innercontent');
			
			if(innerpane) innerpane.innerHTML = getLoadingMediaHTML();
			toggleContentPane(fobjs[i].value,false,true);
		}
	}
	if(urls.length==0){
		msgbox.style.display='';
		msgbox.className="error";
		msgbox.innerHTML = "Seleccione al menos un tipo de media";
	}else{
		msgbox.style.display='none';
		msgbox.innerHTML = "";
		dojo.byId('searchingimg').style.display = '';
		expectedLoadings = urls.length;
		lodingscount = 0;
		for(var j=0;j<urls.length;j++){
			console.log("LOADING MEDIA: "+urls[j]);
			dojo.xhrGet({
				url: urls[j],
				paneid: paneids[j],
				load: function(responseObject, ioArgs){
						if(responseObject==null){ this.error(); return; }
						searchLoaded();
						var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
						if(innerpane) innerpane.innerHTML = responseObject;
						checkSelecteds(this.paneid);
						toggleContentPane(this.paneid,false,true);
						dojo.byId('fromplaylist').value = "";
						return responseObject;
					},
				error: function(response, ioArgs){
					searchLoaded();
					console.log("ERROR LOADING MEDIA",response, ioArgs);
					var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
					if(innerpane) innerpane.innerHTML = getLoadingMediaErrorHTML();
					toggleContentPane(this.paneid,false,true);
					/*msgbox.style.display='block';
					msgbox.innerHTML += "Error al cargar media de "+mediatypes[this.paneid]+"<br />";
					msgbox.className="error";*/
					return response;
				},
				handleAs: "text"
			});
		}
		for(var i=0;i<fobjs.length;i++){
			fobjs[i].disabled = true;
		}
	}
}
function refreshSearches(which){
	console.log("REFRESHING SEARCHES");
	var minp = 1;
	var maxp = 4;
	if(which!=null){ minp=which; maxp=which; }
	for(var i=minp;i<=maxp;i++){
		if(lastsearches[i]!=null){
			dojo.byId('searchingimg').style.display = '';
			var curl = lastsearches[i]
			curl = curl.replace("&fam=1","");
			if(mediaadmin) curl += "&fam=1";
			dojo.xhrGet({
				url: curl,
				paneid: i,
				load: function(responseObject, ioArgs){
						if(responseObject==null){ this.error(); return; }
						searchLoaded();
						var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
						if(innerpane) innerpane.innerHTML = responseObject;
						checkSelecteds(this.paneid);
						toggleContentPane(this.paneid,false,true);
						return responseObject;
					},
				error: function(response, ioArgs){
					searchLoaded();
					console.log("ERROR LOADING MEDIA",response, ioArgs);
					var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
					if(innerpane) innerpane.innerHTML = getLoadingMediaErrorHTML();
					toggleContentPane(this.paneid,false,true);
					/*msgbox.style.display='block';
					msgbox.innerHTML += "Error al cargar media de "+mediatypes[this.paneid]+"<br />";
					msgbox.className="error";*/
					return response;
				},
				handleAs: "text"
			});
		}
	}
	console.log("DONE REFRESHING SEARCHES");
}
function searchLoaded(){
	lodingscount++;
	var form = dojo.byId('filterform');
	var msgbox = dojo.byId("editmsg");
	var fobjs = dojo.query("input",form).concat(dojo.query("select",form));
	if(lodingscount>=expectedLoadings){
		for(var i=0;i<fobjs.length;i++){
			fobjs[i].disabled = false;
		}
		dojo.byId('searchingimg').style.display = 'none';
	}
}
function orderMediaSearch(type,ordby,dir){
	if(lastsearches[type]!=null){
		//var innerpane = dojo.byId('contents'+type+'innercontent');
		//innerpane.innerHTML = getLoadingMediaHTML();
		//toggleContentPane('contents'+type,false,true);
		//var msgbox = dojo.byId("editmsg");
		//msgbox.style.display='none';
		//msgbox.innerHTML = "";
		dojo.byId('searchingimg').style.display = '';
		
		var newurl = lastsearches[type]+"&ob="+ordby+"&dir="+dir;
		dojo.xhrGet({
			url: newurl,
			paneid: type,
			load: function(responseObject, ioArgs){
					if(responseObject==null){ this.error(); return; }
					searchLoaded();
					var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
					if(innerpane) innerpane.innerHTML = responseObject;
					checkSelecteds(this.paneid);
					toggleContentPane(this.paneid,false,true);
					return responseObject;
				},
			error: function(response, ioArgs){
				searchLoaded();
				console.log("ERROR LOADING MEDIA",response, ioArgs);
				var innerpane = dojo.byId('contents'+this.paneid+'innercontent');
				if(innerpane) innerpane.innerHTML = getLoadingMediaErrorHTML();
				toggleContentPane(this.paneid,false,true);
				/*msgbox.style.display='block';
				msgbox.innerHTML += "Error al cargar media de "+mediatypes[this.paneid]+"<br />";
				msgbox.className="error";*/
				return response;
			},
			handleAs: "text"
		});
	}
}
function setContainerView(container,view){
	var prevval = panelviews[container-1];
	panelviews[container-1] = view;
	if(prevval!=view){
		refreshSearches(container);
	}
}
