//parametros
//artistas = null;
minSize = 10;

maxSizeW = new Array(365,92,92,92,92,184,184,92,92,92,92,184,184,92,46,184,46,92,92);
maxSizeH = new Array(276,68,68,68,68,138,138,68,68,68,68,138,138,68,34,138,34,68,68);

listaBoxW = 0;
listaBoxH = 0;

popX 	 = new Array(-8,-8,101,0,0,0,70,110);
popY 	 = new Array(-8,62,62,0,50,62,20,55);

chrs	 = new Array(100,15,15,15,30,5,0,15);
marginLeft = 2;
velSize = 20;
timeSize= 1;
intervalTrade = 5000;
lastArray=new Array();
detOpen=false;
onMouseDet=false;

function autoTradeOn(){
	autoTradeOff();
	window.tradeInter = window.setInterval(fecha,intervalTrade);
}

function autoTradeOff(){
	if(window.tradeInter)
		clearInterval(window.tradeInter);
}

function startDest(){
	initializeEvents();
	habilitarCheckboxes(document.forms["filtro"],false);
	getArtistas(document.forms["filtro"]);
}


function fecha(){
	
	if(detOpen) return;
	
	autoTradeOff()
	window.perc=100;
	window.resizeInter = window.setInterval(resizeOutDest,timeSize);

}

function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}

function abre(artistas){
	autoTradeOff();
	selectedView = (document.getElementById("view2").checked)? "lista" : "visualizacao";
	
	
	HTML = "";
	if(selectedView == "visualizacao") {
		HTML = document.getElementById("template").innerHTML;
	}
	listaTemplate = document.getElementById("template_lista").innerHTML;

	for(var ii in artistas){
		if(selectedView == "lista") {
			if((ii % 3 == 0) && (ii > 0)) {
				HTML += "<div class='clear'></div>";
			}
			HTML += listaTemplate;
			HTML = replaceAll(HTML,"#bg#",artistas[ii][0]);
			HTML = replaceAll(HTML,"#artista#",artistas[ii][1]);
			HTML = replaceAll(HTML,"#link#",artistas[ii][3]);
			HTML = replaceAll(HTML,"#local#",artistas[ii][5]);
			HTML = replaceAll(HTML,"#tags#",replaceAll(artistas[ii][6],";",", "));
		} else {
			HTML = replaceAll(HTML,"#bg"+ii+"#",artistas[ii][0]);
			HTML = replaceAll(HTML,"#artista"+ii+"#",artistas[ii][1]);
			HTML = replaceAll(HTML,"#link"+ii+"#",artistas[ii][3]);
			
			if(artistas[ii][4]){
				HTML = replaceAll(HTML,"#display"+ii+"#","display:'';width:0px;height:0px;");
			}
		}	
	}

	for(i=artistas.length;i<19;i++){
		HTML = replaceAll(HTML,"#display"+i+"#","display:none;");
	}
	
	HTML = replaceAll(HTML,"<!--","");
	HTML = replaceAll(HTML,"-->","");
	
	window.perc=1;
	
	document.getElementsByClassName("preview")[0].innerHTML = HTML;
	if(selectedView == "lista") {
		habilitarCheckboxes(document.forms["filtro"],true);
	} else {
		window.resizeInter = window.setInterval(resizeInDest,timeSize);
	}
}

function resizeInDest(){
	
	EaseVelSize = (velSize/100*(100-window.perc));
	window.perc+=EaseVelSize;
	resizeDest();
	marginZero();
}

function resizeOutDest(){
	
	EaseVelSize = (velSize/100*(window.perc));
	window.perc-=EaseVelSize;
	resizeDest();
	marginSize();
}

function resizeDest(){
	arrDest = getElementsById("dest");
	
	for(i in arrDest){
		maxSizeDestW = maxSizeW[i];
		maxSizeDestH = maxSizeH[i];
		
		//gambs//
		if(i==5 && Is())
			maxSizeDestH-=1;
		if(i==2 && !Is())
			maxSizeDestW+=1;
		//gambs//
		
		h = (maxSizeDestH/100*window.perc);
		w = (maxSizeDestW/100*window.perc);
		
		arrDest[i].style.width=w+"px";
		arrDest[i].style.height=h+"px";
	}
	if(window.perc <= 1 || window.perc >= 99 )
		clearInterval(window.resizeInter);	
	if(window.perc >= 99) {
		arrDest[i].style.width=w+"px";
		arrDest[i].style.height=h+"px";
		habilitarCheckboxes(document.forms["filtro"],true);
	}
	if(window.perc <= 1 ) {
		getArtistas(document.forms["filtro"]);
	}
}

function marginZero(){
	
	for(i in arrDest){
		arrDest[i].style.marginLeft="0px";
		arrDest[i].style.marginTop="0px";
	}
}

function marginSize(){
	
	for(i in arrDest){
		maxSizeDestW = maxSizeW[i];
		w = (maxSizeDestW/100*(100-window.perc));
		h = (maxSizeDestH/100*(100-window.perc));
		arrDest[i].style.marginLeft=w+"px";
		arrDest[i].style.marginTop=h+"px";
	}
}

function initializeEvents() {
	var checkboxes = getCheckboxes(document.forms["filtro"]);
	
	for(var i = 0; i < checkboxes.length; i++) {
		checkboxes[i].onclick = updateArtistas;
	}
	
	document.getElementById("view1").onclick = document.getElementById("view2").onclick = updateArtistas;
}

function updateArtistas() {
	habilitarCheckboxes(document.forms["filtro"],false);
	fecha();
}

function getArtistas(filterForm) {
	var generos = new Array();
	var categorias = new Array();
	
	var checkboxes = getCheckboxes(filterForm);
	
	for(var i = 0; i < checkboxes.length; i++) {
		var checkbox = checkboxes[i];
		if(checkbox.name == "genero" && checkbox.checked) {
			generos.push(checkbox.value);
		} else if(checkbox.name == "categoria" && checkbox.checked) {
			categorias.push(checkbox.value);
		}
	}

	var xhr = createXMLHttpRequest();
	var cacheControl = new Date().getTime();
	var url = "mod_artistas_filtro.asp";
	var querystring = "?categorias="+categorias.join("|")+"&"+"tags="+generos.join("|")+"&nocache="+cacheControl;
	
	xhr.open("GET",url+querystring,true);
	xhr.onreadystatechange = function(){
		switch(xhr.readyState) {
			case 4:
				if(xhr.status == 200) {
					var resposta = eval('('+xhr.responseText+')');
					
					var artistas = new Array();
					for(var item in resposta) {
						artistas.push(resposta[item]);
					}
					abre(artistas);
				} else {
					alert('erro');
				}
				break;
			case 1:
				document.getElementsByClassName("preview")[0].innerHTML = "Carregando artistas...";
				break;
		}
	}
	xhr.send(null);
}

function getCheckboxes(form) {
	var checkboxes = new Array();
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].type == "checkbox") {
			checkboxes.push(form.elements[i]);
		}
	}
	return checkboxes;
}

function habilitarCheckboxes(form,isEnabled) {
	var checkboxes = getCheckboxes(form);
	for(var i = 0; i < checkboxes.length; i++) {
		if(checkboxes[i].type == "checkbox") {
			checkboxes[i].disabled = !isEnabled;
		}
	}
	document.getElementById("view1").disabled = document.getElementById("view2").disabled = !isEnabled;
}