var errorFlag = 'no';

if ( gLang == 'en' ) {
	var ERR_POSTCARDIMG_SELECTONE		= "Please select a postcard";
	var ERR_YOURNAME_EMPTY			= "Please enter your name";
	var ERR_YOUREMAIL_EMPTY			= "Please enter your email address";
	var ERR_YOUREMAIL_INVALID		= "Email appears to have an invalid format";
	var ERR_RECNAME_EMPTY			= "Please enter the recipient's name";
	var ERR_RECEMAIL_EMPTY			= "Please enter the recipient's email address";
	var ERR_RECEMAIL_INVALID		= "Email appears to have an invalid format";
	var ERR_CARDTITLE_EMPTY			= "Please enter the card's title";	
	var ERR_CARDMSG_EMPTY			= "Please enter a message";
	var ERR_CARDMSG_TOO_LONG		= "Please limit your message to 512 characters";
	var POSTCARD_EDIT_FIELD_CAPTCHA_NEW	= "Get new image";
} else if ( gLang == 'es' ) {
	var ERR_POSTCARDIMG_SELECTONE		= "es - Please select a postcard";
	var ERR_YOURNAME_EMPTY			= "es - Please enter your name";
	var ERR_YOUREMAIL_EMPTY			= "es - Please enter your email address";
	var ERR_YOUREMAIL_INVALID		= "es - Email appears to have an invalid format";
	var ERR_RECNAME_EMPTY			= "es - Please enter the recipient's name";
	var ERR_RECEMAIL_EMPTY			= "es - Please enter the recipient's email address";
	var ERR_RECEMAIL_INVALID		= "es - Email appears to have an invalid format";
	var ERR_CARDTITLE_EMPTY			= "es - Please enter the card's title";	
	var ERR_CARDMSG_EMPTY			= "es - Please enter a message";
	var ERR_CARDMSG_TOO_LONG		= "es - Please limit your message to 512 characters";
	var POSTCARD_EDIT_FIELD_CAPTCHA_NEW	= "Get new image";
}

/* ----------------------------------------- */
function validatePostcard( ajaxFile ) {


	errorFlag = 'no';

	myOption = -1;
	for (i=document.postcard.postcardImg.length-1; i > -1; i--) {
		if (document.postcard.postcardImg[i].checked) { 
			myOption = i; i = -1; 
			document.postcard.cardImage.value = document.postcard.postcardImg[myOption].value;	
		}
	}
	if( myOption == -1 ) {
		document.getElementById('errPostcardImg').innerHTML = ERR_POSTCARDIMG_SELECTONE;
		errorFlag = 'yes';
	} else {
		document.getElementById('errPostcardImg').innerHTML = "";
	}

	
	if( document.postcard.senderName.value.length < 1 ) {
		document.getElementById('errSenderName').innerHTML = ERR_YOURNAME_EMPTY;
		document.postcard.senderName.focus(); errorFlag = 'yes';
	} else {
		document.getElementById('errSenderName').innerHTML = "";
	}
	
	if( document.postcard.senderEmail.value.length < 1 ) {
		document.getElementById('errSenderEmail').innerHTML = ERR_YOUREMAIL_EMPTY;
		document.postcard.senderEmail.focus(); errorFlag = 'yes'; 
	} else if(!validEmail(document.postcard.senderEmail.value)){
		document.getElementById('errSenderEmail').innerHTML = ERR_YOUREMAIL_INVALID;
		document.postcard.senderEmail.focus(); errorFlag = 'yes'; 
	} else {
		document.getElementById('errSenderEmail').innerHTML = "";
	}

	if( document.postcard.recieverName.value.length < 1 ) {
		document.getElementById('errRecieverName').innerHTML = ERR_RECNAME_EMPTY
		document.postcard.recieverName.focus(); errorFlag = 'yes';
	} else {
		document.getElementById('errRecieverName').innerHTML = "";
	}

	if( document.postcard.recieverEmail.value.length < 1 ) {
		document.getElementById('errRecieverEmail').innerHTML = ERR_RECEMAIL_EMPTY;
		document.postcard.recieverEmail.focus(); errorFlag = 'yes';
	} else if(!validEmail(document.postcard.recieverEmail.value)){
		document.getElementById('errRecieverEmail').innerHTML = ERR_RECEMAIL_INVALID;
		document.postcard.recieverEmail.focus(); errorFlag = 'yes'; 
	} else {
		document.getElementById('errRecieverEmail').innerHTML = "";
	}

	if( document.postcard.cardTitle.value.length < 1 ) {
		document.getElementById('errCardTitle').innerHTML = ERR_CARDTITLE_EMPTY;
		document.postcard.cardTitle.focus(); errorFlag = 'yes';
	} else {
		document.getElementById('errCardTitle').innerHTML = "";
	}
	
	if( document.postcard.cardMessage.value.length < 1 ) {
		document.getElementById('errCardMessage').innerHTML = ERR_CARDMSG_EMPTY;
		document.postcard.cardMessage.focus(); errorFlag = 'yes';
	} else if ( document.postcard.cardMessage.value.length > 511 ) {
		document.getElementById('errCardMessage').innerHTML = ERR_CARDMSG_TOO_LONG;
		document.postcard.cardMessage.focus(); errorFlag = 'yes';
	} else {
		document.getElementById('errCardMessage').innerHTML = "";
	}

	var objSubmitted 		= new Object();
	objSubmitted.verifyCode		= document.getElementById('verifyCode').value;
	objSubmitted.verifyText		= document.getElementById('verifyText').value;
	var theUrl			= ajaxFile + '?at=validateCaptcha&rnd=' + Math.random();
	var strSubmitted 		= 'jstring=' + objSubmitted.toJSONString();
	var callback 			= { success:handleValidateCaptcha, failure:handleAjaxError, argument:[] }; 
	var transaction 		= YAHOO.util.Connect.asyncRequest('POST', theUrl, callback, strSubmitted);

}


/* ----------------------------------------- */
function editPostcard() {
	document.postcard.nextPage.value = 'edit';
	document.forms['postcard'].submit();

}

/* ----------------------------------------- */
function clearPostcard() {

	document.getElementById('errPostcardImg').innerHTML = "";
	document.getElementById('errSenderName').innerHTML = "";
	document.getElementById('errSenderEmail').innerHTML = "";
	document.getElementById('errRecieverName').innerHTML = "";
	document.getElementById('errRecieverEmail').innerHTML = "";
	document.getElementById('errCardTitle').innerHTML = "";
	document.getElementById('errCardMessage').innerHTML = "";
	document.getElementById('errCaptcha').innerHTML = "";

	for (i=document.postcard.postcardImg.length-1; i > -1; i--) {
		document.postcard.postcardImg[i].checked = false; 
	}
	document.postcard.senderName.value = "";
	document.postcard.senderName.value = "";
	document.postcard.recieverName.value = "";
	document.postcard.recieverEmail.value = "";
	document.postcard.cardTitle.value = "";
	document.postcard.cardMessage.value = "";
	document.postcard.verifyText.value = "";
}

/* ----------------------------------------- */
function sendPostcard(ajaxFile) {

	document.getElementById('reviewButtons').innerHTML = "";
	
	var objSubmitted 	= new Object();
	
	objSubmitted.cardImage	   = document.postcard.cardImage.value;

	objSubmitted.senderName    = document.postcard.senderName.value;
	objSubmitted.senderEmail   = document.postcard.senderEmail.value;
	objSubmitted.recieverName  = document.postcard.recieverName.value;
	objSubmitted.recieverEmail = document.postcard.recieverEmail.value;
	objSubmitted.cardTitle     = document.postcard.cardTitle.value;
	cardMessage		   = document.postcard.cardMessage.value;
	cardMessage		   = cardMessage.replace( /\n/gi, '<br>' );
	cardMessage		   = cardMessage.replace( /\r/gi, '' );
	objSubmitted.cardMessage   = cardMessage;

	var theUrl			= ajaxFile + '?at=sendPostcard&rnd=' + Math.random();
	var strSubmitted 		= 'jstring=' + objSubmitted.toJSONString();
	var callback 			= { success:handleSendPostcard, failure:handleAjaxError, argument:[] }; 
	var transaction 		= YAHOO.util.Connect.asyncRequest('POST', theUrl, callback, strSubmitted);
}


/* ----------------------------------------- */
function handleSendPostcard(o) {
	var response 	= o.responseText.parseJSON();
	document.getElementById('reviewButtons').innerHTML = response.message; 
}

/* ----------------------------------------- */
function handleValidateCaptcha(o){
	var response 	= o.responseText.parseJSON();
	if ( response.result == 'success' && errorFlag == 'no' ) {
		document.postcard.nextPage.value = 'view';
		document.forms['postcard'].submit();	
	} else {
		errorFlag = 'yes';
		document.getElementById('errCaptcha').innerHTML = response.message;
	}
	
}

/* ----------------------------------------- */
function refreshCaptcha( ajaxFile ) {
	var objSubmitted 		= new Object();
	objSubmitted.ajaxFile		= ajaxFile;
	var theUrl			= ajaxFile + '?at=refreshCaptcha&rnd=' + Math.random();
	var strSubmitted		= 'jstring=' + objSubmitted.toJSONString();
	var callback 			= { success:handleRefreshCaptcha, failure:handleAjaxError, argument:[] };
	var transaction 		= YAHOO.util.Connect.asyncRequest('POST', theUrl, callback, strSubmitted);
	
}

/* ----------------------------------------- */
function handleRefreshCaptcha(o){
	var response 	= o.responseText.parseJSON();
	if(response.result == 'success') {
		var ajaxFile   = response.ajaxFile;
	   	var verifyCode = response.verifyCode;
	   	var urlPic     = response.urlPic;
		document.getElementById('captchaContent').innerHTML = "<input type='hidden' id='verifyCode' value='" + verifyCode + "'><img src='" + urlPic + "'><br><a class='postcardEdit' href='javascript:void(0)' onclick=javascript:refreshCaptcha('" + ajaxFile + "')>"+POSTCARD_EDIT_FIELD_CAPTCHA_NEW+"</a><br><br>";
		document.getElementById('errCaptcha').innerHTML = "";
		document.postcard.verifyText.value 	= "";
		
	}
}

