var onloadstring='';
var sucheAb = 2;

(function($) { 
		$(document).ready(function() {
			BrowserDetect.init();
			makeNavigation();
			checkBrowser();
			$('.tpl_print_link').click(function(){window.print(); return false;});
			$('#tpl_volltextsuche .fulltextsearchform .image').click(function(){
				if($('.fulltextsearch_input').attr('value').length<sucheAb){
					$('.fulltextsearch_input').addClass('texterror');
					return false;
				};
				return true;
			});
			$('.fulltextsearch_input').focus(function(){
				$(this).removeClass('texterror');
			});
			if($('.tpl_teaser_newsletter_email')){
				$('.teaser_newsletter_form .image').click(function(){
					if($('.tpl_teaser_newsletter_email').attr('value')==''){
						$('.tpl_teaser_newsletter_email').addClass('texterror');
						return false;
					}else if(!isEmailValid($('.tpl_teaser_newsletter_email').attr('value'))){
						$('.tpl_teaser_newsletter_email').addClass('texterror');
						return false;
					};
					return true;
				});
				$('.tpl_teaser_newsletter_email').focus(function(){
					$(this).removeClass('texterror');
				});
			}
			$('.marktsuche_input').focus(function(){
				if($(this).attr('value')=='PLZ/Ort') $(this).attr({'value':''});
			});
            // empty value on button click:
            $('.marktsuche_submit').click(function(){
				if($('.marktsuche_input').attr('value')=='PLZ/Ort') $('.marktsuche_input').attr({'value':''});
			});
			$("a.lightbox").fancybox({
				'titleShow'		: false,
				'transitionIn'	: 'none',
				'transitionOut'	: 'none'
			});
			makeButtonCenter();
			eval(onloadstring);

            FixLinkColor();
		});
})(jQuery);

function makeButtonCenter(){
	$('.button_positiocenter').each(function(){
		$(this).css({'width':($(this).find('.btn_center').outerWidth()+11)+'px'});
		$(this).addClass('button_positiocenterjs');
	});
}

function makeNavigation(){
	var _widthNormal=new Array();
	var _widthLast=0;
	var _width=0;
	var _width2=0;
	$('#tpl_navigation li a.level1').each(function(i){
		_width+=$(this).outerWidth()+1;
	});
	_padding=588-(_width-1);
	if(_padding>0){
		_padding_2=parseInt((_padding)/5);
		$('#tpl_navigation li a.level1').each(function(i){
			_widthNormal[i]=$(this).outerWidth()+_padding_2-18;
			_width2+=($(this).outerWidth()+_padding_2)+1;
			$(this).css({'width':($(this).outerWidth()+_padding_2-18)+'px'});
		});
		_paddingnew=588-(_width2-1);
		$('#tpl_navigation li#level1_last a.level1').css({'padding':'0px '+(9+_paddingnew)+'px 0px 9px'});
		$('#tpl_navigation li#level1_last').addClass('jsactive');
	}
	if(BrowserDetect.browser=='Explorer'){
		if(BrowserDetect.version < 7.0){
			$('#tpl_navigation>li').each(function(i){
				$(this).mouseover(function(){
					$(this).addClass('sfhover');
				});
				$(this).mouseout(function(){
					$(this).removeClass('sfhover');
				});
			});
			$('#tpl_navigation>li>li').each(function(i){
				$(this).mouseover(function(){
					$(this).addClass('sfhover2');
				});
				$(this).mouseout(function(){
					$(this).removeClass('sfhover2');
				});
			});
		}
		$('#tpl_navigation>li').each(function(i){
			var maxWLevel2=_widthNormal[i]+9;
			var maxWLevel3=_widthNormal[i];
			$(this).find('li a').each(function(i){
				if($(this).hasClass('level2')){
					if($(this).outerWidth()>maxWLevel2) maxWLevel2=$(this).outerWidth();
				}else{
					if($(this).outerWidth()>maxWLevel3) maxWLevel3=$(this).outerWidth();
				}
			});
			if(maxWLevel3+9>maxWLevel2){
				maxWLevel2=maxWLevel3+9;
			}else{
				maxWLevel3=maxWLevel2-9;
			}
			$(this).find('li a.level2').css({'width':maxWLevel2+'px'});
			$(this).find('li a.level2 span').css({'width':(maxWLevel2-18)+'px'});
			$(this).find('li li a').css({'width':maxWLevel3+'px'});		
			$(this).find('li li a span').css({'width':(maxWLevel3-18)+'px'});		
		});		
	}else{
		$('#tpl_navigation>li').each(function(i){
			$(this).find('a.level2').css({'min-width':(_widthNormal[i]+9)+'px'});
			$(this).find('a.level2 a').css({'min-width':(_widthNormal[i])+'px'});
		});
	}
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

function checkBrowser(){
	if(BrowserDetect.browser=='Chrome') return;
	if(BrowserDetect.browser=='Opera' && BrowserDetect.version >= 9.8) return;
	if(BrowserDetect.browser=='Explorer' && BrowserDetect.version >= 7.0) return;
	if(BrowserDetect.browser=='Safari' && BrowserDetect.version >= 3.0) return;
	if(BrowserDetect.browser=='Firefox' && BrowserDetect.version >= 3.0) return;
	$('body').append('<div id="browsercheck">' + window.OldBrowserMessage + '</div>');
}

function isEmailValid(who) {
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(who));
}

function FixLinkColor() { /* link color fix by POINTS */

    var selectors = "";

    // fix for link tags that contain font tags with color
    $("a").has("font").each(function () {
        var link = $(this);
        var linkId = link.attr("id");
        var font = link.find("font");
        var color = font.attr("color");

        font.replaceWith(font.html());

        selectors += "#" + linkId + " { color: " + color + "; } " + "#" + linkId + ":visited { color: #245027; } ";
    });

    // fix for font tags that contain link tags
    $("font").has("a").each(function () {
        var font = $(this);
        var color = font.attr("color");
        var link = font.find("a");
        var linkId = link.attr("id");

        font.replaceWith(font.html());

        selectors += "#" + linkId + " { color: " + color + "; } " + "#" + linkId + ":visited { color: #245027; } ";
    });

    var a = $('<style type="text/css">' + selectors + '</style>').appendTo("body");
}
