/* 	
	CSS Document for: 	duerr.de
	Author:				info@markusgiesen.de
	CreateDate:			2007-07-12
	ChangeDate:			2008-07-03
*/


var SlideDownloads = new Class ({
	initialize: function(options)
	{
		this.options = {
			downloadBlocks: $ES('.contextDownload')
		};
		
		// Set options
		Object.extend(this.options, options || {});
		this.downloadBlocks = this.options.downloadBlocks;
		this.ajaxUrl = this.options.ajaxUrl;
		
		// Check for blocks
		if(!this.downloadBlocks){
			return false;
		}
		
		this.fetchContent();
		
		this.hideContacts();
	},
	
	fetchContent: function() {
		this.downloadBlocks.each(function(block){
			var lng = $E('ul',block).getProperty('lang');
			var data = $E('ul a span',block).getText();
			arrData = data.split(',');
	
			objData = {
				docIds: (arrData[0].toInt()) ? data : '',
				docThemes: (!arrData[0].toInt()) ? data : '',
				lng: lng,
				ot: 'context'
			}
			data = Object.toQueryString(objData);
			
			if(($E('ul a',block).getProperty('href') != '' && $E('ul a',block).getProperty('href') != '#') && data != '') {
				var url = $E('ul a',block).getProperty('href');
				var test = new Ajax(url, {
					data: data,
					method: 'get',
					update: $E('ul',block)
				}).request();
			}
		 });
	},
	
	showResults: function(Appear) {
	},
	
	hideContacts: function() {
	} 
});


var DownloadcenterSubmit = new Class ({
	initialize: function(options)
	{
		this.options = {
			block: $E('table#downloadcenter'),
			area: $E('table#downloadcenter #dlcarea'),
			category: $E('table#downloadcenter #dlccategory'),
			theme: $E('table#downloadcenter #dlctheme'),
			doctype: $E('table#downloadcenter #dlcdoctype'),
			product: $E('table#downloadcenter #dlcproduct'),			
			form: $('#downloadcenterdata'),
			btnsubmit: $('dlcsubmit'),
			btnsubmit0: $('dlcsubmit0'),
			objQuery: window.getQueryStringValues(),
			dlcPath: '/fetchdata.php'
		};
		
		// Set options
		Object.extend(this.options, options || {});
		this.block = this.options.block;
		this.area = this.options.area;
		this.category = this.options.category;
		this.theme = this.options.theme;
		this.doctype = this.options.doctype;
		this.product = this.options.product;		
		this.form = this.options.form;
		this.btnsubmit = this.options.btnsubmit;
		this.btnsubmit0 = this.options.btnsubmit0;
		
		this.query = this.options.query;
		this.objQuery = this.options.objQuery;
		this.dlcPath = this.options.dlcPath;
		
		this.ajaxUrl = this.options.ajaxUrl;
		
		// Check for dlc
		if(!this.block){
			return false;
		}
		
		this.activateSubmit();		
	},
	
	activateSubmit: function() {
		this.btnsubmit.addEvent('click', function(e){
			e = new Event(e).stop();
			var filterUrl = document.location.protocol + '//' + document.location.host + document.location.pathname;
			filterUrl += '?lng=';
			if($E('#downloadcenter' || (this.objQuery.lng && this.objQuery.lng!=''))){
				filterUrl += (this.objQuery.lng && this.objQuery.lng!='') ? this.objQuery.lng : $E('#downloadcenter').getProperty('lang');
			}

			var testarea = $E('#' + this.area.getProperty('id') + 'li span');
			filterUrl += (testarea.innerHTML.indexOf('*') != 0) ? ('&area=' + testarea.innerHTML) : '';

			var testcategory = $E('#' + this.category.getProperty('id') + 'li span');
			filterUrl += (testcategory.innerHTML.indexOf('*') != 0) ? ('&category=' + testcategory.innerHTML) : '';

			var testtheme = $E('#' + this.theme.getProperty('id') + 'li span');
			filterUrl += (testtheme.innerHTML.indexOf('*') != 0) ? ('&theme=' + testtheme.innerHTML) : '';

			var testdoctype = $E('#' + this.doctype.getProperty('id') + 'li span');
			filterUrl += (testdoctype.innerHTML.indexOf('*') != 0) ? ('&doctype=' + testdoctype.innerHTML) : '';

			filterUrl += '&ot=table';
			
			document.location = filterUrl;
			return false;
		}.bind(this));
		
		this.btnsubmit0.addEvent('click', function(e){
			e = new Event(e).stop();
			var filterUrl = document.location.protocol + '//' + document.location.host + document.location.pathname;
			filterUrl += '?lng=';
			if($E('#downloadcenter' || (this.objQuery.lng && this.objQuery.lng!=''))){
				filterUrl += (this.objQuery.lng && this.objQuery.lng!='') ? this.objQuery.lng : $E('#downloadcenter').getProperty('lang');
			}

			var testproduct = $E('#' + this.product.getProperty('id') + 'li span');
			filterUrl += (testproduct.innerHTML.indexOf('*') != 0) ? ('&theme=' + testproduct.innerHTML) : '';

			filterUrl += '&ot=table';
			
			document.location = filterUrl;
			return false;
		}.bind(this));
		
	},
	
	hideContacts: function() {
	}
});



var zebraTables = new Class ({
	initialize: function(options)
	{
		// Set options
		$ES("#content table").each(function(table){
			if(!table.hasClass('rdtable') && !table.hasClass('nozebra')){
				table.addClass('zebrized');
				table.setProperty('cellpadding','0');
				table.setProperty('cellspacing','0');
				table.setProperty('border','0');
				var trEls = $ES("tr", table);
				var j = 1;
				trEls.each(function(row,i) {
					if ( i % 2 == 1 ) {
						row.addClass( "odd" );
						if(j == trEls.length) {
							row.addClass("tr-last tr-last-odd");
						}
					}else if(j == trEls.length) {
						row.addClass("tr-last tr-last-even");
					}
					row.addClass( "tr-" + i );
					j++;
				});
			}
		});
	}
});


function writeStyles() {
	var strHtmlToWrite = "<style type=\"text/css\">";
	strHtmlToWrite += ".tabSwapBlock div.panelSet { height: 300px; overflow: hidden; visibility: hidden; }";
	strHtmlToWrite += "</style>";
	document.write(strHtmlToWrite);
}

/*** sb: dropdown state keeps track of the "dropped y/n" status of the current dropdown 
         it's a helper to allow klickable "down-arrows" in the UL-section of the JS based dropdowns */
var ddState = 0;
/*** sb: tracing of last selected dropdown provides a mechnism to hide open dropdowns when switching
         between simple & advanced mode of dlc */
var lastSelected = '';

function showDropdown(selectedValue){	
	if (ddState == 0) {
		$E('#' + selectedValue + ' ul').setStyle('height', '200px');
		$E('#' + selectedValue + ' ul').addClass('hovered');
		$E('#' + selectedValue + ' ul').setStyle('width',230);
		ddState = 1;
		lastSelected = selectedValue;
	}
	else if (ddState == 2) {
		ddState = 0;
	}
	
	return false;
}

function setDropdpownValue(selectedValue,el){
	$E('a',$(selectedValue + 'li')).innerHTML = el.parentNode.getElementsByTagName('a')[0].innerHTML;
	$E('span',$(selectedValue + 'li')).innerHTML = el.parentNode.getElementsByTagName('span')[0].innerHTML;
	
	hideDropdown(selectedValue);

	ddState = 2;	
	el.blur();

	return false;
}

function hideDropdown(selectedValue) {
	if (selectedValue == '' && lastSelected != '') {		
		selectedValue = lastSelected;
		lastSelected  = '';
		ddState       = 0;		
	}
	if (selectedValue != '') {
		$E('#' + selectedValue + ' ul').setStyle('height',0);
		$E('#' + selectedValue + ' ul').removeClass('hovered');
		$E('#' + selectedValue + ' ul').setStyle('width',81);
		$E('#' + selectedValue + ' ul').scrollTo(0, 0);	
	}
}

function setDropdpownValue2(selectedValue,el){
	$E('a',$(selectedValue + 'li')).innerHTML = el.parentNode.getElementsByTagName('a')[0].innerHTML;
	$E('span',$(selectedValue + 'li')).innerHTML = el.parentNode.getElementsByTagName('span')[0].innerHTML;
	
	hideDropdown2(selectedValue);
	
	ddState = 2;
	el.blur();

	return false;
}

function hideDropdown2(selectedValue) {
	if (selectedValue == '' && lastSelected != '') {
		selectedValue = lastSelected;
		lastSelected  = '';		
		ddState       = 0;		
	}
	if (selectedValue != '') {
		$E('#' + selectedValue + ' ul').setStyle('height',0);
		$E('#' + selectedValue + ' ul').removeClass('hovered');
		$E('#' + selectedValue + ' ul').setStyle('width',151);
		$E('#' + selectedValue + ' ul').scrollTo(0, 0);	
	}	
}

// hide elements which are displayed later on
writeStyles();
