var fixedEffect; var fixedScroller; var pageEffects = []; var bgEffects = []; function loadIntoFixed(url) { // Hide all pages' contents pageEffects.each(function(el){ el.start(0); }); var fixedAjax = new Ajax(url+"&ajax=1", { method: 'get', update: $('fixed_over_contents'), evalScripts: true }).request(); fixedAjax.addEvent('onComplete', function() { if (function_exists('thumblist_imagelinks')) { thumblist_imagelinks(); if (url.contains('gallery')) { load_json_gallery("gallery/json.php"+url.substr(url.lastIndexOf("?"))); } } // Show fixed_over fixedEffect.set(0); $('fixed_over').setStyle('display','block'); fixedEffect.start(1); }); } function myMooTools(){ preload_stuff(); $$('.page_content').each(function(el, i){ pageEffects[i] = el.effect('opacity', {duration: 500, wait: true}); }); $$('.shade_background').each(function(el, i){ bgEffects[i] = new Fx.Slide(el); }); fixedEffect = $('fixed_over').effect('opacity', {duration: 500, wait: true}); var scroll = new Fx.Scroll('container', { wait: false, duration: 2500, transition: Fx.Transitions.Quad.easeOut }); var menufx = $('menu').effect('opacity', {duration: 500, wait: true}); // Menu items -> links $$('#menu img').addEvent('click', function(e) { e = new Event(e).stop(); menufx.start(0); bgEffects.each(function (el) { el.slideOut(); }); pageEffects.each(function(el){ el.start(0); }); // If fixed_over is shown, hide it if ($('fixed_over').getStyle('display') == 'block') { fixedEffect.start(0); } (function() { // For the sake of smoother sliding in everything non-Safari $$('.page_content').setStyle('display','none'); $('fixed_over').setStyle('display','none'); $('menu').setStyle('display','none'); scroll.toElement(this.id.substr(2)); }).delay(500, this); // 500 = menufx.duration (function() { // For the sake of smoother sliding in everything non-Safari $$('.page_content').setStyle('display','block'); $('menu').setStyle('display','block'); bgEffects.each(function(el){ el.slideIn(); }); menufx.start(1); pageEffects.each(function(el){ el.start(1); }); }).delay(3000, this); // 3000 = menufx.duration + scroll.duration }); // Make page_content scrollable var page_scrollers = []; $$('.page_content, #fixed_over_contents').each(function(content, i){ page_scrollers[i] = new Scroller(content, {area: 100, velocity: 0.5}); content.addEvent('mouseover', page_scrollers[i].start.bind(page_scrollers[i])); content.addEvent('mouseout', page_scrollers[i].stop.bind(page_scrollers[i])); }); // Make links to previous events clickable var linknames = ["dancing_prev_events_link", "singing_prev_events_link", "travels_prev_events_link"]; linknames.each(function(alink, i){ $(alink).addEvent('click', function(e){ var type = alink.substr(0, alink.indexOf('_')); $(type+"_prev_events").innerHTML = "loading..."; var url = (type=="travels" ? "travels" : "events")+".php?past=1&type="+type; var preveajax = new Ajax(url, { method: 'get', update: $(type+'_prev_events') }).request(); }); }); // Make journal expander clickable $("journal_more_link").addEvent('click', fetch_journal); // Add floating tooltips for new-style gallery listings var myTips = new Tips($$('.galTip'), { 'maxTitleChars': 1024, 'fixed': false }); } function fetch_journal(e) { e = new Event(e).stop(); var start = this.href.substr(this.href.lastIndexOf("#")+1); var url = "journal.php?start="+start; var waiter = new Element('div'); waiter.innerHTML = "loading..."; waiter.injectBefore($('journal_more')); $('journal_more').remove(); var journalajax = new Ajax(url, { method: 'get', update: waiter }).request(); journalajax.addEvent('onComplete', function() { $("journal_more_link").addEvent('click', fetch_journal); }); } function preload_stuff() { var path = "IMG/layout/"; var preload_images = [ path + 'actress.jpg', path + 'actress.png', path + 'audio-gallery.jpg', path + 'bg.jpg', path + 'contact.jpg', path + 'contact.png', path + 'dancer.jpg', path + 'dancer.png', path + 'education.png', path + 'events.png', path + 'experience.png', path + 'galleries.png', path + 'glow.png', path + 'index.jpg', path + 'index.png', path + 'journal.jpg', path + 'journal.png', path + 'links.jpg', path + 'links.png', path + 'menubg.png', path + 'model.jpg', path + 'model.png', path + 'model_header.png', path + 'profile.png', path + 'singer.jpg', path + 'singer.png', path + 'singer_background.png', path + 'travels.png', path + 'video-gallery.jpg' ]; var preloadfx = $('preload').effect('opacity', {duration: 500, wait: true}); var percent = 0; new Asset.images(preload_images, { onProgress: function(i) { percent = ((i+1)/preload_images.length*100).round(); $('preload_percent').innerHTML = percent; }, onComplete: function() { preloadfx.start(1,0); (function(){ $('preload').remove(); }).delay(500); } }); } window.addEvent('domready', myMooTools); function URLDecode (encodedString) { var output = encodedString; var binVal, thisString; var myregexp = /(%[^%]{2})/; while ((match = myregexp.exec(output)) != null && match.length > 1 && match[1] != '') { binVal = parseInt(match[1].substr(1),16); thisString = String.fromCharCode(binVal); output = output.replace(match[1], thisString); } return output; } // Function by Jens Anders Bakke, webfreak.no function $get(key,url){ if(arguments.length < 2) url =location.href; if(arguments.length > 0 && key != ""){ if(key == "#"){ var regex = new RegExp("[#]([^$]*)"); } else if(key == "?"){ var regex = new RegExp("[?]([^#$]*)"); } else { var regex = new RegExp("[?&]"+key+"=([^&#]*)"); } var results = regex.exec(url); return (results == null )? "" : results[1]; } else { url = url.split("?"); var results = {}; if(url.length > 1){ url = url[1].split("#"); if(url.length > 1) results["hash"] = url[1]; url[0].split("&").each(function(item,index){ item = item.split("="); results[item[0]] = item[1]; }); } return results; } } function function_exists( function_name ) { if (typeof function_name == 'string'){ return (typeof window[function_name] == 'function'); } else{ return (function_name instanceof Function); } }