/* ++++++++++++++ PLUGINS ++++++++++++++*/

/**
 * http://stackoverflow.com/questions/3233991/jquery-watch-div/3234646#3234646
 */
jQuery.fn.contentChange = function(callback){
	var elms = jQuery(this);
	elms.each(
		function(i){
			var elm = jQuery(this);
			elm.data("lastContents", elm.html());
			window.watchContentChange = window.watchContentChange ? window.watchContentChange : [];
			window.watchContentChange.push({
				"element": elm,
				"callback": callback
			});
		}
		)
	return elms;
}
setInterval(function(){
	if(window.watchContentChange){
		for( i in window.watchContentChange){
			if(window.watchContentChange[i].element.data("lastContents") != window.watchContentChange[i].element.html()){
				window.watchContentChange[i].callback.apply(window.watchContentChange[i].element);
				window.watchContentChange[i].element.data("lastContents", window.watchContentChange[i].element.html())
			};
		}
	}
},500);


/* ++++++++++++++ FUNCTIONS ++++++++++++++ */

/**
 * Quellen aktualisieren
 */
function set_quellen(){
	flickr_link = $('#quellen-flickr-link').val();
	wiki_link = $('#quellen-wiki-link').val();
	zitat_link = $('.zitat-link').attr('href');
	zitat_full = $('.zitat-full').html();

	quellen = $('#quellen').html();
	quellen = quellen.replace('###flickr###', flickr_link);
	quellen = quellen.replace('###wiki###', wiki_link);
	quellen = quellen.replace('###quote###', "&bdquo;" + zitat_full + "&ldquo; (" + zitat_link + ")");

	$("#quellen").html(quellen);
}

var ready;

/**
 * Start
 */
function init_random_cover(){
	ready = 0;

	/**
	 * Quote
	 */
	$.ajax({
		url: "ajax_get_quote.php",
		cache: false,
		success: function(html){
			$("#ajax_quote").html(html);
			$("#l-quote img").attr('src', 'img/icon_check.png');
			ready += 1;
			if(ready==3){
				load_image_and_toggle();
			}
		}
	});


	/**
	 * Wikipedia-Eintrag laden
	 */
	$.ajax({
		url: "ajax_get_wiki.php",
		cache: false,
		success: function(html){
			$("#ajax_wiki").html(html);
			$("#l-wiki img").attr('src', 'img/icon_check.png');
			ready += 1;
			if(ready==3){
				load_image_and_toggle();
			}
		}
	});


	/**
	 * Das Foto laden
	 */
	$.ajax({
		url: "ajax_get_photo.php",
		cache: false,
		success: function(html){
			$("#ajax_photo").html(html);
			$("#l-flickr img").attr('src', 'img/icon_check.png');
			ready += 1;
			if(ready==3){
				load_image_and_toggle();
			}
		}
	});


	/* Sollte nichts laden oder zu lange dauern, zeigen wir Reload an */
	$('.loading-reload').hide().delay('9500').fadeIn('fast', function(){
		$('#api_status').hide();
	});

}


/**
 * Läd das Bild, macht die Quellen fertig und zeigt alles an
 */
function load_image_and_toggle(){
	$('#ajax_photo img').load(function() {
		set_quellen();

		$('#loading').hide();
		$('#the_parts').slideDown(1300)

		// Felder markieren auf focus
		$(".copy").focus(function(){
			this.select();
		});
	});
}


/**
 * Howto toggle
 */
$("#howto-button").click(function(){
	$("#howto-button").hide(300, function(){
		$("#howto").fadeIn(500);
	});
});
