//*****************************************************************************************************************
//*
//*  Software By:          VRStudios.net, Copyright 2002, written by Chris J. Littlefield
//*  Copyright agreement:  All software may be used in part or in full with the provision that
//*                        This copyright statement and agreement be present with the code being used
//*
//*****************************************************************************************************************
//*  OracleCards.com:      Established 8/2002
//*****************************************************************************************************************

// vars for index.html
var monthcard = 52;
var daycard = 0;
var todaycard = 52;
var suitnum = 4;
var cardnum = "Ace";

var hWndCard = 0;
var curNum = 0;
var curSuit = "";

function setMonth(myMonth) {
	monthcard = 52-((myMonth-1)*2);
	setCard(monthcard-daycard,"BirthCard");
}
function setDay(myDay) {
	switch (monthcard) {
	  case 52:case 48:case 44:case 40:case 38:case 34:case 30: 		break;  // Months with 31 days (1,3,5,7,8,10,12)
	  case 36:case 46:case 42:case 32:
		   if (myDay>30) {myDay=30;document.forms["BirthInfo"].Day.value="30";}	break;  // Months with 30 days (4,6,9,11)
	  case 50: if (myDay>29) {myDay=29;document.forms["BirthInfo"].Day.value="29";}	break;  // February has 29 days max
	}
	daycard=myDay-1;
	setCard(monthcard-daycard,"BirthCard");
}
function setCard(todaycard,element) {	var card,suit;
	suitnum = Math.floor(todaycard/13);	
	if (suitnum != todaycard/13) suitnum+=1; // Bump for all cases except Kings
	cardnum = todaycard-((suitnum-1)*13);
	switch (suitnum) {
	  case 1: suit="Hearts"; 			break;
	  case 2: suit="Clubs"; 			break;
	  case 3: suit="Diamonds"; 			break;
	  case 4: suit="Spades"; 			break;
	}
	switch (cardnum) {
	  case 1: card="Ace"; 				break;
	  case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10: card=cardnum; 	break;
	  case 11: card="Jack"; 			break;
	  case 12: card="Queen"; 			break;
	  case 13: card="King"; 			break;
	}
	myEl=eval("document.forms['BirthInfo']."+element);//alert(myEl);
	if (todaycard==0)
		//document.forms["BirthInfo"].BirthCard.value = "The Joker";
		myEl.value = "The Joker";
	else	
		//document.forms["BirthInfo"].BirthCard.value = card + " of " +suit;	
		myEl.value = card + " of " +suit;	
	//alert("Today card is "+todaycard+" monthcard "+monthcard);
}

function closeAll() { 
	if (hWndCard) hWndCard.close();
}					
function showCard(num,suit) {
	curNum=num; curSuit=suit;
	if (hWndCard==0 || hWndCard.closed)
		hWndCard=window.open("card.htm","theCard","height=400,width=400,toolbars=no");
	else 
		hWndCard.showCard(num,suit); 
}

function initCard() {//alert("initcard"+curNum+curSuit);
	hWndCard.updateCard(curNum,curSuit); 
}

function setName(me) { var imod;
	curname=me.value;curtotal=0;
	for (i=0;i<curname.length;i++) { 
		var curletter=getLetterNum(curname.substring(i,i+1)); curtotal=curtotal+curletter; //alert(curletter);
	}  
	// Now convert to 1-52 range
	if (curtotal>52){ 
		if (Math.floor(curtotal/52)==curtotal/52) curtotal=52;		// Evenly divisible
		else {imod=Math.floor(curtotal/52); curtotal=curtotal-(imod*52); }
	}
	setCard(curtotal,"NameCard");
}

function getLetterNum(letter) { 
	num=0;
	switch (letter) {
	  case" ":case".":return 0;
	  case'A':return 1; case'B':return 2; case'C':return 3; case'D':return 4; case'E':return 5; case'F':return 6;
	  case'G':return 7; case'H':return 8; case'I':return 9; case'J':return 10;case'K':return 11;case'L':return 12;case'M':return 13;
	  case'N':return 14;case'O':return 15;case'P':return 16;case'Q':return 17;case'R':return 18;case'S':return 19;
	  case'T':return 20;case'U':return 21;case'V':return 22;case'W':return 23;case'X':return 24;case'Y':return 25;case'Z':return 26;
	  case'a':return 27;case'b':return 28;case'c':return 29;case'd':return 30;case'e':return 31;case'f':return 32;
	  case'g':return 33;case'h':return 34;case'i':return 35;case'j':return 36;case'k':return 37;case'l':return 38;case'm':return 39;
	  case'n':return 40;case'o':return 41;case'p':return 42;case'q':return 43;case'r':return 44;case's':return 45;
	  case't':return 46;case'u':return 47;case'v':return 48;case'w':return 49;case'x':return 50;case'y':return 51;case'z':return 52;
	}
	alert ("Unable to find letter "+letter);
	return num; 
}
