gfParams="";
gfSelectedOccassion=0;

var docroot = '/';


/**** Define Questions ****/

var gfWho = [
{gId:'forwho',selectedEl:1}, // 0 is group id, set default selection (1 is "for her")
{elId:'her'},
{elId:'him'},
{elId:'me'},
{elId:'family'}
];

var gfOccassion =
[
{gId:'occassion',selectedEl:0},
[
{gId:'forher',selectedEl:0},
{elId:'birthday'},
{elId:'thankyou'},
{elId:'anniversary'},
{elId:'newmom'},
{elId:'newbaby'},
{elId:'newhome'},
{elId:'houseguest'},
{elId:'petlover'},
{elId:'dinnerparty'},
{elId:'justbecause'},
{elId:'onthego'},
{elId:'holiday'} // optional holiday is last in each occassion array
],
[
{gId:'forhim',selectedEl:0},
{elId:'birthday'},
{elId:'anniversary'},
{elId:'justbecause'},
{elId:'topoffhislook'},
{elId:'petlover'},
{elId:'newhome'},
{elId:'houseguest'},
{elId:'holiday'}
],
[
{gId:'forme',selectedEl:0},
{elId:'trynewskincare'},
{elId:'trynew'},
{elId:'treatmyself'},
{elId:'bathroom'},
{elId:'relax'},
{elId:'holiday'}
],
[
{gId:'forfamily',selectedEl:0},
{elId:'newbabyinfamily'},
{elId:'lotsofkids'},
{elId:'petlover'},
{elId:'justmoved'},
{elId:'justbecause'},
{elId:'weekendvisit'},
{elId:'welcome'},
{elId:'bathtime'},
{elId:'holiday'}
]
];

// initialize "who" elements
for (var i=1;i<gfWho.length;i++){
	gfWho[i].off=new Image;
	gfWho[i].off.src=docroot+"images/giftfinder/"+gfWho[i].elId+".gif";
	gfWho[i].sel=new Image;
	gfWho[i].sel.src=docroot+"images/giftfinder/"+gfWho[i].elId+"_sel.gif";
}

// initialize sub-set "occassion" elements
for (var i=1;i<gfOccassion.length;i++){
	for (var j=1;j<gfOccassion[i].length;j++){
		gfOccassion[i][j].off=new Image;
		gfOccassion[i][j].off.src=docroot+"images/giftfinder/"+gfOccassion[i][j].elId+".gif";
		gfOccassion[i][j].sel=new Image;
		gfOccassion[i][j].sel.src=docroot+"images/giftfinder/"+gfOccassion[i][j].elId+"_sel.gif";
	}
}


/**** Interactivity Functions ****/

docObjRef=document[document.compatMode=="CSS1Compat"?"documentElement":"body"];

function getObj(o){
	return IE?document.all[o]:document.getElementById(o);
}

function getObjStyle(o){
	return IE?document.all[o].style:document.getElementById(o).style;
}

function checkComplete(gNum){
	findOnState=getObjStyle('gffind_on');
	// NOTE: check if forwho group has a selected occassion button (selectedEl can't be equal to 0)
	if ((gfOccassion[gNum][0].selectedEl!=0) && (findOnState.display=="none")){
		findOffState=getObjStyle('gffind_off');
		findOffState.display="none";
		findOnState.display="block";
	} else if ((gfOccassion[gNum][0].selectedEl==0) && (findOnState.display=="block")){
		findOffState=getObjStyle('gffind_off');
		findOffState.display="block";
		findOnState.display="none";
	}
}

function selectWho(elNum){
	elProps=gfWho[elNum];
	activeEl=(gfWho[0].selectedEl);
	// if item isn't already selected
	if (elNum!=activeEl){
		// turn currently active/selected buttons & layer off
		activeElProps=gfWho[activeEl];
		activeImgId = ("gfwho_" + activeElProps.elId);
		getObj(activeImgId).src=activeElProps.off.src;
		activeLayerObj = "gf_g"+activeEl;
		activeLayerStyle=getObjStyle(activeLayerObj);
		activeLayerStyle.display="none";
		activeOccassion=gfOccassion[activeEl][0];
		if (activeOccassion.selectedEl!=0){
			activeOccassionProps=gfOccassion[activeEl][activeOccassion.selectedEl];
			activeOccassionImgId="gf" + activeOccassion.gId + "_" + activeOccassionProps.elId;
			getObj(activeOccassionImgId).src=activeOccassionProps.off.src;
			activeOccassion.selectedEl=0
			checkComplete(activeEl);
		}
		// set image to selected state
		imgId = ("gfwho_" + elProps.elId);
		getObj(imgId).src=elProps.sel.src;
		// set layer display
		layerObj = "gf_g"+elNum;
		layerStyle=getObjStyle(layerObj);
		layerStyle.display="block";
		// set active/selected element
		gfWho[0].selectedEl=elNum;
	}
}

function selectOccassion(gNum,elNum){
	elProps=gfOccassion[gNum][elNum];
	selectedEl=(gfOccassion[gNum][0].selectedEl);
	// if item isn't already selected
	if (elNum!=selectedEl){
		// if an element in that group is currently selected, turn its button off
		if (selectedEl!=0){
			selectedElProps=gfOccassion[gNum][selectedEl];
			selectedId = ("gf" + gfOccassion[gNum][0].gId + "_" + selectedElProps.elId);
			getObj(selectedId).src=selectedElProps.off.src;
		}
		// set image to selected state
		imgId = ("gf" + gfOccassion[gNum][0].gId + "_" + elProps.elId);
		getObj(imgId).src=elProps.sel.src;
		// set active/selected element
		gfOccassion[gNum][0].selectedEl=elNum;
		checkComplete(gNum);
	}
}

function go(){}

// at end collect answers
function addParams(){
	whoParam=gfWho[gfWho[0].selectedEl].elId;
	occassionEl=gfOccassion[gfWho[0].selectedEl][0].selectedEl;
	occassionParam=gfOccassion[gfWho[0].selectedEl][occassionEl].elId;
	gfParams='?who='+whoParam+'&occassion='+occassionParam;
	return gfParams;
}

function getResults(page){
	gfParams = addParams();
	resultsUrl=(page+gfParams);
	window.location=resultsUrl;
}

