dojo.require("dojo.parser");
dojo.require("dijit.form.Button");
dojo.require("dijit.Dialog");
dojo.require("dijit.form.ValidationTextBox");

/**
 * @author DREDroot
 *
 */ 
dojo.declare("dojom.widgets.SignInForm", null, 
{    
	templates: 'lib/dojom/widgets/templates/SignInForm.html',  	        	
	constructor: function(onSubmit,regForm) 
	{
		var obj = this;
        var floater;
		if(!dijit.byId('signIn_floater'))
		{		
			var node = document.createElement('div');
			dojo.body().appendChild(node);	
			
			var floater = new dijit.Dialog({
					id:"signIn_floater",
					title:"Login",
					execute: onSubmit,
					submit: obj.submit				
				},node);
			
			floater.createAccount = function(){
				if(regForm)
				{
					floater.hide();
					regForm.create();	
				}
			};															
			
			dojo.connect(floater,'_onKey',function(evt){
					if(evt.keyCode==dojo.keys.ENTER)
						obj.submit();
				});
						
			dojo.connect(floater,'onLoad',function(){				
				setTimeout(dojo.hitch(obj, function(){
					dijit.byId('signInLogin').focus();
				}), 1000);	
			
			});
			
		}
		else 
			floater = dijit.byId('signIn_floater');

		floater.setHref(this.templates);	
		floater.show();
		
		return floater;
	},
	
	submit : function()
	{
		var LoginTB = dijit.byId('signInLogin');
		var PassTB = dijit.byId('signInPass');
		
		if(LoginTB.isValid() && PassTB.isValid())
		{
			dijit.byId('signIn_floater').execute({
					'login' : LoginTB.getValue(),
					'pass' : PassTB.getValue()
				});				
			dijit.byId('signIn_floater').hide();			
		}
		else
		{ 
			if(!LoginTB.isValid())
				LoginTB.focus();
			else if(!PassTB.isValid())
				PassTB.focus();
		}				
	}
	
        	
});