/*******************************************************************************
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 = "Ben Rubin — Untitled (2004)";
imgsGallery[0].image = "/images/benrubin.jpg";
imgsGallery[0].caption = 'Technology: Processing, Perl, After Effects, LCD light boxes and controller.
Programming for Ben Rubin’s Untitled work. More info here on his website.
http://earstudio.com/projects/signlang.html';
imgsGallery[1] = new Object();
imgsGallery[1].title = "Texelseboys Lunchbox and Global Locator (2003 - now)";
imgsGallery[1].image = "/images/texelseboys.jpg";
imgsGallery[1].caption = 'Technology: XHTML, CSS, JavaScript, PHP, MySQL.
Design and programming by MudCorp. This is a travelling project of one tin lunchbox to give Texelseboys members a sense of physical connection. The locator has stories and pictures behind all the owners.
http://mudcorp.com/texelseboys/';
imgsGallery[2] = new Object();
imgsGallery[2].title = "Tshirt — Giraffe (2003)";
imgsGallery[2].image = "/images/tshirt-giraffe.jpg";
imgsGallery[2].caption = 'Giraffe tshirt, silk screened by hand. Edition of 10. Sold out.';
imgsGallery[3] = new Object();
imgsGallery[3].title = "Tshirt — Mudtallica (2003)";
imgsGallery[3].image = "/images/tshirt-mudtallica.jpg";
imgsGallery[3].caption = 'Mudtallica logotype tshirt, silk screened by hand. Edition of 20. Sold Out.';
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);