// visual controles
var vc_init_drawn = false;
var vc_images_drawn = false;
var vc_image_show = false;
var vc_link_show = false;



function isArray(testObject) {   
    return testObject && !(testObject.propertyIsEnumerable('length')) && typeof testObject === 'object' && typeof testObject.length === 'number';
}




i=0;
configAlbumData = new Array();

configAlbumData_type_rel = new Array();

configAlbumData_type_rel["link"]=new Array();

configAlbumData_type_rel["link"]=new Array();

configAlbumData_type_rel["link"]=new Array();

tmp = new Array();
tmp["uid"]="wWe4rrtTT";
tmp["url"]="http://picasaweb.google.dk/Mathiasrw/Karneval2010CPHFredag";
tmp["user"]="RaWu.dk";
tmp["folder"]="2010CPHFredag";
tmp["type"]="link";
tmp["description"]="";
configAlbumData[i]=tmp

configAlbumData_type_rel["link"][configAlbumData_type_rel["link"].length]=configAlbumData[i]

i++

tmp = new Array();
tmp["uid"]="5tTT";
tmp["url"]="http://photo.klein-jensen.dk/ee/list.php?exhibition=70";
tmp["user"]="Tommy_Jensen";
tmp["folder"]="Karneval 2010";
tmp["type"]="link";
tmp["description"]="";
configAlbumData[i]=tmp

configAlbumData_type_rel["link"][configAlbumData_type_rel["link"].length]=configAlbumData[i]

i++

tmp = new Array();
tmp["uid"]="lkasd3";
tmp["url"]="http://picasaweb.google.dk/Mathiasrw/BrasilianClash#";
tmp["user"]="RaWu.dk";
tmp["folder"]="brasilianClash";
tmp["type"]="link";
tmp["description"]="";
configAlbumData[i]=tmp

configAlbumData_type_rel["link"][configAlbumData_type_rel["link"].length]=configAlbumData[i]

i++






$(document).ready(function() {
	
	$.historyInit(navigate);
})



function navigate(hash){
	
	if(hash.replace(new RegExp("[^a-zA-Z0-9\.\/-\_]", "g"), "") != hash){
		//alert("Theres something baaaaaad in the URL. Please report to karnevalsbilleder.dk")
		//return;
	}

	if(!vc_init_drawn)
		fillContent();
	
	config = hash.split("/")
	
	

	if('link'==config[0] && 3<=config.length){
		showLink(findAlbum(config[1], config[2]))
		return;
	}


	pageTracker._trackPageview('/10/cph/#'+hash)
}



function findAlbum(user, folder){
	
	for(var i = 0; i<configAlbumData.length;i++){
		if(
			user.toLowerCase() == configAlbumData[i]['user'].toLowerCase()
				&&
			folder.toLowerCase() == configAlbumData[i]['folder'].toLowerCase()
		){
			return configAlbumData[i]
		}
	}
	
	alert('no album found with data: \n\n'+user+'\n\n'+folder)
	
	return [];

}





function showLink(album){
	// Finde album
	
	if(vc_link_show){
		// Luk eksisterende
	}
	vc_link_show = true
	
	// Lav indhold
	var linkHTML = new StringCat();
	
	linkHTML.add('<iframe src="'+album['url']+'" frameborder="no"></iframe>');
	
	
	
	$('#overlay div.iframe').html(''+linkHTML)
	
	
	//$('#rate1').rating(album['url'], {maxvalue:5});
	//
	
	
	// få den til at komme frem
	menuWidth = 250
	toppart = 40
	$('#overlay').css('bottom','0');
	$('#overlay').css('right','0')
	$('#overlay').css('width',($(window).width()-menuWidth)+'px')
	$('#overlay iframe').css('height',($(window).height()-toppart)+'px')
	
	
}






function fillContent(){
	vc_init_drawn = true;
	//////////////////////////////////// MENU
	var menuHTML = new StringCat();
	//menuHTML.add('<h1>Menu</h1>');
	
	if(configAlbumData_type_rel['link'].length)
	
	for(var i = 0; i<configAlbumData.length;i++){
		if('link' == configAlbumData[i]['type']){
			menuHTML.add(menuHTML_url(configAlbumData[i]));
		}
	}
	
	
	
	menuHTML.add('<br><br><br><br> <a href="#???" onclick="return hvadkattenerdether()">')
	menuHTML.add('? ? ?')
	menuHTML.add('</a>')
	
	
	$('#menu').html(''+menuHTML);	
	
	
	
}




	/////////////////////////////////// INDHOLD


function menuHTML_url(album){
	var retur = new StringCat();
	
	retur.add('<br> - <a href="#link/'+album['user']+'/'+album['folder']+'" class="fade">')
	retur.add(album['user']+' / '+album['folder'])
	retur.add('</a>')
	
	
	return retur
}


function hvadkattenerdether(){
var msg = new StringCat();
	
	msg.add('Mindet og genskabelsen af følelsen man har, når man performer og optræder til karneval kan være svær at fastholde.'+"\n\n")
	msg.add('Det er en flyvsk størrelse; den kombination af mennesker der var, den udklædning man har kæmpet for og det sus man havde i maven da alt var ved at gå galt (måske fordi der ikke var flere sikkerhedsnåle eller gaffatape?) '+"\n\n")
	msg.add('Har du tænkt på hvor mange billeder der bliver taget af dig når du er med til karnevallet? '+"\n\n")
	msg.add('Tænk hvis man kunne gå ind ét sted og finde dem, i stedet for at trawle nettet tyndt og så alligevel ikke finde alle sammen? '+"\n\n")
	msg.add('Så kunne man i sandhed blive hjulpet på vej til at genfinde sit karnevals jeg...'+"\n\n")
	msg.add(''+"\n\n")
	msg.add(''+"\n\n")
	msg.add('Har du et site der burde komme på oversigten? mail mig på mathias [snabela] rawu [punktum] dk'+"\n\n")
	
	alert(msg)
	return false;
}

















function StringCat() {
	var sp;
	var ep;
	var l = 0;
	this.add = function(what) {
		if (typeof(sp) == 'undefined') {
			ep = new Array();
			sp = ep;
		} else {
			var oep = ep;
			ep = new Array();
			oep[1] = ep;
		}
		ep[0] = what; ++l;
	};
	this.toString = function() {
		if (l == 0) return;
		while (l > 1) {
			var ptr = sp;
			var nsp = new Array();
			var nep = nsp;
			var nl = 0;
			while (typeof(ptr) != 'undefined') {
				if (typeof(nep[0]) == 'undefined') {
					nep[0] = ptr[0]; ++nl;
				} else {
					if (typeof(ptr[0]) != 'undefined') nep[0] += ptr[0];
					nep[1] = new Array();
					nep = nep[1];
				};
				ptr = ptr[1];
			};
			sp = nsp;
			ep = nep;
			l = nl;
		};
		return sp[0];
	};
}










/* plugin */
jQuery.fn.dwFadingLinks = function(settings) {
 settings = jQuery.extend({
 color: '#ff8c00',
 duration: 500
 }, settings);
 return this.each(function() {
 var original = $(this).css('color');
 $(this).mouseover(function() { $(this).animate({ color: settings.color },settings.duration); });
 $(this).mouseout(function() { $(this).animate({ color: original },settings.duration); });
 });
};

/* usage */
$(document).ready(function() {
 $('a').dwFadingLinks({
 color: '#008000',
 duration: 700
 });
});

