
//adv_currentstate
// for inventorypos=<integer that is lower than numeber of items with invt set
// for languageid =english1 or german2
// currentlocationx, currentlocationy, currentlocationz, currentdirection
// curentactionid, currentitemid, currentitemid2
// currenttextlinestringid
var  adv_currentstate=new Object();
 adv_currentstate.maxviewitems=3;
 adv_currentstate.maxinvitems=7;//maximum number of items visible in the inventory
 adv_currentstate.maxitems=28;
 adv_currentstate.maxnumberofmappings=28;
 adv_currentstate.maxnumberoflocations=7;//currently 11 because the story was cut in half
adv_currentstate.maxrandomitems=4;
 adv_currentstate.inventorypos=1;
 adv_currentstate.languageid =1;
adv_currentstate.currentlocationx=1;
adv_currentstate.currentlocationy=1;
adv_currentstate.currentlocationz=1;
adv_currentstate.currentdirection=2;
adv_currentstate.currentactionid=1 ;
adv_currentstate.currentitemid =0;
adv_currentstate.currentitemid2=0;
adv_currentstate.currenttextlinestringid=0;
adv_currentstate.currentrandompieceid=0;


var locationpos= new Array(adv_currentstate.maxnumberoflocations);// 3 is currently the maximum number of items.
locationpos[0]=new Object();locationpos[0].locationcorrx=0;
locationpos[0].locationcorry=0;locationpos[0].locationcorrz=0;locationpos[0].directionid=0;
locationpos[6]=new Object();   locationpos[6].locationcorrx=1;locationpos[6].locationcorry=2;
locationpos[6].locationcorrz=1;locationpos[6].directionid=3;
locationpos[2]=new Object();   locationpos[2].locationcorrx=1;locationpos[2].locationcorry=1;
locationpos[2].locationcorrz=1;locationpos[2].directionid=2;
locationpos[3]=new Object();   locationpos[3].locationcorrx=1;locationpos[3].locationcorry=1;
locationpos[3].locationcorrz=1;locationpos[3].directionid=1;
locationpos[4]=new Object();   locationpos[4].locationcorrx=2;locationpos[4].locationcorry=1;
locationpos[4].locationcorrz=1;locationpos[4].directionid=3;
locationpos[5]=new Object();   locationpos[5].locationcorrx=4;locationpos[5].locationcorry=1;
locationpos[5].locationcorrz=1;locationpos[5].directionid=3;
locationpos[1]=new Object();   locationpos[1].locationcorrx=fieldsizex;locationpos[1].locationcorry=fieldsizey;
locationpos[1].locationcorrz=2;locationpos[1].directionid=3;




//iterate over whole array because tehre are only max 10 items right now.
//sorted by locationid, locationcoorx, locationcoory, locationcoorz and the locationdirection (1-4)
//imageid should be used for left forward rightspace and inventoryview ( keep it equal to itemid??)
//visibility contains: show 
//the t_adv_items is being initialized inthe beginning of the game


//adv_items
//imageid and item id is equal to record number
//itemid(=recordnumber?) , locationcoorx, locationcoory, locationcoorz, directionid, imageid

//testdata XXX hardcoded item1 is currently on start and item 2 is end
//directionid 1 south 2 west 3 north 4east Attention that is different that in the moving 
var adv_items= new Array(adv_currentstate.maxitems);// 3 is currently the maximum number of items.
for (n=0;n<adv_currentstate.maxitems;n++) {
	adv_items[n]=new Object();   adv_items[n].use_with_flag=1;adv_items[n].shortnamestringid=6;
	adv_items[n].locationid=0;
}

adv_items[0].locationid=0; adv_items[0].shortnamestringid=0;adv_items[0].use_with_flag=0;
adv_items[1].locationid=6;   adv_items[1].shortnamestringid=20;adv_items[1].use_with_flag=1;
adv_items[2].locationid=2;   adv_items[2].shortnamestringid=21;adv_items[2].use_with_flag=1;
adv_items[3].use_with_flag=1;adv_items[3].shortnamestringid=22;adv_items[3].locationid=2;
adv_items[4].use_with_flag=1;adv_items[4].shortnamestringid=23;adv_items[4].locationid=3;
adv_items[5].use_with_flag=1;adv_items[5].shortnamestringid=24;adv_items[5].locationid=3;
adv_items[6].use_with_flag=1;adv_items[6].shortnamestringid=25;adv_items[6].locationid=4;
adv_items[7].use_with_flag=1;adv_items[7].shortnamestringid=26;adv_items[7].locationid=4;
adv_items[8].use_with_flag=1;adv_items[8].shortnamestringid=27;adv_items[8].locationid=5;
adv_items[9].use_with_flag=1;adv_items[9].shortnamestringid=28;adv_items[9].locationid=5;
adv_items[10].use_with_flag=1;adv_items[10].shortnamestringid=29;adv_items[10].locationid=1;
adv_items[27].use_with_flag=1;adv_items[27].shortnamestringid=30;adv_items[27].locationid=1;

//refill the other items with dummy values

//sorted by adv_strings
//t_adv_strings
//ui_stringid,  stringcontentenglish, stringcontentgerman, nextstringid
//string id is the recordid

var adv_strings= new Array(32);// twenty is currently the maximum number of strings
 adv_strings[0]=new Object();
adv_strings[0].stringcontentenglish="";
adv_strings[0].stringcontentgerman="";
adv_strings[0].nextstringid=0;
 adv_strings[1]=new Object();
adv_strings[1].stringcontentenglish="Just dynamite.";
adv_strings[1].stringcontentgerman="Dynamitstangen";
adv_strings[1].nextstringid=2;
 adv_strings[2]=new Object();
adv_strings[2].stringcontentenglish="It is a solid brick wall.";
adv_strings[2].stringcontentgerman="Eine feste Ziegelwand.";
adv_strings[2].nextstringid=0;
 adv_strings[3]=new Object();
adv_strings[3].stringcontentenglish="An old key. I wonder for which door.";
adv_strings[3].stringcontentgerman="Ein alter Türschluessel.";
adv_strings[3].nextstringid=0;
 adv_strings[4]=new Object();
adv_strings[4].stringcontentenglish="A locked door that can be openend with a key";
adv_strings[4].stringcontentgerman="Ein abgeschlossene Tür.";
adv_strings[4].nextstringid=0;
 adv_strings[5]=new Object();
adv_strings[5].stringcontentenglish="an idcard for John D.";
adv_strings[5].stringcontentgerman="Eine Idkarte von John D.";
adv_strings[5].nextstringid=0;
 adv_strings[6]=new Object();
adv_strings[6].stringcontentenglish="A lock door that can only be opend with an id card";
adv_strings[6].stringcontentgerman="Eine Tür mit einem Magnetkartenschloss";
adv_strings[6].nextstringid=0;
 adv_strings[7]=new Object();
adv_strings[7].stringcontentenglish=" with ";
adv_strings[7].stringcontentgerman=" mit ";
adv_strings[7].nextstringid=0;
 adv_strings[8]=new Object();
adv_strings[8].stringcontentenglish="I see nothing special.";
adv_strings[8].stringcontentgerman=" Ich seh nichts besonderes.";
adv_strings[8].nextstringid=0;
 adv_strings[9]=new Object();
adv_strings[9].stringcontentenglish="I can not pick that up.";
adv_strings[9].stringcontentgerman="Das kann ich noicht nehmen.";
adv_strings[9].nextstringid=0;
adv_strings[10]=new Object();
adv_strings[10].stringcontentenglish="That does not work.";
adv_strings[10].stringcontentgerman="Das funktioniert nicht.";
adv_strings[10].nextstringid=0;
adv_strings[11]=new Object();
adv_strings[11].stringcontentenglish="Look at";
adv_strings[11].stringcontentgerman="Betrachte";
adv_strings[11].nextstringid=0;
adv_strings[12]=new Object();
adv_strings[12].stringcontentenglish="Pick up";
adv_strings[12].stringcontentgerman="Nimm";
adv_strings[12].nextstringid=0;
adv_strings[13]=new Object();
adv_strings[13].stringcontentenglish="Use";
adv_strings[13].stringcontentgerman="Benutze";
adv_strings[13].nextstringid=0;
adv_strings[14]=new Object();
adv_strings[14].stringcontentenglish="A new small shovel.";
adv_strings[14].stringcontentgerman="Eine neue kleine Schaufel.";
adv_strings[14].nextstringid=0;
adv_strings[15]=new Object();
adv_strings[15].stringcontentenglish="too much sand to be moved by hand";
adv_strings[15].stringcontentgerman="Viel Sand.";
adv_strings[15].nextstringid=0;
adv_strings[16]=new Object();
adv_strings[16].stringcontentenglish="A crowbar. always useful if nothing else works.";
adv_strings[16].stringcontentgerman="Eine Brechstange. So etwas ist immer nützlich.";
adv_strings[16].nextstringid=0;
adv_strings[17]=new Object();
adv_strings[17].stringcontentenglish="A locked door, but I doubt that this old lock could be opened...";
adv_strings[17].stringcontentgerman="Eine verschlossene Tür, aber ich glaube nicht dass es aufschliessbar ist ...";
adv_strings[17].nextstringid=18;
adv_strings[18]=new Object();
adv_strings[18].stringcontentenglish="... Maybe break the chain?";
adv_strings[18].stringcontentgerman="... Vielleicht kann man die Kette zerbrechen.";
adv_strings[18].nextstringid=0;
adv_strings[19]=new Object();
adv_strings[19].stringcontentenglish="Congratulation! You found the exit";
adv_strings[19].stringcontentgerman="Glückwunsch. Das ist der Ausgang.";
adv_strings[19].nextstringid=0;

adv_strings[20]=new Object();
adv_strings[20].stringcontentenglish="dynamite";
adv_strings[20].stringcontentgerman="Dynamite";
adv_strings[20].nextstringid=0;
adv_strings[21]=new Object();
adv_strings[21].stringcontentenglish="brickwall";
adv_strings[21].stringcontentgerman="Ziegelwand";
adv_strings[21].nextstringid=0;
adv_strings[22]=new Object();
adv_strings[22].stringcontentenglish="key";
adv_strings[22].stringcontentgerman="Schlüssel";
adv_strings[22].nextstringid=0;
adv_strings[23]=new Object();
adv_strings[23].stringcontentenglish="locked door";
adv_strings[23].stringcontentgerman="Tür";
adv_strings[23].nextstringid=0;
adv_strings[24]=new Object();
adv_strings[24].stringcontentenglish="ID card";
adv_strings[24].stringcontentgerman="ID-Karte";
adv_strings[24].nextstringid=0;
adv_strings[25]=new Object();
adv_strings[25].stringcontentenglish="card reader";
adv_strings[25].stringcontentgerman="Kartenleser";
adv_strings[25].nextstringid=0;
adv_strings[26]=new Object();
adv_strings[26].stringcontentenglish="shovel";
adv_strings[26].stringcontentgerman="Schaufel";
adv_strings[26].nextstringid=0;
adv_strings[27]=new Object();
adv_strings[27].stringcontentenglish="sand";
adv_strings[27].stringcontentgerman="Sand";
adv_strings[27].nextstringid=0;
adv_strings[28]=new Object();
adv_strings[28].stringcontentenglish="crowbar";
adv_strings[28].stringcontentgerman="Brechstange";
adv_strings[28].nextstringid=0;
adv_strings[29]=new Object();
adv_strings[29].stringcontentenglish="locked chain on the door";
adv_strings[29].stringcontentgerman="Kettenschloss an der Tür";
adv_strings[29].nextstringid=0;
adv_strings[30]=new Object();
adv_strings[30].stringcontentenglish="exit";
adv_strings[30].stringcontentgerman="Ausgang.";
adv_strings[30].nextstringid=0;
adv_strings[31]=new Object();

adv_strings[31].stringcontentenglish="Congratulation You found the exit";
adv_strings[31].stringcontentgerman="Glückwunsch du hast den Ausgang gefunden.";
adv_strings[31].nextstringid=0;

//t_adv_actionmappings
//ui_actionid , ui_itemid, ui_itemid2, ui_actionscriptid
//look 1; pick1 ;look 2; pick 2; use 1 with 2
//look=1 pick =2 use_=3
var adv_actionmappings= new Array(adv_currentstate.maxnumberofmappings);

adv_actionmappings[1]=[1,1,0,1 ];
adv_actionmappings[2]=[2,1,0,2 ];
adv_actionmappings[3]=[1,2,0,4 ];
adv_actionmappings[4]=[2,3,0,3 ];
adv_actionmappings[5]=[3,1,2,5 ];
adv_actionmappings[6]=[3,2,1,5 ];
adv_actionmappings[7]=[1,3,0,7 ];
adv_actionmappings[8]=[2,3,0,8 ];
adv_actionmappings[9]=[3,3,4,9 ];
adv_actionmappings[10]=[3,4,3,9 ];
adv_actionmappings[11]=[1,4,0,12 ];
adv_actionmappings[12]=[1,5,0,13 ];
adv_actionmappings[13]=[2,5,0,15 ];
adv_actionmappings[14]=[3,5,6,16 ];
adv_actionmappings[15]=[3,6,5,16 ];
adv_actionmappings[16]=[1,6,0,14 ];
adv_actionmappings[17]=[1,7,0,19 ];
adv_actionmappings[18]=[2,7,0,20 ];
adv_actionmappings[19]=[1,8,0,21 ];
adv_actionmappings[20]=[3,8,7,22 ];
adv_actionmappings[21]=[3,7,8,22 ];
adv_actionmappings[22]=[1,9,0,24 ];
adv_actionmappings[23]=[2,9,0,25 ];
adv_actionmappings[24]=[1,10,0,26 ];
adv_actionmappings[25]=[3,9,10,27 ];
adv_actionmappings[26]=[3,10,9,27 ];

adv_actionmappings[27]=[1,27,0,29 ];

//t_adv_actionscripts
//ui_actionscriptid(=recordid), c_actionfunction, c_actionparameter, ui_nextactionscriptid, ui_otheractionscriptid

var adv_actionscripts= new Array(32);
adv_actionscripts[1]=['showtext',1,0,0 ]
//adv_actionscripts[2]=['hideiteminview',1,3,0 ]
//adv_actionscripts[3]=['showitemininventory',1,0,0 ]
adv_actionscripts[2]=['pickupitem',1,0,0 ];
adv_actionscripts[3]=['pickupitem',3,0,0 ];
adv_actionscripts[4]=['showtext',2,0,0 ];
adv_actionscripts[5]=['hideiteminview',2,6,0 ];
//adv_actionscripts[6]=['showrandomisediteminview',3,30,0 ];
adv_actionscripts[6]=['showrandomisediteminviewinsteadof',2,30,0 ];
adv_actionscripts[7]=['showtext',3,0,0 ];
adv_actionscripts[8]=['pickupitem',3,0,0 ]
adv_actionscripts[9]=['hideiteminview',4,10,0 ];
//adv_actionscripts[10]=['showrandomisediteminview',5,11,0 ];
adv_actionscripts[10]=['showrandomisediteminviewinsteadof',4,11,0 ];
adv_actionscripts[11]=['hideitemeverywhere',3,0,0 ];
adv_actionscripts[12]=['showtext',4,0,0 ];
adv_actionscripts[13]=['showtext',5,0,0 ];
adv_actionscripts[14]=['showtext',6,0,0 ];
adv_actionscripts[15]=['pickupitem',5,0,0 ]
adv_actionscripts[16]=['hideitemeverywhere',5,17,0 ];
//adv_actionscripts[17]=['showrandomisediteminview',7,18,0 ];
adv_actionscripts[17]=['showrandomisediteminviewinsteadof',6,18,0 ];
adv_actionscripts[18]=['hideitemeverywhere',6,0,0 ];
adv_actionscripts[19]=['showtext',14,0,0 ];
adv_actionscripts[20]=['pickupitem',7,0,0 ];
adv_actionscripts[21]=['showtext',15,0,0 ];
adv_actionscripts[22]=['hideitemeverywhere',8,23,0 ];
//adv_actionscripts[23]=['showrandomisediteminview',9,0,0 ];
adv_actionscripts[23]=['showrandomisediteminviewinsteadof',8,0,0 ];
adv_actionscripts[24]=['showtext',16,0,0 ];
adv_actionscripts[25]=['pickupitem',9,0,0 ];
adv_actionscripts[26]=['showtext',17,0,0 ];
adv_actionscripts[27]=['hideitemeverywhere',10,28,0 ];
adv_actionscripts[28]=['showiteminview',27,31,0 ];//shortcut in story
adv_actionscripts[29]=['showtext',19,0,0 ];
adv_actionscripts[30]=['hideitemeverywhere',1,0,0 ];
adv_actionscripts[31]=['showtext',31,0,0 ];

//`t_adv_actions` single array starting at 1 
var adv_actions =new Array(9);
adv_actions[1]=11;// 'look at';
adv_actions[2]=12;// 'pick up';
adv_actions[3]=13;// 'use';
//adv_actions[4]= 'use with';

//t_adv_actions[5]= 'walk to';
//t_adv_actions[6]= 'push';
//t_adv_actions[7]= 'pull';
//t_adv_actions[8]= 'move';



//adv_currentitemstate stores for the following variabels a value
// for itemstatus (item<id> as key with value=show|hide|invt|both
// intitial status is
 var adv_currentitemstate =new Array(adv_currentstate.maxitems);
adv_currentitemstate[1]='show';
adv_currentitemstate[2]='show';
adv_currentitemstate[3]='hide';
adv_currentitemstate[4]='show';
adv_currentitemstate[5]='hide';
adv_currentitemstate[6]='show';
adv_currentitemstate[7]='hide';
adv_currentitemstate[8]='show';
adv_currentitemstate[9]='hide';
adv_currentitemstate[10]='show';
adv_currentitemstate[11]='hide';
adv_currentitemstate[12]='show';
adv_currentitemstate[13]='hide';
adv_currentitemstate[14]='show';
adv_currentitemstate[15]='hide';
adv_currentitemstate[16]='show';
adv_currentitemstate[17]='show';
adv_currentitemstate[18]='hide';
adv_currentitemstate[19]='show';
adv_currentitemstate[20]='hide';
adv_currentitemstate[21]='show';
adv_currentitemstate[22]='hide';
adv_currentitemstate[23]='show';
adv_currentitemstate[24]='hide';
adv_currentitemstate[25]='show';
adv_currentitemstate[26]='hide';
adv_currentitemstate[27]='hide';


var adv_viewdiv =new Array(3);//currently only three because move can not be dispalyed
//  filled by showall
adv_viewdiv[0]=0;
adv_viewdiv[1]=0;
adv_viewdiv[2]=0;		  
	

// is being set by move to and from inventory 
var adv_inventorydiv =new Array(  adv_currentstate.maxitems);
for (i=0;i< adv_currentstate.maxitems;i++) adv_inventorydiv[i]=0;

var randompieces= new Array(adv_currentstate.maxrandomitems);
	//    0,1,2,3	
randompieces=[3,5,7,9];