function showHide(name)
{
	var trs = $$("outletHierarchies").elmsByAttribute("name", name, "tr");
	var curDisplay = trs.getStyle("display");
	var display = curDisplay+" ";
	display = display.substring(0,4).toLowerCase();
	
	if(display == "none")
	{
		$$(name).src = "/images/dropdown-open.gif";
		trs.setStyle("display", "table-row");
	}
	else
	{
		$$(name).src = "/images/dropdown-closed.gif";
		trs.setStyle("display", "none");
	}
}







function ToggleDropDown(elementID)
{
	var e;
	e = document.getElementById(elementID + 'Inner');
	var a;
	a = document.getElementById(elementID + 'Link');
	if(e.style.display != 'block')
	{
		e.style.display = 'block';	
		UpdateAllCounts();
		a.innerHTML = '';
	}
	else
	{
		e.style.display = 'none';
		UpdateAllCounts();	
	}
}

function SelAll(fieldPrefix, sel)
{
	for (x = 0; x < document.forms[0].elements.length; x++)
	{
		var form_element = document.forms[0].elements[x];
		if(form_element.name.substring(0, fieldPrefix.length) == fieldPrefix)
			form_element.checked = sel;
	}
	
	if(document.forms.length > 1)
	{
		for (x = 0; x < document.forms[1].elements.length; x++)
		{
			var form_element = document.forms[1].elements[x];
			if(form_element.name.substring(0, fieldPrefix.length) == fieldPrefix)
				form_element.checked = sel;
		}
	}
}

function UpdateAllCounts()
{
	tyreSizeCount = CountSelectedCheckBoxes('tyreSize');
	
	if(tyreSizeCount < 1)
		document.getElementById('tyreSizeLink').innerHTML = '-- '+(countryID == 1 || countryID == 5 ? 'All' : 'Alle')+' -- ';
	else if(tyreSizeCount == 1)
		document.getElementById('tyreSizeLink').innerHTML = (countryID == 1 || countryID == 5 ? '1 tyre size selected' : '1 Reifendimension ausgew�hlt');
	else
		document.getElementById('tyreSizeLink').innerHTML = tyreSizeCount + (countryID == 1 || countryID == 5 ? ' tyre sizes selected' : ' Reifendimensionen ausgew�hlt');
		
	
	if(document.forms.length > 1 && document.getElementById('favTyreSizeLink') != null)
	{
		tyreSizeCount = CountSelectedCheckBoxes('favTyreSize');
		
		if(tyreSizeCount < 1)
			document.getElementById('favTyreSizeLink').innerHTML = (countryID == 1 || countryID == 5 ? '0 tyre sizes selected' : '0 Reifendimensionen ausgew�hlt');
		else if(tyreSizeCount == 1)
			document.getElementById('favTyreSizeLink').innerHTML = (countryID == 1 || countryID == 5 ? '1 tyre size selected' : '1 Reifendimension ausgew�hlt');
		else
			document.getElementById('favTyreSizeLink').innerHTML = tyreSizeCount + (countryID == 1 || countryID == 5 ? ' tyre sizes selected' : ' Reifendimensionen ausgew�hlt');
	}
}



function CountSelectedCheckBoxes(prefix)
{
	checkCount = 0;
	
	for(i = 0; i < document.forms.length; i++)
	{
		for (x = 0; x < document.forms[i].elements.length; x++)
		{			
			var form_element = document.forms[i].elements[x];
			
			if(form_element.type != 'hidden' && form_element.name.substring(0, prefix.length) == prefix)
			{				
				if (form_element.checked == true)
					checkCount++;
			}
		}
	}
	return checkCount;
}

var clickedOn;
clickedOn = true;
function ClickOff()
{
	document.getElementById('tyreSizeInner').style.display = 'none';
	if(document.forms.length > 1 && document.getElementById('favTyreSizeInner') != null)
		document.getElementById('favTyreSizeInner').style.display = 'none';
	UpdateAllCounts();
}

function ClickOn(e)
{
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}

function InitSearchBoxClickOff()
{
	if (document.addEventListener)
	{
		document.addEventListener('click', ClickOff, false);
		document.getElementById('tyreSizeOuter').addEventListener('click', ClickOn, false);
		if(document.forms.length > 1 && document.getElementById('favTyreSizeOuter') != null)
			document.getElementById('favTyreSizeOuter').addEventListener('click', ClickOn, false);
	}
	else if (document.attachEvent)
	{
		document.attachEvent('onclick', ClickOff);
		document.getElementById('tyreSizeOuter').attachEvent('onclick', ClickOn);
		if(document.forms.length > 1 && document.getElementById('favTyreSizeOuter') != null)
			document.getElementById('favTyreSizeOuter').attachEvent('onclick', ClickOn);
	}
	else
	{
		document.onclick = ClickOff;
		document.getElementById('tyreSizeOuter').onclick = ClickOn;
		if(document.forms.length > 1 && document.getElementById('favTyreSizeOuter') != null)
			document.getElementById('favTyreSizeOuter').onclick = ClickOn;
	}
}

function saveChartAsImage(chart, slideNumber, date, id)
{
	var url = 'anyChartPNGSaver.php?slide='+slideNumber+'&date='+date+'&id='+id+'&type=png&data='+chart.getPng();
	
	DOMAssistant.AJAX.post(url);
	
	if(xmlIndex < xml.length)
	{
		var obj = xml[xmlIndex];
		
		// update the event listener
		chart.removeEventListener("draw", function() {
												   saveChartAsImage(chart, slideNumber, date, id);
												   });
		chart.addEventListener("draw", function() {
												saveChartAsImage(chart, obj.slideNumber, obj.dateTimeType, obj.userId);
												});
		
		// change the xml file
		chart.setXMLFile('/ats/'+obj.userId+'_slide'+obj.slideNumber+'_'+obj.dateTimeType+'.xml');
		
		xmlIndex++;
	}
	else
	{
		// enable the download links
		$(".csvDownload a").each(function() { this.onclick = ''; });
		
		// and change the colour of the link
		$("#downloadReport").each(function() { this.onclick = ''; this.style.color = '#243D53'; });
		
		// hide the flash
		$("#chart_container").each(function() { this.style.display = 'none'; });
	}
}

function saveBridgestoneChartAsImage(chart, imageNumber, date, id)
{
	var url = 'anyChartPNGSaver.php?bridgestone=1&slide='+imageNumber+'&date='+date+'&id='+id+'&type=png&data='+chart.getPng();
	
	DOMAssistant.AJAX.post(url);
	
	if(xmlIndex < xml.length)
	{
		var obj = xml[xmlIndex];
		
		// update the event listener
		chart.removeEventListener("draw", function() {
												   saveBridgestoneChartAsImage(chart, imageNumber, date, id);
												   });
		chart.addEventListener("draw", function() {
												saveBridgestoneChartAsImage(chart, obj.imageNumber, obj.dateTime, obj.userId);
												});
		
		// change the xml file
		chart.setXMLFile('/bridgestone/'+obj.userId+'_'+obj.dateTime+'_image'+obj.imageNumber+'.xml');
		
		xmlIndex++;
	}
	else
	{
		// enable the download links
		$(".csvDownload a").each(function() { this.onclick = ''; });
		
		// and change the colour of the link
		$("#downloadReport").each(function() { this.onclick = ''; this.style.color = '#243D53'; });
		
		// hide the flash
		$("#chart_container").each(function() { this.style.display = 'none'; });
	}
}

function saveCom4TiresChartAsImage(chart, imageNumber, date, id)
{
	var url = 'anyChartPNGSaver.php?gt=1&slide='+imageNumber+'&date='+date+'&id='+id+'&type=png&data='+chart.getPng();

	DOMAssistant.AJAX.post(url);

	if(xmlIndex < xml.length)
	{
		var obj = xml[xmlIndex];

		// update the event listener
		chart.removeEventListener("draw", function() {
												   saveCom4TiresChartAsImage(chart, imageNumber, date, id);
												   });
		chart.addEventListener("draw", function() {
												saveCom4TiresChartAsImage(chart, obj.imageNumber, obj.dateTime, obj.userId);
												});

		// change the xml file
		chart.setXMLFile('/gt/images/'+obj.userId+'_'+obj.dateTime+'_image'+obj.imageNumber+'.xml');

		xmlIndex++;
	}
	else
	{
		// enable the download links
		$(".csvDownload a").each(function() { this.onclick = ''; });

		// and change the colour of the link
		$("#downloadReport").each(function() { this.onclick = ''; this.style.color = '#243D53'; });

		// hide the flash
		$("#chart_container").each(function() { this.style.display = 'none'; });
	}
}

function saveHiQChartAsImage(chart, imageNumber, date, id)
{
	var url = 'anyChartPNGSaver.php?hiq=1&slide='+imageNumber+'&date='+date+'&id='+id+'&type=png&data='+chart.getPng();

	DOMAssistant.AJAX.post(url);

	if(xmlIndex < xml.length)
	{
		var obj = xml[xmlIndex];

		// update the event listener
		chart.removeEventListener("draw", function() {
												   saveHiQChartAsImage(chart, imageNumber, date, id);
												   });
		chart.addEventListener("draw", function() {
												saveHiQChartAsImage(chart, obj.imageNumber, obj.dateTime, obj.userId);
												});

		// change the xml file
		chart.setXMLFile('/hiq/TailoredReport27/images/'+obj.userId+'_'+obj.dateTime+'_image'+obj.imageNumber+'.xml');

		xmlIndex++;
	}
	else
	{
		// enable the download links
		$(".csvDownload a").each(function() { this.onclick = ''; });

		// and change the colour of the link
		$("#downloadReport").each(function() { this.onclick = ''; this.style.color = '#243D53'; });

		// hide the flash
		$("#chart_container").each(function() { this.style.display = 'none'; });
	}
}

function saveTailoredReportChartAsImage(chart, imageNumber, date, id, tid)
{
	var url = 'anyChartPNGSaver.php?tid='+tid+'&slide='+imageNumber+'&date='+date+'&id='+id+'&type=png&data='+chart.getPng();
	
	DOMAssistant.AJAX.post(url);
	
	if(tid == 37)
	{
		var percentage = Math.round((xmlIndex+1) * 100 / xml.length)
		
		percentage = Math.min(percentage, 100);
		
		$("#percentage").each(function() { this.innerHTML = 'Loading: ' + percentage + '%'; });
	}
	
	if(xmlIndex < xml.length)
	{
		var obj = xml[xmlIndex];
		
		// update the event listener
		chart.removeEventListener("draw", function() {
												   saveTailoredReportChartAsImage(chart, imageNumber, date, id, tid);
												   });
		chart.addEventListener("draw", function() {
												saveTailoredReportChartAsImage(chart, obj.imageNumber, obj.dateTime, obj.userId, tid);
												});

		// change the xml file
		chart.setXMLFile('/TailoredReports/TailoredReport'+tid+'/images/'+obj.userId+'_'+obj.dateTime+'_image'+obj.imageNumber+'.xml');

		xmlIndex++;
	}
	else
	{
		// enable the download links
		$(".csvDownload a").each(function() { this.onclick = ''; });

		// and change the colour of the link
		$("#downloadReport").each(function() { this.onclick = ''; this.style.color = '#243D53'; });

		// hide the flash
		$("#chart_container").each(function() { this.style.display = 'none'; });
	}
}
