// Bilder vorladen
preloadImages = function() {
	var images  = new Array();
	var preload = new Array();
	
	images.push('badge_maximale_wartezeit.gif');
	images.push('banderole.gif');
	images.push('banderole_hover.gif');
	images.push('bg_a_teaser_left.gif');
	images.push('bg_a_teaser_left_hover.gif');
	images.push('bg_a_teaser_right.gif');
	images.push('bg_a_teaser_right_hover.gif');
	images.push('bg_body.gif');
	images.push('bg_catalog_hover_p_img.gif');
	images.push('bg_header.gif');
	images.push('bg_ol_daily_menu.gif');
	images.push('bg_topbar_ul_li.gif');
	images.push('bg_topbar_ul_li_active.gif');
	images.push('bg_topbar_ul_li_hover.gif');
	images.push('bonus_card.gif');
	images.push('bulletpoint.gif');
	images.push('bulletpoint_n1.gif');
	images.push('bulletpoint_n2.gif');
	images.push('catalog_belt.gif');
	images.push('catalog_belt_large.jpg');
	images.push('catalog_jacket.gif');
	images.push('errormark.gif');
	images.push('icon_bbq.gif');
	images.push('icon_brunch.gif');
	images.push('icon_daily_lunch.gif');
	images.push('photo_offerings_events_1.jpg');
	images.push('photo_start_1.jpg');
	images.push('shopping_cart.gif');

	for(i = 0;i < images.length; i++) { 
		preload[i] = new Image();
		preload[i].src = '_img/' + images[i];
	}
}

// Mouseover-Effekt Banderole
hoverBanderole = function() { // BETA
	var banderole = document.getElementById('banderole');

	if(banderole) {
		with(document.getElementById('banderole_map')) {
			onmouseover = function() {
				banderole.src = '_img/banderole_hover.gif';
			}
			onmouseout = function() {
				banderole.src = '_img/banderole.gif';
			}
		}
	}
}

// E-Mail-Adressen gegen Links ersetzen (Anti-Spam)
replaceEmailString = function() {
	var emailLinks = document.getElementsByTagName('span');

	for(var i = 0; i < emailLinks.length; i++) {
		if(emailLinks[i].getAttribute('class') == 'email' || emailLinks[i].className == 'email') { // Hack IE5+/Win
			var emailLink = emailLinks[i].innerHTML.replace(/(\S*) \(at\) (\S*)\.(\S*)/,'$1@$2.$3');
			emailLinks[i].innerHTML = '<a href=\"mailto:' + emailLink + '\" title=\"E-Mail an ' + emailLink + ' senden\">' + emailLink + '</a>';
		}
	}
}

// Externe Verweise in neuem Fenster öffnen
setExternalLinks = function() {
	var externalLinks = document.getElementsByTagName('a');

	for(var i = 0; i < externalLinks.length; i++) {
		if(externalLinks[i].getAttribute('class') == 'external' || externalLinks[i].className == 'external') { // Hack IE5+/Win
			externalLinks[i].setAttribute('target','_blank');
		}
	}
}

// Grafische Ziffern Mittagstisch-Angebote
setMenuNumbers = function() {
	var listItems = document.getElementsByTagName('li');
	var count     = 1;
	
	for(var i = 0; i < listItems.length; i++) {
		
		if(listItems[i].parentNode.parentNode.getAttribute('class') == 'daily_menu') { // BETA
			listItems[i].setAttribute('style','background-image: url(\"_img/bulletpoint_n' + count + '.gif\")');
			count++;
		}
	}
}

// Fokus auf erstes fehlerhaft ausgefülltes Formularfeld setzen
focusFormField = function() {
	var forms = document.getElementsByTagName('form');

	for(var i = 0; i < forms.length; i++) {
		for(var j = 0; j < forms[i].elements.length; j++) {
			if(forms[i].elements[j].parentNode.getAttribute('class') == 'error') {
				forms[i].elements[j].focus();
				return true;
			}
		}
	}
}

// Gewähltes PDF in neuem Fenster öffnen
showPdf = function() {
	var pdf = document.getElementById('pdfs').options[document.getElementById('pdfs').options.selectedIndex].value

	if(pdf != '-bitte wählen-') {
		void(window.open('downloads/' + pdf));
	}
}

// Anzahl eines Artikels im Warenkorb ändern
changeQuantity = function(mode,itemId) {
	var quantity = document.getElementById('quantity_' + itemId);
	var css      = document.getElementById('table_row_' + itemId).style;

	increment = function() {
		quantity.value++;
		css.color = 'inherit';
	}
	
	decrement = function() {
		if(quantity.value > 1) {
			quantity.value--;
		}
		else {
			var confirmation = "Möchten Sie diesen Artikel wirklich aus Ihrem Warenkorb entfernen?"
			if(quantity.value != 0 && confirm(confirmation)) {
				quantity.value = 0;
				css.color = '#C33';
			}
		}
	}
	
	switch(mode) {
		case 0: increment(); break;
		case 1: decrement(); break;
	}
}

//
// Initialisieren
//

init = function() {
	preloadImages();
	hoverBanderole();
	replaceEmailString();
	setExternalLinks();
	setMenuNumbers();
	focusFormField();
}
