
var current_img_array = new Array();
var imgTimer;
var id;
var whiteContent = false;
var whiteArrows = false;

function preload(imgObj,imgSrc) {
	if (document.images) {
		eval(imgObj+' = new Image()');
		eval(imgObj+'.src = "'+imgSrc+'"');
	}
}

preload('white', 'i/projects/white.jpg');

function changeImages() {
  if (document.images) {
    for (var i=0; i<changeImages.arguments.length; i+=2) {
	  document[changeImages.arguments[i]].src = eval(changeImages.arguments[i+1] + ".src");
    }
  }
}

function goToProjects(in_whiteContent,in_whiteArrows) {

    whiteContent = in_whiteContent;
    whiteArrows = in_whiteArrows;

    var menuElements = $('menu1').getElementsByTagName('a');
    for (var i=0;i<menuElements.length;i++) {
        menuElements[i].className = '';
    }
    $('projectsLbl').className = 'selected';


    clearTimeout(imgTimer);
    gotowhite();
    $('menu2').style.visibility = 'visible';
    var home_concepts = $('home-concepts');
    if (home_concepts) {
        home_concepts.style.display = 'none';
    }

}

function contemplate(obj,in_category) {
    tmp_menu2 = document.getElementById('categories');
    tmp_menu2_items = tmp_menu2.getElementsByTagName('a');
    for (var i=0;i<tmp_menu2_items.length;i++) {
        tmp_menu2_items[i].className = '';
    }
    obj.className = 'selected';

    tmp_menu3 = document.getElementById('projects');
    tmp_menu3.innerHTML = '';
    // now update the little menu
    for (var j=1;j<priorities[in_category].length;j++) {
        tmp_menu3.innerHTML += '<li><a href="/project.php?f_cat_id='+in_category+'&f_id='+priorities[in_category][j]+'" title="'+projects[priorities[in_category][j]]['title']+'"'+(priorities[in_category][j] == id && in_category == cat_id ? ' class="selected"' : '' )+'>'+projects[priorities[in_category][j]]['menu_name']+'</a></li>';
    }

    $('menu3').style.visibility = 'visible';
    
    ['newhomebanner','pdfbuttons','content','contentbg','arrows'].each(function(div_name) {
        if ($(div_name)) new Effect.Fade(div_name, {afterFinish: function() { Element.remove(div_name);}});
    });
    
    gotowhite();
}

function move(in_dir) {
    pointer += in_dir;

    var tmp_div_num = Math.floor(Math.random() * 1000);
    var tmp_div_name = 'newDiv' + tmp_div_num;
    insertDiv(tmp_div_name,eval('images'+pointer));
    new Effect.Appear(tmp_div_name);
    current_img_array.unshift(tmp_div_num);

    var back = document.getElementById('back');
    back.style.visibility = (pointer == 0) ? 'hidden' : 'visible';

    var forward = document.getElementById('forward');
    forward.style.visibility = (pointer == num_images-1) ? 'hidden' : 'visible';

	setTimeout('destroyImages()',1500);
}

function change(in_display) {
    var text = document.getElementById('text');
    var contentbg = document.getElementById('contentbg');

    var minimize = document.getElementById('minimize');
    var maximize = document.getElementById('maximize');

    // change css
    text.style.display = (in_display) ? 'block' : 'none';
    contentbg.style.height = (in_display) ? '367px' : '27px';

    minimize.style.display = (in_display) ? 'block' : 'none';
    maximize.style.display = (in_display) ? 'none' : 'block';
}

function arrows() {
    Element.hide('images_toggle');
    Element.show('arrow_left');
    Element.show('arrow_right');
    
    Element.setStyle('minimize', {marginLeft: '13px'});
    Element.setStyle('maximize', {marginLeft: '13px'});
}

function gotowhite() {

    insertDiv('newDiv',white);

    if (whiteContent) {
        new Effect.Fade('content');
        new Effect.Fade('contentbg');
    }
    if (whiteArrows) {
        new Effect.Fade('arrows');
    }

    new Effect.Appear('newDiv');

}

function insertDiv(divName, divImg) {
    var tmp_div = document.createElement('div');
    tmp_div.style.position = 'absolute';
    tmp_div.style.display = 'none';
    tmp_div.style.width = '960px';
    tmp_div.style.height = '680px';
    tmp_div.style.marginTop = '20px';
    tmp_div.style.left = '50%';
    tmp_div.style.marginLeft = '-480px';
    tmp_div.style.zIndex = 100;
    tmp_div.style.backgroundImage = "url('"+ divImg.src +"')";
    tmp_div.setAttribute('id',divName);
    document.body.insertBefore(tmp_div,$('container'));
}

function cycleImages() {
    // grab a new image at random
    var map_num = current_img;
    /*while (map_num == current_img) {
        map_num = Math.floor(Math.random() * (mapping.length - 1));
    }*/
    // actually, follow the procession laid out in the mapping
    if (++map_num == mapping.length) map_num = 0;
    current_img = map_num;

    // change the background
    tmp_img.src = '/i/home/home_' + (map_num < 9 ? '0' : '') + (map_num+1) + '.jpg';
    tmp_img.onload = function () { changeImages(); };
}

function changeImages() {
    // change the image now that we have it
    insertDiv('newDiv'+curZindex,tmp_img);

    // change the highlight on the text
    var concepts = $('home-concepts');
    var spans = concepts.getElementsByTagName('span');
    for(var j=0;j<spans.length;j++) {
        spans[j].className = '';
    }
    // highlight
    eval("document.getElementById('concept"+mapping[current_img]+"').className = 'highlight';");

    new Effect.Appear('newDiv'+curZindex);
    current_img_array.unshift(curZindex);
    curZindex++;

	imgTimer = setTimeout('cycleImages()',speed);
	setTimeout('destroyImages()',speed*2);

}

function destroyImages() {
    if (current_img_array.length > 1) {
        var div_number = current_img_array.pop();
        $('newDiv'+div_number).style.display = 'none';
        Element.remove('newDiv'+div_number);
    }
}

document.addEvent = function(object, eventType,fn, useCapture) {
	if (object.addEventListener) {
		object.addEventListener(eventType, fn, useCapture);
		return true;
	} else {
		if (object.attachEvent) {
			var r = object.attachEvent("on"+eventType, fn);
			return r;
		}
	}
};