function movepic(img_name,img_src) 
{
	document[img_name].src=img_src;
}

var	animDestX = 0;
var animDestY = 0;

var totalSpreadPos = 13;
var NombreTirage = 1;

var teksty = new Array('','Magik','Papieżyca','Cesarzowa','Cesarz','Papież','Kochankowie','Rydwan','Sprawiedliwość','Pustelnik','Koło fortuny','Moc','Wisielec','Śmierć','Umiarkowanie','Diabeł','Wieża','Gwiazda','Księżyc','Słońce','Sąd','Świat', 'Głupiec');

var descriptionsArray = new Array( "Obecna<BR>sytuacja", "Ostrzeżenie", "Jak postąpić", "Wpływy z<BR>przeszłości", "Partnerzy", "Niedaleka<BR>przyszłość", "Niespodzianki", "Z czym należy<BR>się liczyć", "Twój cel", "Pożyczki<BR>od innych", "Sprawy<BR>przegrane", "Jak to wszystko<BR>wygląda", "Daleka<BR>przyszłość" );

var anAlea = 0;

function DonnerTirageAleatoire(unNombreTirage) {	
	
	if (unNombreTirage == 1) {
		var date_variable;
		
		date_variable = new Date(); 

		anAlea = date_variable.getSeconds();

		return (17 + anAlea) % 22 + 1;
	}
	if (unNombreTirage == 2) return (3 + anAlea) % 22 + 1;
	if (unNombreTirage == 3) return (18 + anAlea) % 22 + 1;
	if (unNombreTirage == 4) return (20 + anAlea) % 22 + 1;
	if (unNombreTirage == 5) return (12 + anAlea) % 22 + 1;
	if (unNombreTirage == 6) return (2 + anAlea) % 22 + 1;
	if (unNombreTirage == 7) return (14 + anAlea) % 22 + 1;
	if (unNombreTirage == 8) return (19 + anAlea) % 22 + 1;
	if (unNombreTirage == 9) return (22 + anAlea) % 22 + 1;
	if (unNombreTirage == 10) return (6 + anAlea) % 22 + 1;
	if (unNombreTirage == 11) return (21 + anAlea) % 22 + 1;
	if (unNombreTirage == 12) return (10 + anAlea) % 22 + 1;
	if (unNombreTirage == 13) return (8 + anAlea) % 22 + 1;
}

function TirerCarte() {
	var unTirageAleatoire = faceCards[NombreTirage]; // DonnerTirageAleatoire(NombreTirage);
	if (NombreTirage <= 13 ) {
		if (NombreTirage == 1) {
			window.document.MainForm.Carte1.value = unTirageAleatoire;
		}
		if (NombreTirage == 2) {
			window.document.MainForm.Carte2.value = unTirageAleatoire;
		}
		if (NombreTirage == 3) {
			window.document.MainForm.Carte3.value = unTirageAleatoire;
		}
		if (NombreTirage == 4) {
			window.document.MainForm.Carte4.value = unTirageAleatoire;
		}
		if (NombreTirage == 5) {
			window.document.MainForm.Carte5.value = unTirageAleatoire;
		}
		if (NombreTirage == 6) {
			window.document.MainForm.Carte6.value = unTirageAleatoire;
		}
		if (NombreTirage == 7) {
			window.document.MainForm.Carte7.value = unTirageAleatoire;
		}
		if (NombreTirage == 8) {
			window.document.MainForm.Carte8.value = unTirageAleatoire;
		}
		if (NombreTirage == 9) {
			window.document.MainForm.Carte9.value = unTirageAleatoire;
		}
		if (NombreTirage == 10) {
			window.document.MainForm.Carte10.value = unTirageAleatoire;
		}
		if (NombreTirage == 11) {
			window.document.MainForm.Carte11.value = unTirageAleatoire;
		}
		if (NombreTirage == 12) {
			window.document.MainForm.Carte12.value = unTirageAleatoire;
		}
		if (NombreTirage == 13) {
			window.document.MainForm.Carte13.value = unTirageAleatoire;
		}
	}

	document.getElementById( "facecard" + (NombreTirage-1) ).innerHTML = "<a onmouseover=javascript:bigCard(" + faceCards[NombreTirage] + "," + NombreTirage + ",true); ><img name='cardsma" + NombreTirage + "' src='images/tarot/classic" + faceCards[NombreTirage] + ".gif' border=0></a>";
	
	document.getElementById( "facecard" + (NombreTirage-1) ).style.top  = spreadCardsY + yFinal[NombreTirage] + yoffset;
	document.getElementById( "facecard" + (NombreTirage-1) ).style.left = spreadCardsX + xFinal[NombreTirage] + xoffset;
	
	document.getElementById( "facecard" + (NombreTirage-1) ).style.display = "block";
	document.getElementById( "spreadPos" + (NombreTirage-1) ).style.display = "none";

	NombreTirage++;
}

// Final Card Positions 
//                           1   2   3   4   5   6   7   8   9  10  11  12  13
var xFinal = new Array( 0, 67,136,205,275,345,415,485,415,345,275,205,136,275 );
var yFinal = new Array( 0,601,667,704,738,702,667,601,532,487,462,487,532,601 );

// Init JS
var animEnabled = true; // anim on by default

var xoffset = 0;
var yoffset = 0;

var yoffset2 = -250;

var cardOffset = 20; // rozłożenie talii - odległości miedzy kartami

var spreadOfCardBacks = new Array();

var spreadCardsX = 350; // rozkład kart
var spreadCardsY = 80; // rozkład kart

var spreadBaseX = 400 ; //295 ; // pozycja talii
var spreadBaseY = 340 ;//320 ;

var cardWidth = 62;
var cardHeight = 120;

var animSteps = 10;
var currAnimStep;
var cardt;
var cardt2;
var msecs_setting = 1; //ms between card anim steps

var msecs = 0;
var delay = 20;

var timerRunning = true;
var animRunning = false;
var xAry;
var yAry;
var readingAnim = new Array();
var preLoad = new Array();

window.onresize = setOffsetSize;

function setOffsetSize() {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}

	if ( x <= 976 ) {
		xoffset = - 160;
	} else if ( x > 800 ) {
		if ( navigator.appName == "Netscape" ) {
			xoffset = (x-976)/2 - 172;
		} else if ( navigator.appName == "Microsoft Internet Explorer" ) {
			xoffset = (x-976)/2 - 160;
		} else {
			xoffset = (x-976)/2 - 160;
		}
	}
	
	drawSpread();
	prepFacecards();
}
function initReading() {
	versionCk();
	for (i=0;i<=22;i++) {
		spreadOfCardBacks[i]=true;
	}
	// shuffling deck
}

function versionCk(){
	var majorVersion;
	var minorVersion;
	
	if (typeof(ScriptEngineMajorVersion) + '' == 'undefined') {
	  majorVersion = 1;
	  minorVersion = 0;
	}
	else {
	  majorVersion = ScriptEngineMajorVersion();
	  minorVersion = ScriptEngineMinorVersion();
	}
	self.status = "JS Version " +  majorVersion + "." + minorVersion;
}

function ImageLoader() {
  this.all = [];
  this.loaded = [];
  this.test = function(src) {
    if (this.all.length == this.loaded.length)
      (this.onComplete||new Function)(this.loaded);
  }
  this.push = function() {
    for (var i = 0; i < arguments.length; i++)
      this.all[this.all.length] = arguments[i];
  }
  this.load = function(element, baseURI) {
    for (var i = 0; i < this.all.length; i++) {
      var img = document.createElement("img");
      img.onload = function(e) {
        if (this.loader) {
          this.loader.loaded[this.loader.loaded.length] = this.src;
          this.loader.test();
          this.loader = null;
        }
      }
      img.loader = this;
	  if( i<totalSpreadPos ) {
		  img.id = "facecard" + i;
		  img.style.display="none"; // hide for now
	  } else if( i<totalSpreadPos ) {
		  img.id = "spreadPos" + i-totalSpreadPos;
		  img.style.display="none"; // hide for now
	  } else {
  		  img.id = "cardBack";
		  img.style.display="none"; // hide for now
	  }
      img.src = (baseURI||"") + this.all[i];
      (element||document.body).appendChild(img);
    }
  }
}

var loader = new ImageLoader();
var faceCards = new Array();


loader.onComplete = function(loaded) {
	initReading();
	setOffsetSize(); // and display deck to start
	prepFacecards();
}

function drawSpread() {	
	// Spread deck out on table.
	var x=spreadBaseX + xoffset;
	var y=spreadBaseY + yoffset;
	var pickerMech;

	for (i=1;i<=22;i++) {
		x = x + cardOffset;
		
		if( spreadOfCardBacks[i] )
		{
			pickerMech = "";
			
			if( NombreTirage<=totalSpreadPos ) {
				pickerMech = "href=javascript:pickACard(" + i + ");";
			}
			document.getElementById( 'card'+i ).innerHTML = "<a " + pickerMech + " ><img src='images/tarot/cardback.gif' border=0></a>";
			document.getElementById( "card"+i ).style.top = y;
			document.getElementById( "card"+i ).style.left = x;

		} else {
			document.getElementById( 'card'+i ).innerHTML = "<div style='position:absolute;left:0;top:0;display:none'></div>";
		}
	}
}
function prepFacecards() {	
	// prep FaceCards and spreadPos cards
	for (i=0;i<13;i++) {
		
		document.getElementById( "facecard" + i ).style.top  = spreadCardsY + yFinal[i+1] + yoffset;
		document.getElementById( "facecard" + i ).style.left = spreadCardsX + xFinal[i+1] + xoffset;
		
		document.getElementById( "spreadPos"+i ).innerHTML = "<img name='cardsma" + (i+1) + "' src='images/tarot/blankCard_" + (i+1) + ".gif' border=0>";
		
		document.getElementById( "spreadPos"+i ).style.top = spreadCardsY + yFinal[i+1] + yoffset;
		document.getElementById( "spreadPos"+i ).style.left = spreadCardsX + xFinal[i+1] + xoffset;
		
		// document.getElementById( "spreadDesc"+i ).innerHTML = "<span>" + descriptionsArray[i] + "</span>";
		
		document.getElementById( "spreadDesc"+i ).style.top = spreadCardsY + yFinal[i+1] + yoffset + cardHeight - 7;
		document.getElementById( "spreadDesc"+i ).style.left = spreadCardsX + xFinal[i+1] + xoffset - 31;
		
		// document.getElementById( "spreadDescShadow"+i ).innerHTML = "<span><font color=#f7ece2>" + descriptionsArray[i] + "</font></span>";
		
		// document.getElementById( "spreadDescShadow"+i ).style.top = spreadCardsY + yFinal[i+1] + yoffset + cardHeight - 7;
		// document.getElementById( "spreadDescShadow"+i ).style.left = spreadCardsX + xFinal[i+1] + xoffset - 31;
	}
}

function calcPathArray( cpStart, cpEnd, cpSteps, myArray )	{
	for ( cpI=1; cpI<=cpSteps; cpI++ ) {
		var cpX = cpStart + ((cpEnd - cpStart) / cpSteps) * (cpI);
		myArray.push( cpX );
	}
	myArray.push( cpEnd );
	return myArray;
}
function animateCard( cardID ) {
	if (msecs==0){
		msecs = msecs_setting;

		//call the function when time expires
		if (currAnimStep<animSteps-1) {
			stepAnim( xAry[currAnimStep], yAry[currAnimStep], cardID );
			currAnimStep++;
			animRunning = true;
		} else {
			currAnimStep = 0;
			timerRunning = false;
			clearTimeout(cardt);
		}
	}
	msecs = msecs - 1;
	if (timerRunning){
		cardt = self.setTimeout("animateCard( "+cardID+" )", delay);
	} else {
		TirerCarte();

		// clear last frame
		// document.getElementById( 'card'+cardID ).innerHTML = "<div style='position:absolute;left:0;top:0;display:none'></div>"; // clear last frame of anim
		self.setTimeout("document.getElementById( 'card'+" + cardID + " ).innerHTML = '<div style=position:absolute;left:0;top:0;display:none ></div>'; ", 1000);
		animRunning = false;
	}
}
function stepAnim( x, y, cardID) {
	document.getElementById( "card"+cardID ).style.top = y;
	document.getElementById( "card"+cardID ).style.left = x;
}
function pickACard( i ) {
	
	if( NombreTirage>totalSpreadPos || animRunning ) return;

	spreadOfCardBacks[i]=""; // remove clicked card from spread
	if ( !animEnabled ) {
		document.getElementById( 'card'+i ).innerHTML = "<div style='position:absolute;left:0;top:0;display:none'></div>";
	}

	// calc anim path
	xAry = new Array();
	yAry = new Array();
	var animStartX = spreadBaseX + i*cardOffset + xoffset;
	var animStartY = spreadBaseY + yoffset;

	animDestX = spreadCardsX + xFinal[NombreTirage] + xoffset;
	animDestY = spreadCardsY + yFinal[NombreTirage] + yoffset;
	
	xAry = calcPathArray( animStartX, animDestX, animSteps-1, xAry );
	yAry = calcPathArray( animStartY, animDestY, animSteps-1, yAry );

	// play
	msecs = msecs_setting;
	currAnimStep = 0;
	timerRunning = true;

	if ( animEnabled ) {
		animRunning = true;
		// animateCard( i );
		cardt2 = self.setTimeout("animateCard( "+i+" )", 50);// pause, then animate

	} else {
		TirerCarte();
	}
	
}

 
 var tablica_pocz ='';
 var tablica_kon = '';

function bigCard( card, pos, show ) {
	if ( show == true ) {
		document.getElementById( "bigCardImage" ).innerHTML= "<a onmouseout=javascript:bigCard(0,1,false) ><img src='images/tarot/largeClassic" + card + ".gif' width='130' border=0></a><BR><span class=\"standard12\">"+ teksty[card] + "</span>"; //+ tablica_pocz + teksty[card] + tablica_kon;

		document.getElementById( "bigCardImage" ).style.top  = spreadCardsY + yFinal[pos] + yoffset - (281-cardHeight)/2;
		document.getElementById( "bigCardImage" ).style.left = spreadCardsX + xFinal[pos] + xoffset - (141-cardWidth)/2;
		document.getElementById( "bigCardImage" ).style.display = "block";
	} else {
		document.getElementById( "bigCardImage" ).style.display = "none";
	}
}
window.onload = function() {
	for (j = 1; j<=totalSpreadPos; j++) {
		faceCards[j] = DonnerTirageAleatoire(j);
	}
	loader.push("classic" + faceCards[1] + ".gif", "classic" + faceCards[2] + ".gif", "classic" + faceCards[3] + ".gif", "classic" + faceCards[4] + ".gif", "classic" + faceCards[5] + ".gif", "classic" + faceCards[6] + ".gif", "classic" + faceCards[7] + ".gif", "classic" + faceCards[8] + ".gif", "classic" + faceCards[9] + ".gif", "classic" + faceCards[10] + ".gif", "classic" + faceCards[11] + ".gif", "classic" + faceCards[12] + ".gif", "classic" + faceCards[13] + ".gif", "cardback.gif");
	loader.load(document.body, "images/tarot/");
}


