// JavaScript Document by Erich Luedtke :: 5-21-07


 
 	var curItem = 0;
	var maxItem = 0;
	var nextToLoad = 0;
	var answers = new Array(6);
	var loadLock = 0;
	var shaftType = 1; //1-wood 2-iron
	
	function showPhilosophy(){
		new Ajax.Updater('philosophyText', 'info.php', {
			parameters:	{ info: 'philosophy' },
			onComplete: function(){
				Effect.Appear('philosophy', {
					from:0.0,
					to: 0.9,
					duration: 0.2
				});
				Effect.Appear('coverAll', {
					from:0.0,
					to: 0.2,
					duration: 1.0
				});				
 			}
		});	


	}
	
	function closePhilosophy(){
		Effect.Fade('coverAll', {
			from:0.2,
			to: 0.0,
			duration: 0.2
		});
		Effect.Fade('philosophy', {
			from:0.9,
			to: 0.0,
			duration: 0.2
		});
	}
	
	function showMaterials(){
		new Ajax.Updater('materialsText', 'info.php', {
			parameters:	{ info: 'materials' },
			onComplete: function(){
			Effect.Appear('materials', {
				from:0.0,
				to: 0.9,
				duration: 0.2
			});
			Effect.Appear('coverAll', {
				from:0.0,
				to: 0.2,
				duration: 1.0
			});			
 			}
		});		


	}
	
	function closeMaterials(){
		Effect.Fade('coverAll', {
			from:0.2,
			to: 0.0,
			duration: 0.2
		});
		Effect.Fade('materials', {
			from:0.9,
			to: 0.0,
			duration: 0.2
		});
	}
	
	function loadPanels(){
		new Effect.Appear ( 'statusarea', {
			duration: 0.5
		});
		new Effect.Fade ( 'introScreen', {
			duration: 0.2
		});
		
		new Effect.Appear('sidebarContainer', {
				duration: 0.0
		});
		new Effect.Appear( 'sidebar', {
				duration: 0.2,
				queue: 'end'
		});

		new Effect.Appear( 'questionLoader', {
				duration: 0.2,
				queue: 'end'
		});
		new Effect.Appear( 'infoContainer', {
				duration: 0.2,
				queue: 'end'
		});
		loadSpecific(1);
	
	}
	
	function transitionTest(){
	
		
		new Effect.Fade('questionBox', {
			duration: 0.7,
			scope:'qbox'
		});

		
		new Effect.Morph('questionContainer', {
 		 style:'width:5px; margin: 0 0 0 695px; background:#586979; ',
 		 duration:0.4,
		 scope: 'qbox',
		 queue: 'end'
		});
	
		new Effect.Morph('questionContainer', {
 		 style:'margin: 0 0 0 0px;',
 		 duration:0.0,
		 scope: 'qbox',
		 queue: 'end',
		 afterFinish: loadNext
		});
		
		new Effect.Morph('questionContainer', {
 		 style:'width:700px; background:#94969a;',
 		 duration:0.4,
		 scope: 'qbox',
		 queue: 'end'
		});		


	}
	
	
	function doCalculation(){
		new Effect.Fade('infoContainer', {
 		 duration:0.2,
		 scope: 'final',
		 queue: 'end'
		});
		new Effect.Morph('questionContainer', {
 		 style:'height: 500px; ',
 		 duration:1.0,
		 scope: 'final',
		 queue: 'end'
		});
		unSetCurrent(curItem);
		scaleProgress(curItem, 7);
		curItem = 7;
		$('pageNumber').innerHTML = 'Complete';
		new Ajax.Updater('shaftFinal', 'shafts.php', {
			parameters:	{ a1: answers[1], a2: answers[2], a3: answers[3], a4: answers[4], a5: answers[5], a6: answers[6] },
			evalScripts: true,
			onComplete: function(){
    			new Effect.Appear('shaftFinal', {
					duration: 0.2,
					scope: 'abox',
		 			queue: 'end'
		 		});	
				loadLock = 0;
 			}
		});
	}
	
	
	function setAnswerText(questionNum, textValue){
		$('item' + questionNum + 'selection').innerHTML = textValue;
	}
	
	
	function selectAnswer(questionNum, inNum, textValue){
		if(loadLock == 1) return; //don't do this if we are already
		
		
		if(questionNum > maxItem) maxItem = questionNum;
		
		/* set answer value */
		answers[questionNum] = inNum;
		
		if(inNum > 7) inNum = 1; //slider question
		
		loadLock = 1;
		
		if(questionNum == '1'){
			shaftType = inNum;
		}
		
		new Effect.Opacity('answer'+inNum, {duration:0, from:1.0, to:0.9, scope: 'abox'});
		new Effect.Morph('answer'+inNum, {
 		 style:'background:#fff;',
 		 duration:0,
		 scope: 'abox',
		 queue: 'end'
		});

		new Effect.Opacity('answer'+inNum, {duration:0.2, from:0.9, to:0.5, scope: 'abox', queue: 'end'});
		new Effect.Morph('answer'+inNum, {
 		 style:'background:#f8ca10;',
 		 duration:0.2,
		 scope: 'abox',
		 queue: 'end'
		});
	

		
		
		setAnswerText(questionNum, textValue);
		
		new Effect.Fade('infoBox', {
			duration: 0.2,
			scope: 'infobox',
			queue: 'end'
		});	
		
		if(maxItem >= 6) {
			new Effect.Fade('questionBox', {
				duration: 0.2,
				scope: 'abox',
				queue: 'end',
				afterFinish: doCalculation
			});
	
			return true;
		}			

      new Effect.Fade('questionBox', {
			duration: 0.2,
			scope: 'abox',
		 	queue: 'end',
			afterFinish: loadNext
		});
		


	//transitionTest();

		nextToLoad = maxItem + 1;
	}
	
	function loadNext(){
		new Ajax.Updater('questionBox', 'question.php', {
			parameters:	{ question: nextToLoad, shafttype: shaftType },
			evalScripts: true,
			onComplete: function(){
    			new Effect.Appear('questionBox', {
					duration: 0.2,
					scope: 'abox',
		 			queue: 'end'
		 		});	
				/*setCurrent(nextToLoad);*/
				loadLock = 0;
 			}
		});
		
		new Ajax.Updater('infoBox', 'info.php', {
			parameters:	{ question: nextToLoad, shafttype: shaftType },
			evalScripts: true,
			onComplete: function(){
				new Effect.Appear('infoBox', {
					duration: 0.5,
					scope: 'infobox',
		 			queue: 'front'
		 		});	
 			}
		});
		

	}
	
	function loadSpecific(inNum){
		nextToLoad = inNum;
	   if(curItem > 6){
			new Effect.Fade('shaftFinal', {
					duration: 0.2,
					scope: 'backin'
		 		});	
			new Effect.Morph('questionContainer', {
					style:'height: 240px;',
 		 			duration:0.4,
					scope: 'backin',
		 			queue: 'end'
		 		});	
			new Effect.Appear('infoContainer', {
					duration: 0.2,
					scope: 'backin',
		 			queue: 'end',
					afterFinish: loadNext
		 		});		
		} else {
			
			loadNext();
		}
	}
	
	function scaleProgress(from, to){ /* 7 steps here */
		percentage = to;  //from - to * (515 / 7);

		if(from > 0){
			percentage = to / from * 100;
		} else {
			percentage = 515 / 7 * to * 100;
		}
		new Effect.Scale('statusJuice', percentage, {
			scaleX: true ,
			scaleY: false ,
			scaleContent: false
		
		});
	}
	
	function setCurrent(inNum){
		unSetCurrent(curItem);
		new Effect.Morph('item'+inNum,{
 		 style:'background:#6d706e; border: 1px solid #000;',
 		 duration:0.4
		});
		
		new Effect.Morph('item'+inNum+'title',{
 		 style:'color:#323230; ',
 		 duration:0.4
		});
		
		new Effect.Fade('item'+inNum+'selection', {
			duration:0.1
		});
		

		new Effect.Fade('item'+inNum+'change', {
 		 duration:0.1,
		
		 scope: 'item'+inNum+'end',
		 limit: 1
		});

		new Effect.Appear('item'+inNum+'arrow', {
 		 duration:1.0,
		 queue: 'end',
		 scope: 'item'+inNum+'end',
		 limit: 1
		});	
		
		scaleProgress(curItem, inNum);
		$('pageNumber').innerHTML = "Step "+ inNum + " of 6"
				
		curItem = inNum;
					
	}
	
	function unSetCurrent(lastItem){
		if(lastItem && lastItem < 7){
			new Effect.Morph('item'+lastItem,{
			 style:'background:#4e5152; border: 1px solid #000;',
			 duration:0.4
			});
			
			new Effect.Morph('item'+lastItem+'title',{
			 style:'color:#807f7f; ',
			 duration:0.4
			});
			
			new Effect.Appear('item'+lastItem+'selection', {
				duration:0.1
			});


			
			new Effect.Fade('item'+lastItem+'arrow', {
			 duration:0.1,
			 queue: 'end',
			 scope: 'item'+lastItem+'end',
			 limit: 1 	 
			});
			
			new Effect.Appear('item'+lastItem+'change', {
			 duration:0.1,
			 queue: 'end',
			 scope: 'item'+lastItem+'end',
			 limit: 1
			});
		
		}
	}
	
 	function loadIntro(){
		Effect.Appear('introScreen');
	
	}

