var WIDGET_OUT = false;
var WIDGET_TIMER = null;
var WIDGET_OPEN = false;
var WIDGET_BOX = null;
var WIDGET_BUTTON = null;
var WIDGET_USER_FIELD = null;
var WIDGET_PASS_FIELD = null;
var WIDGET_FORMS = null;

function initializeLoginWidget(box,button,userField,passField){
	
	WIDGET_BOX=box;
	WIDGET_BUTTON=button;
	WIDGET_USER_FIELD=userField;
	WIDGET_PASS_FIELD=passField;
	
	$('#'+WIDGET_BOX).hide();
	
	if(document.getElementById(WIDGET_BOX) != null && document.getElementById(WIDGET_BOX) != undefined){
		WIDGET_FORMS = document.getElementById(WIDGET_BOX).getElementsByTagName("form");
		WIDGET_FORMS[0].onsubmit = function(e){
			$('#'+WIDGET_BOX).hide();
		}
	}
	
	$('#'+WIDGET_BOX).mouseover(function(event){
		WIDGET_OUT = false;
	});
	
	$('#'+WIDGET_BOX).mouseout(function(event){
		//WIDGET_OUT=true
		WIDGET_TIMER=setTimeout("catchWidgetOutAction()",200);
	});
	
	$('#'+WIDGET_USER_FIELD).hover(null);
	
	$('#'+WIDGET_USER_FIELD).focus(catchWidgetElementFocusAction);
	
	$('#'+WIDGET_USER_FIELD).blur(catchWidgetElementBlurAction);
	
	$("#"+WIDGET_PASS_FIELD).focus(catchWidgetElementFocusAction);
	
	$("#"+WIDGET_PASS_FIELD).blur(catchWidgetElementBlurAction);
	
	$("#"+WIDGET_BUTTON).mouseover(function(event){
		$("#"+event.target.id).focus();
	});
	
	$("#"+WIDGET_BUTTON).mouseout(function(event){
		//catchWidgetElementBlurAction(event);
	});
	
	$("#"+WIDGET_BUTTON).focus(catchWidgetElementFocusAction);
	
	$("#"+WIDGET_BUTTON).blur(catchWidgetElementBlurAction);
	
	$('#'+WIDGET_BUTTON).click(function(){
		if(!WIDGET_OPEN){
			$('#'+WIDGET_BOX).show();
			$('#'+WIDGET_BUTTON).focus();
			WIDGET_OUT=false;
			WIDGET_OPEN=true;
		}
		else{
			$('#'+WIDGET_BOX).hide();
			WIDGET_OUT=false;
			WIDGET_OPEN=false;
		}
	});
}

function catchWidgetElementBlurAction(e){
	if(e.target.id == WIDGET_USER_FIELD){
		//alert("ok "+e.target)
		WIDGET_OUT=true
		WIDGET_TIMER=setTimeout("catchWidgetOutAction()",200);
		if($('#'+WIDGET_USER_FIELD).val() == ""){
			$('#'+WIDGET_USER_FIELD).val('username')
		}
	}
	else{
		WIDGET_OUT=true
		WIDGET_TIMER=setTimeout("catchWidgetOutAction()",200);
	}
}

function catchWidgetElementFocusAction(e){
	if(e.target.id == WIDGET_USER_FIELD){
		WIDGET_OUT=false;
		if($('#'+WIDGET_USER_FIELD).val() == "username"){
			$('#'+WIDGET_USER_FIELD).val('')
		}
	}
	else{
		WIDGET_OUT=false;
	}
}

function catchWidgetOutAction(){
	clearTimeout(WIDGET_TIMER);
	if(WIDGET_OUT){
		$('#'+WIDGET_BOX).hide();
		$('#'+WIDGET_USER_FIELD).blur();
		WIDGET_OPEN=false;	
	}
}
