var specialClasses = {
    "names": ['g1', 'g2', 'g3', 'g4', 'g5']
};
var photos = {
    "files": [{
        "name": "web.jess",
        "title": "<em>2010/Design </em>Jess Graham",
        "details": "Design work for an antiques dealer.",
        "target": "web_design"
    }, {
        "name": "web.isi",
        "title": "<em>2009/Design & HTML Templating</em> ISI Hagenberg",
        "details": "Homepage to an austrian softwarepark.",
        "target": "web_design"
    }, {
        "name": "web.lumeahainutelor",
        "title": "<em>2009/Design & Developement</em> Lumea Hainutelor",
        "details": "Online kids clothes store.",
        "target": "web_develop"
    }, {
        "name": "web.gq4",
        "title": "<em>2010/Design & Developement</em> GoQuestion",
        "details": "Our main project at 'rise2reality software'",
        "target": "web_develop"
    }, ]
};
var slideshowPhotos = null;
var slideshowControls = null;
var slideshowTitles = null;
var slideshowDetails = null;

function initHeader()
{
	 $$(".menu>li>a").addEvent("mouseenter", function(){
        menuDeselectAll();
        this.addClass("selected");
        this.getAllNext(".submenu").each(function(el){
            el.removeClass("hidden");
        })
    });
    $$(".menu").addEvent("mouseleave", function(){
        menuDeselectAll();
    });
}
function initContent(){
    $$("#things1>li, #things2>li").addEvent("mouseover", function(){
        var current = this.getElement('a');
        if (current != null) {
            specialClasses.names.each(function(item, index){
                $$("." + item).removeClass("selected");
            });
            specialClasses.names.each(function(item, index){
                if (current.hasClass(item)) {
                    $$("." + item).addClass("selected");
                };
                            });
        }
    }).addEvent("mouseout", function(){
        var current = this.getElement('a');
        if (current != null) {
            specialClasses.names.each(function(item, index){
                $$("." + item).removeClass("selected");
            });
        }
    });
    if ($("slideshow") != null) {
        slideshowPhotos = $("slideshow").getElement(".photo");
        slideshowControls = $("slideshowText").getElement(".slideshowControls");
        slideshowTitles = $("slideshowText").getElement(".title");
        slideshowDetails = $("slideshowText").getElement(".details");
        
        makeSlideshow();
        startSlideshow();
    }
	Mediabox.scanPage();
};
function menuDeselectAll(){
    var elements = $$(".menu>li>a");
    elements.removeClass("selected");
    elements.getAllNext(".submenu").each(function(el){
        el.addClass("hidden");
    });
    
}

function makeSlideshow(){
    var photo = null;
    var title = null;
    var details = null;
    var button = null;
    
    var styleClass = "selected";
    var counter = 0;
    photos.files.each(function(item, index){
		if (item != null) {
			if (index > 0) {
				styleClass = "";
			}
			counter = index + 1;
			photo = new Element('img', {
				'id': 'p' + counter,
				'class': 'normal ' + styleClass,
				'src': './gallery/' + item.name + '.jpg'
			});
			button = new Element('a', {
				'id': 'b' + counter,
				'href': '#',
				'class': styleClass,
				'onclick': 'loadSlide(' + counter + '); return false;',
				'html': counter
			});
			details = new Element('span', {
				'id': 'd' + counter,
				'html': item.details
			});
			title = new Element('span', {
				'id': 't' + counter,
				'html': item.title
			});
			if (index > 0) {
				photo.fade("hide");
				details.addClass("hidden");
				title.addClass("hidden");
			}
			slideshowPhotos.grab(photo);
			slideshowControls.grab(button);
			slideshowDetails.grab(details);
			slideshowTitles.grab(title);
		}
    });
}

var slidesCurrent = 1;
var slidesTotal = photos.files.length;
var slidesTimer = null;
function startSlideshow(){
    slidesTimer = setInterval(gotoSlide, 5000);
}

var slideNumber = null;
function loadSlide(slide){
    slideNumber = slide;
    gotoSlide();
}

function gotoSlide(){
    var normal = true;
    if ((slideNumber != null) && (slideNumber <= slidesTotal)) {
        slidesCurrent = slideNumber;
        normal = false;
        slideNumber = null;
    }
    
    if (normal) {
        slidesCurrent++;
        if (slidesCurrent > slidesTotal) {
            slidesCurrent = 1;
        }
    }
    
    slideshowPhotos.getElements(".selected").setStyle('zIndex', '1').fade("out").removeClass("selected");
	if ($("p" + slidesCurrent) != null) {
		$("p" + slidesCurrent).addClass("selected").setStyle("zIndex", '10').fade("in");
	}
    
    slideshowTitles.getElements("span").addClass("hidden");
	if ($("t" + slidesCurrent) != null) {
		$("t" + slidesCurrent).removeClass("hidden");
	}
    
    slideshowDetails.getElements("span").addClass("hidden");
	if ($("d" + slidesCurrent) != null) {
		$("d" + slidesCurrent).removeClass("hidden");
	}
    
    slideshowControls.getElements(".selected").removeClass("selected");
	if ($("b" + slidesCurrent) != null) {
		$("b" + slidesCurrent).addClass("selected");
	}
}
