/*************************************************************************
*Application : buildingskillsacademy.com
*     Author : Andrew Scott (km0ti0n@gmail.com)
*       Date : 01/01/2006 
*    Version : 0.8.4
*Description : Standard script for use with bsa web site
***************************************************************************/
var BSA  = {
  oDateProfile  :{ eSelected:null,    cProfile:"234567", cStartDate:"" },
  oStartDate    :{ eSelected:null   },
  oElements     :{ eeAddToCart:null, eAddToCart1:null, eAddToCart2:null, eCheckout1:null, eCheckout2:null   }
};


/**************************************
*     Method : selectDateProfile
*     Params : e (eventObj), elRef (element)
*     Retuns : false (bool)
*Description : Set that date profile that was clicked to selected.
***************************************/
function selectDateProfile(e, elRef){
  e = e||event;
  if(elRef === undefined ){ return false; }
  if( BSA.oDateProfile.eSelected ){ BSA.oDateProfile.eSelected.className = "";}
  BSA.oDateProfile.eSelected = elRef;
  BSA.oDateProfile.cProfile = elRef.getAttribute("dateprofile");
  elRef.className = "selected";
  if( !BSA.oElements.eAddToCart ){ BSA.oElements.eAddToCart = document.getElementById("addToCart");}
  BSA.oElements.eAddToCart.href = "?DateProfile=" + BSA.oDateProfile.cProfile;
  BSA.oElements.eAddToCart.disabled = false;
  BSA.oElements.eAddToCart.click();
}




/**************************************
*     Method : selectStartDate
*     Params : e (eventObj), elRef (element)
*     Retuns : false (bool)
*Description : Set that date profile that was clicked to selected.
***************************************/
function selectStartDate(e, elRef){
  e = e||event;
  if(elRef === undefined ){ return false; }
  if( BSA.oStartDate.eSelected ){ 
    BSA.oStartDate.eSelected.className = "";
    //BSA.oStartDate.eSelected.getElementsByTagName("td")[0].style.backgroundImage = "url(/images/Option.png)";
  }
  BSA.oStartDate.eSelected = elRef;
  //elRef.getElementsByTagName("td")[0].style.backgroundImage = "url(/images/OptionTick.png)";
  elRef.className = "selected";
  
  BSA.oDateProfile.cProfile = elRef.getAttribute("dateprofile");
  BSA.oDateProfile.cStartDate = elRef.getAttribute("startdate");

  if( !BSA.oElements.eAddToCart1 ){ BSA.oElements.eAddToCart1 = document.getElementById("addToCart1") ;}
  if( !BSA.oElements.eAddToCart2 ){ BSA.oElements.eAddToCart2 = document.getElementById("addToCart2") ;}
  if( !BSA.oElements.eCheckout1  ){ BSA.oElements.eCheckout1  = document.getElementById("checkout1")  ;}
  if( !BSA.oElements.eCheckout2  ){ BSA.oElements.eCheckout2  = document.getElementById("checkout2")  ;}

//  BSA.oElements.eAddToCart1.href = "?DateProfile=" + BSA.oDateProfile.cProfile + "&StartDate=" + BSA.oDateProfile.cStartDate + "&Action=AddToCart";
//  BSA.oElements.eAddToCart2.href = "?DateProfile=" + BSA.oDateProfile.cProfile + "&StartDate=" + BSA.oDateProfile.cStartDate + "&Action=AddToCart";
//  BSA.oElements.eCheckout1.href  = "?DateProfile=" + BSA.oDateProfile.cProfile + "&StartDate=" + BSA.oDateProfile.cStartDate + "&Action=Checkout";
  BSA.oElements.eCheckout2.href  = "?DateProfile=" + BSA.oDateProfile.cProfile + "&StartDate=" + BSA.oDateProfile.cStartDate + "&Action=Checkout";

//  BSA.oElements.eAddToCart1.disabled = false;
//  BSA.oElements.eAddToCart2.disabled = false;
// BSA.oElements.eCheckout1.disabled = false;
  BSA.oElements.eCheckout2.disabled = false;
  BSA.oElements.eCheckout2.click();

}


window.onload = function(){
  var oMiniSlideShow1 = new miniSlideShowControl();

	oMiniSlideShow1.aImageUrls 		  = ["plasteringlevel1/image1.jpg", "plasteringlevel2/image1.jpg", "plasteringlevel3/image3.jpg"];
	oMiniSlideShow1.cMediaFolder		= "/images/courses/";
	oMiniSlideShow1.parentElement	  = document.getElementById("Slideshow");

	oMiniSlideShow1.init();
	oMiniSlideShow1.start();
}




/**************************************
*     Method : runGallery
*     Params : aImages collection of Images and thier indexs
*     Retuns : false (bool)
*Description : Sorts the images and starts the Slideshow. 
***************************************/
function runGallery( aImages, cPath ){
	aImages.sort
	( 
		function(a, b)
		{
			try
			{
				if ( a.index < b.index ) return 1;
				if ( a.index > b.index ) return -1;
			}
			catch(e){}
			return 0;
		}
	);
	
	aImages.sort();
	
	var aUrls = [];
	var aDesc = [];
	
	for( var i = 0; i < aImages.length; i++ )
	{ 
		aUrls[aUrls.length] = aImages[i].src; 
		aDesc[aDesc.length] = aImages[i].desc; 
	}

    var oSlideShow1 = new slideShowControl();
	oSlideShow1.init([aUrls, "/Media/", document.getElementById("Gallery"), aDesc], false);
	oSlideShow1.start();

	document.getElementById("SlideShowPrev").onclick   = function()
	{ 
		oSlideShow1.previous(); 
		document.getElementById("SlideShowPauseResume").innerHTML = "resume slideshow";
		return false; 
	}
	
	document.getElementById("SlideShowNext").onclick   = function()
	{ 
		oSlideShow1.next();     
		document.getElementById("SlideShowPauseResume").innerHTML = "resume slideshow";
		return false; 
	}
	
	document.getElementById("SlideShowPauseResume").onclick  = function()
	{ 
		switch ( this.innerHTML )
		{
			case "pause":
				this.innerHTML = "resume slideshow";
				oSlideShow1.pause();    
				break;
			case "resume slideshow":
				this.innerHTML = "pause";
				oSlideShow1.resume();    
				break;
		}
		return false;
	}
}

/**************************************
*     Method : runGalleryII
*     Params : aImages collection of Images and thier indexs
*     Retuns : false (bool)
*Description : Sorts the images and starts the Slideshow. 
***************************************/
function runGalleryII( aImages, cPath ){
	aImages.sort
	( 
		function(a, b)
		{
			try
			{
				if ( a.index < b.index ) return 1;
				if ( a.index > b.index ) return -1;
			}
			catch(e){}
			return 0;
		}
	);
	
	aImages.sort();
	
	var aUrls = [];
	var aDesc = [];
	
	for( var i = 0; i < aImages.length; i++ )
	{ 
		aUrls[aUrls.length] = aImages[i].src; 
		aDesc[aDesc.length] = aImages[i].desc; 
	}

    var oSlideShow1 = new slideShowControl();
	oSlideShow1.init([aUrls, "/Media/", document.getElementById("Gallery"), aDesc], true);
	oSlideShow1.start();

	return oSlideShow1;
}

/**************************************
*     Method : runMontage
*     Params : aImages collection of Images and thier indexs
*     Retuns : false (bool)
*Description : Sorts the images and starts the Slideshow. 
***************************************/
function runMontage( aImages, cPath ){
	aImages.sort
	( 
		function(a, b)
		{
			try
			{
				if ( a.index < b.index ) return 1;
				if ( a.index > b.index ) return -1;
			}
			catch(e){}
			return 0;
		}
	);
	
	aImages.sort();
	
	var aUrls = [];
	var aDesc = [];
	
	for( var i = 0; i < aImages.length; i++ )
	{ 
		aUrls[aUrls.length] = aImages[i].src; 
		aDesc[aDesc.length] = aImages[i].desc; 
	}

    var oSlideShow1 = new slideShowControlII();
	oSlideShow1.init([aUrls, "/Images/", document.getElementById("Montage"), aDesc], false);
	oSlideShow1.start();

}

function AttachEvent(obj, evt, fnc, useCapture)
{
	if ( !useCapture ) { useCapture=false; }
	
	if ( obj.addEventListener )
	{
		obj.addEventListener(evt, fnc, useCapture);
		return true;
	} 
	else if ( obj.attachEvent ) 
	{
		return obj.attachEvent("on"+evt, fnc);
	}
	else
	{
		MyAttachEvent(obj, evt, fnc);
		obj['on'+evt] = function() { MyFireEvent(obj, evt) };
	}
} 

function MyAttachEvent (obj, evt, fnc)
{
	if ( !obj.myEvents ) { obj.myEvents={}; }
	
	if ( !obj.myEvents[evt] ) { obj.myEvents[evt]=[]; }
	
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}

function MyFireEvent(obj, evt)
{
	if ( !obj || !obj.myEvents || !obj.myEvents[evt] ) return;
	var evts = obj.myEvents[evt];
	for ( var i = 0, len = evts.length; i < len; i++) { evts[i](); }
}


