var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}





// Globale Variablen
var ie6		 = 0;

// Projekte nach 5 sekunden faden (8)
var fade_time = 7000;
//fade_time = 3000;

// aktuelles div
var akt_div;

// projekt div - breite (einzeln)
var projekt_width = 693;
var projekt_width_max;
var akt_step = projekt_width*-1;
var akt_navi_id = 0;
var timer;
var akt_betrag;
var max_spende = 99;

// Hooks
onloadHooks.push(function(){
	tx_igspendenhelfen_pi1_onload();
});

// Load-Funktionen
function tx_igspendenhelfen_pi1_onload(){
	// Wrapbreite 
	setWrapWidth();
	// NaviEvents
	setNavEvents();
	// SpendenClick
	setSpendenKlickEvents();
	// Ersten Navipunkt auf aktiv setzen
	$('.tx-igspendenhelfen-pi1 a#browse_0').parent().addClass('aktiv');
	// Ersten Betrag setzen
	akt_betrag = $('#projekt_0 #hidden_betrag').html();
	$('#akt_betrag').html(akt_betrag);
	$('#akt_betrag').fadeIn('slow');
	$('.spenden_betrag span').fadeIn('slow');
	
	if($('.sh_projekt').length == 1) {
		$('.navigation').css('display', 'none');
	}else {
		// Animation starten
		timer = setInterval( "SlideProject()", fade_time );
	}
	
	
	$('.spenden_button').click(function() {
		var akt_betrag = Base64.encode($('#akt_betrag').html());
		window.open(spendenLink + "?spb=" + akt_betrag);
	});
	
	
}


function SlideProject() {
	$('.tx-igspendenhelfen-pi1 .slider_wrap').animate({
		left: akt_step
		}, {
			    duration: 650,
			    easing: 'swing',
			    complete: function() {
			    	akt_step += projekt_width*-1;
			    	if(akt_step == projekt_width_max*-1) {
			    		akt_step = 0;
			    	}
			    	setNaviAktive();
			 	}
		}); 
	
	
}



function getMyID(item, string) {
	var myid = item.split(string);
	return myid[1];	
}

function setWrapWidth() {
	projekt_width_max = $('.tx-igspendenhelfen-pi1 .sh_projekt').length * projekt_width;
	$('.tx-igspendenhelfen-pi1 .slider_wrap').css('width', projekt_width_max);
}

function setNavEvents() {
	
	$('.tx-igspendenhelfen-pi1 .navigation a').click(function() {
			clearInterval(timer);
			
			slideSingle(this.id);
			
			
			
	});
	
}

function setNaviAktive() {
	akt_navi_id++;
	
	if(akt_navi_id == $('.tx-igspendenhelfen-pi1 .sh_projekt').length) {
		akt_navi_id = 0;
	}
	setAktive(akt_navi_id);
	setCurrBetrag(akt_navi_id);
}

function setAktive(current_id) {
	// Altes raus
	removeAktiveNavi();
	
	// Neues rein
	$('.tx-igspendenhelfen-pi1 a#browse_' + current_id).parent().parent().addClass('aktiv');
}

function setCurrBetrag(current_id) {
	var new_betrag = $('#projekt_'+current_id+' #hidden_betrag').html();
	$('#akt_betrag').html(new_betrag);
}

function removeAktiveNavi() {
	var mylis = $('.tx-igspendenhelfen-pi1 .navigation li');
	mylis.each(function(index) {
		if($(this).hasClass('aktiv')) {
			$(this).removeClass('aktiv');
		}
	});
}

function slideSingle(item) {
	
	var myid = getMyID(item, 'browse_');
	
	var step = (myid * projekt_width) * -1;
	
	$('.tx-igspendenhelfen-pi1 .slider_wrap').animate({
		left: step
		}, {
			    duration: 650,
			    easing: 'swing',
			    complete: function() {
			    	removeAktiveNavi();
			    	$('.tx-igspendenhelfen-pi1 a#browse_' + myid).parent().parent().addClass('aktiv');
			    	setCurrBetrag(myid);
			 	}
		});
	
	
}


function setSpendenKlickEvents() {
	
	$('.spenden .click_wrap a').click(function() {
		clearInterval(timer);
		setNewBetrag(this.id);
		
	});
	

	
	
}


function setNewBetrag(richtung) {
	
	var akt_betrag = parseInt($('#akt_betrag').html());
	
	if(richtung == 'click_next') {
		
		if(akt_betrag >= max_spende) {
			// NICHTS MACHEN
		}else {
			akt_betrag++;
			$('#akt_betrag').html(akt_betrag);
		}
	
	}else {
		
		if(akt_betrag == 1) {
			// NICHTS MACHEN
		}else {
			akt_betrag--;
			$('#akt_betrag').html(akt_betrag);
		}
		
	}
	
	
}






