// This JavaScript needs jquery

/* JQuery URL Parser
 * Version 1.0
 * Parses URLs and provides easy access to information within them.
 *
 * Author: Mark Perkins
 * Author email: mark@allmarkedup.com
 */
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}();


 var path = jQuery.url.attr("path");	
 // e.g.    /stories-and-videos/interviewswithparticipants.html	
 var relPath = path.replace(/\/[^\/]+/g, '../'); 
 // --> ../../
 relPath =  relPath.slice(0,3);
 var filename = jQuery.url.attr("file");	



 function create_icon(icon)
 {
	return '<img src="'+relPath+'layout/img/'+icon+'.gif" class="link-icon" />';
 }

 function mail(a,b) 
 {
	parent.location = 'mailto:'+a+'@'+b;
	return false;
 }


function in_array(elem,array){	
  var i;
  for (i = 0; i < array.length; i++) {
    if (array[i] === elem) {
      return true;
    }
  }
  return false;
};

// end for page content

 $(document).ready(function(){
		
		// email adress antispam - needs jquery
		// eg. write in html ute.buschhaus-nrw<span> -at- </span>bioland.de
	$("p:contains('-at-'),td:contains('-at-')").each(function(){
		//alert($(this).html());
		var filter = /([a-zA-Z0-9_\.\-]+)(<span> -at- <\/span>)([a-zA-Z0-9_\-]+\.[a-zA-Z]{2,3})/ig;
		var link = "<a onclick=\"mail('$1','$3')\" class=\"email\">$1 -at- $3</a>";
		$(this).html($(this).html().replace(filter, link));		
	});
	
	$("p:contains('%')").each(function(){
		//alert($(this).html());
		var filter = /([0-9\,]{1,4} {1}%)/ig;
		var link = "<span class=\"anteil\">$1</span>";
		$(this).html($(this).html().replace(filter, link));		
	});
	
	$("p:contains('biol.')").each(function(){
		//alert($(this).html());
		var filter = /aus biol. Verm./ig;
		var link = "<span class=\"color\">aus biol. Verm.</span>";
		$(this).html($(this).html().replace(filter, link));		
	});
	

	$("a:has(img)").addClass("img");
	// link icons: because of the IE multiline problem do not use css classes
	$("a[href$='.rtf'], a[href$='.doc']").prepend(create_icon('doc'));
	$("a[href*='.pdf'], a[href*=':PDF']").prepend(create_icon('pdf'));	
	$("a[href$='.xls']").prepend(create_icon('xls'));	
		
	
	// open external links with target _blank	
	$("a[@href^='http']").click(function(){  
		this.target = "_blank";
	});		
	$("a[href^='http']").not("a[href*='naturschutzberatung-nrw']").not("[class='img']").not("[class='noicon']").not("a[href*='.pdf'], a[href*=':PDF']").each(function(){	
			// external link with » at the begining looks like an internal link.	
			if($(this).html().indexOf('»') == -1){
				 $(this).prepend(create_icon('link_extern'));		   
			}
		});
	
	$('#links tr').find('td:eq(1)').css("padding",0); 
	
	
	//zebra table
	//$("tr:nth-child(odd)").addClass("odd");
	$("tr:odd").addClass("odd");
	
	$("#tagung td:first-child").addClass("time");
	
	
	
	var showLink = "&nbsp;<a class=\"info\" title=\"Text vollständig anzeigen\">[mehr...]<\/a>";	
							
	$(".text2").hide(); 
	$(".text1").append(showLink);
	
	$(".text1 a").click(function(){	
		// $(this).parents("p").next("div").slideToggle("slow");
		$(this).parents("p").next("div").toggle();
		
		if($(this).text() == "[mehr...]")
		{	
			$(this).attr({title:"Text ausblenden"});
			$(this).text("[Text ausblenden]");	
		}
		else
		{	
			$(this).attr({title:"Text vollständig anzeigen"});
			$(this).text("[mehr...]");
		}
	});
	
	pagesWithPageContents = new Array('aktuell.html','sammelsurium.html','tierschutz.html');    
	if(in_array(filename,pagesWithPageContents)) {
		$('<div id="page-contents"></div>')
		 .prepend('<h3>Auf dieser Seite</h3>')
		 .append('<div></div>')
		 .prependTo('body'); 
		
		  $('#MittelSpalte h2').each(function(index) {
			 var $articleTitle = $(this);
			 var articleId = 'article-' + (index + 1);
			 $articleTitle.attr('id', articleId);
			 $('<a></a>').text($articleTitle.text())
				.attr({
				  'title': 'Gehe zu: ' + $articleTitle.text(),
				  'href': '#' + articleId
				})
				.appendTo('#page-contents div');
		  });			
   }
	
});
