/*******************************************************************************
FILE: mud_Scripts.php
REQUIRES: mud_API.js
AUTHOR: Takashi Okamoto mud(tm) - http://www.mudcorp.com/
VERSION: 2.0
DATE: 01/14/2006
--------------------------------------------------------------------------------
This file is part of the MudCorp Website.
The MudCorp Website itself is NOT free software; however there are many
components that are free. Please consult the header comments for those files
for the terms. For any licensing terms, please contact
us by using the contact form at http://mudcorporation.com/
--------------------------------------------------------------------------------
*******************************************************************************/
////////////////////////////////////////////////////////////////////////////////
// GLOBAL VARS
var delay = 5; // autoplay delay
var imgsGallery = new Array();
var proj, index, proj_list;
var selected = 0;
function sendFilter(loc) {
location.href = "/projects/" + loc + "/";
return false;
}
function setSelected(newSelected) {
// unset old
$('p'+selected).className = "proj_elem";
$('p'+newSelected).className = "proj_selected";
selected = newSelected;
}
////////////////////////////////////////////////////////////////////////////////
// MOUSE EVENTS
function setOnMouseClick() {
var elements = document.getElementsByTagName("a");
for (var i = 0; i < elements.length; i++) {
switch(elements[i].className) {
case "contactForm":
elements[i].onclick = function() {
$("contact").style.display = "block";
return false;
}
break;
case "next":
elements[i].onclick = function() {
var s = proj.nextImg();
setSelected(s);
if (!index.hidden) {
index.slideStart();
}
return false;
}
break;
case "prev":
elements[i].onclick = function() {
var s = proj.prevImg();
setSelected(s);
if (!index.hidden) {
index.slideStart();
}
return false;
}
break;
case "index":
elements[i].onclick = function() {
index.slideStart();
return false;
}
break;
case "close":
elements[i].onclick = function() {
index.slideStart();
return false;
}
break;
case "proj_elem":
elements[i].onclick = function(evt) {
evt = (evt) ? evt : ((window.event) ? event : null);
if (evt) {
var target = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if (target.nodeType == 3) target = target.parentNode;
var imgNumber = parseInt(target.id.substring(1));
var s = proj.showImg(imgNumber);
setSelected(s);
}
index.slideStart();
return false;
}
break;
case "proj_selected":
elements[i].onclick = function(evt) {
evt = (evt) ? evt : ((window.event) ? event : null);
if (evt) {
var target = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if (target.nodeType == 3) target = target.parentNode;
var imgNumber = parseInt(target.id.substring(1));
var s = proj.showImg(imgNumber);
setSelected(s);
}
index.slideStart();
return false;
}
break;
case "ap_start":
elements[i].onclick = function() {
proj.apStart(delay);
return false;
}
break;
case "ap_stop":
elements[i].onclick = function() {
proj.apStop();
return false;
}
break;
}
}
}
////////////////////////////////////////////////////////////////////////////////
// INIT
function initGallery() {
// load images
imgsGallery[0] = new Object();
imgsGallery[0].title = "Dose Magazine (2006)";
imgsGallery[0].image = "/images/dose_cover.jpg";
imgsGallery[0].caption = 'Cover illustration for Dose Magazine, Issue: Mar. 21 2006.';
imgsGallery[1] = new Object();
imgsGallery[1].title = "Dose Magazine (2006)";
imgsGallery[1].image = "/images/dose_spread.jpg";
imgsGallery[1].caption = 'Full page illustration for Dose Magazine, Issue: Mar. 21 2006.';
imgsGallery[2] = new Object();
imgsGallery[2].title = "The Walrus March 2006 (2006)";
imgsGallery[2].image = "/images/walrus_explosion.jpg";
imgsGallery[2].caption = 'Full page illustration for The Walrus Magazine, March 2006.';
imgsGallery[3] = new Object();
imgsGallery[3].title = "The Walrus March 2006 (2006)";
imgsGallery[3].image = "/images/walrus_restraint.jpg";
imgsGallery[3].caption = 'Full page illustration for The Walrus Magazine, March 2006.';
imgsGallery[4] = new Object();
imgsGallery[4].title = "Nice Lady (2003)";
imgsGallery[4].image = "/images/lady.jpg";
imgsGallery[4].caption = 'Full page illustration for m-real Magazine (Finland).';
imgsGallery[5] = new Object();
imgsGallery[5].title = "In Vin We Trust (2003)";
imgsGallery[5].image = "/images/vin.jpg";
imgsGallery[5].caption = 'Illustration for Shift Magazine, last 2003 issue.';
imgsGallery[6] = new Object();
imgsGallery[6].title = "National Post (2002)";
imgsGallery[6].image = "/images/nationalpost.jpg";
imgsGallery[6].caption = 'Illustration for The National Post newspaper.';
imgsGallery[7] = new Object();
imgsGallery[7].title = "Spam (2002)";
imgsGallery[7].image = "/images/spam.jpg";
imgsGallery[7].caption = 'Full page illustration for Shift Magazine, holiday 2002 issue.';
imgsGallery[8] = new Object();
imgsGallery[8].title = "étapes Issue 79 Cover (2001)";
imgsGallery[8].image = "/images/etapes.jpg";
imgsGallery[8].caption = 'Cover illustration for étapes (France).';
imgsGallery[9] = new Object();
imgsGallery[9].title = "Internet Brokers (2001)";
imgsGallery[9].image = "/images/brokers.jpg";
imgsGallery[9].caption = 'Full page illustration for Shift Magazine, holiday 2001 issue.';
proj = new MudFadeGallery('proj', 'proj', imgsGallery, {startNum: 0, preload: true});
// set initial values
var title = (imgsGallery[0].title) ? imgsGallery[0].title : "No Title";
var caption = (imgsGallery[0].caption) ? imgsGallery[0].caption : "No caption";
$("proj_title").innerHTML = title;
$("proj").src = imgsGallery[0].image;
$("proj_caption").innerHTML = caption;
$("proj_number").innerHTML = "1 of " + imgsGallery.length + " projects";
}
function initIndex() {
proj_list = "";
for (var i = 0; i < imgsGallery.length; i++) {
var p_name = imgsGallery[i].title
if (p_name.length > 64) p_name = p_name.substring(0, 64) + "...";
if (i == 0) proj_list += '' + (i+1) + '. ' + p_name + '
';
else proj_list += '' + (i+1) + '. ' + p_name + '
';
}
proj_list += 'close';
$("index").innerHTML = proj_list;
//MudPopContent(id, showX, showY, hideX, hideY, width, height)
var index_dimensions = Element.getDimensions('index');
index = new MudPopContent('index', 0, 0, 0, -index_dimensions.height, index_dimensions.width, index_dimensions.height);
$('index').style.top = -index_dimensions.height + "px";
}
function setIndexSize() {
if (/MSIE/.test(navigator.userAgent) && !/Mac/.test(navigator.userAgent)) {
var h = (document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.clientHeight;
$('index-wrapper').style.height = h + "px";
}
else {
var h = Element.getHeight('index');
$('index-wrapper').style.height = h + "px"
}
}
function init() {
initGallery();
initIndex();
setIndexSize();
setOnMouseClick();
}
////////////////////////////////////////////////////////////////////////////////
// EVENTS
Event.observe(window, 'load', init, false);