// Are we logged in or not
function ssoLoggedIn()
{
	return getCookie("TdcSignature") && getCookie("res_tdc_dk");
}

function ssoGetCookieDomain()
{
	// default to tdconline.dk
	var ssocookiedom = ".tdconline.dk";

	// if we're on tdc.dk use that domain for cookies
	if (document.domain.indexOf(".tdc.dk") != -1)
	{
		ssocookiedom = ".tdc.dk";
	}
	return ssocookiedom;
}

// show the login/logout button
function ssoButton()
{
	if (ssoLoggedIn()) {
		var sr = ssoLoginUsername();
		document.write('<div id="sso_funcs"><a href="https://selvbetjening.tdconline.dk/eservice/ditLogin.do" title="Redigér dine indstillinger">Login indstillinger</a>&nbsp;&nbsp;&nbsp;<a href="'+(location.protocol == "https:" ? "https" : "http") + '://sso.tdconline.dk/tdconline/tdclogout" onclick="return ssoLogoutValidate()" title="Log ud af TDC Login" id="tdcossobutton">Log ud</a></div>');
		document.write("<div id=\"tdcssoinfo\"><div id=\"tdcossoinfoname\">Velkommen <strong><span title=\"" + sr + "\">" + sr + "</span></strong></div></div>");
		
		// try to add the mail info
		if (typeof(tdco_mailcheck) == "function") tdco_mailcheck();
	} else {
		document.write("<div id=\"sso_funcs\">");
		document.writeln('<a href="javascript:ssoButtonDo();" title="Log ind TDC Login" id="tdcossobutton">Log ind</a>');
		document.write("</div>");
	}
}

// Show the login/logout box
function ssoButtonDo()
{
	var l = getEle("tdcosso-type0");
	if (l)
		if (l.style.display == "" || l.style.display == "none")
		{
			l.style.display = "block";
			if (typeof(Instadia_sendEvent) == "function")
				Instadia_sendEvent("0118n", "_klik_ssobtn_open_");
		}
		else
		{
			l.style.display = "none";
			if (typeof(Instadia_sendEvent) == "function")
				Instadia_sendEvent("0118n", "_klik_ssobtn_close_");
		}
}

// Should loginbox be enabled or disabled
function ssoLoginDisabled()
{
	// disabled older IEs than 5 and IE on Mac
	if (is.IE && (is.version < "5" || is.MAC))
		return true;
	// disabled older IEs than 5.5
	if (is.IE && parseInt(is.version) == 5 && typeof(is.versionsub) != "undefined" && is.versionsub < "5")
		return true;
	// disabled older Operas then 7
	else if (is.OPERAapp && is.version <"7")
		return true;
	// disabled older Netscapes than 5
	else if (is.NSapp && is.version < "5")
		return true;
	// disabled browser that doesn't support cookies
	else if (!is.cookies)
		return true;
	else
		return false;
}

// Update the SSOURL cookie
function ssoUpdate(link, c){
	var ssolt;
	if (document.location.search)
	{
		var re = new RegExp("ssologintarget=([^&]+)");
		var value = re.exec(document.location.search);
		if (value && value[1])
			ssolt = unescape(value[1]);
	}
	if (!ssolt)
	{
		if (typeof(ssologintoptarget) != "undefined" && ssologintoptarget && typeof(link) == "object" && typeof(link.target) == "string" && link.target == "_top")
			ssolt = ssologintoptarget;
		else if (typeof(ssologintarget) != "undefined" && ssologintarget)
			ssolt = ssologintarget;
	}
	if (ssolt)
		setCookie("SSOURL", ssolt, "", "/", ssoGetCookieDomain(), 0);
	else
		setCookie("SSOURL", document.location, "", "/", ssoGetCookieDomain(), 0);
}

// Clear the loginname when focused and restore when blurred
function ssoLoginFocus(aInput, aEvent){
	if (aEvent.type == "focus")
	{
		if (aInput.value == "Brugernavn")
			aInput.value = ""
	}
	else if (aEvent.type == "blur")
	{
		if (aInput.value == "")
			aInput.value = "Brugernavn"
	}
}

// Validate form before sending
function ssoLoginValidate(aForm)
{
	ssoUpdate();

	// get the domain that we're on
	var dom = ssoGetCookieDomain();

	// Digital Signature or username/password?
	var ds = aForm["tdcosso-signature"];
	if (ds && ds.checked)
	{
		// We're logging in with Digital Signature
		aForm["AUTHMETHOD"].value = "Certificate";		
		// Phase out info page
		aForm["HiddenURI"].value = "https://fastnetselvbetjening.tdconline.dk/Krump/secure/certificate/showCertificateNoLogin.do?returnUrl=" + escape(document.location.href);
		// Remember the decision for 30 days
		setCookie("SSOLOGINCERTREMEMBER", 1, new Date(new Date().getTime() + 30 * 24 * 60 * 60 * 1000), "/", dom, 0);
		return true;
	}
	else
	{
		// Check username
		var u = aForm["usr_name"];
		if (u && (!u.value || u.value == "Brugernavn"))
		{
			alert("Du har ikke udfyldt noget Brugernavn");
			return false;
		}
		// Check password
		var p = aForm["usr_password"];
		if (p && !p.value)
		{
			alert("Du har ikke udfyldt noget Password");
			return false;
		}
		// Should we remember the username?
		var rem = aForm["tdcosso-remember"];
		if (rem && rem.checked)
		{
			// Remember the username for 30 days
			setCookie("SSOLOGINUSER", u.value, new Date(new Date().getTime() + 30 * 24 * 60 * 60 * 1000), "/", dom, 0);
		}
		else
		{
			// Delete old username
			delCookie("SSOLOGINUSER", "/", dom, 0);
		}
		// Delete old digital signature decision
		delCookie("SSOLOGINCERTREMEMBER", "/", dom, 0);
	}
	return true
}

// set the cookie that specifies where to go after logout
function ssoLogoutValidate(){
	ssologouttarget = (ssologouttarget ? ssologouttarget : document.location);
	setCookie("SSOURL", ssologouttarget, "", "/", ssoGetCookieDomain(), 0)
}

// Switch the password fields so the user can type his actual password
function ssoPassSwitch(aForm, aForce)
{
	var one = aForm.form["usr_password_fake"];
	var two = aForm.form["usr_password"];

	// force the switch
	if (aForce)
	{
		one.style.display = "none";
		two.style.display = "block";
		two.focus();
	}

	// Did the user already type the password
	if (two.value != "")
	{
		return;
	}
	else
	{
		// Show/hide the real password field
		if (one.style.display == "" || one.style.display == "block")
		{
			one.style.display = "none";
			two.style.display = "block";
			two.focus();
		}
		else
		{
			one.style.display = "block";
			two.style.display = "none";
		}
	}
}

// Switch the password/digital signature
function ssoDigiSwitch(aType)
{
	var one = getEle("tdcosso-userpass" + aType);
	var two = getEle("tdcosso-digisig" + aType);
	if (!one || !two)
	{
		return;
	}
	if (one.style.display == "" || one.style.display == "block")
	{
		one.style.display = "none";
		two.style.display = "block";
	}
	else
	{
		one.style.display = "block";
		two.style.display = "none";
	}
}

function ssoLoginUsername()
{
	var name = "";
	var s = getCookie("TdcSignature");
	if (s)
		name = s.substring(0, s.indexOf(";"));
	if (!name)
		name = getCookie("SSOLOGINUSER");
	return name;
}

// Draw the SSO login box
function ssoLogin(aType)
{
	var tabindex;
	// Try to get the login name from the cookie
	var sr = ssoLoginUsername();

	var ssocertremember = getCookie("SSOLOGINCERTREMEMBER");
	var linktg = (typeof(ssolinkstarget) != "undefined" && ssolinkstarget) ? ssolinkstarget : "top";

	aType = (aType ? aType : 0).toString();
	document.writeln('<div class="tdcosso" id="tdcosso-type' + aType + '">');
	document.writeln('<h2>TDC login</h2>');

	// Are we logged in?
	if (ssoLoggedIn())
	{
		document.writeln('<div class="tdcosso-logout">');
		if (aType == 0){
			document.writeln("<p id=\"sso_close\"><a href=\"javascript:ssoButtonDo();\">Luk</a></p>");
		}
		document.writeln('<form action="' + (location.protocol == "https:" ? "https" : "http") + '://sso.tdconline.dk/tdconline/tdclogout" onsubmit="return ssoLogoutValidate()">')
		if (typeof(ssologouttarget) != "undefined" && ssologouttarget)
			document.writeln('<input type="hidden" name="tg" value="' + escape(ssologouttarget) + '">')
		else if (document.location.host == "selvbetjening.tdconline.dk" || document.location.host == "fastnetselvbetjening.tdconline.dk")
			document.writeln('<input type="hidden" name="tg" value="' + escape("http://kundeservice.tdconline.dk/selvbetjening/") + '">')
		if (aType == 3)
			document.writeln('<input class="tdcosso-submit" type="submit" id="type3logoutbtn" value="" title="Log ud af TDC Login" tabindex="3" />');
		else
			document.writeln('<input class="tdcosso-submit" type="submit" value="" title="Log ud af TDC Login" tabindex="3" />');
		if (sr)
			document.writeln('<p>Du er logget ind som:</p><p><strong>' + sr + '</strong></p><p>&Oslash;nsker du at logge ud?</p> ');
		if (aType == 3)
			document.writeln('<p>G&aring; til din <a href="http://tdconline.dk/mit/"><strong>personlige oversigt</strong></a></p>');
		document.writeln('</form>');
		document.writeln('</div>');
		document.writeln('<ul class="tdcosso-logout">');
		if (aType != 3)
			document.writeln('<li><a href="http://tdconline.dk/mit/" title="G&aring; til din personlige oversigt" target="_' + linktg + '">Personlig oversigt</a></li>');
		document.writeln('<li><a href="https://selvbetjening.tdconline.dk/eservice/ditLogin.do" title="Redigér dine indstillinger" target="_' + linktg + '">Indstillinger</a></li>')
		document.writeln('<li><a href="http://tdconline.dk/login/" title="L&aelig;s mere om TDC Login" target="_' + linktg + '">Om TDC Login</a></li>');

		document.writeln('</ul>');
	}
	// Is SSO down?
	else if (typeof(loginActive) != "undefined" && loginActive == 0)
	{
		document.writeln('<div class="tdcosso-disabled"><p>Der er i &oslash;jeblikket drifts- forstyrrelser p&aring; login til TDC. Vi arbejder p&aring; en l&oslash;sning.</p></div>');
	}
	// Is SSO disabled?
	else if (ssoLoginDisabled())
	{
		document.writeln('<div class="tdcosso-disabled"><p>Login er deaktiveret i din browser.</p><p><a href="http://tdconline.dk/testclient.php?case=old" target="_' + linktg + '">Hvorfor?</a></p></div>');
	}
	// Draw the login box
	else
	{
		if (aType == 0){
			document.writeln("<p id=\"sso_close\"><a href=\"javascript:ssoButtonDo();\">Luk</a></p>");
		}
		if (aType == 3)
		document.writeln('<p>Log ind til <strong>mail, foto, selvbetjening</strong> m.m.</p>');
		document.writeln('<form action="https://access.tdc.dk/servlet/getAccessLogin" method="post" onsubmit="return ssoLoginValidate(this)" autocomplete="off">')
		document.writeln('<input type="hidden" name="HiddenURI" value="' + (typeof(ssologinhiddenuri) == "undefined" || !ssologinhiddenuri ? "https://sso.tdconline.dk/redir/?http://sso.tdconline.dk/tdconline/tdclogin" : ssologinhiddenuri) + '" />')
		document.writeln('<input type="hidden" name="LOCALE" value="da_DK" />')
		document.writeln('<input type="hidden" name="AUTHMETHOD" value="UserPassword" />')
		document.writeln('<div class="tdcosso-userpass" id="tdcosso-userpass' + aType + '"' + (ssocertremember ? ' style="display:none"' : '') + '>');
		if (aType == 0)
			tabindex = 8;
		else if (aType == 1)
			tabindex = 4;
		else if (aType == 2)
			tabindex = 12;
		if (aType == 3)
			tabindex = 4;
		document.writeln('<input type="text" name="usr_name" title="Dit brugernavn til TDC Login" class="tdcosso-name" tabindex="'+(tabindex+1)+'" value="' + (sr ? sr : 'Brugernavn' ) + '" onfocus="ssoLoginFocus(this, event);" onblur="ssoLoginFocus(this, event);"' + '>')
		document.writeln('<input class="tdcosso-password-fake" type="text" value="Password" name="usr_password_fake" title="Dit password til TDC Login" tabindex="'+(tabindex+2)+'" onkeypress="ssoPassSwitch(this, 1);" onfocus="ssoPassSwitch(this);" />');
		document.writeln('<input class="tdcosso-password" type="password" value="" name="usr_password" title="Dit password til TDC Login" tabindex="9992" onblur="ssoPassSwitch(this);" />');
		document.writeln('<div class="tdcosso-check">');
		document.writeln('<label><input type="checkbox" tabindex="'+(tabindex+4)+'" name="tdcosso-remember"' + (getCookie("SSOLOGINUSER")?' checked="checked"':'')+'> Husk brugernavn</label>')
		document.writeln('</div>');
		document.writeln('</div>');
		document.writeln('<div class="tdcosso-digisig" id="tdcosso-digisig' + aType + '"' + (ssocertremember ? ' style="display:block"' : '') + '></div>');
		document.writeln('<input class="tdcosso-submit" type="submit" value="Log ind" title="Log ind i TDC Login" tabindex="'+(tabindex+3)+'" />');
		document.writeln('<div class="tdcosso-check-sig">');
		document.writeln('<input name="tdcosso-signature" class="tdcosso-signature" type="checkbox" tabindex="9995" onclick="ssoDigiSwitch(' + aType + ')"' + (ssocertremember ? ' checked="checked"' : '') + ' /> Log ind med <a href="http://tdc.dk/publish.php?dogtag=f5_ms_login_dig" title="L&aelig;s mere om Digital Signatur" target="_' + linktg + '">Digital Signatur</a>');
		document.writeln('</div>');
		document.writeln('</form>');
		document.writeln('<ul>');
		document.writeln('<li><a href="' + (typeof(ssologinregister) == "undefined" || !ssologinregister ? "https://registrering.tdconline.dk/eservice/showtdclogin.do?popup=true" : ssologinregister) + '" title="Opret et nyt TDC Login" target="_' + linktg + '" onclick="return ssoUpdate(this)">Ny bruger</a></li>')
		document.writeln('<li><a href="' + (typeof(ssologinnewpassword) == "undefined" || !ssologinnewpassword ? "http://tdc.dk/publish.php?id=7885" : ssologinnewpassword) + '" title="F&aring; hj&aelig;lp hvis du har glemt dit password til TDC Login" target="_' + linktg + '">Glemt password?</a></li>')
		document.writeln('<li><a href="http://tdconline.dk/login/" title="L&aelig;s mere om TDC Login" target="_' + linktg + '">Om TDC Login</a></li>');
		document.writeln('</ul>');
	}
	document.writeln('</div>');
	document.writeln('<p class="t_noshow"><img src="'+location.protocol+'//sso.tdconline.dk/tdconline/updateTdcCookie.gif" id="tdcossofix" alt="" ></p>');
}
