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", "silver");
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(changeImage){
	requestColor = document.programForm.card_inkColor.value;
	setTimeout("doColorChange(\""+requestColor+"\", "+ changeImage +")", 1000);
}

function doColorChange(makeChangeColor, changeImage){
	if(requestColor == makeChangeColor){
		if(currentColor != makeChangeColor){
			currentColor = makeChangeColor;
			updateTextColor();
			if(changeImage == 1){
				changeImg();
			}
			else{
				if(document.programForm.customVerseSelected.value == 0){
					changeImg();
				}
			}
		}
	}
}

function changeGraphic(){
	requestGraphic = document.programForm.card_verseID.value;
	setTimeout("doGraphicChange(\""+requestGraphic+"\")", 1000);
}

function doGraphicChange(makeChangeGraphic){
	if(requestGraphic == 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;
		if(document.images.verseImg){
			document.images.verseImg.src = URL_FRONTEND_ROOT+"/graphics/verses/"+verseID+"/"+verseID+""+verseImgs[colorID]+"graphic.jpg";
		}
	}
}

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 = URL_FRONTEND_ROOT+"/graphics/blank.gif";
		}
		else{
			var colorID = document.programForm.card_inkColor.value;
			var red;
			var green;
			var blue;
			switch (colorID)
				{
				case '0':
					// black
					// 000000
					red=0;
					green=0;
					blue=0;
					break;
				case '1':
					// blue
					// 0012C4
					red=0;
					green=18;
					blue=196;
					break;
				case '2':
					// brown
					// 6F3014
					red=111;
					green=48;
					blue=20;
					break;
				case '3':
					// burgundy
					// 902147
					red=144;
					green=33;
					blue=71;
					break;
				case '4':
					// hunter green
					// 006A4E
					red=0;
					green=106;
					blue=78;
					break;
				case '5':
					// purple
					// 6C1B72
					red=108;
					green=27;
					blue=114;
					break;
				case '6':
					// red
					// E40000
					red=228;
					green=0;
					blue=0;
					break;
				case '7':
					// blue foil
					// 118DFF
					red=17;
					green=141;
					blue=255;
					break;
				case '8':
					// green foil
					// 00BB8A
					red=0;
					green=187;
					blue=138;
					break;
				case '9':
					// gold foil
					// EBB31D
					red=235;
					green=179;
					blue=29;
					break;
				case '10':
					// silver foil
					// 999999
					red=153;
					green=153;
					blue=153;
					break;
				case '11':
					// red foil
					//  FF002F
					red=255;
					green=0;
					blue=47;
					break;
				case '12':
					// gold
					// EBB31D
					red=255;
					green=204;
					blue=0;
					break;
				case '13':
					// silver
					// 999999
					red=153;
					green=153;
					blue=153;
					break;
				default:
					red=0;
					green=0;
					blue=0;
			}
			document.images[imageName].src = URL_FRONTEND_ROOT+"/wwwapps/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";
		}
	}
}