if(typeof _urlGetNickname=="undefined")
	var _urlGetNickname;



LoginVirgilio = function()
{
	this.cookieLogged = "tinv";
	this.callBack = null;
	this.callBackObject = null;
	this.titleLogin = "Scegli il tipo di accesso:";
	this.labelConfirmButton = "entra";
	this.application="";
	this.timeoutLogged = null;
	this.logged=false; 
	this.urlGetNickname =  "http://aaacsc.virgilio.it/idema/rest/getuserprofile?serviceid=commenti2";
	if (_urlGetNickname){this.urlGetNickname =  _urlGetNickname;}
	this.loggedType="";
	this.nickname="";
	this.nicknameList="";
	this.authType="";
	this.connectFB = false;
	this.erosNick = "";
	this.errorUrl="";
	this.noFirstTime = false;
	this.loginStatusLogged();
	
	
}
 

LoginVirgilio.prototype = {
	initLogin : function  (){
			/* Imposta la variabile che non è sul caricamento della pagina, variabile utilizzata nella funzione reloadOtherLoginObject*/
			this.noFirstTime = true;
			
			/* Se si è loggato con altri oggetti in pagina */
			if ((this.getCookie("tinv")!="")&&(!this.logged)&&(this.errorUrl=="")){
				this.loginStatusLogged();
				return false;
			}
			
			/* Se si è sloggato con altri oggetti in pagina */
			if((this.getCookie("tinv")=="")&&(this.logged))
				this.loginStatusLogged();
				
			this.loginStatus();	
			/* Funzione che apre il layer di login */
			var _urlLogin = "http://registrazioni.virgilio.it/gau/extauth/loginPage.do?mn=1&azione=" + this.labelConfirmButton ;
			if (this.errorUrl!="")
				_urlLogin = this.errorUrl + "&azione=" + this.labelConfirmButton;
			
			if ($('.layerLogin').html()==null){
			$('body').append($('<div/>').addClass('layerLogin'))						 
				var cont = '<span>' + this.titleLogin + '</span><div><iframe src="' + _urlLogin + '" id="logifr" name="logifr" scrolling="no" frameborder="0"></iframe></div>'
				overlay = $('<div class="overlayL"></div>').css({'position':'absolute','left':'0','top':'0','background':'#000','z-index':'9','height':''+$(document).height()+'px','width':''+$(document).width()+'px','opacity':'0.5','display':'block','border':'none','padding':'0'});
				$('body').append(overlay);
				$('.layerLogin').html(cont)
				$('.layerLogin').append($('<a>').attr({'href':'#','title':'Chiudi'}).addClass('layer_close'))
				$('.layerLogin').css({'left': ($(window).width()/2)-($('.layerLogin').width()/2),'top': ($(window).height()/2)-($('.layerLogin').height()/2)})
				$('li a').click(function(){$('li a').removeClass('on');$(this).addClass('on')})
				$('.layer_close').click(function(){$('.layerLogin').remove();$('.overlayL').css('display','none'); return false})
			}
			else
			{
				$('.layerLogin').css({'display':'block'});
				$('.overlayL').css({'display':'block'});
			}
			/*if ($('#layerLogin').html()==null){
				var cont = '<div id="layerLogin"><span id="layerLoginTitle"></span><iframe id="ifrLoginVirgilio" frameborder="0" scrolling="no" noresize="" marginwidth="0" marginheight="0" height="355px" width="646px"></iframe></div><div style="display:none"><img src="/common/tech_includes/login/img/basic/x.png" alt="" /></div>';
				$('body').append(cont);
			}
			
			
			$('#layerLoginTitle').html( this.titleLogin);
			$('#layerLogin').modal();

				
			if ($('#ifrLoginVirgilio').attr("src")!= _urlLogin) { 
				$('#ifrLoginVirgilio').attr("src", _urlLogin);
			}
			
			$('#layerLogin').attr("class", "layerLogin");*/
			return false;
		},
	endLogin : function  (){
			/* funzione chiamata al termine della login, che eventualmente chiama una funzione applicativa */
			if (this.callBackObject)
				eval("this.callBackObject." + this.callBack + "()");
			else if (this.callBack)
				eval(this.callBack + "()");

			return false;
	},
	loginStatus:function(){
		clearInterval(this.timeoutLogged);
		if (this.cookieLogged=="tinv"){
			if (this.logged){
				var tmpTimeoutLogin =  this;
				this.timeoutLogged=setInterval(function(){
													if (tmpTimeoutLogin.getCookie(tmpTimeoutLogin.cookieLogged)==""){
														tmpTimeoutLogin.loginStatusNoLogged();
														clearInterval(tmpTimeoutLogin.timeoutLogged);
														tmpTimeoutLogin.loginStatus();
													}
												},100);
			}
			else
			{
			   var tmpTimeoutLogin =  this;
				this.timeoutLogged=setInterval(function(){
													if (tmpTimeoutLogin.getCookie(tmpTimeoutLogin.cookieLogged)!=""){
														tmpTimeoutLogin.loginStatusLogged();
														clearInterval(tmpTimeoutLogin.timeoutLogged);
														tmpTimeoutLogin.loginStatus();
													}
												},300);       
			}
		}
		else
		{
			var tmpTimeoutLogin =  this;
			this.timeoutLogged=setInterval(function(){
												//console.log("controllo clif : '" + tmpTimeoutLogin.getCookie(tmpTimeoutLogin.cookieLogged) + "'");
												if (tmpTimeoutLogin.getCookie(tmpTimeoutLogin.cookieLogged)!=""){
													tmpTimeoutLogin.loginStatusLogged();
													clearInterval(tmpTimeoutLogin.timeoutLogged);
													tmpTimeoutLogin.cookieLogged="tinv";
													tmpTimeoutLogin.loginStatus();
												}
											},300);
			
			
		}

	},
	loginStatusLogged:function(){
			if(this.getCookie("tinv")=="")
				this.logged = false;
			else
				this.logged = true;
				
			this.loggedType="";
			if (this.logged){
				var tmpTypeLogged = this.getCookie("tinv");
				if ((tmpTypeLogged=="1")||(tmpTypeLogged=="6")){
						this.loggedType="virgilio";
					}
				if (tmpTypeLogged=="5"){
					this.loggedType="alice";
					}
				this.authType="1";
				this.getNickname();
			}
	},
	loginStatusNoLogged:function(){
		this.logged = false;
		this.loggedType = "";
		this.nickname = "";
		this.nicknameList="";
		this.erosNick = "";
		this.connectFB = false;
		this.authType="";
		this.errorUrl="";
	},
	getNickname:function(){
		$.ajax({
		  url: this.urlGetNickname,
		  dataType: 'script',
		  timeout : 2000,
		  error: function (jqXHR, textStatus, errorThrown){}

		});

	
		
	},
	reloadOtherLoginObject:function(){
		//Reload Bottom Toolbar, Superheader e cruscotto
		if (this.noFirstTime){
			try{
				var _arrNickList = this.nicknameList.split(",");
				BBLoader.dispEvt("loginaction", {'auth':true,'nick':this.nickname,'othr': _arrNickList});
			}
			catch(ex)
			{}
		}
	},
	setCookie: function(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");},
	getCookie: function(c_name){if(document.cookie.length>0){c_start=document.cookie.indexOf(c_name+"=");if(c_start!=-1){c_start=c_start+c_name.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1)c_end=document.cookie.length;return unescape(document.cookie.substring(c_start,c_end));}}return"";}
}


/* INIZIALIZZAZIONE OGGETTO LOGIN VIRGILIO */
var LV = new LoginVirgilio();



/* Funzione Call Back Nickname*/
function aaaCheckUser (objUser){
	var _mydate= new Date();
	_mydate.setDate(_mydate.getDate()-1);

	if(objUser.resp.code=="200")
	{
		LV.nickname = objUser.resp.payload.nick;
		LV.connectFB = objUser.resp.payload.hasFBconnect;
		LV.errorUrl = "";
		if (objUser.resp.payload.nicks)
			LV.nicknameList=objUser.resp.payload.nicks;
			
		if (objUser.resp.payload.nickeros)
			LV.erosNick = objUser.resp.payload.nickeros;

		
		//$('#layerLogin').css('display','none');
		$('.layerLogin').remove();
		$('.overlayL').css('display','none');
		//LV.setCookie("clif","", _mydate);
		LV.cookieLogged = "tinv";
		LV.endLogin();
		try{
			CC.setHtmlLoggedUser();
		}
		catch(ex){}
	}
	else
	{
		LV.logged = false;
		LV.connectFB = false;
		LV.loggedType = "";
		LV.errorUrl = objUser.resp.url;
		//LV.setCookie("clif","", _mydate); 
		LV.cookieLogged = "clif";
		if ($('#ifrLoginVirgilio')){ 
			if ($('#ifrLoginVirgilio').attr("src")!= LV.errorUrl + "&azione=" + LV.labelConfirmButton) 
				$("#ifrLoginVirgilio").attr("src", LV.errorUrl + "&azione=" + LV.labelConfirmButton);
		}
	}
	LV.reloadOtherLoginObject();
}

/*codice di aggancio */
/*
$(document).ready(function() {
	
	$('.lgopen').click(function (){
		if (LV.logged)
			callBackProva();
		else
		{
			LV.titleLogin = "Prima di pubblicare questo commento scegli il tipo di accesso:";
			LV.labelConfirmButton = "Pubblica il tuo commento";
			LV.callBack = callBackProva;
			LV.initLogin();
		}
		return false;						 
	})
})

function callBackProva(){
	alert ("callBack Prova \n autenticato = " + LV.logged + "\n nickname = " + LV.nickname);
}*/
