// quiz.js dynamic page handler
// Vlad 6/22/2007 for includes/quiz_stuff.php

var bQuizResultOk=1, iQuizPageN=0, sQuizIdText='quizText', sQuizIdInputs='quizInputs';
var iQuizAgeMid=25, iQuizAgeOld=65, iQuizBMIFat=39;

function getElement(sId){return document.getElementById(sId);}

function getFormElement(sName){return oForm=document.forms['quizform'].elements[sName];}

function imgTag(sPic){return '<img src="images/'+sPic+'" border="0" alt="">';}

function radioValue(oRadio){
	var val='';
	for (var i=0; i<oRadio.length; i++){if (oRadio[i].checked){val=oRadio[i].value; break;}}
	return val;
}

function selectValue(oSelect){
	var val='';
	for (var i=0; i<oSelect.options.length; i++){if (oSelect.options[i].selected){val=oSelect.options[i].value; break;}}
	return val;
}

var oQuizStatus={};

var quizStatusSets=[[], ['age', 'gender', 'smoking'], ['feet', 'inches', 'weight', 'bmis'], ['blood_pressure'], ['history'], ['family_history_a', 'family_history_b', 'family_history_c', 'family_history_d', 'family_history_e'], ['life_style_a', 'life_style_b'], ['driving'], ['alcohol'], ['drug'], ['travel_a', 'travel_b', 'travel_c']];

for (var i=0; i<quizStatusSets.length; i++) {
	var iSet=quizStatusSets[i];
	for (var j=0; j<iSet.length; j++) oQuizStatus[iSet[j]]='';
}

function quizSetStatus(sProp, sValue){
	oQuizStatus[sProp]=sValue;
}

function quizStatusOk(){
	var ok=1;
	if (oQuizStatus.age>=65) ok=0;
	return ok;
}

function quizHidePage(){
	oDivText=getElement(sQuizIdText+iQuizPageN); oDivText.style.display='none';
	oDivInp=getElement(sQuizIdInputs+iQuizPageN); oDivInp.style.display='none';
}

function quizShowPage(){
	oDivText=getElement(sQuizIdText+iQuizPageN); oDivText.style.display='block';
	oDivInp=getElement(sQuizIdInputs+iQuizPageN); oDivInp.style.display='block';
	if (iQuizPageN==1) {
		oDivNext=getElement('quizNav'); oDivNext.style.display='block';
		oDivPic=getElement('quizPicture'); oDivPic.style.display='block';
	}
	else if (iQuizPageN==10) {
		oRadio=getFormElement('travel_a'); val=radioValue(oRadio);
		if (val==3) quizEnableCountries();
	}
	else if (iQuizPageN==11) {
		oDiv=getElement('quizNav'); oDiv.style.display='none';
	}
}
/*
*/
function quizChangePic(sPicFName, sElId){
	var oEl=getElement(sElId); oEl.innerHTML=imgTag(sPicFName);
}

function quizUpdatePic(){
	var sPic='';
	switch (iQuizPageN) {
	case 2:
		if (oQuizStatus['gender']=='male') {
			if (oQuizStatus['age']<iQuizAgeMid){
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='manyoungslim.jpg'; else sPic='manyoungfat.jpg';
			}
			else if (oQuizStatus['age']>=iQuizAgeOld){
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='manoldslim.jpg'; else sPic='manoldfat.jpg';
			}
			else {
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='manmidslim.jpg'; else sPic='manmidfat.jpg';
			}
		}
		else {
			if (oQuizStatus['age']<iQuizAgeMid){
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='womanyoungslim.jpg'; else sPic='womanyoungfat.jpg';
			}
			else if (oQuizStatus['age']>=iQuizAgeOld){
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='womanoldslim.jpg'; else sPic='womanoldfat.jpg';
			}
			else {
				if (oQuizStatus['bmis']<iQuizBMIFat) sPic='womanmidslim.jpg'; else sPic='womanmidfat.jpg';
			}
		}
		oEl=getElement('picTableTd'); oEl.style.backgroundImage='url(images/'+sPic+')';
		oEl=getElement('picHolder6'); oEl.innerHTML='&nbsp;';
		if (oQuizStatus['smoking']=='smoker') quizChangePic('cigarette.gif', 'picHolder5');
		break;
	case 3:
		if ((oQuizStatus['blood_pressure']==2) || (oQuizStatus['blood_pressure']==3)) {
			sPic=(oQuizStatus['blood_pressure']==2) ? 'bloodpressurepills.jpg':'bloodpressure.jpg';
			quizChangePic(sPic, 'picHolder3');
		}
		break;
	case 4:
		if (oQuizStatus['history']=='yes') {sPic='crutch.jpg'; quizChangePic(sPic, 'picHolder9');}
		break;
	case 5:
		if ((oQuizStatus['family_history_a']<4) || (oQuizStatus['family_history_b']<5) || (oQuizStatus['family_history_c']<3) || (oQuizStatus['family_history_d']<3) || (oQuizStatus['family_history_e']<3)) {sPic='doctor.jpg'; quizChangePic(sPic, 'picHolder11');}
		break;
	case 6:
		if (oQuizStatus['life_style_a']<4) {
			arr=['chemicals.gif', 'military.gif', 'mining.gif'];
			quizChangePic(arr[oQuizStatus['life_style_a']-1], 'picHolder6');
		}
		if (oQuizStatus['life_style_b']<8) {
			arr=['wheel.jpg', 'skydive.jpg', 'bungee.jpg', 'hangglide.jpg', 'rockclimbing.jpg', 'scuba.jpg', 'boxing.jpg'];
			quizChangePic(arr[oQuizStatus['life_style_b']-1], 'picHolder1');
		}
		break;
	case 7:
		sPic=(oQuizStatus['driving']>1)?'tickets.jpg':'notickets.jpg'; quizChangePic(sPic, 'picHolder2'); break;
	case 8:
		if (oQuizStatus['alcohol']>1) {
			arr=['wineglass.jpg', 'winebottle.jpg', 'wineglass.jpg'];
			quizChangePic(arr[oQuizStatus['alcohol']-2], 'picHolder4');
		}
		break;
	case 9:
		if (oQuizStatus['drug']==3) {sPic='bigpot.jpg'; quizChangePic(sPic, 'picHolder12');}
		break;
	case 10:
		arr=['USAflag.jpg', 'europeflag.jpg', 'worldflag.jpg'];
		quizChangePic(arr[oQuizStatus['travel_a']-1], 'picHolder8');
	}
}

function quizCheckInputs(){
	if (iQuizPageN==1) {
		oIn=getFormElement('age');
		if (oIn.value=='') return 'Please enter your age.';
		else if (isNaN(oIn.value) || (oIn.value<0)) return 'Invalid age!';
		else if (oIn.value>148) return 'Kidding, right?';
		else oQuizStatus['age']=oIn.value;
		if (bQuizResultOk && (oQuizStatus['age']>65)) bQuizResultOk=0;
		oIn=getFormElement('gender'); val=radioValue(oIn);
		if (!val) return 'Please select gender'; else oQuizStatus['gender']=val;
		oIn=getFormElement('smoking'); val=radioValue(oIn);
		if (!val) return 'Please select Smoker or Nonsmoker'; else oQuizStatus['smoking']=val;
		return '';
	}
	else if (iQuizPageN==2) {
		oIn=getFormElement('feet');
		if (isNaN(oIn.value)||(oIn.value<1)||(oIn.value>8)) return 'Please check feet field'; else oQuizStatus['feet']=oIn.value;
		oIn=getFormElement('inches');
		if ((oIn.value=='')||isNaN(oIn.value)||(oIn.value<0)||(oIn.value>11)) return 'Please check inches field'; else oQuizStatus['inches']=oIn.value;
		oIn=getFormElement('weight');
		if (isNaN(oIn.value)||(oIn.value<1)||(oIn.value>1000)) return 'Please check weight field'; else oQuizStatus['weight']=oIn.value;
		oIn=getFormElement('bmis');
		if ((!oIn.value) || isNaN(oIn.value)) {
			var h=(parseInt(oQuizStatus['feet'])+(parseInt(oQuizStatus['inches'])/12))/3.3, w=parseInt(oQuizStatus['weight'])/2.202;
			oQuizStatus['bmis']=Math.round(w/(h*h));
		}
		else oQuizStatus['bmis']=oIn.value;
		if (bQuizResultOk && (oQuizStatus['bmis']>39)) bQuizResultOk=0;
	}
	else if (iQuizPageN==3) {
		oIn=getFormElement('blood_pressure'); val=radioValue(oIn);
		if (!val) return 'Please select blood pressure'; else oQuizStatus['blood_pressure']=val;
		if (bQuizResultOk && (oQuizStatus['blood_pressure']==3)) bQuizResultOk=0;
	}
	else if (iQuizPageN==4) {
		oIn=getFormElement('history'); val=radioValue(oIn);
		if (!val) return 'Please select YES or NO'; else oQuizStatus['history']=val;
		if (bQuizResultOk && (oQuizStatus['history']=='yes')) bQuizResultOk=0;
	}
	else if (iQuizPageN==5) {
		oIn=getFormElement('family_history_a'); val=radioValue(oIn);
		if (!val) return 'Please select item in section A'; else oQuizStatus['family_history_a']=val;
		if (bQuizResultOk && ((oQuizStatus['family_history_a']==2)||(oQuizStatus['family_history_a']==3))) bQuizResultOk=0;
		oIn=getFormElement('family_history_b'); val=radioValue(oIn);
		if (!val) return 'Please select item in section B'; else oQuizStatus['family_history_b']=val;
		if (bQuizResultOk && (oQuizStatus['family_history_b']<5)) bQuizResultOk=0;
		oIn=getFormElement('family_history_c'); val=radioValue(oIn);
		if (!val) return 'Please select item in section C'; else oQuizStatus['family_history_c']=val;
		if (bQuizResultOk && (oQuizStatus['family_history_c']==2)) bQuizResultOk=0;
		oIn=getFormElement('family_history_d'); val=radioValue(oIn);
		if (!val) return 'Please select item in section D'; else oQuizStatus['family_history_d']=val;
		if (bQuizResultOk && (oQuizStatus['family_history_d']==2)) bQuizResultOk=0;
		oIn=getFormElement('family_history_e'); val=radioValue(oIn);
		if (!val) return 'Please select item in section E'; else oQuizStatus['family_history_e']=val;
		if (bQuizResultOk && (oQuizStatus['family_history_e']==2)) bQuizResultOk=0;
	}
	else if (iQuizPageN==6) {
		oIn=getFormElement('life_style_a'); val=radioValue(oIn);
		if (!val) return 'Please select item in section A'; else oQuizStatus['life_style_a']=val;
		if (bQuizResultOk && (oQuizStatus['life_style_a']<3)) bQuizResultOk=0;
		oIn=getFormElement('life_style_b'); val=radioValue(oIn);
		if (!val) return 'Please select item in section B'; else oQuizStatus['life_style_b']=val;
		if (bQuizResultOk && (oQuizStatus['life_style_b']==7)) bQuizResultOk=0;
	}
	else if (iQuizPageN==7) {
		oIn=getFormElement('driving'); val=radioValue(oIn);
		if (!val) return 'Please select'; else oQuizStatus['driving']=val;
		if (bQuizResultOk && (oQuizStatus['driving']>3)) bQuizResultOk=0;
	}
	else if (iQuizPageN==8) {
		oIn=getFormElement('alcohol'); val=radioValue(oIn);
		if (!val) return 'Please select'; else oQuizStatus['alcohol']=val;
		if (bQuizResultOk && (oQuizStatus['alcohol']==3)) bQuizResultOk=0;
	}
	else if (iQuizPageN==9) {
		oIn=getFormElement('drug'); val=radioValue(oIn);
		if (!val) return 'Please select'; else oQuizStatus['drug']=val;
		if (bQuizResultOk && (oQuizStatus['drug']==3)) bQuizResultOk=0;
	}
	else if (iQuizPageN==10) {
		oIn=getFormElement('travel_a'); val=radioValue(oIn);
		if (!val) return 'Please select'; else oQuizStatus['travel_a']=val;
		if (oQuizStatus['travel_a']==3) {
			oInCountry=getFormElement('travel_b');
			val=selectValue(oInCountry);
			if (val=='none') return 'Select Country'; else oQuizStatus['travel_b']=val;
			oInWeeks=getFormElement('travel_c');
			if ((oInWeeks.value=='') || isNaN(oInWeeks.value)) return 'Check Number of weeks';
			else {
				oQuizStatus['travel_c']=oInWeeks.value;
				if (bQuizResultOk && ((((oQuizStatus['travel_b']=='a')||(oQuizStatus['travel_b']=='b'))&&(oQuizStatus['travel_c']>8)) || (((oQuizStatus['travel_b']=='c')||(oQuizStatus['travel_b']=='d'))&&(oQuizStatus['travel_c']>2)))) {
					bQuizResultOk=0;
				}
			}
		}
		quizPrintResults();
	}
	return '';
}

function quizGoNext(){
	var sError=quizCheckInputs();
	if (sError==''){
		quizHidePage(); quizUpdatePic(); iQuizPageN++; quizShowPage();
	}
	else alert(sError);
}
/*
function quizGoBack(){
	if (iQuizPageN) {
		var statusSet=quizStatusSets[iQuizPageN];
		for (var i=0; i<statusSet.length; i++) oQuizStatus[statusSet[i]]='';
		quizHidePage();
		iQuizPageN--;
		quizUpdatePic();
		quizShowPage();
	}
}
*/
function quizEnableCountries(){
	var oEl=getFormElement('travel_b'); oEl.disabled=false;
	oEl=getFormElement('travel_c'); oEl.disabled=false;
	oEl=getElement('quizDestinations'); oEl.style.display='block';
}

function quizDisableCountries(){
	var oEl=getFormElement('travel_b'); oEl.disabled=true;
	oEl=getFormElement('travel_c'); oEl.disabled=true;
	oEl=getElement('quizDestinations'); oEl.style.display='none';
}

function quizPrintResults(){
	var sOk='<p class="hd2" align="center"><span class="darkblueText">Eligible</span></p>', sDecline='<p class="redText">Contact us to discuss your situation in more detail.<br><a href="index.php" class="redText">Try our Group C.I. Insurance Test!</a></p>';
	oEl=getElement('quizResults'); oEl.innerHTML=(bQuizResultOk)?sOk:sDecline;
}

//


function attachOnLoad(fHdlr){
	if (self.attachEvent) self.attachEvent('onload', fHdlr);
	else if (self.addEventListener) self.addEventListener('load', fHdlr, 0);
	else self.onload=fHdlr;
}

attachOnLoad(quizShowPage);

/*
BMI Calculator
By SOS Consulting (sosconsulting@consultant.com)
*/
function BMI(form){
	inft = form.inches.value / 12;
	height = form.feet.value *1 + inft;
	heightm = height / 3.3;
	weightkg = form.weight.value / 2.202;
	heightms = heightm * heightm;
	form.bmis.value = (heightms > 0 ? Math.round(weightkg / heightms) : "OOPS!");
}
//-----------------------
// debug helper
function testStatus(){
	var s='';
	for (sProp in oQuizStatus) {
		s+=sProp+' = '+oQuizStatus[sProp]+'\n';
	}
	s+='bQuizResultOk = '+bQuizResultOk;
	alert(s);
}
