
var Site = {

	start: function(){
		if($('menus')) Site.accordion();
		Site.skin();	
		Site.dialogs();	
	},
	
	accordion: function(){
		var list = $$('#menus dd.collapse');
		var headings = $$('#menus dt.collapse');

		var collapsibles = new Array();
		var spans = new Array();
		
		headings.each( function(heading, i) {

			var collapsible = new Fx.Slide(list[i], { 
				duration: 500, 
				transition: Fx.Transitions.quadIn
			});
			
			collapsibles[i] = collapsible;						
			spans[i] = $E('span', heading);
			
			heading.onclick = function(){
				var span = $E('span', heading);

				if(span){
					var newHTML = span.innerHTML == '+' ? '-' : '+';
					span.setHTML(newHTML);
				}
				
				for(var j = 0; j < collapsibles.length; j++){
					if(j!=i) {
						collapsibles[j].slideOut();
						if(spans[j]) spans[j].setHTML('+');
					}
				}
				
				collapsible.toggle();
				
				return false;
			}

			var elem = list[i].getElementsByTagName('a'), show = false;
			for(var j=0;j<elem.length;j++) {
				if (elem[j].className.indexOf('focus') != -1) { show = true; break; }
			}
			if (!show) {collapsible.hide();}
			
		});
	},
	
	skin: function() {
    var cont_ids = new Array("wrapoffset", "wrapfix");
    var conts = new Array();
    var div = document.getElementById("container");

    var kids = div.childNodes;

    // create a collection of div containers
    for (var j = 0; j < cont_ids.length; j++) {
      conts[j] = document.createElement("div");
      conts[j].id = cont_ids[j];
    }

    // move all required elements from the page into the
    // last div container for the colouriser wrappers ('sect')
    for (var i = kids.length - 1; i >= 0; i--) {
      conts[conts.length - 1].insertBefore(kids[i], conts[conts.length - 1].firstChild);
    }

    for(i = conts.length - 1; i > 0; i--) {
      conts[i-1].appendChild(conts[i]);
    }
    div.appendChild(conts[i]);

    var foot = document.getElementById("foot");
    var wrap = document.createElement("div");
    kids = foot.childNodes;
    for (i = kids.length - 1; i >= 0; i--) {
      wrap.insertBefore(kids[i], wrap.firstChild);
    }
    foot.appendChild(wrap);	  
	},
	
	dialogs: function() {
	  var links = $$('a');
    links.each(function(item) {
      if (item.hasClass('thumb') || item.hasClass('new')) {
        item.target = "blank";
        if (item.title.length == 0) {item.title = "Open this page in a new window";}
        else {item.title += " - New Window";}        
      }
    });
	}
	
};
window.addEvent('domready', Site.start);
