// javascript matthias edler-golla
// 2009-01-03

// scrollt animiert
// http://www.learningjquery.com/2007/09/animated-scrolling-with-jquery-12
$(document).ready(function(){
	$('a[href*=#]').click(function() { //faehrt sanft zu allen inline-links
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
			var $target = $(this.hash);
			$target = $target.length && $target	|| $('[name=' + this.hash.slice(1) +']');
			if ($target.length) {
				var targetOffset = $target.offset().top;
				$('html,body').animate({scrollTop: targetOffset}, 700);
				return false;
			}
		}
	});
}); 

// bereitet die bilder-links fuer fancyZoom (weiter unten) vor 
// WICHTIG, die relevanten bilder muessen bei pmWiki mit "Img:tulpe.gif" eingestellt werden
// dadurch wird via php ein kleiner vorschaubild und ein grosses bild erzeugt, das dann via fancyZoom gezeigt wird

// das plugin bei pmWiki dafuer heisst "minimageThias.php", es befindet sich im ordner "cookbook"
// es erzeugt bei den hochgeladenen bilder das vorschaubild mit der endung "xxxx.s.jpg" oder "xxxx.s.gif"
// das grosse bild bekommt die endung "xxxx.p.jpg" oder "xxxx.p.gif"
// falls sich dies bei einem update aendert, funktioniert mein script NICHT mehr!

$(document).ready(function(){
	$('div#wikitext div:not("#wikiedit") a').click(function(){
		// die src-angabe des bildes innerhalb des angeklickten links
		var quelle = $(this).find('img').attr('src');		
		
		//wie lang ist das src
		var L= quelle.length; 
		
		// "s.jpg" wird entfernt 
		var neuL = L - 5; 						
		var anfang = quelle.slice(0, neuL);
	
		//je nachdem, welche art von bilddatei geladen wird, wird eine andere endung eingebaut
		if (quelle.indexOf("jpg") != -1){
			var endung = 'p.jpg'
		} else if (quelle.indexOf("gif") != -1){
			var endung = 'p.gif'
		} else if (quelle.indexOf("png") != -1){
			var endung = 'p.png'
		}
		
		//zusammenbau von anfang der bisherigen "src"-angabe mit neuer endung
		var neuQuelle = anfang + endung;
       		
       		//diese "neuQuelle" wird als "href"-angaben an den link "gepflanzt"
       		//dieser neuer link wird dann bei fancyzoom (weiter unten) als link fuer das aufspringende bild verwendet
       		$(this).attr('href', neuQuelle);
       		
       		/* var link = $(this).attr('href');
		alert (link); */

		return false;
	});
});

//baut bei den posts einen zurueck-button zur startseite ein
//ACHTUNG! der pfad muss noch angepasst werden!
/*
$(function(){
	var bClass = $('body').attr('class');
	if (bClass.indexOf('Aktuelles')!=-1 || bClass.indexOf('Posts')!=-1){
		$('<div id="zurueck"><a id="back" href="/index.php/Main/Aktuelles" title="zur&uuml;ck">zur&uuml;ck<a\/><\/div>').insertAfter('div#wikitext');
	}
});
*/

//ie6 ist einfach zu dooof! deswegen Hoehe angepasst mit jQuery
$(function(){
	// ie kennt "min-height" nicht...
	var contentH = $('div#content').height();
	if ($.browser.msie) {
		var ieVersion = $.browser.version;
		if (ieVersion < 8){
			var contentH = $('div#content').height();
			if (contentH < 600) {
				$('div#content').height('600px');
			}
		}
	}
});

// fancyZoom -- absoluten pfad anpassen!
$(document).ready(function(){
	//Set the default directory to find the images needed
	//by the plugin (closebtn.png, blank.gif, loading images ....)
	// http://www.dfc-e.com/jqueryfancyzoom/
	$.fn.fancyzoom.defaultsOptions.imgDir='/pub/skins/wago/js/p/'; //very important must finish with a /
	
	$('div#wikitext a').fancyzoom({Speed:400,showoverlay:true,overlay:5/10,overlayColor:'#000'});
});

////////////////////////////// OHNE jquery

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

// dom scripting, p. 285f
addLoadEvent(prepareForms);
function prepareForms(){
	for (var i=0; i<document.forms.length; i++) {
		var thisform = document.forms[i];
		resetFields(thisform);
		/*
thisform.onsubmit = function() {
			return validateFields(this);
		}
*/
	}
}

/*
	fragt in jeder form die default-werte der input-felder ab, 
	macht bei onfocus das input-feld leer und 
	bei onblur wieder den alten text rein...
*/


function resetFields(whichform){

	
	
	//beim editieren/eingeben von texten waere dies fatal!
	
	for (var i=0; i<whichform.elements.length; i++) {
		var element = whichform.elements[i];
		if (element.type == "submit") continue;
		if (!element.defaultValue) continue;
		
		element.onfocus = function(){
			//suchfeld
			var ident = $(this).parent().attr('id');
			//kontaktformular
			var  ident2 = $(this).parent().parent().attr('id');
			//alert (ident2);
			if (ident == 'suchMich' || ident2 == 'kontakt'){
				if (this.value == this.defaultValue) {
				this.value = "";
				}
			}
		}
		
		element.onblur = function() {
			if (this.value == "") {
				this.value = this.defaultValue;
			}
		}
	}
}

