function startlist(){
	if (document.all&&document.getElementById) {
		var navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			};
		};
	};
};

function changeZIndex(whichLayer,newIndex){
	Element.setStyle(whichLayer,{zIndex:newIndex});
};

function btnChange(e){
		Event.stop(e);
		var sourceObj = Event.element(e);
		var targetObj = sourceObj.id+'Description';
	//get sourceObj's ClassName	
		var className = new String(Element.classNames(sourceObj));
		var classNames = className.split(" ");
		
	//determine which file path to use
		var productClassName = new String(classNames[1]);
		productType =	productClassName.split("Prod");
		var imgPath='../images/products/'+productType[0]+'/';

	//change the productImg background property
		$('productImg').src = imgPath+sourceObj.id+'.jpg'
	//change the productImg title property
		$('productImg').title=$(sourceObj).title;
	//reset all productDescription Containers	
		var elementList = document.getElementsByClassName("prodDescripContainer");
			elementList.each(function(item,index){
				Element.setStyle(item,{display:'none'});
			});
	//reset all navIcon border colors
		var elementList = document.getElementsByClassName("navIcon");
			elementList.each(function(item,index){
				Element.setStyle(item,{border:'1px solid #fff'});
			});
	//display active product's description container		
		Element.setStyle(targetObj,{display:'block'});
	//change active navIcon border color
		Element.setStyle(sourceObj.id,{border:'1px solid #99CD00'});
};

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
};

function link() {	//CONTACTUS PAGE
	var x = "";
	var url="http://maps.google.com/maps?q=1055+davie+street,+vancouver,+bc&spn=0.017181,0.040525&t=h&hl=en";

	{x = open(url,"_blank")}
};

function setPngBkg(objID,path){
	var objMyImage = null;
	objMyImage = new OpacityObject(objID,path);
	objMyImage.setBackground();
};

function hideElement(){
	for(var i=0; i<arguments.length; i++){
		Element.hide(arguments[i]);
	};
};

function showElement(){
	for(var i=0; i<arguments.length; i++){
		Element.show(arguments[i]);
	};
};

function toggleShow(e){
	Event.stop(e);
	var ploX=0;
	var ploY=0;
	var intTo=0;
	var intFrom=0;
	var intDur=0;
	var sourceObj=Event.element(e);	
	if(sourceObj.id=="hide"||sourceObj.id=="hideImg"){		
		intTo=0;
		intFrom=1;
		ploX=638;	
		intDur=1;
	
		new Effect.Parallel(
			[ new Effect.Opacity('navBody', 
				{ sync: true, to: intTo, from: intFrom } ) ],
			{ duration:intDur,
			  afterFinish: function(effect)
				{ new Effect.MoveBy('navBackground', ploY, ploX);} 
			}
		  );	
	}
	else{
		intTo=1;
		intFrom=0;	
		ploX=-638;
		intDur=1;
		new Effect.Parallel(
			[ new Effect.MoveBy('navBackground',ploY, ploX,{sync: true})],
			{duration:intDur,
			  afterFinish: function(effect)
				{new Effect.Opacity('navBody', 
				{to:intTo,from:intFrom} )} 
			}
		);
	}  
};

function setToggleSwitchListener(){
	var elementList = document.getElementsByClassName("toggleSwitch");		
		elementList.each(function(item,index){
			Event.observe(item,'click',toggleShow,true);
		});	
};

//================================= START: HOMEPAGE  ====================================================================
function homeInit(){
	// quit if this function has already been called
		if (arguments.callee.done) return;
	// flag this function so we don't do the same thing twice
		arguments.callee.done = true;

		sndReqArg('code/getImgList.asp?path=home',handleResponsePreload);
			//setTimeout("sndReqArg('code/getImgList.asp?path=pngs',handleResponsePreload)",700);
		//hideElement('bodyContentsContainer', 'oneLI','bodyContentsContainer2','twoLI','bodyContentsContainer3','threeLI','bodyContentsContainer4','txtBackground','fourLI','hRule','fiveLI','bodyContentsContainer5','voteResults');		
		imagesLvl1Init();
		commonInit();
		changeZIndex('bodyContentsContainer','3')
};

//================================= END: HOMEPAGE  ====================================================================
//================================= START: ORGANIZE INIT ====================================================================
function organizeInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	sndReqArg('getImgList.asp?path=organize',handleResponsePreload);
	
	setPngBkg('bodyLeftTitleOrganize', '../images/products/organize/headerOrganize');
	setPngBkg('bodyLeftColHeader','../images/products/organize/infoHeaderGold');
	setPngBkg('bodyLeftColBody','../images/products/organize/infoBodyGold');
	setPngBkg('bodyLeftColFooter','../images/products/organize/infoFooterGold');
	
	imagesLvl2Init('');
	productNavInit();	
	commonInit();
};

function productNavInit(e){
	var elementList = document.getElementsByClassName("navIcon");
		elementList.each(function(item,index){
			Event.observe(item.id,'mouseover',btnChange,true);
		});
};

//================================= END: ORGANIZE INIT ====================================================================
//================================= START: ENTERTAIN INIT ====================================================================
function entertainInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	sndReqArg('getImgList.asp?path=entertain',handleResponsePreload);
	
	setPngBkg('bodyLeftTitleEntertain', '../images/products/entertain/headerEntertain');
	setPngBkg('bodyLeftColHeader','../images/products/entertain/infoHeaderBronze');
	setPngBkg('bodyLeftColBody','../images/products/entertain/infoBodyBronze');
	setPngBkg('bodyLeftColFooter','../images/products/entertain/infoFooterBronze');

	imagesLvl2Init('');
	productNavInit();
	commonInit();
};
//================================= END: ENTERTAIN INIT ====================================================================
//================================= START: DECORATE INIT ====================================================================
function decorateInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	sndReqArg('getImgList.asp?path=decorate',handleResponsePreload);
	
	setPngBkg('bodyLeftTitleDecorate', '../images/products/decorate/headerDecorate');
	setPngBkg('bodyLeftColHeader','../images/products/decorate/infoHeaderLilac');
	setPngBkg('bodyLeftColBody','../images/products/decorate/infoBodyLilac');
	setPngBkg('bodyLeftColFooter','../images/products/decorate/infoFooterLilac');

	imagesLvl2Init('');
	productNavInit();
	commonInit();
};
//================================= END: DECORATE INIT ====================================================================
//================================= START: CELEBRATE INIT ====================================================================
function celebrateInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	sndReqArg('getImgList.asp?path=celebrate',handleResponsePreload);
	
	setPngBkg('bodyLeftTitleCelebrate', '../images/products/celebrate/headerCelebrate');
	setPngBkg('bodyLeftColHeader','../images/products/celebrate/infoHeaderRed');
	setPngBkg('bodyLeftColBody','../images/products/celebrate/infoBodyRed');
	setPngBkg('bodyLeftColFooter','../images/products/celebrate/infoFooterRed');
	
	imagesLvl2Init('');
	productNavInit();
	commonInit();	
};
//================================= END: CELEBRATE INIT ====================================================================
//================================= START: ABOUTUS INIT ====================================================================
function aboutUsInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	setPngBkg('menuItemAbout','images/menuItem');
	imagesLvl1Init();
	commonInit();	
};
//================================= END: ABOUTUS INIT ====================================================================
//================================= START: ABOUTU PAGE ====================================================================
function aboutUInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
		setPngBkg('bodyLeftTitle','images/aboutuMsg');
		setPngBkg('aboutuSubscribeBtn','images/subscribeBtn');
		setPngBkg('aboutuContainer','images/pngs/aboutUMail');
		setPngBkg('reqField','images/astrix');
		setPngBkg('reqField2','images/astrix');

		var ploForm = document.subscribeForm.email;		
			ploForm.focus();
			ploForm.select();		
		
		Event.observe('aboutuSubscribeBtn','click',aboutUForm,true);
		if(!ns){	//IF NOT NETSCAPE BASED BROWESERS
			setIEAboutUFormListener();
			Element.addClassName('email','focus');
		};		
		
		setMobileNumFormatListener();
		Form.enable('subscribeForm');
		Form.focusFirstElement('subscribeForm');
		imagesLvl1Init();
		commonInit();	
};

function setIEAboutUFormListener(){
	var formObjs=Form.getElements('subscribeForm') ;	
	formObjs.each(function(item,index){			
		Event.observe(item,'focus',setActiveFieldClass,true);
	});
};

function setMobileNumFormatListener(){
	Event.observe('mobileNum','keyup',mobileNumFormat,true);
	Event.observe('mobileNum','mouseover',mobileNumFormat,true);
	//Event.observe('mobileNum','blur',clearMe,true);
};

function setActiveFieldClass(e){
	var srcObj=Event.element(e);
	resetActiveFieldClass();
	setTimeout("Element.addClassName('"+srcObj.id+"','focus')",100);
};

function resetActiveFieldClass(){
	var elementList = document.getElementsByClassName("focus");		
		elementList.each(function(item,index){	
			Element.removeClassName(item,'focus');
		});
};

function aboutUForm(e){			//ABOUT YOU FORM VALIDATION
	Event.stop(e);
	Form.disable('subscribeForm');
	var x;
	var url="";
	var submitFlag=0;
	var errorObj="";
	
	var elementList = document.getElementsByClassName("reqFields");		
		if($F(elementList[0])==""||$F(elementList[1])==""){			
				elementList.each(function(item,index){					
					if ($F(item)=="") {
						Form.enable('subscribeForm');
						$(item).focus();						
						Effect.Shake(item);						
					};
				});					
		}
		else{
			submitFlag=1;
			Form.enable('subscribeForm');
		};			
		
	if(submitFlag==1){		
		var formValues=Form.serialize('subscribeForm')
		url = "code/subscribe.asp?type=js";
		var ajaxRequest = new Ajax.Request(
								url, 
								{
									method: 'post', 
									parameters: formValues, 
									asynchronous: true,
									onComplete: aboutUSubmitResponse										
								});				
		};				
};
	
function aboutUSubmitResponse(resp){
	alert(resp.responseText)
	Form.reset('subscribeForm');
	Form.enable('subscribeForm');
};	

function mobileNumFormat(e){
	objInput=Event.element(e);
	sLen = $F(objInput).length;	
	switch (sLen)
		{
			case 0:
				$(objInput).value = $(objInput).value + "(";
				break;
			case 1:
				$(objInput).value = $(objInput).value + "";
				break;
			case 4:
				$(objInput).value = $(objInput).value + ") ";
				break;
			case 9:
				$(objInput).value = $(objInput).value + "-";
				break;
		}
};

//================================= END: ABOUTU PAGE ====================================================================
//================================= START: STOREHOURS PAGE ====================================================================
function storeHoursInit(){
// quit if this function has already been called
	if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
		imagesAboutUsInit();
		ploToday = new Date()    //today's date
		ploMonth=ploToday.getMonth()
		var fadeHours;
		switch (ploMonth){
			case 5:
				fadeHours='winterHours';
			break;
			case 6:
				fadeHours='winterHours';
			break;
			case 7:
				fadeHours='winterHours';
			break;
			case 8:
				fadeHours='winterHours';
			break;
			default:	
				fadeHours='summerHours';			
			break;
		};
		new Effect.Opacity(fadeHours,{duration:1,from:1.0, to:0.15});
		commonInit();
};
//================================= END: STOREHOURS PAGE ====================================================================
//================================= START: PROMOTIONS PAGE ====================================================================
function promotionsInit(){
	setPngBkg('bodyRightColBackground','images/bg-nav-diagGreen');
	imagesLvl1Init();
	commonInit();
};
//================================= END: PROMOTIONS PAGE ====================================================================
//================================= START: PRESS PAGE ====================================================================
function pressInit(){
	imagesLvl2Init('25');		
	commonInit();
};
//================================= END: PRESS PAGE ====================================================================
//================================= START: CAREERS PAGE ====================================================================
function careersInit(){
	setPngBkg('careersHeading','../images/careers');
	setPngBkg('careersContainer','../images/pngs/careersSubBkg');
	imagesAboutUsInit();
	commonInit();
};
//================================= END: CAREERS PAGE ====================================================================
//================================= START: LOCATEUS PAGE ==================================================================
function locateusInit(){
	imagesAboutUsInit();
	new Effect.Opacity('locationInfoContainer',{duration:1,from:1.0, to:0.75});
	commonInit();
};
//================================= END: LOCATEUS PAGE ====================================================================
//================================= START: COMMON INIT ====================================================================
function imagesLvl1Init(){	
	setPngBkg('navBackground','images/pngs/navBackground');
	setPngBkg('menuItemProducts','images/menuItem');	
};

function imagesLvl2Init(intOpacity){	
	var imgUrl= '../images/pngs/navBackground'+intOpacity
	setPngBkg('navBackground',imgUrl);
	setPngBkg('menuItemProducts','../images/menuItem');	
};

function imagesAboutUsInit(){
	setPngBkg('navBackground','../images/pngs/navBackground');
	setPngBkg('menuItemProducts','../images/menuItem');				
	setPngBkg('menuItemAbout','../images/menuItem');				
};

function commonInit(){
	setToggleSwitchListener();
	startlist();
};
//================================= END: COMMON INIT ====================================================================
//================================= START: AJAX ====================================================================
function createRequestObject(){
     var ro;
     var browser = navigator.appName;
     if(browser == "Microsoft Internet Explorer"){
          ro = new ActiveXObject("Microsoft.XMLHTTP");
     }else{
          ro = new XMLHttpRequest();
     }
     return ro;
};

var http = createRequestObject();

function sndReqArg(url,action) {
     http.open('get', url);
     http.onreadystatechange = action
     http.send("");
};

function handleResponse(){
	if(http.readyState == 4) {
	  var response = http.responseText;
    var update = new Array();
    if(response.indexOf('|' != -1)) {
   	  update = response.split("|");
      document.getElementById(update[0]).innerHTML = update[1];
	  document.getElementById('contentsContainer5Msg').innerHTML = "<ul><li class='updatedMsg'>thank you for letting us know where you'd like to see our next store</li><li class='updatedMsg2'><a href='aboutu.htm' title='click to subscribe to our newsletter'>subscribe</a> to our newsletter & we’ll let you know where we’re opening our second location</li></ul>";
    }
  }
};

function handleResponsePreload(){	//response used to preload images
	if(http.readyState == 4){
		var response = http.responseText;
		MM_preloadImages(response);
	}
};
//================================= END: HOMEPAGE VOTING:AJAX ====================================================================
