BgImages = new Array();
	BgImages[0]="bg_garden";
	BgImages[1]="bg_shelf";
	BgImages[2]="bg_sofa";
ChrImages = new Array();
	ChrImages[0]="mugshot_bot";
	ChrImages[1]="mugshot_gigi";
	ChrImages[2]="mugshot_jimjam";
	ChrImages[3]="mugshot_mouth";
	ChrImages[4]="mugshot_nobby";
	ChrImages[5]="mugshot_slim";
	ChrImages[6]="mugshot_sunny";

function CheckSrc(source) {
	var PosI = source.indexOf("/i/");
	var PosJ = source.indexOf(".jpg");
	if (PosI >= 0) {			
		source = source.substring((PosI+3),PosJ);
		return source
	} else {
		return source;
	}
}

function Initialize()	{
	var i = 0;
	//Cache Images
	BgImagesObj = new Image();			
	for(i=0;i<(BgImages.length);i++) {
		BgImagesObj.src=BgImages[i];
	}
				
	ChrImagesObj = new Image();			
	for(i=0;i<(ChrImages.length);i++) {
		ChrImagesObj.src=ChrImages[i];
	}
	
	//Set intial form values
	document.getElementById('color').value = "000000";
	document.getElementById('background').value = CheckSrc(document.getElementById('BgImage').src);
	document.getElementById('character').value = CheckSrc(document.getElementById('ChrImage').src);
}

function UpdateColor(iColor) {
	var MsgColor = "";
	switch (iColor) {
		case 1: {MsgColor = "00FFFF";break}
		case 2: {MsgColor = "000000";break}
		case 3: {MsgColor = "0000FF";break}
		case 4: {MsgColor = "FA99CE";break}
		case 5: {MsgColor = "00FF00";break}
		case 6: {MsgColor = "959595";break}
		case 7: {MsgColor = "810081";break}
		case 8: {MsgColor = "FFFF00";break}
		case 9: {MsgColor = "FF0000";break}
		case 10: {MsgColor = "993000";break}
	}
	document.getElementById('Message').style.color = "#"+MsgColor;
	document.getElementById('color').value = MsgColor;
}


function Change(dir,elem) {
	var ImageArray;
	var ImageSrc;
	var FormId;
	
	switch (elem) {
		case "bg": {
			ImageArray = BgImages;
			ImageSrc = "BgImage";
			FormId = "background";
			break
		}
		case "character": {
			ImageArray = ChrImages;
			ImageSrc = "ChrImage";
			FormId = "character";
			break
		}
	}
	
	var NewArrayItem
	var CurArrayItem
	var CurImage = document.getElementById(ImageSrc).src;
	
	for(i=0;i<(ImageArray.length);i++) {
		if (CurImage.indexOf((ImageArray[i].valueOf()+".jpg")) >= 0) {
			CurArrayItem = i
			break;
		}
	}
	
	switch (dir) {
		case "left": {
			NewArrayItem = CurArrayItem -1;
			if (NewArrayItem < 0) {
				NewArrayItem = (ImageArray.length-1);
			}
			break
		}
		case "right": {
			NewArrayItem = CurArrayItem +1;
			if (NewArrayItem > (ImageArray.length-1)) {
				NewArrayItem = 0;
			}
			break
		}
	}
	
	//Update image source and form value
	var ImageName = ImageArray[NewArrayItem].valueOf();
	document.getElementById(ImageSrc).src = "/i/"+ImageName+".jpg";
	document.getElementById(FormId).value = ImageName;
}
function CheckLength() {
	var messageLength = 50;
	var Msg = document.getElementById('Message');
	if (Msg.value.length >= messageLength) {
		Msg.value = Msg.value.substring(0,messageLength);
	}
}

function PopUpCenter(url){
	var HasScroll = 0;
	var WindowWidth = 550;
	var WindowHeight = 470;
	var screenW = (screen.width - WindowWidth) / 2;
	var screenH = (screen.height - WindowHeight) / 2;
	
	if (screenW < 0) {
		screenW = 0;
	}
	if (screenH < 0)	{
		screenH = 0;
	}
	var PreviewWin = window.open(url, 'PreviewWindow', 'toolbar=0,scrollbars='+HasScroll+',location=0,statusbar=0,menubar=0,resizable=1,width='+WindowWidth+',height='+WindowHeight+',left = '+screenW+',top = '+screenH);

}

function ShowPreview() {
	var msgValue = document.getElementById("Message").value;
	var colorValue = document.getElementById("color").value;
	var bgValue = document.getElementById("background").value;
	var chrValue = document.getElementById("character").value;
	var sndValue = document.getElementById("esound").value;
	PopUpCenter("ecard.asp?message="+msgValue+"&color="+colorValue+"&character="+chrValue+"&background="+bgValue+"&esound="+sndValue);
}

function isEmail(myField){
		var myStr = myField.value;
		if (myStr.indexOf("@") == -1 || myStr.indexOf(".") == -1 || myStr.indexOf(" ") != -1){
			return false;	
		}
		return true;
	}

//	Function isFilled calculates whether the relevant field contains any input.
function isFilled(oField){
	var sFieldValue = oField.value;
	return(sFieldValue != "");
}
function ValForm(oForm)	{
	if (!isFilled(oForm.name)) {
		alert("You need to enter a recipient name!");
		oForm.name.focus();
		return false;
	}
	if(!isFilled(oForm.email)) {
		alert("You need to enter a recipient email address!");
		oForm.email.focus();
		return false;
	}
	if(!isEmail(oForm.email)) {
		alert("You have not entered a valid recipient email address!");
		oForm.email.focus();
		return false;
	}
	if(!isFilled(oForm.FromName)) {
		alert("You need to enter your name");
		oForm.FromName.focus();
		return false;
	}
	if(!isFilled(oForm.FromEmail)) {
		alert("You need to enter your email address1");
		oForm.FromEmail.focus();
		return false;
	}
	if(!isEmail(oForm.FromEmail)) {
		alert("Your email address is not valid");
		oForm.FromEmail.focus();
		return false;
	}
}
