// ****************************************************************************
// Acubiz, 2008
// To insert login box on a page add the following code:
// <script type="text/javascript">AcubizPrepareLogin(language, compressed);</script>
// Where language equals one of the defined languages (currently da, en)
// And compressed is a boolean indicating whether the login box text should be compressed
// New languages can be added by creating a copy of the line AcubizSTLanguages....
// and translate the terms:
// 1) Name: prompt for name on the login page
// 2) Company: prompt for company name on the login page
// 3) login: the caption for the login button
// 4) Welcome: the caption for the welcome text
// 5) Logout: the caption for the logout button
// 6) Guest: the default text for the name
//
// To insert a SameTime link on a page add the following code:
// <script type="text/javascript">AcubizSTLink(STname, STtext);</script>
// Where STname is the notes user name to create a link for eg. "CN=Lars de Nully/O=Acubiz"
// And STtext is the text shown on the page eg. "Direktør Lars de Nully"
//
// ****************************************************************************
var AcubizSTLinksCnt = 0;
var AcubizSTLinks = new Array();
var AcubizSTcurLang = "da";
var AcubizSTLanguages = new Array();
AcubizSTLanguages['en'] = "Name #Company #Login#Welcome #Logout#";
AcubizSTLanguages['da'] = "Navn #Firma #Login#Velkommen #Logout#";
var AcubizSTAlert = new Array();
AcubizSTAlert['en'] = "Please enter a name before you log in";
AcubizSTAlert['da'] = "Indtast venligst et navn før du kan logge ind";

var AcubizSTstrings;
var AcubizSTLoginComp = true;

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return "";
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function STLinksLoggedIn(myUserID, myUserName) {
	createCookie("AcubizSTUserName", myUserName, 1);
	document.getElementById("AcubizSTLogin").innerHTML  = AcubizFormDisplay();
	AcubizSTUpdateLinks("1");
}

function AcubizLogout() {
	eraseCookie("AcubizSTUserName");
	document.getElementById("AcubizSTLogin").innerHTML = AcubizFormLogin();
	AcubizSTUpdateLinks("0");
}

function AcubizLogin(loginName) {
	if (loginName==undefined) {
		if (document.getElementById("AcubizSTUserName").value=="") {
			alert(AcubizSTAlert[AcubizSTcurLang]);
			document.getElementById("AcubizSTUserName").focus();
			return false;
		} else {
			loginName = document.getElementById("AcubizSTUserName").value;
			if (document.getElementById("AcubizSTCompany").value!="") loginName += ", " + document.getElementById("AcubizSTCompany").value;
		}
	}
	byToken = false;
	key = "";
	organization = "";
	if (! ll_platform())
		return;
	
	var isTunneling = (typeof HTTP_TUNNELING_PORT != "undefined");

	var appletTag = prepareSTLinksApplet({
		server: STHost,
		port: (isTunneling ? HTTP_TUNNELING_PORT : undefined),
		username: loginName,
		password: (! byToken ? key : undefined),
		token: (byToken ? key : undefined),
		org: organization
	});

	document.getElementById("AcubizST").innerHTML = '<span style="position:absolute;left:0;top:0;visibility:hidden">' + appletTag + '</span>';
	
	try 
	{
		g_strLoginName = window.parent.opener.g_strLoginName;
	} 
	catch (err) 
	{}

	autoLogin = (loginName != null);

	if (g_nInterval != 0)
		STStartAutoawy();

	StartPolling();

	document.getElementById("AcubizSTLogin").innerHTML = AcubizFormProgress();
}

function AcubizPrepareLogin(language, compressed) {
	if (compressed!=undefined) AcubizSTLoginComp = compressed;
	AcubizSTstrings = AcubizSTLanguages[language].split("#");
	AcubizSTcurLang = language;
	var innerHTML = "";
	document.write("<div id='AcubizST'></div><div id='AcubizSTLogin'></div>");
	if (readCookie("AcubizSTUserName")!="") {
		AcubizLogin(readCookie("AcubizSTUserName"));
		innerHTML = AcubizFormDisplay();
	} else {
		innerHTML = AcubizFormLogin();
	}
	document.getElementById("AcubizSTLogin").innerHTML = innerHTML;
}

function AcubizFormLogin() {
	var innerHTML = "";
	if (AcubizSTLoginComp) {
		innerHTML = AcubizSTstrings[0];
		innerHTML += "<input type=text ID='AcubizSTUserName' Name='AcubizSTUserName' value='"+ AcubizSTstrings[5] +"' size=13>";
		innerHTML += "<br />" + AcubizSTstrings[1];
		innerHTML += "<input type=text ID='AcubizSTCompany' Name='AcubizSTCompany' value='' size=13>";
		innerHTML +="<input type=button name='AcubizLogin' onClick='AcubizLogin();' value='" + AcubizSTstrings[2] + "'>";
	} else {
		innerHTML = "<table><tr><td>"  + AcubizSTstrings[0] + "</td><td><input type=text ID='AcubizSTUserName' Name='AcubizSTUserName' value='"+ AcubizSTstrings[5] +"' size=17></td></tr>";
		innerHTML += "<tr><td>" + AcubizSTstrings[1] + "</td><td><input type=text ID='AcubizSTCompany' Name='AcubizSTCompany' value='' size=17></td></tr>";
		innerHTML += "<tr><td></td><td><input type=button name='AcubizLogin' onClick='AcubizLogin();' value='" + AcubizSTstrings[2] + "'></td></tr></table>";
	}
	return "<p>" + innerHTML + "</p>";
}

function AcubizFormDisplay() {
	var innerHTML = "";
	innerHTML = AcubizSTstrings[3];
	if (AcubizSTLoginComp) innerHTML += "<br /><br />";
	innerHTML += readCookie("AcubizSTUserName").split("/")[0];
	if (AcubizSTLoginComp) innerHTML += "<br /><br />";
	innerHTML += " <input type=button name='AcubizLogout' onClick='AcubizLogout();' value='" + AcubizSTstrings[4] + "'>";
	return "<p>" + innerHTML + "</p>";
}

function AcubizFormProgress() {
	var innerHTML = "";
	innerHTML += "<img src='http://lundsager.com/test/lightbox/images/loading.gif' border=0  />";
	return "<p align=center>" + innerHTML + "</p>";
}

function AcubizSTLink(UserName, UserText) {
	AcubizSTLinks[AcubizSTLinksCnt] = UserName + "#" + UserText;
	document.write("<div id='AcubizST" + AcubizSTLinksCnt + "'><img height='5' src='/media(122,1030)/-.gif' width='17' border='0' />" + UserText + "</div>");
	AcubizSTLinksCnt++;
}

function AcubizSTUpdateLinks(loggedin) {
	for (i=0;i<AcubizSTLinks.length;i++)
	{
		data = AcubizSTLinks[i].split("#");
		if (loggedin=="1")
			document.getElementById("AcubizST"+i).innerHTML = prepareSametimeLink(data[0], data[1], false, "icon:yes;text:yes");
		else
			document.getElementById("AcubizST"+i).innerHTML = "<img height='5' src='/media(122,1030)/-.gif' width='17' border='0' />" +data[1];
	}
}