// (c) 2008 Walter "Lepaca Kliffoth" Palagi, lepaca@animebox.eu
// Permission is granted to do anything you want with this source code.

var albumLinkList;

BGList = {
	list:[
		{fname:'abox-bg', align:'bottom right'},
		{fname:'akira01', align:'bottom right'},
		{fname:'appleseed01', align:'bottom right'},
		{fname:'azumanga01', align:'top left'},
		{fname:'azumanga02', align:'bottom left'},
		{fname:'bebop01', align:'bottom right'},
		{fname:'bebop02', align:'bottom right'},
		{fname:'beck', align:'bottom right'},
		{fname:'blacklagoon01', align:'bottom left'},
		{fname:'bladeimm', align:'bottom left'},
		{fname:'blame01', align:'bottom left'},
		{fname:'blame02', align:'bottom right'},
		{fname:'boogiepop01', align:'bottom left'},
		{fname:'souleater01', align:'bottom left'},
		{fname:'souleater02', align:'bottom left'},
		{fname:'tenjoutenge01', align:'bottom left'},
		{fname:'tenjoutenge02', align:'bottom right'},
		{fname:'vagrant01', align:'bottom right'},
		{fname:'vagrant02', align:'bottom left'},
		{fname:'vagrant03', align:'bottom right'},
		{fname:'vagrant04', align:'bottom right'}
	],
	get:function(){
		return BGList.list[Math.floor(Math.random()*BGList.list.length)];
	}
}

var cbg = function(){
	var bg = BGList.get()
	$(document.body).setStyle({background:'white url("/assets/img/bg/' + bg.fname + '_normal.jpg") ' + bg.align + ' no-repeat fixed'});
	if(!$('ie6')){
		$('masterContainer').setStyle({background: 'white url("/assets/img/bg/' + bg.fname + '_blurred.jpg") ' + bg.align + ' no-repeat fixed'});
	} else {
		$('masterContainer').setStyle({background: 'white'});
	}
}

Animebox = {
  start: function(){
		//change the background
		var bg = BGList.get()
		$(document.body).setStyle({background:'white url("/assets/img/bg/' + bg.fname + '_normal.jpg") ' + bg.align + ' no-repeat fixed'});
		if(!$('ie6')){
			$('masterContainer').setStyle({background: 'white url("/assets/img/bg/' + bg.fname + '_blurred.jpg") ' + bg.align + ' no-repeat fixed'});
		} else {
			$('masterContainer').setStyle({background: 'white'});
		}


		// create the album selector
		var optionTags = $$('div.block-albumselect-AlbumSelect select option');
		optionTags.shift();
    var linkList = '', linkTxt = '';
    for (var i = 0, l = optionTags.length; i < l; ++i){
			linkTxt = optionTags[i].value.replace(/\+/g, ' ').replace(/.$/, '');
			linkList += '<div class="albumLink"><a href="/wallpapers/v/'+optionTags[i].value+'" title="'+linkTxt+' wallpaper album">'+linkTxt+'</a></div>'
    }
		Element.replace(optionTags[0].up(), '<button type="button" class="jumpToAlb" title="Quickly jump to any album">Jump to album</a> ');
		$(document.body).insert({
			bottom: '<div id="jumpBox" style="display:none;">\
									<div id="albSelCancel"><a title="Cancel">X</a></div>\
									<input type="text" class="textbox" value="Filter" name="filterBox" size="20" maxlength="10" id="filterBox"/>\
									<div id="scroller">'+linkList+'</div>\
							</div>'
		});
		window.albumLinkList = $$('.albumLink');
		if(!$('ie6')){
			$('jumpBox').setStyle({background: 'white url("/assets/img/' + bg.fname + '_blurred.jpg") bottom ' + bg.align + ' no-repeat fixed'});
		} else {
			$('jumpBox').setStyle({background: 'white'});
		}

		$('breadCrumb').insert({top: '<a title="Quickly jump to any album" style="margin:0; padding:0; background:none;"><img class="jumpToAlb" style="margin: -4px 4px;" src="/assets/img/abox-icon-albumjump.png" alt="Album jump" /></a>'});

		// bind events
		i=$('searchCriteria');
		i.observe('focus', function(){this.value=''} );
		$$('.jumpToAlb').each(function(elm){elm.observe('click', Animebox.showAlbumLinks);});
    $('albSelCancel').observe('click', Animebox.hideAlbumLinks);
    i=$('filterBox');
    i.observe('click', Animebox.cleanTextArea.bind(i));
		i.observe('keyup', Animebox.filterLinks.bind(i));
  },

  showAlbumLinks: function(){
		if ( ! $('jumpBox').visible()) {
			$('jumpBox').show();
			$('masterContainer').hide();
			Field.activate($('filterBox'))
		}
  },

  hideAlbumLinks: function(){
		if ($('jumpBox').visible()) {
			$('jumpBox').hide();
			$('masterContainer').show();
		}
	},

	cleanTextArea: function(){
		this.value='';
		for (var i = 0, l = window.albumLinkList.length; i < l; ++i) {
			window.albumLinkList[i].show();
		}
	},

	filterLinks: function(){
		var current = null, myExp = new RegExp('.*'+this.value+'.*', 'i');
		for (var i = 0, l = window.albumLinkList.length; i < l; ++i) {
			current = window.albumLinkList[i];
			if ( !current.innerHTML.match(myExp) ) {
				current.hide();
			} else {
				current.show();
			}
		}
	}
}


if (window.isIE != 'yay') {document.observe('dom:loaded', Animebox.start)};
