﻿/* ======================================================================

When page has loaded

=======================================================================*/
window.addEvent('domready', function(){		 
	/*      replace HTML     */
	/*if($$("li.dp").length > 0){ replaceHTML(); };*/
	/*      hp flash gallery      */
	if($("hp_gallery")){ loadHomepageGallery(); };
	/*      hp flash gallery      */
	if($("Prospectus")){loadProspectus();};
	/*      homepage banner      */
	if($("homepage_flash")){loadBanner();};
	/*      multibox      */
	if($$(".mb").length > 0){loadMultibox();};
	/*      form inputs      */
	if($$("input").length > 0){focusInputs();}
	/*      form inputs      */
	if($$("input.submitbutton").length > 0){searchHover();}
	/*      cookies      */
	if($$("#accessibility ul.fontsize").length > 0){setCookie();}
	/*      breadcrumbs      */
	if($("mooCrumbs")){slicedBread();}	
	/*      backLink      */
	if($$('#l2 .backLink').length > 0){tabThing();}
	else if($$('#l2 .TabMenu').length>0){ nbTabThing(); }
	/*		magicbox		*/
	if($$('#l2 .startBlock').length>0){magicBoxBit();}
});


/* ======================================================================

Functions

=======================================================================*/

/*
Load Homepage Flash Gallery
------------------------------------*/
function loadHomepageGallery()
{
	if(Browser.Plugins.Flash.version < 8)
	{
		$('hp_gallery').set('html','<span>To view this content, please <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">download latest flash player</a>.</span>');
	}
	else
	{
		var obj = new Swiff('./UserFiles/flash/hp_gallery.swf',{
			id: 'hp_gallery',
			container: $('hp_gallery'),
			width: 157,
			height: 130,
			params: {
			},
			vars: {
				xmlpath: './galleryXml.ashx?galleryId=1',
				setMaxSlide: '2'
			},
			callBacks: {
			}
		});
	};
};


/*
Load prospectus
------------------------------------*/
function loadProspectus()
{
	if(Browser.Plugins.Flash.version < 8)
	{
		$('Prospectus').set('html','<span>To view this content, please <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">download latest flash player</a>.</span>');
	}
	else
	{
		var obj = new Swiff('uniflip.swf',{
			id: 'Prospectus',
			container: $('Prospectus'),
			width: 960,
			height: 550,
			params: {
			},
			vars: {
			},
			callBacks: {
			}
		});
	};
};


/*
Load Homepage Flash Banner
------------------------------------*/
function loadBanner()
{
	if(Browser.Plugins.Flash.version < 8)
	{
		$('homepage_flash').set('html','<span>To view this content, please <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">download latest flash player</a>.</span>');
	}
	else
	{
		var obj = new Swiff('./UserFiles/flash/hp_images.swf',{
			id: 'Homepage Banner',
			container: $('homepage_flash'),
			width: 513,
			height: 232,
			params: {
			},
			vars: {
				xmlpath: "./galleryXml.ashx?galleryId=3"
			},
			callBacks: {
			}
		});
	};
};


/*
Replace HTML
------------------------------------*/
function replaceHTML()
{
	$$("li.dp").each(function(el,i)
	{
		el.set('html',"<a title=\"Strathallan Prospectus\" class=\"mb\" id=\"mb"+i+"\" rel=\"width:975,height:580\" href=\"./UserFiles/Prospectus/Prospectus.aspx\">Prospectus</a>");
		
		var newdiv = new Element('div').injectAfter(el);
		newdiv.addClass('multiBoxDesc mb'+i+' Hidden');
		newdiv.set('html',"You can <a href=\"http://www.strathallan.co.uk/Portals/Strathallan/scripts/ForceDownload.aspx?Filename=Prospectus.pdf\">download the prospectus</a> here. If you would like a prospectus sent to you by post please <a href=\"view_Request_Prospectus.aspx\">click here</a> or call the Admissions Office on 01738 815003.");
	});
};


/*
Focus inputs
------------------------------------*/
function focusInputs()
{
	var formElements = $$("input","textarea","select");
	
	formElements.each( function(el, i)
	{
		//add event listener
		el.addEvents
		({
			'focus': function()
			{
				el.setStyle("border-color","#95959F");
			},
			'blur': function()
			{
				el.setStyle("border-color","#D1D1D6");
			}
		});
	});
};


/*
Search hover
------------------------------------*/
function searchHover()
{
	var srchBttn = $$("input.submitbutton");
	
	srchBttn.each( function(el, i)
	{
		//add event listener
		el.addEvents
		({
			'mouseenter': function()
			{
				el.setStyle("background-position","left bottom");
			},
			'mouseleave': function()
			{
				el.setStyle("background-position","left top");
			}
		});
	});
};


/*
Retrieve cookie
------------------------------------*/
function setCookie()
{
	var myCookie = Cookie.read("CMSFontSize");
	var smallA = $$("#accessibility ul.fontsize li.a1 a");
	var mediumA = $$("#accessibility ul.fontsize li.a2 a");
	var largeA = $$("#accessibility ul.fontsize li.a3 a");
	
	if(myCookie == "large")
	{
		largeA.addClass('selected');
		largeA.setStyle('background-position','left bottom');
	}
	else if(myCookie == "medium")
	{
		mediumA.addClass('selected');
		mediumA.setStyle('background-position','left bottom');
	}
	else
	{
		smallA.addClass('selected');
		smallA.setStyle('background-position','left bottom');
	};
};


/*
Breadcrumb trail rollover thing
------------------------------------*/
function slicedBread()
{
	//call mooCrumbs
	var initCrumbs = new mooCrumbs({
		container: $('mooCrumbs'),//menu to apply class to
		initWidth: 50,//initial width of menu (must be greater than 0 to have something to hover over)
		rightMargin: 2,//right margin of each li
		leftMargin: 0,//left margin of each li
		rightPadding: 2,//right padding of each li
		leftPadding: 0,//left padding of each li
		addArrow: false,//adds small arrow.gif to each li apart from last
		injectLi: true,//inject new li to hold the text below
		displayMsg: 'Where you have been:',//set html of new li injected
		background: '#ffffff'//hex colour or path to an image (eg: 'url(./Images/myBG.gif) left top repeat-x' full CSS style supported
	}).start();
};


/*
Multibox
------------------------------------*/
function loadMultibox()
{
	if(Browser.Engine.trident && Browser.Engine.version <5){
		$$('.mb').each(function(el,i){
			el.set('target', '_blank')	
		});
	}
	else{
		//call multiBox
		var initMultiBox = new multiBox({
			mbClass: '.mb',
			container: $(document.body),
			descClassName: 'multiBoxDesc',//the class name of the description divs
			path: './Portals/UserFiles/Flash/',//path to mp3 and flv players
			useOverlay: true,//use a semi-transparent background. default: false;
			maxSize: {w:1000, h:600},
			addDownload: false,//do you want the files to be downloadable?
			pathToDownloadScript: './Portals/Strathallan/Scripts/forceDownload.aspx',//if above is true, specify download script
			addRollover: false,//add rollover fade to each multibox link
			addOverlayIcon: false,//adds overlay icons to images within multibox links
			addChain: false,//cycle through all images fading them out then in
			recalcTop: true,//subtract the height of controls panel from top position
			addTips: false
		});
	}
};


/*
Tab Thing
------------------------------------*/
function tabThing()
{
	var ltxt;
	$$('#l2 .backLink').each( function(el, i){
		var spt = el.getElement('a').href.split('/');
		var sp1 = spt[spt.length-1].split('.');
		var sp = sp1[0].split('-');
		var bck = sp[0]+' '+sp[1];		
		el.getElement('a').set('text', bck);
		el.getElement('a').setStyle('text-transform', 'capitalize');
		ltxt=el.get('html');
		el.setStyle('display', 'none');
	});
	var bb;
	//	get first div after tabs
	$$("#l2 div").each(function(el,i){
		if(i==0){
			bb=el;
			el.setStyles({
				'border': '1px solid #8f9fb9',
				'border-top': 'none',
				'padding': 5,
				'margin-top': 0,
				'clear': 'both'
			});
		}
	});
	if($$('#l2 .TabMenu').length>0){
		$$('#l2 .TabMenu').each( function(el, i){
			el.set('html', ltxt+' '+el.get('html'));
			checkSize(el);
		});
	}
	else{
		var tabDiv = new Element('div', {'class': ''}).injectBefore($(bb));
		tabDiv.set('html', '<ul class="TabMenu">'+ltxt+'</ul>');
	}
};

function checkSize(el){
	el.setStyle('overflow', 'hidden');
	var divSize = el.getSize().x;
	var s = 0;
	var diff = 0;
	var handle;
	el.getElements('li').each( function(li, i){
		if(i==0){handle = li;}
		var addon = li.getSize().x+4;
		s+=addon;
		if(s>divSize){ diff+=addon; }
	});
	if(s>divSize){ 
		el.setStyle('width', s); 
		el.getParent().setStyle('overflow', 'hidden'); 
		addSliders(el, handle, diff, divSize); 
	}
}
function addSliders(el, handle, diff, divSize){
	var shift = new Fx.Tween($(handle));
	var arrow = new Element('div', {'class': 'tabArrow'}).injectInside($(el));
	arrow.setStyles({
		'width': 12,
		'height': 16,
		'margin-top': '24px',
		'border': '1px solid #8F9FB9',
		'position': 'absolute',
		'cursor': 'pointer',
		'left': divSize-14
	});

	arrow.addEvent('click', function() {
		if(handle.getStyle('margin-left').toInt()<0){
			shift.start('margin-left', 2);
			this.removeClass('tabArrowbase');
		}
		else{
			shift.start('margin-left', '-'+diff);
			this.addClass('tabArrowbase');
		}
	});
}

/*
Magic Box Bit
------------------------------------*/
function magicBoxBit(){
	var strt;
	var end;
	$$('#l2 .startBlock').each(function(el, i){ strt = el; });
	$$('#l2 .endBlock').each(function(el, i){ end = el; });

	var sdiv = strt.getParent('div');
	var ediv = end.getParent('div');
	var nDiv = sdiv.getNext('div');
	var nnDiv = nDiv.getLast('div');
	var wdH2 = nDiv.getFirst('h2');
	
	var clrDiv = new Element('div', {'class': 'clear'}).injectInside($(nnDiv));
	var wrapDiv = new Element('div', {'class': 'outer'}).injectAfter($(sdiv));
	
	
	var tabDiv = new Element('div', {'class': ''}).injectBefore($(wrapDiv));
	tabDiv.setStyle('width', '510px');
	tabDiv.set('html', '<ul class="TabMenu" style="width:516px;"><li class="active"><span class="">'+wdH2.get('text')+'</span></li></ul>');
	
	
	nDiv.injectInside($(wrapDiv));
	
	wrapDiv.setStyle('border', '1px solid #8F9FB9');
	wrapDiv.setStyle('border-top', '0px solid #8F9FB9');
	wrapDiv.setStyle('padding', '5px 2px 0');
	wrapDiv.setStyle('width', '510px');
	wrapDiv.setStyle('margin', '0px 0 0');
	nDiv.setStyle('clear', 'both');
	
	
	
	wdH2.setStyle('display', 'none');
	
}

/*
No backbutton Tab Thing
------------------------------------*/
function nbTabThing(){
	var tabBlock;
	$$('#l2 .TabMenu').each( function(el, i){
		tabBlock = el.getParent('div');
		el.setStyle('width', '510px');
	});
	var wrapper = tabBlock.getNext('div');
	wrapper.setStyle('border', '1px solid #8F9FB9');
	wrapper.setStyle('border-top', '0px solid #8F9FB9');
	wrapper.setStyle('padding', '5px 2px 0');
	wrapper.setStyle('width', '510px');
	wrapper.setStyle('margin', '0px 0 0');
	
}