var newestGallery = '';
var SpStatus = 0;
var SpCache = 0;

// Anfrage in Progress
function progress(id){
	var loadHTML = '<div class="load"></div>';
	document.getElementById('galleryContent').innerHTML = loadHTML;
}

// Complete
function complete(jsonData){
	var data = jsonData.Photoset;
	var htmlRender = renderPhotoset(data);
	var linkID;
	if(!setGallery(htmlRender[0],htmlRender[1])){
		setError();
	} else { 
		Mediabox.scanPage();
		// Erste Galerie einblenden
		$$('.menu_item').addEvent('click',function(){
			linkID = this.getProperties('id');
			showGallery(linkID.id.substr(4));
		});
		// Lade neuste Galerie	
		showGallery(newestGallery.substr(4));
	}
}

// HTML Generieren
function renderPhotoset(data){
	var htmlMenu = '';
	var htmlContent = '';
	var htmlReturn = [];
	var x;
	var y;
	var tmpContent = '';
	var tmpSubTitle;
	var tmpSubTitleDescription;
	var tmpMenu;
	
	for(x = 0; x < data.length; x++){
		// Photos
		
		tmpContent = '';
		
		for (y = 0; y < data[x].GalleryPhotos.length; y++){
			// Thumbnails einbauen _s.jpg 75x75
			tmpContent += '<div class="item galleryItem image_container" style="float:left;"><a title="'+data[x].GalleryPhotos[y].PhotoTitle+'" href="'+ data[x].GalleryPhotos[y].PhotoLink +'" rel="lightbox[gl_'+data[x].GalleryID+']"><img src="'+ data[x].GalleryPhotos[y].PhotoThumb +'" width="75" height="75" alt="'+data[x].GalleryPhotos[y].PhotoTitle+'" /></a></div>';
		}
		// tmpContent an Ausgabe String übergeben
		htmlContent += '<div class="gallery" id="glc_'+data[x].GalleryID+'">'+tmpContent+'</div>';
		
		// Neuste Galerie
		if(newestGallery == ''){
			newestGallery = 'glm_'+data[x].GalleryID;
		}
		
		// Menü
		// zweite Zeile
		if(data[x].GalleryDescription == ''){
			if(data[x].GalleryPhotosNr == 1){
				tmpSubTitleDescription = 'Foto';
			} else {
				tmpSubTitleDescription = 'Fotos';
			}
			tmpSubTitle = data[x].GalleryPhotosNr + ' ' + tmpSubTitleDescription;
		} else {
			tmpSubTitle = data[x].GalleryDescription.substr(0, 20);
		}
		
		// Menü zusammenfügen
		tmpMenu = '<li class="menu_item" id="glm_'+data[x].GalleryID+'"><span class="title">'+data[x].GalleryTitle+'</span><p>'+tmpSubTitle+'</p></li>';
		htmlMenu += tmpMenu;
	}
	htmlMenu = '<ul id="photoNavigation">'+htmlMenu+'</ul>';
	
	// Rückgabe
	htmlReturn[0] = htmlMenu;
	htmlReturn[1] = htmlContent;
	return htmlReturn;
}

function setGallery(htmlMenu,htmlContent){
	var checkReplaceMenu = document.getElementById('galleryPhotos').innerHTML = htmlMenu;
	var checkReplaceContent = document.getElementById('galleryContent').innerHTML = htmlContent;
	if(checkReplaceMenu != '' && checkReplaceContent != ''){
		return true;
	} else {
		return false;
	}
}

function setError(){
	alert('Ein Fehler ist aufgetreten.');
}

// ytComplete
function ytcomplete(jsonData){
	var data = jsonData.feed;
	var htmlRenderYoutube = renderYoutube(data);
	if(!setVideo(htmlRenderYoutube[0],htmlRenderYoutube[1])){
		setError();
	} else {
		Mediabox.scanPage();
		
		$$('.menu_item').addEvent('click',function(){
			linkID = this.getProperties('id');
			showGallery(linkID.id.substr(4));
		});
	}
}

function renderYoutube(data){
	var htmlContent = '';
	var htmlMenu = '';
	var tmpReturn = [];
	var tmpVideoId = '';
	var x;
	var tmpSubTitle;
	
	// Content
	for (x = 0; x < data.openSearch$totalResults.$t; x++){
		tmpVideoId = 'http://www.youtube.com/embed/'+data.entry[x].id.$t.substr(38);
		// OLD data.entry[x].media$group.media$content[0].url
		htmlContent += '<div class="item videoItem"><a title="'+data.entry[x].title.$t+'" href="'+ tmpVideoId +'" rel="lightbox[yt_'+ data.entry[x].id.$t.substr(38) +']"><img src="'+ data.entry[x].media$group.media$thumbnail[2].url +'" alt="'+ data.entry[x].title.$t +'" /></a></div>';
		htmlContent += '<div class="item videoItem desc"><h3 class="title">'+data.entry[x].title.$t+'</h3><p class="lenght">Länge: '+secToStr(data.entry[x].media$group.yt$duration.seconds)+'</p><p class="visits">'+data.entry[x].yt$statistics.viewCount+' Aufrufe</p></div>';
	}
	htmlContent = '<div class="gallery" id="glc_yt_1">'+htmlContent+'</div>';
	
	// Menu
	if(data.openSearch$totalResults.$t == 1){
		tmpSubTitle = 'Video';
	} else {
		tmpSubTitle = 'Videos';
	}
	htmlMenu = '<ul id="videoNavigation"><li id="glm_yt_1" class="menu_item"><span class="title">Ronolulu Videos</span><p>'+data.openSearch$totalResults.$t+' '+tmpSubTitle+'</p></li></ul>';
	tmpReturn[0] = htmlMenu;
	tmpReturn[1] = htmlContent;
	return tmpReturn;
}

function setVideo(htmlMenu,htmlContent){
	var checkReplaceMenu = document.getElementById('galleryVideos').innerHTML = htmlMenu;
	var checkReplaceContent = document.getElementById('galleryVideoContent').innerHTML = htmlContent;
	if(checkReplaceMenu != '' && checkReplaceContent != ''){
		return true;
	} else {
		return false;
	}
	
}

function showGallery(key){
	var new_key = 'glc_'+key;
	$$('.galleryActive').removeClass('galleryActive');
	$$('.menu_item.active').removeClass('active');
	$(''+new_key+'').addClass('galleryActive');
	$('glm_'+key+'').addClass('active');
}
	
function secToStr(sec){
	sec = parseInt(sec,10);
	minuten = parseInt(sec/60,10);
	sec = sec%60;
	stunden = parseInt(minuten/60,10);
	if(stunden==0){
		stunden = '';
	} else {
		stunden += ':';
	}
	minuten = minuten%60;
	return stunden+''+minuten+':'+sec;
}

window.addEvent('domready', function() {
	var myRequest = new Request.JSON({
		url: './tl_files/ronolulu/script/getGallery.php',
		onRequest: function(){progress('galleryLoader');},
		onComplete: function(jsonData){
			complete(jsonData);
		}
	});
	
	var ytRequest = new Request.JSON({
		url: './tl_files/ronolulu/script/getYoutube.php',
		onRequest: function(){progress('videoLoader');},
		onComplete: function(jsonData){ytcomplete(jsonData);}
	});
	
	$$('#imagesvideo','#spezial-close').addEvent('click', function() {
		if(SpStatus === 0){
			$('imagesvideo').addClass('vda');
			SpStatus = 1;
			$('spezial').morph({height: 565});
			if(SpCache === 0){
				ytRequest.send(); // YOUTUBE
				myRequest.send(); // FLICKR
				SpCache = 1;
			}
			
			// Scroll down
			var winScroller = new Fx.Scroll(window);
			winScroller.toElement('spezial');
			
			
		} else {
			$('imagesvideo').removeClass('vda');
			SpStatus = 0;
			$('spezial').morph({height: 0});
		}
	});
});
// ENDE Daten holen und verarbeiten ------------------------------------------------------------------
