cardstatus = new Array(81);
cardstart = 0;
cardselected = false;
cardidx = 0;
talon = new Array(78);
picture = new Array(cards);
cardimg = new Array(cards);
preload = new Array(cards);
cardvis = new Array(cards);
ls = new Array(cards);
lsstat = new Array(cards);
lsflag = 0;
lsext=".gif";

carddesc = new Array(
	"text1","text2","text3","text4","text5","text6","text7","text8","text9",
	"text10","text11","text12","text13","text14","text15","text16","text17","text18",
	"text19","text20","text21","text22","text23","text24","text25","text26","text27","text28","text29",
	"text30","text31","text32","text33","text34","text35","text36","text37","text38","text39","text40","text41",
	"text42","text43","text44","text45","text46","text47","text48","text49","text50","text51","text52","text53",
	"text54","text55","text56","text57","text58","text59","text60","text61","text62","text63","text64","text65",
	"text66","text67","text68","text69","text70","text71","text72","text73","text74","text75","text76","text77","text78"
);

cardvalue = new Array(
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
	1,2,3,4,5,6,7,8,9,10,0,0,0,0,1,2,3,4,5,6,7,8,9,10,0,0,0,0,
	1,2,3,4,5,6,7,8,9,10,0,0,0,0,1,2,3,4,5,6,7,8,9,10,0,0,0,0
);

function InitTarot()
{
	var i;
	
	for( i = 0; i < 81; i++ )
	{
		cardstatus[i] = 0;
		if( i < 78 ) 
			talon[i] = i;
	}
	
	cardstatus[78] = -1;
	cardstatus[79] = -2;
	
	for( i = 0; i < document.images.length; i++ )
	{
		if( document.images[i].name == "img0" )
		{
			cardstart = i;
			break;
		}
	}		
	cardselected = false;
	cardidx = 0;
	
  InitCards();
	
	for( i = 0; i < cards; i++ )
	{
		cardvis[i] = false;
	}
	
	MixCards();	
}

function anleitung( page ) 
{
  window.open(page,"w1","screenX=0,screenY=0,toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,resizable=yes,width=600,height=600");
} 

function LichtSchatten()
{
	for( i = 0; i < cards; i++ )
	{
		if( cardvis[i] == false )
    {
      lsflag++;
      if( lsflag == 4 ) lsflag = 0;
      setTimeout( "LichtSchatten();", 100 );
      return;
    }
  }
}

function MixCards()
{
	var r1;
	var r2;
	
	if( cardselected ) 
  {
    setTimeout( "LichtSchatten();", 100 );
		return;
  }
	
	for( i = 0; i < 100; i++ )
	{
		r1 = Math.min( Math.round(Math.random() * 78), 77 );
		do
		{
			r2 = Math.min( Math.round(Math.random() * 78), 77 );
		}while( r1 == r2 );
		
		tmp = talon[r1];
		talon[r1] = talon[r2];
		talon[r2] = tmp;
	}
	
	setTimeout( "MixCards();", 100 );
}

function GetCard( nr )
{
	cardselected = true;
	
	if( cardidx < cards )
	{
		picture[cardidx] = talon[nr];		
		cardimg[cardidx].src = "cards/kartenbck.jpg";

		s = "cards/0";
		if( picture[cardidx] < 10 ) 
			s = s + "0";
		preload[cardidx].src = s + picture[cardidx] + ".jpg"

		cardidx++;		
		return true;
	}
  return false;
}

function OnSelectCard( nr )
{
	if( cardstatus[nr] > 0 )
		return;

	if( document.frage.frage.value.length < 10 )
	{
		alert( "Sorry ;-(  ich hab die Frage nicht verstanden  - Bitte zuerst die Frage stellen." );
		document.frage.frage.focus();
		return;
	}
		
	if( nr == 0 )
	{
		if( !GetCard( nr ) ) return;		
		document.images[cardstart].src = "leer.gif";		
		cardstatus[nr] = 1;		
		if( cardstatus[nr+1] == -1 )
		{
			document.images[cardstart+1].src = "leer.gif";			
			cardstatus[nr+1] = 1;		
			if( cardstatus[nr+2] == -2 )
			{
				document.images[cardstart+2].src = "leer.gif";			
				cardstatus[nr+2] = 1;					
			}
		}
	}
	else
	{		
		if( cardstatus[nr] == 0 )
		{
			if( !GetCard( nr ) ) return;		
		
			if( cardstatus[nr-1] == 1 )
			{
				document.images[cardstart+nr].src = "leer.gif";			
				cardstatus[nr] = 1;		
			}
			else if( cardstatus[nr-1] == -1 )
			{
				document.images[cardstart+nr].src = "cardrght.gif";
				cardstatus[nr] = -2;					
			}			
			else if( cardstatus[nr-1] == -2 )
			{
				document.images[cardstart+nr].src = "leer.gif";
				cardstatus[nr] = 1;					
			}
			else
			{
				document.images[cardstart+nr].src = "cardmid.gif";
				cardstatus[nr] = -1;	
				if( cardstatus[nr+1] == -1 )
				{
					document.images[cardstart+nr+1].src = "cardrght.gif";
					cardstatus[nr+1] = -2;
					if( cardstatus[nr+2] == -2 )
					{
						document.images[cardstart+nr+2].src = "leer.gif";			
						cardstatus[nr+2] = 1;
					}
				}				
			}
		
			if( cardstatus[nr+1] == -1 )
			{
				document.images[cardstart+nr+1].src = "leer.gif";			
				cardstatus[nr+1] = 1;		
				if( cardstatus[nr+2] == -2 )
				{
					document.images[cardstart+nr+2].src = "leer.gif";			
					cardstatus[nr+2] = 1;
				}
			}
		}
		else if( cardstatus[nr] < 0 )
		{
			OnSelectCard( nr+cardstatus[nr] );					
		}		
	}
}

function quersumme( val )
{
	var result = 0;
	
	while( val >= 100 )
	{
		result++;
		val -= 100;
	}
	
	while( val >= 10 )
	{
		result++;
		val -= 10;
	}
	
	result += val;
	return result;	
}

function OnCardClick( nr )
{
	if( cardidx < cards )
	{
		alert( "Willst du deine Karten nicht sehen??? Bitte erst alle Karten ziehen!" );
		return;
	}
	
	if( cardvis[nr] == false )
	{
		cardimg[nr].src = preload[nr].src;
    if( document.frage.LS.checked == true )     
    {
      if( lsflag == 1 )
        ls[nr].src = "schatten" + lsext;
      else
        ls[nr].src = "licht" + lsext;
      lsstat[nr] = lsflag;
    }
		cardvis[nr] = true;
	}
	else
	{
		if( cardimg[nr].complete == true )
		{
			cardimg[nr].src = preload[nr].src;
			s = "../tarotdeutungen/" + carddesc[picture[nr]] + ".htm";
			var win = window.open( "blank.htm", "window"+nr, "screenX=200,screenY=200,toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,resizable=yes,width=600,height=500" );
      win.document.open;
      win.document.writeln( "<html><head>" );
      win.document.writeln( "<title>" + s + "</title>" );
      win.document.writeln( "<frameset rows='1,*' border=0 border='no'>");
      win.document.writeln( "<frame src='../tarotdeutungen/ad.htm' scrolling='no'>");
      win.document.writeln( "<frame src='" + s +"'>" );
      win.document.writeln( "</frameset>" );
      win.document.writeln( "</head></html>" );
      win.document.close;
		}
	}
	
	CalcQuintessenz();
}

function CalcQuintessenz()
{
	var que = 0;
  var i;
	
	for( i = 0; i < cards; i++ )
	{
		if( cardvis[i] == false )
			return;
			
		que += cardvalue[picture[i]];
	}
	
	var s = "";
	
	while( que > 21 )
	{
		que = quersumme( que );
	}
	
	if( que > 9 )
	{
		s = que + "/";
	}
	
	s = s + quersumme( que );
	
	document.qe.v1.value = s;
}

function quintessenz()
{
	if( document.qe.v1.value.length > 0 )
	{	
		value = parseInt( document.qe.v1.value );
		s = "../tarotdeutungen/qe" + value + ".htm";
		window.open( s, "window"+value, "screenX=200,screenY=200,toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,resizable=yes,width=350,height=250" );
	}
}

function Restart()
{
	window.location = window.location;
}

