dojo.require("dojo.parser");
dojo.require("dijit.form.Button");
dojo.require("dijit.Dialog");
dojo.require("dijit.form.ValidationTextBox");

/**
 * @author DREDroot
 *
 */
dojo.declare("dojom.widgets.RegistrationForm", null, 
{    
	floater: null, 
	onSubmit: null,
	templates: 'lib/dojom/widgets/templates/RegistrationForm.html',
	log: null,
	 	        	
	constructor: function(onSubmit) 
	{
		this.log = LOG.addClass('RegistrationForm');
		this.onSubmit = onSubmit;
	},
	
	create : function()
	{
		var obj = this;
		var floater;
		try{	        
			if(!dijit.byId('registration_floater'))
			{		
				var node = document.createElement('div');
				dojo.body().appendChild(node);	
				
				var floater = new dijit.Dialog({
						id:"registration_floater",
						title:"Registration",
						execute: obj.onSubmit,
						submit: obj.submit				
					},node);
								
				
				dojo.connect(floater,'_onKey',function(evt){
						if(evt.keyCode==dojo.keys.ENTER)
							obj.submit();
					});				
				
				
				dojo.connect(floater,'onLoad',function(){
					try{
						//dijit.byId('regImgContent').setContent('<img style="width="100" height="35" src="http://3dsn.com/servlets/imageGen.htm?id='+Math.random()+'"/>');
										
						/*
						dojo.connect(floater,'hide',function(){
							try{
								
								dijit.byId('regLogin').destroy();								
								dijit.byId('regPass').destroy();								
								dijit.byId('regRePass').destroy();
								dijit.byId('regEmail').destroy();
								dijit.byId('regFName').destroy();
								dijit.byId('regSName').destroy();
								dijit.byId('regCode').destroy();
								dijit.byId('regImgContent').destroy();
								dijit.byId('regOkButton').destroy();
								dijit.byId('regCloseButton').destroy();
								
								//obj.log.debug(floater);
								//floater.destroy();
							}catch(ex){obj.log.error('create /hide/.'+ex)}
						});
						*/
						setTimeout(dojo.hitch(obj, function(){
							dijit.byId('regLogin').focus();
						}), 1000);		
					}catch(ex){obj.log.error('create /onLoad/.'+ex)}
				});
				
			}
			else 
			{
				floater = dijit.byId('registration_floater');					
			}
			
			floater.setHref(this.templates);
			this.floater = floater;
			floater.show();
		}catch(ex){obj.log.error('create.'+ex)}
		return floater;
	},
	
	submit : function()
	{
		var LoginTB = dijit.byId('regLogin');
		var PassTB = dijit.byId('regPass');
		var RePassTB = dijit.byId('regRePass');
		var EmailTB = dijit.byId('regEmail');
		var ReEmailTB = dijit.byId('regReEmail');
		var FNameTB = dijit.byId('regFName');
		var SNameTB = dijit.byId('regSName');
		//var CodeTB = dijit.byId('regCode');
		
		
		if(LoginTB.isValid() && PassTB.isValid() 
			&& RePassTB.isValid() && EmailTB.isValid() 
			&& FNameTB.isValid() && SNameTB.isValid())// && CodeTB.isValid())
		{
			if(PassTB.getValue() != RePassTB.getValue())
			{
				RePassTB.setValue('');
				RePassTB.focus();
				return;
			}
			
			if(EmailTB.getValue() != ReEmailTB.getValue())
			{
				ReEmailTB.setValue('');
				ReEmailTB.focus();
				return;
			}
			
			
			dijit.byId('registration_floater').execute({
					'login' : LoginTB.getValue(),
					'pass' : PassTB.getValue(),
					'email' : EmailTB.getValue(),
					'fname' : FNameTB.getValue(),
					'sname' : SNameTB.getValue()//,
					//'code' : CodeTB.getValue()					
				});							
		}
		else
		{ 
			if(!LoginTB.isValid())
				LoginTB.focus();
			else if(!PassTB.isValid())
				PassTB.focus();
			else if(!RePassTB.isValid())
				RePassTB.focus();
			else if(!EmailTB.isValid())
				EmailTB.focus();
			else if(!ReEmailTB.isValid())
				ReEmailTB.focus();
			else if(!FNameTB.isValid())
				FNameTB.focus();
			else if(!SNameTB.isValid())
				SNameTB.focus();
			//else if(!CodeTB.isValid())
			//	CodeTB.focus();
		}				
	}
	
        	
});
