/**
 * @author Justin Evans
 */
// classes.js
// Extends mootools.js (version 1.11) with customized Accordian extension

window.addEvent('domready', function() {

/*-------------------------------------------------------*/
// Instantiate accordion // -JRE
/*-------------------------------------------------------*/

	if ($('accordion')) 
	{
		var FormToggle = new toggler({
			strTogglerClass: 'atStart',
			strElementClass: 'atStart',
			strAccordionDiv: 'accordion',
			intIndex: -1, // No index
			boolAlwaysHide: true,
			strImageActive: 'images/minus.gif',
			strImageBackground: 'images/plus.gif'
		});
	}
	
/*-------------------------------------------------------*/
// expand / collapse accordion // -JRE
/*-------------------------------------------------------*/

	if ($('accordion')) 
	{
		//expandCollapse();
	}
	
/*-------------------------------------------------------*/
// Instantiate image menu // -JRE
/*-------------------------------------------------------*/

	if ($('imageMenu')) 
	{
		var myMenu = new ImageMenu($$('#imageMenu a'),
			{
				openWidth:310, 
				border:2, 
				onOpen:function(e,i){
				alert(e);
			}
		});
		
		var myMenu2 = new ImageMenu($$('#imageMenu2 a'),
			{
				openWidth:310, 
				border:2, 
				onOpen:function(e,i){
				alert(e);
			}
		});	
		
		
		var myMenu3 = new ImageMenu($$('#imageMenu3 a'),
			{
				openWidth:310, 
				border:2, 
				onOpen:function(e,i){
				alert(e);
			}
		});	
		
		var myMenu4 = new ImageMenu($$('#imageMenu4 a'),
			{
				openWidth:310, 
				border:2, 
				onOpen:function(e,i){
				alert(e);
			}
		});	
	}

	
/*-------------------------------------------------------*/
// Instantiate multibox elements // -JRE
/*-------------------------------------------------------*/
		if ($('multiboxExample')) 
		{
			var box = {};
			
			window.addEvent('domready', function(){
				box = new MultiBox('mb', {
					descClassName: 'multiboxDesc'
				});
			});
		}


	// Get browser name
	//var browser = getBrowser(window);
	//alert(browser);
});

/*-------------------------------------------------------*/
// toggler class = "accordion" menu // -JRE
/*-------------------------------------------------------*/

var toggler = new Class({
	options: {
		strTogglerClass: null,
		strElementClass: null,
		strAccordionDiv: null,
		intIndex: 0,
		boolAlwaysHide: false,
		strImageActive: false,
		strImageBackground: false
	},
	initialize: function(options)
	{
		this.setOptions(options);
		this.createToggler(
			this.options.strTogglerClass,
			this.options.strElementClass,
			this.options.strAccordionDiv,
			this.options.intIndex,
			this.options.boolAlwaysHide,
			this.options.strImageActive,
			this.options.strImageBackground
		);
	},
	createToggler: function(strTogglerClass, strElementClass, strAccordionDiv, intIndex, boolAlwaysHide, strImageActive, strImageBackground)
	{
		var objImage = $E(strTogglerClass + ' img');

		var accordion = new Accordion('h3.' + strTogglerClass, 'div.' + strElementClass, {
			opacity: true,
			display: intIndex,
			alwaysHide: boolAlwaysHide,
			onActive: function(toggler, element){
				if (strImageActive) 
				{
					var arrChildren = toggler.getChildren();
					arrChildren[0].src = strImageActive;
				}
			},
			onBackground: function(toggler, element){
				if (strImageBackground) 
				{
					var arrChildren = toggler.getChildren();
					arrChildren[0].src = strImageBackground;
				}
			}
		}, $(strAccordionDiv));
	}
});

toggler.implement(new Options);
toggler.implement(new Events);

/*-------------------------------------------------------*/
// Collapse/Expand functionality // -JRE
/*-------------------------------------------------------*/

function expandCollapse(){
    //expand all

	var strImageActive = 'images/minus.gif';
	var strImageBackground = 'images/plus.gif';

    $('expand').addEvent('click', function(){
        var myAccordion = new Accordion('li.atStart', 'div.atStart ', {
            onActive: function(toggler, element){
				var arrImages = $ES('.toggler img');
				for(var i=0; i<arrImages.length; i++)
				{
					arrImages[i].src = strImageActive;
				}
            },
            onBackground: function(toggler, element){
				var arrImages = $ES('.toggler img');
				for(var i=0; i<arrImages.length; i++)
				{
					arrImages[i].src = strImageBackground;
				}
            }
        });
        myAccordion.showAll();
    });
    //collapse all
    $('collapse').addEvent('click', function(){
        var myAccordion = new Accordion(' li.atStart', 'div.atStart', {
            onActive: function(toggler, element){
				var arrImages = $ES('.toggler img');
				for(var i=0; i<arrImages.length; i++)
				{
					arrImages[i].src = strImageActive;
				}
            },
            onBackground: function(toggler, element){
				var arrImages = $ES('.toggler img');
				for(var i=0; i<arrImages.length; i++)
				{
					arrImages[i].src = strImageBackground;
				}
            }
        });
        myAccordion.hideAll();
    });
}

/*-------------------------------------------------------*/
// End of classes // -JRE
/*-------------------------------------------------------*/


/*--------------------------------------------------------*/
// Detect browser with following function if need be // -JRE
/*--------------------------------------------------------*/

function getBrowser(objWindow)
{
	if(objWindow.ie && !objWindow.ie6 && !objWindow.ie7)
	{
		return("Internet Explorer");
	}	
	if(objWindow.ie6)
	{
		return("Internet Explorer 6");
	}
	if(objWindow.ie7)
	{
		return("Internet Explorer 7");
	}
	if (objWindow.gecko)
	{
		return("Mozilla/Gecko");
	}
	if(objWindow.webkit && !objWindow.webkit419 && !objWindow.webkit420)
	{
		return("Safari/Konqueror");
	}
	if(objWindow.webkit419)
	{
		return("Safari2 / webkit through version 419");
	}
	if(objWindow.webkit420)
	{
		return("Safari3 (Webkit SVN Build) / webkit over version 419");
	}
	if(objWindow.opera)
	{
		return("Opera")
	}
}
