var isDetailsOpen = false;
var isGraphicalOpen = false;

function jumpToDate(){

	var path = new String(location.hash); 

	if(path.length == 11){

		path = path.substring(1, path.length);

		var anchor = document.getElementById(path);

		if(anchor!=null){
			var tab = anchor.innerHTML;
			switchTabs(tab);	
		}else{
			//Show a message box
			document.getElementById("detail-outdated").style.display = "block";
		}	

	}

}

function switchTabs(tab){

	var switcher = document.getElementById("detail-supplement");

	//Zuerste alle Boxen ausschalten
	for (var i = 0; i<5; i++){

		var currentTable = "detail-table-"+i;	
		var currentTab = "detail-tab-"+i;

		document.getElementById(currentTable).style.display="none";
		document.getElementById(currentTab).className = "tab";
	}

	//Auch forecast
	document.getElementById("detail-table-forecast").style.display="none";
	document.getElementById("detail-tab-forecast").className = "tab";

	//Dann die aktuelle Box anschalten
	if(tab == "forecast"){

		document.getElementById("detail-table-forecast").style.display = "";
		document.getElementById("detail-tab-forecast").className = "tab-active";
		switcher.style.display = "none";
		location.hash = "trend";
	}else{

		var newTable = "detail-table-"+tab;
		var newTab = "detail-tab-"+tab;
		document.getElementById(newTable).style.display = "";
		var newTab = document.getElementById(newTab);
		newTab.className = "tab-active";	

		if(tab != 0){
			location.hash = "#" + newTab.title;	
		}else{
			location.hash = "today";
		}
		switcher.style.display = "block";
	}

	document.getElementById("detail-outdated").style.display = "none";

}

var allOpen = false;

function showAllMOS(typeStr, place, url, lang){
	var types = typeStr.split(',');
	for( idx in types){
		var containerName = "moschartOuter" + types[idx];
		if(!allOpen && document.getElementById(containerName)){		
			toggleMOS(types[idx], place, url, lang, true);
		}
	}
	if(!allOpen){
		window.scrollTo(50, 770);
		allOpen = true;
	}else{
		allOpen = false;
	}	
}

function toggleAllMOS(typeStr, place, url, lang){
	var types = typeStr.split(',');
	for( idx in types){
		var containerName = "moschartOuter" + types[idx];
		if(document.getElementById(containerName)){		
			toggleMOS(types[idx], place, url, lang, false);
		}
	}
	if(!allOpen){
		window.scrollTo(50, 770);
		allOpen = true;
	}else{
		allOpen = false;
	}	
}


function toggleMOS(type, place ,url, lang, openOnly ){

	var containerName = "moschartOuter" + type;
	var container = document.getElementById(containerName);
	var iterator = document.getElementById("moschartIterator" + type);

	var date = new Date();
	var offset =  date.getTimezoneOffset() / 60;

	if(container.style.display== "none" || openOnly==true){

		var chartName = "moschartChart" + type;
		var chart = new AnyChart(url+'anychart/swf/Chart.swf');
		chart.setXMLFile(url+'AnychartData.php?wmo1='+place+'&type='+type+'&lang='+lang+'&offset='+offset);

		if(type == "Winddir"){
			chart.width = '554';
			chart.height = '50';
		}else{
			chart.width = '554';
			chart.height = '150';
		}

		chart.write(chartName);

		container.style.display = "block";
		iterator.innerHTML = "-";

	}else{
		container.style.display = "none";
		iterator.innerHTML = "+";
	}

}

var allEnsembleOpen = false;
function showAllEnsemble(typeStr, place, url){
	var types = typeStr.split(',');
	for( idx in types){
		var containerName = "ensemblesOuter" + types[idx];
		if(!allEnsembleOpen && document.getElementById(containerName)){		
			toggleEnsemble(types[idx], place, url, true);
		}
	}
	if(!allEnsembleOpen){
		window.scrollTo(50, 970);
		allEnsembleOpen = true;
	}else{
		allEnsembleOpen = false;
	}	
}

function toggleAllEnsemble(typeStr, place, url){
	var types = typeStr.split(',');
	for( idx in types){
		var containerName = "ensemblesOuter" + types[idx];
		if(document.getElementById(containerName)){		
			toggleEnsemble(types[idx], place, url, false);
		}
	}
	if(!allEnsembleOpen){
		window.scrollTo(50, 970);
		allEnsembleOpen = true;
	}else{
		allEnsembleOpen = false;
	}	
}

function toggleEnsemble(type, place, url, openOnly){

	var containerName = "ensemblesOuter" + type;
	var container = document.getElementById(containerName);
	var iterator = document.getElementById("ensemblesIterator" + type);

	if(container.style.display== "none" || openOnly==true){

		var eParam = null;

		if(type=="Temps"){
			eParam = "2t"; 
		}else if(type=="Wind"){
			eParam = "10m_wind";
		}else if(type=="Precipitation"){
			eParam = "precip";
		}

		var chartName = "ensemblesChart" + type;
		var chart = new AnyChart(url+'anychart/swf/Chart.swf');
		chart.setXMLFile(url+'EnsembleController.php?wmo1='+place+'&param='+eParam);
		chart.width = '554';
		chart.height = '300';
		chart.write(chartName);

		container.style.display = "block";
		iterator.innerHTML = "-";
	}else{
		container.style.display = "none";
		iterator.innerHTML = "+";
	}

}


function toggleDetailRows(){

	var switcher = document.getElementById("more");     

	var rows = document.getElementById("detail-table").rows;

	for (idx in rows){

		if(rows[idx].className == "detail-table-supplement"){

			if(!isDetailsOpen ){//rows[idx].style.display== "none"
				rows[idx].style.display= "";
				switcher.className = "detail-supplement-close";
				var text = 'Weitere Wetterwerte ausblenden<div class="minus"></div>';
				document.getElementById("more").innerHTML = text;
				document.getElementById("more2").innerHTML = text;

			}else{
				rows[idx].style.display= "none";
				switcher.className = "detail-supplement";
				var text = 'Weitere Wetterwerte einblenden<div class="plus"></div>';
				document.getElementById("more").innerHTML = text;
				document.getElementById("more2").innerHTML = text;
			}
		}
	}   

	if(isDetailsOpen==false){
		isDetailsOpen = true;   
	}else{
		isDetailsOpen = false;
	}
}

function toggleGraphical()
{
	var switcher = document.getElementById("more");     

	var rows = document.getElementById("detail-table").rows;

	for (idx in rows)
	{

		var cols = rows[idx].cells;

		for(idy in cols)
		{
			var classname = cols[idy].className;
			
			if (classname == null)
			{
				continue;
			}
			
			//if(cols[idy].className == "tabular-weather")
			if (classname.indexOf("tabular-weather") != -1)
			{
				if(!isGraphicalOpen )
				{//rows[idx].style.display== "none"
					cols[idy].style.display= "none";
				}
				else
				{
					cols[idy].style.display= "";
				}
			}
			//else if(cols[idy].className == "graphical-weather")
			if (classname.indexOf("graphical-weather") != -1)

			{
				if(!isGraphicalOpen )
				{//rows[idx].style.display== "none"
					cols[idy].style.display= "";
				}
				else
				{
					cols[idy].style.display= "none";
				}
			}
		}
	}   

	if(isGraphicalOpen==false){
		var text =    '<div class="tabular"></div>Anzeigemodus umschalten</div>';
		document.getElementById("graphical").innerHTML = text;
		isGraphicalOpen = true;   
	}else{
		var text =    '<div class="graph"></div>Anzeigemodus umschalten</div>';
		document.getElementById("graphical").innerHTML = text;
		isGraphicalOpen = false;
	}
}

function tooltip( id ){
	var element = document.getElementById(id);
	element.style.display = "block";
}

function notooltip( id ){
	var element = document.getElementById(id);
	element.style.display = "none";
}
