function MyAccount() {
	///
	this.isSending = false;
    ///
	this.initialize = function(){
		
    }
	this.showChangeAccount = function(){
		Modalbox.show("content/Edit_Account.html?" + Math.random(), {afterLoad: this.fillDetails.bind(this) ,title: "Edit Account", width: 500} );
	}
	
	this.showChangeCard = function(){
		Modalbox.show("content/Edit_Card.html?" + Math.random(), {afterLoad: this.fillCardDelatils.bind(this) ,title: "Edit Account", width: 500} );
	}
	
	this.fillCardDelatils = function(){
		var ap = new AjaxPlace({clas: "LSAccount", func:"getProfile", args:[]});
		ap.folder = "admin/";
		var callback = function(transport){
			var r = eval(transport.responseText);
			r = r[0];
			$("b_address1").value = r.address;
			$("b_address2").value = r.address2;
			$("b_city").value = r.city;
			$("b_zip").value = r.zip;
			$("b_phone1").value = r.telephone.split("-")[0];
			$("b_phone2").value = r.telephone.split("-")[1];
			$("b_phone3").value = r.telephone.split("-")[2];
			$("b_phone4").value = r.telephone.split("-")[3];
			Functions.setOptionByValue("b_state",r.state);
		}
		ap.call({ onSuccess:callback.bind(this) });
	}
	
	this.updateCard = function(){
		var fields = ["b_address1", "b_address2", "b_city", "b_zip", "b_phone1", "b_phone2", "b_phone3", "b_phone4"];
		var values = [];
		var required = [0,2,3,4,5,6];
		var posr = 0;
		for(var t = 0; t < fields.length; t++){
			var v = $(fields[t]).value;
			values.push(Functions.trim( v ));
			if(t == required[posr]){
				posr++;
				if( Functions.trim( v ) == "" ){
					alert("required fields are missing");
					return false;
				}
			}
		}
		if(!($("b_phone1").value.length == 3 && $("b_phone2").value.length == 3 && $("b_phone3").value.length == 4)){
		    alert("required fields are missing");
			return false;
			}
		if(Functions.validString($("b_zip").value, "1234567890")==''){
		    alert("required fields are missing");
			return false;
			}
		//
		var state = $("b_state").options[ $("b_state").selectedIndex ].value;
		if(state==-1){
		    alert("required fields are missing");
			return false;
			}
		values.splice(3, 0, state) 
		///join the last 4 phone fields
		var phone = values.splice((values.length - 4), 4).join("-");
		values.push(phone);
		///
		var name = $("p_name").value;
		var number = $("p_number").value;
		var code = $("p_code").value;
		if(!Functions.checkFields(name,number,code)){
			alert("required fields are missing");
			return;
		}
		var date = $("p_month").options[ $("p_month").selectedIndex ].text + $("p_year").options[ $("p_year").selectedIndex ].text;
		values.unshift(number, date, code);
		////
		var ap = new AjaxPlace({clas: "LSAccount", func:"updateProfile", args:values});
		ap.folder = "admin/";
		var callback = function(transport){
			//alert(transport.responseText);
			if(transport.responseText==""){
				var str = '<div style="height:200px;" align="center"><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td align="center" valign="middle"><b>Changes have been made!</b><br/><a href="#" onclick="Modalbox.hide(); return false;">Press here</a> to close</td></tr></table></div>';
				Modalbox.show(str, {title: "Thank you!", width: 400});	
			}else{
				var r = eval("("+transport.responseText+")");
				alert(r.message);
			}
		}
		ap.call({ onSuccess:callback.bind(this) });
	}
	
	this.fillDetails = function(){
		$("new_name").value = App.user.data.fname;
		$("new_lastname").value = App.user.data.lname;
		///alert("cargo datos");
	}
	
	this.saveAccount=function(){
		var pass = Functions.trim($("new_password").value);
		var cpass = Functions.trim($("new_cpassword").value);
		var name = Functions.trim($("new_name").value);
		var lastname = Functions.trim($("new_lastname").value);
		///
		if(!Functions.checkFields(name, lastname)){
			$("new_account_error").innerHTML = "Required fields are missing";
			return;
		}
		if( pass != cpass ){
			$("new_account_error").innerHTML = "Password fields must be equal";
			return;
		}
		$("new_account_error").innerHTML = "Sending data";
		////
		if(this.isSending){
			return;
		}
		this.isSending = true;
		Modalbox.deactivate();
		////
		var ap = new AjaxPlace({clas: "LSAccount", func:"updateAccount", args:[pass, name, lastname]});
		ap.folder = "admin/";
		var callback = function(transport){
			///
			this.isSending = false;
			Modalbox.activate();
			var r = eval(transport.responseText);
			if(r == true){
				var str = '<div style="height:200px;" align="center"><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td align="center" valign="middle"><b>Changes have been made!</b><br/><a href="#" onclick="Modalbox.hide(); return false;">Press here</a> to close</td></tr></table></div>';
				Modalbox.show(str, {title: "Thank you!", width: 400});
				App.user.setName(name, lastname);
			}
		}
		ap.call({ onSuccess:callback.bind(this) });
	}
}



