/*  JavaScript for LH Enrollment
	Dojo needed !
*/
dojo.declare("lh.handler.EnrollmentHandler",null,
	{
	checkBoxIdMAMRegister: null,
	checkBoxIdMAMPaperCard: null,
	checkBoxIdMAMAccount: null,
	checkBoxIdMAMSpecial: null,
	slNodeCountry: null,
	inputIdMAMNo: null,
	xClass:"",
	_result: null,
	_resultUncheck: null,
	_resultUncheckOld: null,

	constructor: function(params){
		dojo.mixin(this, params);
		
		this.slNodeCountry = dojo.byId(this.selectListIDCountry);
		if(this.slNodeCountry!=null){
			dojo.connect(this.slNodeCountry,"onchange",this,"_submitForm");
		}
		
		this.cbNodeMamReg = dojo.byId(this.checkBoxIdMAMRegister);
		this.cbNodeMamPaperCard = dojo.byId(this.checkBoxIdMAMPaperCard);
		this.cbNodeMamAccount = dojo.byId(this.checkBoxIdMAMAccount);
		this.cbNodeMamSpecial = dojo.byId(this.checkBoxIdMAMSpecial);
		
		if((this.cbNodeMamReg!=null)&&(this.cbNodeMamPaperCard!=null)){
			dojo.connect(this.cbNodeMamReg,"onclick",this,"_showMilesAndMore");	
			this.ipNodeMamNo = dojo.byId(this.inputIdMAMNo);
			this._showMilesAndMore();
		}
	},
	
	_showMilesAndMore: function (){
		if((this.cbNodeMamReg.checked)||(this.cbNodeMamPaperCard.checked))
		{
			if(!this._result){this._result = dojo.query(this.xClass);}
			for(var i=0; i<this._result.length; i++){
				dojo.style(this._result[i],"display","block");	
			}
			dojo.disconnect(this.showMoreHandler);
			
			if(this.cbNodeMamReg!=null){
				dojo.connect(this.cbNodeMamReg,"onclick",this,"_checkBoxToggle");
				dojo.connect(this.cbNodeMamReg,"onclick",this,"_oldCheckBoxUnchecker");
			}
			if(this.cbNodeMamPaperCard!=null){
				dojo.connect(this.cbNodeMamPaperCard,"onclick",this,"_checkBoxToggle");
				dojo.connect(this.cbNodeMamPaperCard,"onclick",this,"_oldCheckBoxUnchecker");
			}
			if(this.cbNodeMamAccount!=null)dojo.connect(this.cbNodeMamAccount,"onclick",this,"_checkBoxComToggle");
			if(this.cbNodeMamSpecial!=null)dojo.connect(this.cbNodeMamSpecial,"onclick",this,"_checkBoxComToggle");
		}
	},
	
	_checkBoxToggle:function (event){
		if(event.target.id == this.checkBoxIdMAMRegister){
			this.cbNodeMamPaperCard.checked = false;
		}
		if(event.target.id == this.checkBoxIdMAMPaperCard){
			this.cbNodeMamReg.checked = false;
			if((this.ipNodeMamNo.value=="")&&(this.cbNodeMamPaperCard.checked))this.ipNodeMamNo.focus();
		}
		if((!this.cbNodeMamReg.checked)&&(!this.cbNodeMamPaperCard.checked)){
			if(!this._resultUncheck){this._resultUncheck = dojo.query(this.xClassUnCheck);}
			for(var i=0; i<this._resultUncheck.length; i++){
				this._resultUncheck[i].checked = false;	
			}		
		}
	},
	
	_oldCheckBoxUnchecker:function (event){
		if((!this.cbNodeMamReg.checked)&&(!this.cbNodeMamPaperCard.checked)){
			if(!this._resultUncheckOld){this._resultUncheckOld = dojo.query(this.xClassUnCheckOld);}
			for(var i=0; i<this._resultUncheckOld.length; i++){
				this._resultUncheckOld[i].checked = false;	
			}		
		}
	},
	
	
	_checkBoxComToggle: function(event){
		if((!this.cbNodeMamReg.checked)&&(!this.cbNodeMamPaperCard.checked)){
			this.cbNodeMamReg.checked = true;
		}
	},
	
	_submitForm: function(event){
		var submitFlag = true;
		if((this.submitValues!=null)&&(this.submitValues.length>0)){
			if(dojo.indexOf(this.submitValues,this.slNodeCountry.value)<0)submitFlag = false;
		}
		this._form = dojo.byId(this.formId);
		this._form.action = this.actionIfCountryChanged;
		if(submitFlag) this._form.submit();
		event.preventDefault();
	}
	
});