var Member = function() {  
	var translateTags = {};
	
	function getFieldValues(fields){
		var i = fields.length;
		var params = {};
		while(i--){
			var elm = $("#"+fields[i]);
			var domEl = elm.get(0);
			if (domEl){
				if (domEl.tagName == "INPUT"){
					if (elm.attr("type").toLowerCase() == "checkbox"){
						if (elm.attr("checked")){
							params[fields[i]] = 1;
						}
						else {
							params[fields[i]] = 0;
						}
					}
					else {
						params[fields[i]] = elm.val();
					}
				}
				else {
					params[fields[i]] = elm.val();
				}
			}
		}
		return params;
	}
	
	function postForm(params, url, fnc){
		$.ajax({ 
			method: "POST",
			type: "POST",
			url: url,
			data: params, 
			timeout: 10000,
			beforeSend: function(){
			}, //show loading just when link is clicked 
			complete: function(){ 
			}, //stop showing loading when the process is complete 
			success: fnc.success,
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					if (textStatus == "timeout"){
						alert(translateTags.errorAjaxTimeOut);
					}
					else {
						alert(translateTags.errorAjax);
					}
				}
			});
			/*
			function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				} 
			*/
	}
	
	return {
		login : function(fields, frm_id){
			var url = $("#"+frm_id).attr("action");
			var params = getFieldValues(fields);
			params.login_submit = 1;
			var fnc = {success: function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				}
			};
			postForm(params, url, fnc);
		},
		register : function(fields, frm_id){
			var url = $("#"+frm_id).attr("action");
			var params = getFieldValues(fields);
			params.register_submit = 1;
			var fnc = {success: function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				}
			};
			postForm(params, url, fnc);
		},
		registerConfirm : function(fields, frm_id){
			var url = $("#"+frm_id).attr("action");
			var params = getFieldValues(fields);
			params.registerConfirm_submit = 1;
			var fnc = {success: function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				}
			};
			postForm(params, url, fnc);
		},
		profile : function(fields, frm_id){
			var url = $("#"+frm_id).attr("action");
			var params = getFieldValues(fields);
			params.profile_submit = 1;
			var fnc = {success: function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				}
			};
			postForm(params, url, fnc);
		},
		password : function(fields, frm_id){
			var url = $("#"+frm_id).attr("action");
			fields.push("password_captcha-input");
			fields.push("password_captcha-id");
			var params = getFieldValues(fields);
			params.password_submit = 1;
			var fnc = {success: function(html){ //so, if data is retrieved, store it in html 
				$("#TB_ajaxContent").html(html);
				}
			};
			postForm(params, url, fnc);
		},
		setTranslateTags: function(tags){
			translateTags = tags;
		}
	};  
}();
