// taglib scripts required: email_check_str.js, util.js, ajax.js

ajaxObjects=new Array();
fields=['from_name','recipient_name','from_email','recipient_email','captcha_code','captcha_md5','copy_sender','message'];

function c_newcode(){
	$('captcha').style.visibility='hidden';
	$('captcha_wait').style.visibility='visible';
	var ajaxIndex=ajaxObjects.length;
	ajaxObjects[ajaxIndex]=new sack();
	with(ajaxObjects[ajaxIndex]){
		requestFile ="/cgi-bin/aj_captcha.cgi";
		onCompletion=function(){c_newcode_response(ajaxIndex);};
		runAJAX();
	}
}

function c_newcode_response(index){
	txt=ajaxObjects[index].response;
	$('captcha_img').src='/captcha/images/'+txt+'.png';
	$('captcha_wait').style.visibility='hidden';
	$('captcha').style.visibility='visible';
	$('captcha_md5').value=txt;
	$('captcha_code').focus();
}

function invite_submit(){
	// form-field validation first
	$('error_message').innerHTML='';
	for(i=0;i<5;i++){
		if(!$(fields[i]).value){
			$(fields[i]).focus();
			err_msg("Required information missing");
			return false;
		}
	}
	msg=email_check($('from_email').value);
	if(msg>''){
		$('from_email').focus();
		err_msg(msg);
		return false;
	}
	msg=email_check($('recipient_email').value);
	if(msg>''){
		$('recipient_email').focus();
		err_msg(msg);
		return false;
	}

	// submit form via ajax
	$('input_submit').style.display='none';
	$('submit_wait').style.display='inline';
	var ajaxIndex=ajaxObjects.length;
	ajaxObjects[ajaxIndex]=new sack();         
	for(i=0;i<fields.length;i++){
		ajaxObjects[ajaxIndex].setVar(fields[i],$(fields[i]).value);
	}
	with(ajaxObjects[ajaxIndex]){
		requestFile ="/invites/invite.cgi";
		onCompletion=function(){evite_response(ajaxIndex);};
		runAJAX();
	}
}

function evite_response(index){
	txt=ajaxObjects[index].response;
	if(txt=='error'){
		c_newcode();
		err_msg("Captcha code incorrect. Please try with this new one.");
		$('submit_wait').style.display='none';
		$('input_submit').style.display='inline';
		return false;
	}else if(txt=='success'){
		window.location='invite_thanks.html?'+$('recipient_email').value;
	}else{
		err_msg(txt);
	}
}

function err_msg(what){
	$('error_message').innerHTML=what;
}

addEvent(window,'load',c_newcode,false);
