var currentColor;
var requestColor;
var currentGraphic;
var requestGraphic;
var isGo = 0;
var currentImg = 0;
var currentDesc = 0;
verseImgs = new initArray("black", "blue", "brown", "burgundy", "huntergreen", "purple", "red", "bluefoil", "greenfoil", "goldfoil", "silverfoil", "redfoil", "gold");
setup = 0;
initialized = 0;
NS4 = (document.layers) ? true : false;
IE4 = (document.all && !document.getElementById) ? true : false;
IE5 = (document.all && document.getElementById) ? true : false;
NS6 = (!document.all && document.getElementById) ? true : false;
isMac = (navigator.appVersion.indexOf("Mac") != -1) ? true : false;
isDom = (NS6 || IE5) ? true : false;
var mouseX;
var mouseY;

function changeColor(){
	requestColor = document.programForm.card_inkColor.value;
	setTimeout("doColorChange(\""+requestColor+"\")", 1000);
}

function doColorChange(makeChangeColor){
	if(requestColor == makeChangeColor){
		if(currentColor != makeChangeColor){ 
			currentColor = makeChangeColor;
			updateTextColor();
			changeImg();
		}
	}
}

function changeGraphic(){
	requestGraphic = document.programForm.card_verseID.value;
	setTimeout("doGraphicChange(\""+requestGraphic+"\")", 1000);
}

function doGraphicChange(makeChangeGraphic){
	if(requestGraphic == makeChangeGraphic){
		if(currentGraphic != makeChangeGraphic){ 
			currentGraphic = makeChangeGraphic;
			changeImg();
		}
	}
}

function initArray(){
	if(document.images) {
		this.length = initArray.arguments.length;
		for (var i=0;i<= this.length; i++){
			this[i] = initArray.arguments[i]
		}
	}
}

if(document.images){
	isGo = 1;
}

function changeImg(){
	if(isGo){
		currentImg--;
		if(currentImg < 0){
			currentImg = verseImgs.length-1;
		}
		var verseID = document.programForm.card_verseID.value;
		var colorID = document.programForm.card_inkColor.value;
		document.images.verseImg.src = "http://cardisland.com/graphics/verses/"+verseID+"/"+verseID+""+verseImgs[colorID]+"graphic.gif"
	}
}

function urlencode(strText) {
	var isObj;
	var trimReg;
	if(typeof(strText) == "string"){
		if(strText != null){
			trimReg = /(^\s+)|(\s+$)/g;
			strText = strText.replace( trimReg, '');
			for(i=32;i<256;i++){   
				strText = strText.replace(String.fromCharCode(i),escape(String.fromCharCode(i)));
			}
		}
	}          
	return strText;
}

function changeText(imageName, imageText, divName){
	if(document.images){
		if(imageText == ''){
			hide(divName);
			document.images[imageName].src = "http://cardisland.com/graphics/blank.gif";
		}
		else{
			var colorID = document.programForm.card_inkColor.value;
			var red;
			var green;
			var blue;
			switch (colorID)
				{
				case '0':
					red=0;
					green=0;
					blue=0;
					break;
				case '1':
					red=0;
					green=103;
					blue=198;
					break;
				case '2':
					red=111;
					green=48;
					blue=20;
					break;
				case '3':
					red=144;
					green=33;
					blue=71;
					break;
				case '4':
					red=0;
					green=106;
					blue=78;
					break;
				case '5':
					red=108;
					green=27;
					blue=114;
					break;
				case '6':
					red=210;
					green=16;
					blue=52;
					break;
				case '7':
					red=17;
					green=141;
					blue=255;
					break;
				case '8':
					red=0;
					green=187;
					blue=138;
					break;
				case '9':
					red=255;
					green=204;
					blue=0;
					break;
				case '10':
					red=153;
					green=153;
					blue=153;
					break;
				case '11':
					red=255;
					green=0;
					blue=47;
					break;
				case '12':
					red=255;
					green=204;
					blue=0;
					break;					
				default:
					red=0;
					green=0;
					blue=0;
			}
			document.images[imageName].src = "http://cardisland.com/cgi-bin/cardisland/createGraphic.ami?graphicMessage="+urlencode(imageText)+"&fontSize=9&width=184&height=15&fRed="+red+"&fGreen="+green+"&fBlue="+blue+"";
			show(divName);
		}
	}
}

if(NS4 || isDom || (IE4 && !isMac)){
	defaultStyle = "<STYLE TYPE='text/css'>"
	+ ".obj {"
	+ "position:absolute;"
	+ "visibility:hidden;"
	+ "width:10;"
	+ "height:10;"
	+ "top:10;"
	+ "left:10;"
	+ "}"
	+ "</STYLE>";

	document.write(defaultStyle);
	initialized=1;

	if (document.layers) { // Netscape
	    document.captureEvents(Event.MOUSEMOVE);
	    document.onmousemove = setMousePos;
	} else if (document.all) { // Internet Explorer
	    document.onmousemove = setMousePos;
	} else if (document.getElementById) { // Netcsape 6
	    document.onmousemove = setMousePos;
	}
}

function setMousePos(e){
	if (document.layers) {
		mouseX = e.pageX;
		mouseY = e.pageY;
	} else if (document.all) {
		mouseX = window.event.x+document.body.scrollLeft;
		mouseY = window.event.y+document.body.scrollTop;
	} else if (document.getElementById) {
		mouseX = e.pageX;
		mouseY = e.pageY;
	}	
}

function helpMessage(message){
	if(initialized){
		if(!setup){
			rightEdge = (NS4) ? parseInt(window.innerWidth) : parseInt(document.body.clientWidth);
			bottomEdge = (NS4) ? parseInt(window.innerHeight) : parseInt(document.body.clientHeight);
			ctrPosL = parseInt(rightEdge/2);
			ctrPosT = parseInt(bottomEdge/2);

			if(NS4) { document.captureEvents(Event.MOUSEMOVE); }
			setup = 1;
		}
		setupLayer("messageLayer", mouseY,8,140,200,1,0);
		writeLayer('messageLayer', message);
	}
	else{
		alert(message);
	}
}

function writeLayer(layName, message){
	document.messageForm.messageBox.value = message;
}

function getLayer(layName){
	var layerObj;
	if(isDom){
		layerObj = eval('document.getElementById("'+layName+'").style');
	}
	else if(IE4){
		layerObj = eval('document.all["'+layName+'"].style');
	}
	else if(NS4){
		layerObj = eval('document["'+layName+'"]');
	}

	return layerObj;
}

function setupLayer(layName,layTop,layLeft,layWidth, layHeight,layIndex, invisible){
	if(initialized){
		layerObj = getLayer(layName);

		if (NS4) {
			layerObj.document.width = layWidth;
			layerObj.document.height = layHeight;
			layerObj.clip.right = layWidth;
			layerObj.clip.bottom = layHeight;
		}
		else{
			layerObj.width = layWidth;
			layerObj.height = layHeight;
			layerObj.clip = "rect(0 "+layWidth+" "+layHeight+" 0)";
		}
		layerObj.top = layTop;
		layerObj.left = layLeft;
		layerObj.zIndex = layIndex;
		if(!invisible){
			showLayer(layName);
		}
	}
}

function showLayer(layName){
	if(initialized){
		layerObj = getLayer(layName);
		if(layerObj){
			layerObj.visibility = "visible";
		}
	}
}

function hideLayer(layName){
	if(initialized){
		layerObj = getLayer(layName);
		if(layerObj){
			layerObj.visibility = "hidden";
		}
	}
}


