YAHOO.ECNuke.IsUniqueUserName = false;	// boolean

YAHOO.ECNuke.formPHP_CheckUserNameUnique = function(isPopup) {
	if (YAHOO.ECNuke.formPHP.UserName.value.length==0) return;
	var callback= {	success: YAHOO.ECNuke.formPHP_CheckUserNameUniqueHandle,
					failure: YAHOO.ECNuke.FailHandle,
					argument:  { popup:isPopup, form:YAHOO.ECNuke.formPHP }
	};
	YAHOO.ECNuke.formPHP.Service.value = 'CountUserName';
	YAHOO.util.Connect.setForm(YAHOO.ECNuke.formPHP);
	YAHOO.util.Connect.asyncRequest('POST', YAHOO.ECNuke.formPHP.action, callback);
};


YAHOO.ECNuke.formPHP_CheckUserNameUniqueHandle = function(o) {
	if (o.responseText !== undefined){
		var count = parseInt(o.responseText);
		YAHOO.ECNuke.IsUniqueUserName = (count==0 ? true:false);
		if (o.argument.popup) {
			if (YAHOO.ECNuke.IsUniqueUserName) alert('Username is unique.');
			else alert('Username is duplicate.');
		};
	};
}


YAHOO.ECNuke.formPHP_Validate = function(o) {
		var form = YAHOO.ECNuke.formPHP;
		var mis = '';

		if (form.ItemID==undefined) {
			if (form.UserName.value.length==0) mis += '\n\t- User Name.';
			else if (!YAHOO.ECNuke.IsUniqueUserName) mis += '\n\t- User Name (duplicate).';
			if (form.Name.value.length==0) mis += '\n\t- Name.';
		}

		if (form.Password.value.length < 6  ||  form.Password.value != form.Password1.value) mis += '\n\t- Password (must not be empty and contains at lease 6 characters).';
		var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
		if (!objRegExp.test(form.Email.value) || form.Email.value.length==0) mis += '\n\t- E-Mail.';


		if (mis.length>0) {
			alert('There are some fields are empty or invalid format.\n' + mis + '\n\nPlease try again.');
			return false;
		};
		return true;
};



YAHOO.ECNuke.SuccessHandle = function(o) {
	var content ='';
	var result = parseInt(o.responseText);
	if (result<=0) alert('Register Fail.');
	if (YAHOO.ECNuke.Refresh) YAHOO.ECNuke.Refresh(o);
};


YAHOO.ECNuke.Refresh = function(o) {
	window.location.href= 'index.php?registerid=' + o.responseText;
};

YAHOO.ECNuke.formPHP_Submit= function(o) {
	var form = YAHOO.ECNuke.formPHP;

	if (YAHOO.ECNuke.formPHP_Validate(false)) {
		var callback= {		success: YAHOO.ECNuke.SuccessHandle,
							failure: YAHOO.ECNuke.FailHandle,
							argument: { form:form }
		};

		YAHOO.ECNuke.formPHP.Service.value = 'Insert';
		YAHOO.util.Connect.setForm(form);
		YAHOO.util.Connect.asyncRequest('POST',  YAHOO.ECNuke.formPHP.action, callback);
	}
};

