
// GAME.JS: Llibreria de funcions JavaScript

// Per:  Maurice E.Muller Foundation Website
// De:   Francesc Benavent (www.asterisc.com)
// Data: Setembre 1999 - Octubre 1999


var Game_Exists="0";
var Game_Code="?????";
var Game_FinalDigit="?";
var Game_Digit="?";
var Game_Level="?";
var Game_Mode="?";
var Game_State="?";
var Game_TryAnswerFlag="0";


// --------------------------------------------------------- TEST
function Game_Test()
{
  alert("Game_Test(): OK");
}


// --------------------------------------------------------- SET LEVEL
function Game_SetLevel() {

  var file="shared/lev"+Game_Level+Game_State+".gif";
  if (document.images) { eval("document.level.src='"+file+"'"); }
}


// --------------------------------------------------------- CANCEL
function Game_Cancel() {
  var c=confirm("Do you want to start a new game?");

  if (c==true) { window.location.href="game.php?GID="+Game_GID; }
}


// --------------------------------------------------------- SCORE
function Game_Score() {
  var getval="?DIGIT="+Game_Digit+"&STATE="+Game_State;
  var zoomWindow = window.open("score.php"+getval,"SCORE","width=380,height=440,scrollbars=no,resizable=no");
}


// --------------------------------------------------------- TRY ANSWER
function Game_TryAnswer(ans) {
//50

  if (Game_Loaded!=true) { return; }
  if (Game_TryAnswerFlag=='1') { return; }

  Game_TryAnswerFlag="1";
  var solution=Game_Code.substring(Game_Digit-1,Game_Digit);

  if (solution==ans) 
	      { Game_GoodAnswer(); }
  else 	{ Game_BadAnswer(); }
}

// --------------------------------------------------------- GOOD ANSWER
function Game_GoodAnswer(ans) {

//  alert ("Your answer IS correct. ("+solution+")");

  setTimeout("Game_PlayFlash(2)",1);
  if (document.images) 
	{ setTimeout("document.result.src='shared/rright.gif'",2000); 
	  setTimeout("Game_PlayFlash(1)",2000);
	}
  setTimeout("Game_Solution()",2500);
  setTimeout("Game_JumpNext()",3000); // 4500 before
}


// --------------------------------------------------------- BAD ANSWER
function Game_BadAnswer(ans) {

//  alert ("Your answer IS NOT correct. ("+solution+")"); 

  setTimeout("Game_PlayFlash(3)",1);
  if (document.images) 
	{ setTimeout("document.result.src='shared/rerror.gif'",2000); 
	  setTimeout("Game_PlayFlash(1)",2000);
	  setTimeout("Game_SetLevel()",2000);
	}
  setTimeout("Game_Solution()",2500);
  setTimeout("Game_Eliminated()",3500);
}

// --------------------------------------------------------- SOLUTION
function Game_Solution() {

  var d=Game_Code.substring(Game_Digit-1,Game_Digit);
  var c='b'; if ((Game_Digit==3) || (Game_Digit==4)) { c='c'; }

  var img_name="digit"+Game_Digit;
  var img_source="../../shared/digits/"+d.toLowerCase()+c+"b.gif";

//100
  if (document.images) 
  { setTimeout("Game_PlayFlash(1)",1);
    eval("document."+img_name+".src='"+img_source+"'"); }

}

// --------------------------------------------------------- JUMP NEXT
function Game_JumpNext() {

  var next_url="index.htm";
  
  document.FORM.submit();
  return;

  if (Game_Digit==Game_FinalDigit) { Game_Digit=6; }
  else if ((Game_Digit>0) && (Game_Level<6)) { Game_Digit++; }

  if (Game_Digit==6) { next_url="final.htm"; }
  else { next_url="game"+Game_Digit+".htm"; }

//alert("Next URL: "+next_url);

  Game_Save();
  window.location.href=next_url;
}

// --------------------------------------------------------- ELIMINATED
function Game_Eliminated() {


  if (Game_State=="1") 
        { var c=confirm("Sorry, your answer was wrong.\n\nYou can continue playing but this game doesn't point to your score,\nDo you want to abort and start a new game?"); }
  else  { var c=false; }
  
  if (c==true) 
  { 
        window.location.href="game.php?GID="+Game_GID; 
  }
  else 
  {     Game_State=0;
        document.FORM.STATE.value="0";
        Game_JumpNext(); 
  }

//  alert("Sorry, your answer was wrong.\n\nYou can continue playing but this game doesn't point to your score,\nif you want to start a new game press the cancel option.");
}


// --------------------------------------------------------- PLAY SOUND
function Game_PlayFlash(frame) {

  var ns4 = (document.layers)? true:false
  var ie4 = (document.all)? true:false
  var ns3 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) ==3 ) ? true:false

  if (navigator.appName.indexOf("Microsoft") != -1)
  { window["AUDIO"].GotoFrame(frame); }
  else
  { document["AUDIO"].GotoFrame(frame); }
}

// --------------------------------------------------------- LOAD
function Game_Load()
{
  var cookie_name="TrainningGameGame";
  var cookie_value=Cookie_Get(cookie_name);
//alert ("LOAD: "+cookie_name+" = "+cookie_value);

  if (cookie_value == null)
  { Game_Exists="0";
    Game_Code="?????";
    Game_FinalDigit="?";
    Game_Digit="?";
    Game_Level="?";
    Game_Mode="?";
    Game_State="?";
  }
  else
  { 
// value="L M S F D CCCCC"
    Game_Exists="1";
    Game_Level=cookie_value.substring(0,1);
    Game_Mode=cookie_value.substring(1,2);
    Game_State=cookie_value.substring(2,3);
    Game_FinalDigit=cookie_value.substring(3,4);
    Game_Digit=cookie_value.substring(4,5);
    Game_Code=cookie_value.substring(5,10);
  }
}

// --------------------------------------------------------- SAVE
function Game_Save()
{
  var cookie_name="TrainningGameGame";
  var cookie_value="";

// value="L M S F D CCCCC"
  cookie_value=Game_Level+Game_Mode+Game_State+Game_FinalDigit+Game_Digit+Game_Code;

//alert ("SAVE: "+cookie_name+" = "+cookie_value);
  Cookie_Set(cookie_name,cookie_value,null,"/",null,false);


}


// --------------------------------------------------------- FUNCIONS GENERIQUES

function Navigate_TurnOn(name,file) {
  if (document.images) { eval("document."+name+".src='"+file+"1.gif';"); }
  Navigate_Status('');
}

function Navigate_TurnOff(name,file) {
  if (document.images) { eval("document."+name+".src='"+file+"0.gif';"); }
  Navigate_Status('');
}


