/*
 * Funktionen für die Hauptseite
 * Author: Frank Bezjak
 * Site: DRD-Surfboards
 * Version: 1.0
 * Variablen Definition
 * Sections definiert die verschiedenen Navigationsteile der Seite.
 * Der Preloader wird durch ein modales
 * Fenster instanziert. Er muss nur einmal
 * festgelegt werden.
 *
 */


/*
 * Variablen Deklaration und styling des
 * Preloaders
 */
var $sections;
var $preloader;
var $startseite = 'drdboards' + '.php';
$preloader = '<div id="loadingbar" class="loadingbar"> <img src="images/ajax-loader.gif" \
width="28" height="28" /> Loading...</div>';



/*
 * Css Dateien nachladen
 */
function loadCSS(css_files) {
	$("#content").css("display", "none");
	for (var i = 0; i < css_files.length; i++) {
		var file = "css/" + css_files[i];
		$.get(file, function(css) {
			$('head').append("<style>"+css+"</style>");
			
		});
	}
	$("#content").css("display", "block");
}

function loadJS(js_files) {

	for (var i = 0; i < js_files.length; i++) {
		// alert(js_files[i]);
		var file = "jscript/" + js_files[i];
		$.getScript(file, function() {
			// alert('scritp geladen');
		});
	}
}

			

/*
 * Slideswitch.
 * Bibliothek eingebunden aus dem Tutorial von Jon Rasch
 */
function slideSwitch() {
    var $active = $('#slideshow IMG.active');

    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');

    // use this to pull the images in the order they appear in the markup
    var $next =  $active.next().length ? $active.next()
        : $('#slideshow IMG:first');

    // uncomment the 3 lines below to pull the images in random order
    
    // var $sibs  = $active.siblings();
    // var rndNum = Math.floor(Math.random() * $sibs.length );
    // var $next  = $( $sibs[ rndNum ] );


    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}

/*
 * Scrolling für die Site
 */


 
 
/*
 * Menuladeteil der Seite dieser wird dafür verwendet
 * einen dynamisches Menü für die Seite aufzubauen.
 * Dieses Menü wird aber nicht verwendet um in der
 * Seite angezeigt zu werden. Diese Funktion kann zu
 * einem späteren Zeitpunkt genutzt werden um vielleicht
 * Parameterkonfigurationen abzulegen.
 */
function loadmenu(data) {
	$.ajax({
		type: "GET",
		url: data,
		dataType: "xml",
		success: function(xml) {
			$(xml).find('label').each( function() {
				var _print = $(this).find('print').text()
				var _link = $(this).find('link').text()
				$('<li></li>')
				.html('<a href=#' + _link + '>' + _print + '</a> |')
				.appendTo('#navigation');
			}); //close each(
		}
	});
	// Return false wird verwendet, wenn die Funktion einen Fehler zurückliefert.
	// Wenn dieser Fehler nicht auftrit, dann wird die Routine im oberen Teil
	// abgebrochen.
	return false;
}

/*
 * JQuery Ready
 * Damit wird der eigentliche Startteil der Seite ausgeführt.
 * Hier werden alle Funktionen abgerufen, die in der Seite
 * genutzt werden.
 *
 * Navigation für die Seite.
 * Hier werden die Links aus der TopNavigation
 * verarbeitet.
 * NavigationElemente werden in der Seite über die
 * Referenz nchor verarbeitet. So kann dann ein
 * Link eine Verarbeitung der Seite aufrufen.
 *
 * Eine externe Seite über den Modal Dialog laden
 * Display an external page using an iframe
 * var src = "http://365.ericmmartin.com/";
 */
jQuery($(document).ready( function( $ ) {
	$sections = $('#navigation a'),// Links on the left
	last = null;// Last section
	$("#content").css("display", "none");
	/*
 	* Bei einem Klick auf das Menü wird im
 	* ersten Schritt der modale Dialog eingeblendet
 	* anschließend wird der lade teil ausgeführt.
 	*
 	* damit die anfragen nicht unnötig gesetzt werden
 	* wird dafür gesorgt, dass die aktuelle anfrage nicht
 	* der letzten anfrage entspricht (last).
 	* 
 	* diese funktion wird am anfang in die seite eingerägt
 	* und anschließend nicht mehr aufgerufen, damit es nicht
 	* zu einer überlappung kommt.
 	*/
	$sections.click( function() {
		if( last != this ) {
			$.modal($preloader);
			// Die url formatieren.
			var url = this.hash.slice(1);
			
			$("#content").css("display", "none");
			// Das ist der Ladebefehl
			$('#content').load( url, function() {
				this.scrollLeft = 0;//scroll back to the left
				$("#content").css("display", "block");
				
				$.modal.close();
				
			});
		}
		last = this;
		this.blur(); // Remove the awful outline
		return false;
	});
	/*
 	* Footer Navigation
 	* Im nächsten Schritt wird die
 	* Navigationsfunktion für den Footer
 	* aktiviert.
 	*
 	* Modal Dialog Prelaoder
 	* Dieser zeigt ein zusätzliches Fenster
 	* auf der Seite an und sorgt dafür, dass
 	* der Preloader auf der Seite angezeigt wird.
 	*/
	/*
 	$sections = $('#footer a'),// Links on the left
 	last = null;// Last section
 	$sections.click( function() {
 	$.modal($preloader, {
 	closeHTML:"",
 	containerCss:{
 	backgroundColor:"#fff",
 	borderColor:"#fff",
 	height:75,
 	padding:0,
 	width:780
 	},
 	overlayClose:true
 	});
 	if( last != this ) { // let's avoid needless requests
 	var url = this.hash.slice(1);
 	$('#content').load( url, function() {
 	this.scrollLeft = 0;//scroll back to the left
 	$.modal.close();
 	});
 	}
 	last = this;
 	this.blur(); // Remove the awful outline
 	return false;
 	});
 	*/

	/*
 	* Startseite in den Content Abschnitt laden
 	* Damit wird der Startvorgang vollständig
 	* abgeschlossen
 	*/
	var url = $startseite;
	$('#content').load( url, function() {
		this.scrollLeft = 0;//scroll back to the left
		$.modal.close();
		$("#content").css("display", "block");
				
	});
	/*
 	* Scrollabteilung für die Seite.
 	* Das funktioniert so, dass die Seite
 	* inhalttlich alles scrollen kann, was sich im Bereich
 	* content befindet. Die gezielte Information, wie was
 	* zu scrollen ist befindet sich dann in den Unterseiten.
 	*/
	$.localScroll.defaults.axis = 'xy';
	$('content').localScroll({// Only the links inside that jquery object will be affected
		lazy: true, // This is the KEY setting here, makes the links work even after an Ajax load.
		target: 'content', // Das divelement das scrollen soll scrolled
		duration:500,
		axis:'xy',
		onBefore: function( e, subsec, $cont ) {//'this' is the clicked link
			if( this.blur )
				this.blur(); // Remove the awful outline
		}
	});
	/*
 	* Lightbox
 	* Für die Seite wird noch eine
 	* LighboxFunktion instanziert.
 	* Diese wird vor allem in der
 	* Gallerie eingesetzt,
 	*
 	*/
	// $('#gallery a').lightBox();
	

}));
