//*****************************************
//              Efeito Fade              //
//*****************************************

function fadeOut(id, time) {
	target = document.getElementById(id);
	alpha = 100;
	timer = (time*1000)/50;
	var i = setInterval(
			function() {
				if (alpha <= 0)
					clearInterval(i);
				setAlpha(target, alpha);
				alpha -= 2;
			}, timer);
}

function fadeIn(id, time) {
	target = document.getElementById(id);
	alpha = 0;
	timer = (time*1000)/50;
	var i = setInterval(
			function() {
				if (alpha >= 100)
					clearInterval(i);
				setAlpha(target, alpha);
				alpha += 2;
			}, timer);
}

function setAlpha(target, alpha) {
	target.style.filter = "alpha(opacity="+ alpha +")";
	target.style.opacity = alpha/100;
}

//****************************//
//		  Efeto "Troca"       //
//****************************//

var controle = 0;		// variavel que controla a escolha dos pontos inicial e final do pipeline
var camada1="Camada1"; 		//guarda a camada explicativa do tipo de arquivo de entrada
var camada2="Camada0"; 		//guarda a camada explicativa do tipo de arquivo de entrada
var diploide = true;

/* Função ativa2(): ao click no campo "End", permite a escolha de tal ponto*/

function ativa2(){
	if(controle <=199){		//ao clicar no campo "end", a variavel 'controle' cresce de modo a 
		controle = 200;		//possibilitar a escolha do 'ending point'
		document.getElementById("endicon").src = "Site/Imagens/endativo.png"; // exibe a imagem ativada
	}else{
		alert('Choose an start point first');
	}
}

/* Função ativa(): ao click, recebe o icone a exibir na div "Selection"			*/
/* e exibe a camada explicativa respectiva à seleção. Args: (caminho da imagem	*/
/* a exibir, camada explicativa do ponto de inicio, camada explicativa do ponto	*/
/* final																		*/

function ativa(){

	args = ativa.arguments;
	imagem = args[2];		//recebe a imagem do click
	controle++;
	if(controle<=200){ 		//exibe a camada explicativa referente ao "start"
		camada1 = args[0];
		if(camada1 == "Camada1"){
			alert("This is an \"End\" step only.");
		}else{
		document.getElementById("Camada1").style.display="none";
		document.getElementById("Camada2").style.display="none";
		document.getElementById("Camada3").style.display="none";
		document.getElementById("Camada4").style.display="none";
		document.getElementById("Camada5").style.display="none";
		document.getElementById("Camada6").style.display="none";
		fadeIn(camada1,1/2);
		document.getElementById("starticon").src = imagem;
		document.getElementById(camada1).style.display="block";
		}
	}if(controle>=201){		//exibe a camada explicativa referente ao "end"
		camada2 = args[1];	
		if(camada2 == "Camada1"){
			alert("This is an \"Start\" step only.");
		}
		else{
			document.getElementById("Camada0").style.display="none";
			document.getElementById("Camada7").style.display="none";
			document.getElementById("Camada8").style.display="none";
			document.getElementById("Camada9").style.display="none";
			document.getElementById("Camada10").style.display="none";
			fadeIn(camada2,1/2);
			document.getElementById("endicon").src = imagem;
			document.getElementById(camada2).style.display="block";
			}
	}
	
}

/* Função reset(): retorna à exibição anterior à escolha da entrada e da saída */

function reset(){

	camada1="Camada1";
	camada2="Camada6";
	document.getElementById("Camada1").style.display="none";
	fadeOut("Camada1",1);
	fadeIn("Camada1",1);
	document.getElementById("Camada2").style.display="none";
	document.getElementById("Camada3").style.display="none";
	document.getElementById("Camada4").style.display="none";
	document.getElementById("Camada5").style.display="none";
	document.getElementById("Camada6").style.display="none";
	fadeOut("Camada6",1);
	fadeIn("Camada6",1);
	document.getElementById("Camada7").style.display="none";
	document.getElementById("Camada8").style.display="none";
	document.getElementById("Camada9").style.display="none";
	document.getElementById("Camada10").style.display="none";
	document.getElementById("starticon").src="Site/Imagens/start.png";
	document.getElementById("endicon").src=  "Site/Imagens/end.png";
	controle = 0;

}

/* Função enter(): redireciona o usuario para a pagina correspondente ao caminho indicado */

function enter(){

	// o usuário tenha deixado de escolher o ponto de início e/ou de fim do caminho

	if(camada1=="Camada1" && camada2 == "Camada0"){
		alert("You must choose a Starting point and an Ending point to your pipeline");
	}
	if(camada1==camada2){
		alert('You must choose differents formats');
	}
	if(camada1=="Camada1" && camada2 != "Camada0"){
		alert('You must choose a Starting point and an Ending point to your pipeline');
	}
	if(camada1!="Camada1" && camada2 == "Camada0"){
		alert('Choose an Ending point');
	}		
	
	// inicio escolhido como PolyPhred Output (script OutChange) e outros finais
	
	if(camada1=="Camada2" && camada2 == "Camada7"){
		window.open("/pipelineldgh/Site/OutChange.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada2" && camada2 == "Camada8"){
		window.open("/pipelineldgh/Site/OutChange-PolyOut.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada2" && camada2 == "Camada9"){
		window.open("/pipelineldgh/Site/OutChange-PhaseIn.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada2" && camada2 == "Camada10" && diploide==false){
		window.open("/pipelineldgh/Site/OutChange-DNAspIn.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada2" && camada2 == "Camada10" && diploide==true){
		alert("You need to run Phase first");
	}

	// inicio escolhido como Prettybase (script PolyOut) e outros finais

	if(camada1=="Camada3" && camada2 == "Camada7"){
		alert("You can't run the pipeline in reverse order");
	}
	if(camada1=="Camada3" && camada2 == "Camada8"){
		window.open("/pipelineldgh/Site/PolyOut.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada3" && camada2 == "Camada9"){
		window.open("/pipelineldgh/Site/PolyOut-PhaseIn.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada3" && camada2 == "Camada10" && diploide==false){
		alert("This option is not available yet.");
	}

	if(camada1=="Camada3" && camada2 == "Camada10" && diploide==true){
		alert("You need to run Phase first");
	}


	// inicio escolhido como SDAT (script PhaseIn) e outros finais

	if(camada1=="Camada4" && camada2 == "Camada7"){
		alert("You can't run the pipeline in reverse order");
	}
	if(camada1=="Camada4" && camada2 == "Camada8"){
		alert("You can't run the pipeline in reverse order");
	}
	if(camada1=="Camada4" && camada2 == "Camada9"){
		window.open("/pipelineldgh/Site/PhaseIn.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}
	if(camada1=="Camada4" && camada2 == "Camada10" && diploide==false){
		alert("This option is not available yet.");
	}

	if(camada1=="Camada4" && camada2 == "Camada10" && diploide==true){
		alert("You need to run Phase first");
	}


	// inicio escolhido como PhaseToDNASp e o unico final cabível, ele próprio

	if(camada1=="Camada6" && camada2 == "Camada7"){
		alert("You can't run the pipeline in");
	}
	if(camada1=="Camada6" && camada2 == "Camada8"){
		alert("You can't run the pipeline in reverse order");
	}
	if(camada1=="Camada6" && camada2 == "Camada9"){
		alert("You can't run the pipeline in reverse order");
	}
	if(camada1=="Camada6" && camada2 == "Camada10"){
		window.open("/pipelineldgh/Site/PhaseToDNASp.html","_self","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400");
	}

}
//**********************************//
//		Adicionar Favoritos         //
//**********************************//
function addFav(){
    var url      = window.location;
    var title    = "Sequencing Pipeline";
    if (window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    }
    else if(document.all){window.external.AddFavorite(url, title);}
}

//**********************************//
//    Display change for data types //
//**********************************//

function mostra_haploide(){

	diploide= false;
	document.getElementById("offline_step3").style.display="none";
	document.getElementById("setacurva").style.display="none";
	document.getElementById("phaseinput").style.display="none";
	document.getElementById("phase").style.display="none";
	document.getElementById("phaseout").style.display="none";
	document.getElementById("seta4").style.display="none";
	document.getElementById("seta5").style.display="none";
	document.getElementById("seta6").style.display="none";
	document.getElementById("seta6").style.display="none";
	document.getElementById("setainf").style.display="none";
	document.getElementById("DNAspinput").style.display="none";
	document.getElementById("DNAspinputH").style.display="block";
	document.getElementById("DNAsp").style.display="none";
	document.getElementById("DNAspH").style.display="block";

}

function mostra_diploide(){

	diploide= true;
	document.getElementById("offline_step3").style.display="block";
	document.getElementById("setacurva").style.display="block";
	document.getElementById("phaseinput").style.display="block";
	document.getElementById("phase").style.display="block";
	document.getElementById("phaseout").style.display="block";
	document.getElementById("seta4").style.display="block";
	document.getElementById("seta5").style.display="block";
	document.getElementById("seta6").style.display="block";
	document.getElementById("seta6").style.display="block";
	document.getElementById("setainf").style.display="block";
	document.getElementById("DNAspinput").style.display="block";
	document.getElementById("DNAspinputH").style.display="none";
	document.getElementById("DNAsp").style.display="block";
	document.getElementById("DNAspH").style.display="none";

}




