	/********************************************************
	* www.wmdesign.at                                       *
	*   Code (c) 2010-2012 Levin Pölsler, www.netzninja.at  *
	*                                                       *
	* Sofern nicht anders angegeben ist sämtlicher Code     *
	*   Copyright (c) Levin Pölsler / www.netzninja.at      *
	* Entwickelt für www.wmdesign.at,                       *
	*   Verwendung des Programmcodes, auch auszugsweise     *
	*   ausserhalb der Domain www.wmdesign.at               *
	*   nur mit schriftlicher Genehmigung des Authors.      *
	********************************************************/

(function($){

	var basepath = '/';

	/*** Hash-Navigation verwenden, wenn JS verfügbar ***/
	if (location.pathname != basepath) {
		location.replace(basepath + '#' +
			location.pathname.replace(new RegExp('^' + basepath), ''));
		return;
	}


	function getById(id) {
		if (document.getElementById)
			return document.getElementById(id);
		else if (document.all)
			return document.all[id];
	}


	$(function() {

		/*** Auswählen deaktivieren ***/
		
		function disableSelect(e) {
			var clickableTags = { 'INPUT':0, 'TEXTAREA':0, 'BUTTON':0 };

			// anklicken bei textelementen erlauben
			var ev = e ? e : window.event;
			if ((typeof(ev.target) == 'object') && ('tagName' in ev.target) && (ev.target.tagName in clickableTags))
				return true;
			
			// andernfalls: aktuelles element verlassen
			try {
				if (document.activeElement && (document.activeElement.tagName in clickableTags))
					document.activeElement.blur();
			} catch(ex){ }
			return false;
		}
		function enableSelect(){
			return true;
		}
		if (typeof(document.body.onselectstart) != "undefined")
			document.body.onselectstart = function() { return false; };
		if (window.sidebar){
			document.onmousedown = disableSelect;
			document.onclick = enableSelect;
		}



		/*** Auswahlrechteck deaktivieren ***/
		if ($.browser.msie && $.browser.version < 8) {
			$('a').bind('mousedown', function(){ $(this).attr('hideFocus', 'hidefocus'); })
						.bind('blur', function(){ $(this).removeAttr('hideFocus'); });
			$('video').attr('hideFocus', 'hidefocus');
		}
		else {
			var onblur = function(){
				var $this = $(this);
				$this.css('outline', '');
				if ($this.attr('style') == '')
					$this.removeAttr('style');
				$this.unbind('blur', onblur);
			};
			$('a').bind('mousedown', function(){
				var $this = $(this);
				$this.css('outline', 'none');
				$this.focus();
				$this.blur(onblur);
			});
		}


		/*** Links korrigieren ***/
		$('a').each(function() {
			var link = $(this), href = link.attr('href');
			if (href) {
					// externe Seite oder Link auf PDF
				if (href.match(/^https?:\/\//) || href.match(/\.pdf$/i)) {
					// -> in neuem Tab öffnen
					link.attr('target', '_blank');
					link.click(function(ev){
						window.open(href);
						ev.preventDefault();
						// Auswahlrahmen deaktivieren
						if (ev.which > 0)
							link.blur();
					});
				}
				else if (href.match(/^mailto:/))
					link.attr('href', 'mailto:' + link.text());
				else {
					// interne Seite - durch Hash-Navigation ersetzen
					href = href.replace(/^\.\/$/, '');
					if (this.rel != 'emladdr' && !href.match(/^(#|cms\/|javascript:|mailto:)/))
						link.attr('href', '#' + href);
				}
			}
		});



		/*** iPhone / iPad erkennung ***/
		var is_iPhone = navigator.userAgent.indexOf("iPhone") >= 0;
		var is_iPad = navigator.userAgent.indexOf("iPad") >= 0;
		
		if (is_iPhone)
			$('html').addClass('iphone idevice');
		if (is_iPad)
			$('html').addClass('ipad idevice');
		
		/*** iPhone/iPad text resize fix ***/
		if (is_iPhone || is_iPad) {
			$('<style type="text/css"></style>')
			.html('* { -webkit-text-size-adjust: 100%; }')
			.appendTo('head');
		}
		
		

		// fix: "kommunikationsdesign" auf gleiche höhe wie "// kontakt"
		/*var bkommtext = $('#logotext')[0];
		var bkontakt = $('#btn-kontakt')[0];
		if (bkommtext.offsetTop && bkontakt.getBoundingClientRect) {
			if (bkommtext.offsetTop != bkontakt.getBoundingClientRect().top)
				bkommtext.style.top = bkontakt.getBoundingClientRect().top + "px";
		}*/
		var bkommtext = $('#logotext');
		var bkontakt = $('#btn-kontakt');
		if (bkommtext.position().top != bkontakt.position().top)
			bkommtext.css('top', bkontakt.position.top);
		
		
		/* fix: "web" gleich lang machen wie "print" */
		var bprint = $('#btn-print');
		var bweb = $("#btn-web");
		if (bweb.width() < bprint.width())
			bweb.css('width', bprint.width());
		
		
		
		/*** Adresse zu Plan-anzeigen-Link umwandeln ***/
		var $planlink = $('#plan-link');
		var txt = $planlink.text();
		var num = txt.substr(0, 2);
		txt = txt.substr(2);
		$planlink.html('<span><em>'+num+'</em><a>'+txt+'</a></span>');
		$planlink.find('a').click(function(ev){
			$('body').addClass('plan');
			ev.preventDefault();
			if (ev.which > 0)
				$(this).blur();
		});
		/* Kontakt-Button versteckt Plan */
		$('#btn-kontakt').click(function(){
			$('body').removeClass('plan');
		});
		
		


		/*** IE6 hover fix ***/
		if ($.browser.msie && $.browser.version < 7) {
			$('#content-web span, \
			   #content-web em, \
			   #content-kontakt span, \
			   #content-kontakt em, \
			   #content-shop span, \
			   #content-shop em')
			.each(function(){
				var $content = $(this);
				$content.hover(function(){
					$content.addClass('ie6hover')
						.siblings().addClass('ie6hover-sibling');
				}, function(){
					$content.removeClass('ie6hover')
						.siblings().removeClass('ie6hover-sibling');
				});
			});
		}
		
		
		/*** Webkit hover fix ***/
		if ($.browser.webkit) {
			$('#c-web span span').mouseover(function(){
				$(this).hide();
			})
			.prev().mouseover(function(){
				$(this).next().removeAttr('style');
			});
		}



		/*
		* Hashtag-Navigation einrichten
		*/
		var $body = $('body');
		var letztesProdukt = false;
		function navigation(hash){
			if (hash == '') {
				$body.attr('class', 'print');
				return;
			}
			
			var m = hash.match(/(print|web|kontakt)|(shop)(\/([a-z]+)(\/bild-([2-9]|[1-9][0-9]))?)?$/);
			
			var bereich = m[1] || m[2];
			var produktname = m[4];
			var bild = m[6] || 1;

			$body.attr('class', bereich);
			if (bereich == 'shop') {
				var produkt = SHOP_PRODUKTE[0];
				for (var i=0; i<SHOP_PRODUKTE.length; i++) {
					if (SHOP_PRODUKTE[i].name == produktname) {
						produkt = SHOP_PRODUKTE[i];
							break;
					}
				}
				if (produkt != letztesProdukt) {
					letztesProdukt = produkt;
					// produktfoto setzen
					$('#shop-foto img').attr('src',
						'bilder/shop/' + produkt.name + '/' + bild + '.jpg');
					// produkttext setzen
					$('#shop-text').html(produkt.text.replace(/\n/g, '<br />'));
					// bilderlinks erstellen
					var blaettern = $('#shop-blaettern');
					blaettern.children().remove();
					for (var i=1; i<=produkt.fotos; i++) {
						$('<a />').text(i<10 ? '0'+i : i)
						.appendTo(blaettern).click(function(){
							$('.aktiv', blaettern).removeClass('aktiv');
							var bild = $(this).addClass('aktiv').text()*1;
							// produktfoto setzen
							$('#shop-foto img').attr('src',
								'bilder/shop/' + produkt.name + '/' + bild + '.jpg');
						})
						.addClass(i==1 ? 'aktiv' : '');
					}
				}
			}
		}
		
		$(window).hashchange(function(){
			navigation(location.hash.replace(/^#/, ''));
		});
		var hash = location.hash;
		if (hash.length > 1)
			navigation(hash.replace(/^#/, ''));
		
	});



	
	// FIXES -> JQUERY
	
	

})(jQuery);


