/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

//Ilch (ic) Objekt initialisieren
if (typeof ic == 'undefined') ic = {};

function searchHelp() {
	alert("1.) schreib ein + vor ein Wort wenn das Wort vorkommen muss. z.B. +ilch +clan dann muessten beide Worte vorkommen.\n2.) schreib ein - vor ein Wort was nicht vorkommen darf. z.B. +ilch -clan\n3.) mach \" Zeichen um Woerter die zusammen gefunden werden sollen. z.B. \"ilch clan\" dann wird alles gefunden wo genau ilch clan vorkommt.");
}

//Bilder verkleinern
$.fn.imageResize = function(options){
    var settings = $.extend({
        maxWidth: 700,
        maxHeight: 0
    }, options);

    var resize = function(img) {
        var w = img.width;
        var h = img.height;
        var toChange = false;
        if (settings.maxWidth > 0 && w > settings.maxWidth) {
            h = settings.maxWidth * h / w;
            w = settings.maxWidth;
            toChange = true;
        }
        if (settings.maxHeight > 0 && h > settings.maxHeight) {
            w = settings.maxHeight * w / h;
            h = settings.maxHeight;
            toChange = true;
        }
        if (toChange) {
            img.width = w;
            img.height = h;
            if ($(img).parent('a').length == 0) {
                $(img).wrap('<a href="'+img.src+'" target="_blank" title="In voller Größe in neuem Fenster öffnen" />');
            }
        }
        $(img).show();
    }

    return this.each(function() {
        if (this.width != 0 && this.height != 0) {
			resize(this);
		} else {
			$(this).hide().load(function (){
				resize(this);
			});
		}
    });
};

//Document Ready
$(document).ready(function() {
  //übergroße Bilder verkleinern
  $('img.bbcode_image').imageResize();
  // Dem Forum Quickreply button mit funktionalität belegen
  $('a.SHOW_QUICKREPLY').click(function(e){
	$('#QUICKREPLY').show();
	$('#forumtxt').focus();
	$.scrollTo($('#forumtxt'));
	$(window).bind('beforeunload', function(){
	  if ($('#forumtxt').val()!='') {
		  return 'Du hast hier etwas geschrieben, soll das Wirklich weg?';
	  }
	});
	$('#quickreply_formpreview, #quickreply_formsub').bind('click', function (e) {
	  $(window).unbind('beforeunload');
	});
	return false;
  });
});

// DankeFunktion / Beiträge bewerten
function ratePost(pid) {
    $.ajax({
        type: 'POST',
        url: 'forum-ratepost.html',
        data: { pid: pid },
        success: function(response) {
            if (response == '') {
                rate = $("#rate_"+pid)
                rate.text(parseInt(rate.text())+1);
            } else {
                alert(unescape(response));
            }
        }
    });
}

//Lokalisierung für Valditor von jquery.tools
$.tools.validator.localize("de", {
    '*'             : 'Korrigiere die Eingabe',
	':email'  		: 'Bitte eine gültige E-Mail-Adresse angeben',
	':number' 		: 'Gib eine Zahl ein',
	':url'          : 'Gib eine gültige Webadresse ein',
	'[max]'	 		: 'Gib einen kleineren Wert als $1 ein',
	'[min]'	 		: 'Gib einen größeren Wert als $1 ein',
	'[required]' 	: 'Fülle dieses Pflichtfeld aus'
});


if (typeof BBCode == 'undefined') {
    var BBCode = {};
}
//BBCode erweiterter Code Popup
BBCode.addCodePopup = function(){
    var html = [
        '<div class="modal" id="bbcodeCodePopup">',
        '<h2>Code einfügen</h2>',
        '<form>',

        '<label for="bbcp_title">Titel</label>',
        '<input id="bbcp_title" name="title" title="Hier kann man einen Titel oder Dateinamen angeben" /><br />',

        '<label for="bbcp_highlight">Highlight</label>',
        '<input id="bbcp_highlight" name="highlight" pattern="^((\\d+|\\d+-\\d+)(;(\\d+|\\d+-\\d+))*)?$" ',
        'title="Zeilen angeben, die hervorgehoben werden.&lt;br/&gt;Format: 1;4;7-10" data-message="Das Format muss eingehalten werden" /><br />',

        '<label for="bbcp_start">Startzeile</label>',
        '<input id="bbcp_start" name="start" type="number" title="Zeilennummer bei der Codeblock anfängt zu zählen, eine Zahl kleiner Null lässt Zeilenangaben verschwinden." /><br />',

        '<label for="bbcp_syntax">Syntax</label>',
        '<select name="type" title="Die Sprache aus, die der Code enthalten soll.">',
            '<option value="text">Ohne</option>',
            '<option value="php">PHP</option>',
            '<option value="js">Javascript</option>',
            '<option value="html">XHTML / XML</option>',
            '<option value="css">CSS</option>',
            '<option value="sql">SQL</option>',
            '<option value="diff">Diff</option>',
        '</select><br />',

        '<div class="buttons"><button type="button" title="Popup schließen" value="close">Abbrechen</button>',
        '<button type="submit" title="In der Textarea einfügen" value="insert">Einfügen</button></div>',
        '</form></div>'
    ].join('');
    BBCode.codePopup = $(html).appendTo('body');
    BBCode.codePopupInputs = $(":input", BBCode.codePopup).tooltip({
    	position: "top center",
    	offset: [-2, 10],
    	effect: "fade",
    	opacity: 0.7,
    	tipClass: 'bbcpTooltip'
    }).validator({
        messageClass: 'bbcpError',
        lang: 'de'
    });
    BBCode.codePopup.find("button").click(function(e) {
        switch ($(this).attr('value')) {
    	    case 'close': //Close
    	        BBCode.codePopupInputs.data("validator").destroy();
    	        BBCode.ovTrigger.overlay().close();
    	    break;
    	    case 'insert': //Fügt Code ein, wenn valide
    	        if (BBCode.codePopupInputs.data("validator").checkValidity()) {
        	        var data = BBCode.codePopup.find('form').serializeArray();
        	        var toInsert = ['[code'];
                    for (var i in data) {
        	            if (data[i].value) {
        	                toInsert[toInsert.length] = data[i].name + '=\'' + data[i].value.replace(/'/, '') + '\'';
        	            }
        	        }
                    toInsertA = toInsert.join(' ') + ']';
                    simple_insert(toInsertA, '[/code]');
        	        BBCode.ovTrigger.overlay().close();
    	        }
    	    break;
        }
        return false;
    });
}

BBCode.showCodePopup = function() {
    if (typeof BBCode.codePopup == 'undefined') {
        BBCode.addCodePopup();
    } else {
        BBCode.codePopupInputs.validator({
            messageClass: 'bbcpError',
            lang: 'de'
        });
    }
    if (typeof BBCode.ovTrigger == 'undefined') {
        BBCode.ovTrigger = $(this).overlay({
            target: '#bbcodeCodePopup',
            mask: {
        		color: '#ebecff',
        		loadSpeed: 200,
        		opacity: 0.9,
        		width: 280
        	},
        	closeOnClick: false
        });
    } else {
        BBCode.codePopup.find('form').get(0).reset();
    }
    BBCode.ovTrigger.overlay().load();
}

// google ads
google_ad_client = "pub-8569334717122431";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text";
google_ad_channel = "";
google_color_border = "B51E00";
google_color_bg = "B51E00";
google_color_link = "FFFFFF";
google_color_text = "000000";
google_color_url = "057199";
