var _registerFrmHTML          = '';
var _registerConfirmationHTML = '';
var _registerBtnLib           = '';
var _registerCancelBtnLib     = '';
var _registerOkBtnLib         = '';
var _lg                       = '';

function initRegisterPopupHTML(idCrypted) {
	//alert('/usrRegister_act2.php?act=getHTMLForm&idCrypted='+idCrypted);
	if (_registerFrmHTML!='') { displayRegisterPopup(); }
	else {
		$.getJSON(
			'/usrRegister_act2.php?act=getHTMLForm&idCrypted='+idCrypted+'&lg='+_lg,
			{ idCrypted:idCrypted },
			function(objJSON) {
				_registerFrmHTML          = objJSON.registerFrmHTML;
				_registerConfirmationHTML = objJSON.registerCfrmHTML;
				displayRegisterPopup();
			}
		);
	}
}

function displayRegisterPopup() {
	$("#registerPopup").dialog({
        buttons: [
          {
        	  text:_registerBtnLib,
        	  'class':'valid',
        	  click:function() { submitRegistation(); }
          },
          {
        	  text:_registerCancelBtnLib,
        	  'class':'cancel',
        	  click:function() { $(this).dialog('close'); }
          }
		] 
	});
	
	$('#registerPopup div.ui-dialog-buttonpane').show();
	$('#registerPopup').html(_registerFrmHTML); 
	$('#registerPopup').dialog('open');
}

function submitRegistation() { checkForm('registration', '/usrRegister_act2.php?act=checkForm'); }

function checkForm(formName, controler) {
	var data = getData(formName);
	data    += '&idCrypted='+$('form[name="'+formName+'"] input[name="idCrypted"]').val();
	
	//alert(_registerFrmHTML);
	
	$('#ajaxLoader').show();
	
	$.ajax({
		type   : 'POST',
		url    : controler,
		data   : data,
		success: function(data) {
			//alert(data);
			
			$('#ajaxLoader').hide();
		
			var objJson = jQuery.parseJSON(data);
			if (objJson.isValid==1) {
				$('#registerPopup').dialog({ 
					buttons:[
					{
						text:_registerOkBtnLib,
						'class':'valid',
						click:function() { $(this).dialog('close'); }
					}
					] 
				});
				$('#registerPopup').html(_registerConfirmationHTML);
			}
			else { 
				for (var status in objJson.status) {
					if (objJson.status[status]==0) { invalidateField(formName, status); }
					else                           { validateField  (formName, status); }
				}
			}
		}
	});
}

function invalidateField(formName, fieldName) { 
	$('#error_'+fieldName).show();
	$('form[name="'+formName+'"] input.field[name="'+fieldName+'"]').addClass('error');
}

function validateField(formName, fieldName) { 
	$('#error_'+fieldName).hide();
	$('form[name="'+formName+'"] input.field[name="'+fieldName+'"]').removeClass('error');
}

function getData(formName) {
	var strData = '';

	// Find text input
	$('form[name="'+formName+'"] input.field[type="text"]').each(
		function(i) {
			if (strData!='') { strData+= '&'; } 
			strData+= $(this).attr('name')+'='+$(this).val();
		}
	);

	// Find checked checkbox
	$('form[name="'+formName+'"] input.field[type="checkbox"]:checked').each(
		function(i) {
			if (strData!='') { strData+= '&'; } 
			strData+= $(this).attr('name')+'='+$(this).val();
		}
	);

	// Find textarea
	$('form[name="'+formName+'"] textarea.field').each(
		function(i) {
			if (strData!='') { strData+= '&'; } 
			strData+= $(this).attr('name')+'='+$(this).val();
		}
	);
	
	// Find combobox
	$('form[name="'+formName+'"] select.field').each(
		function(i) {
			if (strData!='') { strData+= '&'; } 
			strData+= $(this).attr('name')+'='+$(this).val();
		}
	);
	
    //alert(strData);
	return strData;
}
