He.Bootstrap('He.Application.UserProfile.Mailbox');

He.Application.UserProfile.Mailbox.CheckNew = function()
{
	if($('btn_mail'))
	{
		He.Framework.Ajax.Request('/profile/mailbox:CheckNew');
	}
	He.Application.UserProfile.Mailbox.CheckNew.next = null;
}

He.Application.UserProfile.Mailbox.CheckNew.PeriodInSeconds = 300;

He.Application.UserProfile.Mailbox.ResponseCB = function(_feedback)
{
	He.Application.UserProfile.Mailbox.newmails = _feedback;

	if (_feedback > 0)
	{
		var btn = $("btn_mail");

		if(_feedback < 10)
		{
			_feedback = '0'+_feedback;
		}
		else if(_feedback > 99)
		{
			_feedback = '...';
		}

		btn.firstChild.update(_feedback);

		if(!btn.hasClassName('got_content'))
		{
			btn.addClassName('got_content');
		}

		//$('nbMsg').update(_feedback);
	}
}

He.WhenReadyCall('He.Application',function()
{
	He.Application.RegisterBackChannel('NewMail',He.Application.UserProfile.Mailbox.ResponseCB);
});

He.OnDOMReady(He.Application.UserProfile.Mailbox.CheckNew); // call once

document.observe('clickedlink:after',function()
{
	He.OnDOMReady(function()
	{
		if(!He.Application.UserProfile.Mailbox.CheckNew.next)
		{
			He.Application.UserProfile.Mailbox.CheckNew.delay(
	 			He.Application.UserProfile.Mailbox.CheckNew.PeriodInSeconds
			);
		}
	});
});

He.Application.GetPopup = function(_thema)
{
	if(He.Application.GetPopup.win)
	{
		He.Application.GetPopup.win.close();
	}

	if(_thema =="studio")
	{
		_source = '/studio_popup.php';
	}
	else if(_thema =="moviedb")
	{
			_source = '/moviedb_popup.php';
	}

	He.Application.GetPopup.win	= He.Components.GenDialog.LoadModal('',_source,null,null,{'width':845,'height':400});
}
He.Application.GetPopup.win = null;


He.Application.SendBetaTestRegistrationForm = function(form)
{
	var _email = $('email').value;
	if(He.Framework.Mail.Check(_email))
	{
		He.Framework.Form.Sign(form);
		He.Framework.Ajax.PostForm(form, function(){He.Application.GetPopup.win.close();});
		return true;
	}
	He.Framework.Feedback.Message(10, "The email adress you entered seems to be invalid.",'Wrong mail format');
	return false;
}

He.Application.SetLang = function(_lang, reload)
{
	if(_lang)
	{
		document.cookie = "lang=" + _lang;
		if(reload == true)
		{
			He.Application.Reload();
		}
	}
}

He.Application.SetActiveLang = function()
{
	//alert('switch_to_'+He.Framework.Lang.lang);
	$('switch_to_'+He.Framework.Lang.lang).addClassName('active');
}

He.Application.Reload = function()
{
	location.reload();
}

He.Bootstrap('He.Application.GlobalSearch');

He.Application.GlobalSearch.Submit = function Submit(_form)
{
	var token = _form.token.value;
	token = new String(token).replace(new RegExp('[^a-zA-Z0-9\u00A1-\uFFFF]+','g'),'-');
	if(token)
	{
		token = ':' + token;
	}
	He.Framework.Nav.Reload(He.Framework.Nav.root + "/search" + token);
	return false;
}

He.Application.CheckLoginField = function()
{
	if(!He.Application.Common.UserProfileId)
	{
		var label_login_name		= $('label_login_name').innerHTML;
		var label_login_password	= $('label_login_password').innerHTML;

		var login_name				= $('login_name');
		var login_password			= $('login_password');

		// Email
		if(login_name.value.empty())
		{
			login_name.value		= label_login_name;

			login_name.onfocus	= function()
			{
				if(this.value == label_login_name)
				{
					this.value = '';
				}
			};

			login_name.onblur = function()
			{
				if(this.value.empty())
				{
					this.value = label_login_name;
				}
			}
		}

		// Password
		if(login_password.value.empty())
		{
			login_password.type		= 'text';
			login_password.value	= label_login_password;

			login_password.onfocus	= function()
			{
				if(this.value == label_login_password)
				{
					this.type	= 'password';
					this.value	= '';
				}
			};

			login_password.onblur = function()
			{
				if(this.value.empty())
				{
					this.type	= 'text';
					this.value	= label_login_password;
				}
			}
		}
	}
};
/*
He.Application.GetLoginFieldValues = function()
{
	console.log('call He.Application.GetLoginFieldValues');
	He.Application.LoginFieldValues = {
		email: $('label_login_name').innerHTML,
		password: $('label_login_password').innerHTML
	}
}

He.Application.DisplayLoginFieldValues = function()
{
	console.log('call He.Application.DisplayLoginFieldValues');
	console.log(He.Application.LoginFieldValues);
	$('label_login_name').value = He.Application.LoginFieldValues.email;
	$('label_login_password').value = He.Application.LoginFieldValues.password;
}
*/
He.OnDOMReady(He.Application.CheckLoginField);
/*
document.observe('clickedlink:before', function() 
{
	if(!He.Application.Common.UserProfileId)
	{
		He.Application.GetLoginFieldValues(); 
	}
});

document.observe('clickedlink:after', function() 
{
	if(!He.Application.Common.UserProfileId)
	{
		He.Application.DisplayLoginFieldValues();
	}
});
*/
