/*
	BULLSEYE ANIMATION CREATION LIBRARY
*/

/*==========================================================//
	Background Image Cache
//==========================================================*/
try 
{
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

/*==========================================================//
	Listener for the page to fully load
//==========================================================*/
function addLoadListener(fn)
{
	if(typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load',fn,false);
	}
	else if (typeof document.addEventListener != 'undefined')
	{
		document.addEventListener('load', fn, false);
	}
	else if (typeof window.attachEvent != 'undefined')
	{
		window.attachEvent('onload', fn);
	}
	else
	{
		var oldfn = window.onload;
		if(typeof window.onload != 'function')
		{
			window.onload = fn;
		}
		else
		{
			window.onload = function()
			{
				oldfn();
				fn();
			}
		}
	}
}

/*==========================================================//
	Add listeners on objects (multi-browser) 
//==========================================================*/
function attachEventListener(target, eventType, functionRef, capture){
	if(typeof target.addEventListener != "undefined"){ 
		target.addEventListener(eventType, functionRef, capture);
	}else if (typeof target.attachEvent != "undefined"){
		target.attachEvent("on" + eventType, functionRef);
	}else{
		eventType = "on" + eventType;
		if(typeof target [eventType] == "function"){
			var oldListener = target[eventType];
			target[eventType] = function(){
				oldListener();
				return functionRef;
			}
		}
		else {
			target[eventType] = functionRef;
		}
		
	}
	return true;
}

/*==========================================================//
	Get elements by class name (multi-browser)
//==========================================================*/
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/-/g, "\-") + "(\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/-/g, "\-") + "(\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}


	
/*==========================================================//
	Dropdown functions
//==========================================================*/
var ddBtn;
var countries;
var ddMask;
var goBtn;
var currentUrl;

function initDropdown(){
	ddMask = getElementsByClassName(document, "div", "dropdownMask")[0];
	if(ddMask){
		oldBtn = document.getElementById("header_goButton");
		oldBtn.style.display = "none";
		
		ddBtn = getElementsByClassName(document, "div", "selectedItem")[0];
						
		attachEventListener(ddBtn,"click", changeDropState, false);
		
		countryList = getElementsByClassName(document,"ul", "countryList")[0];
		countries = countryList.getElementsByTagName('li');
		
		for(i=0; i<countries.length; i++){
			attachEventListener(countries[i],"click", setSelected, false);
		}
		
		goBtn = getElementsByClassName(document,"img", "goBtn")[0];	
		attachEventListener(goBtn,"click", redirectCountry, false);
	}
}

function changeDropState(){
	if(ddMask.offsetHeight == 19){
		ddMask.style.height = "134px";
	}else if(ddMask.offsetHeight == 134){
		ddMask.style.height = "19px";
	}
}

function setSelected(eventType){
	if(typeof eventType.srcElement!="undefined"){
		srcEl=eventType.srcElement;
	} else {
		srcEl=this;
	}
	
	ddMask.style.height = "19px";
	imgSrc=srcEl.getElementsByTagName("img")[0].src;
	ddBtn.firstChild.src = imgSrc;
	ddBtn.lastChild.nodeValue = srcEl.lastChild.nodeValue;
	currentUrl = srcEl.id;
}

function redirectCountry(){
	
	if(currentUrl!=""&&currentUrl!=null){
		if(currentUrl=="au"){
			currentUrl = ".com.au";		//Australia
		}else if(currentUrl=="nz"){
			currentUrl = "nz.co.nz";	//New Zealand
		}else if(currentUrl=="tw"){	
			currentUrl = ".com.tw";			//Taiwan
		}else if(currentUrl=="sg"){
			currentUrl = ".com.sg";			//SIngapore
		}else if(currentUrl=="hk"){
			currentUrl = ".com.hk";			//Hong Kong
		}else if(currentUrl=="ml"){
			currentUrl = ".com.my";			//Malaysia
		} 
		window.location = "http://www.blackmores"+currentUrl;
	}
}

function redirectFindAStore(url)
{
	var store = document.getElementById('postal');
	
	if ( ( store.value == '' ) || ( store.value == store.defaultValue ) )
	{
		alert('Please enter a postcode');
		return;
	}
	
	window.location = url + store.value
	
}

/*==========================================================//
	Functions to be completed on page load
//==========================================================*/
//function pageIni(){
	initDropdown();
	
//}
//addLoadListener(pageIni);