var statusArray = new Array();
statusArray[0] = "is offline";
statusArray[8] = "is in vergadering";
statusArray[32] = "is online";
statusArray[64] = "gebruikt de computer momenteel niet";
statusArray[96] = "is niet aanwezig";
statusArray[128] = "kan niet gestoord worden";
statusArray[544] = "is online (mobiel)";
statusArray[608] = "is niet aanwezig (mobiel)";
var availableWhen = new Array(32, 544);

// nl/res.js
var ERR_MSG = new Object();
ERR_MSG[0x80000006] = "Uw berichtenpartner is niet meer online.";
ERR_MSG[0x80002001] = "%s wil nu niet worden gestoord en is nu niet bereikbaar. \r\nU kunt het opnieuw proberen als %s actief wordt.";
ERR_MSG["SEND_DENIED"] = "Kan geen berichtensessie tot stand brengen.";
ERR_MSG["LOGOUT"] = "De verbinding met Sametime is verbroken. Probeer het later opnieuw.";
TIP_AUTOAWAY = "%s is niet bereikbaar of zit niet achter de computer.";
TIP_ACTIVE = "%s is bereikbaar";
TIP_OFFLINE = "%s is offline";
TIP_ACTIVE_INIT = "Bereikbaar";
var WIN_INVITE_WIDTH = 360;
var WIN_INVITE_HEIGHT = 230;
var WIN_IM_WIDTH = 610;
var WIN_IM_HEIGHT = 280;
var WIN_NWAY_WIDTH = 610;
var WIN_NWAY_HEIGHT = 400;
var WIN_PLACE_W = 200;
var WIN_PLACE_H = 300;
var WIN_PCHAT_W = 610;
var WIN_PCHAT_H = 360;

// hostInfo.js
var HTTP_TUNNELING_PORT=80;
var TUNNELING_ADDRESS="";

function initSametime()
{
	urlMain = "http://sametime.promax.nl/sametime/stlinks";
	urlPages = urlMain + "/nl";
	//setSTLinksURL("http://sametime.promax.nl/sametime/stlinks", "nl");
	writeSTLinksApplet("Website", "");

	$('.sametime div.preplink').each(function(i)
	{
		var info = $(this).html().split('|');
		$(this).after(prepareSametimeLink(info[1], info[0], false));
	});

	$('.sametime').each(function(i)
	{
		var p = this;
		setTimeout(function() { checkAllOffline(p) }, 5000);
	});
}

function checkAllOffline(obj)
{
//        alert($(obj).find('a.online').length);
	$(obj).find('.loading').hide();
	if ($(obj).find('a.online').length == 0)
        {
		$(obj).find('.all-offline').show();
                if ($(obj).hasClass('hide-when-offline'))
                    $(obj).hide();
        }
}

function STLinkClicked(userId, displayName, status, event)
{
	var guest = prompt("Uw naam","");

	if (guest == null)
	{
		alert("Het chatvenster is geblokkeerd door uw browser of pop-up-blocker.\nSchakel uw pop-up-blocker tijdelijk uit en probeer het opnieuw.");
	}
	else if(guest == "")
	{
		alert("U moet uw naam invullen.");
	}
	else
	{
		STLinksLogout();
		STLinksLogin("WEB: " + guest, "", false, "");
		llApplet.createIm(userId);
		setTimeout("isPopupBlocked()", 1000);
	}
}

function isPopupBlocked()
{
	if(lastOpenedImWin == null)
	{
		alert("Het chatvenster is geblokkeerd door uw browser of pop-up-blocker.\nSchakel uw pop-up-blocker tijdelijk uit en probeer het opnieuw.");
	}
}

//function STLinksUserStatusChanged(userId, displayName, status, statusMessage,groupName)
//{
//	var chatlink = (status == 32) || (status == 544) ? '<a href="#" onclick="pmxConnector(\''+userId+'\'); return false;" class="online" title="Als het chat-venster geblokeerd wordt door uw popup-blocker, kunt u &lt;Ctrl&gt; en &lt;Alt&gt; ingedrukt houden als u op de link klikt.">'+displayNames[userId]+'</a>' : '';
//}

var BAKgetLinkTag = window.getLinkTag;
function getLinkTag(linkId, linkText, tagId, options)
{
	var tip = STLinksStatusTip(linkText, ll_status[linkId], ll_desc[linkId]);
	//return '<div id="' + tagId + '">' + getInnerTag_IE(linkId, tagId, ll_status[linkId], tip, options) + '</div>';
	return '<div id="' + tagId + '"></div>';
}

var BAKupdateLinkHtml = window.updateLinkHtml;
function updateLinkHtml(tagId,linkId,statusType,tip)
{
	var opt = ll_options[tagId];
	$('#' + tagId).html(getInnerTag_IE(linkId, tagId, statusType, tip, opt));
        checkAllOffline($('#' + tagId).parent());
}

var BAKgetInnerTag_IE = window.getInnerTag_IE;
function getInnerTag_IE(linkId, tagId, statusType, tip, options)
{
	var s = '';
	var available = jQuery.inArray(statusType, availableWhen) != -1;
	if (available)
	{
		var styleName = statusType != 0 ? options.onlineStyle : options.offlineStyle;
		s = '<a ' + getHREF(linkId, tagId, (statusType != 0), options.bOfflineLink) +
			" title='"+tip.replace(/'/g, "&#039;")+"'" + ' class="' + styleName + '">' +
			ll_linkTxt[tagId] + '</a>';

		$('#' + tagId).show();
		$('#' + tagId).parent().find('.loading').hide();
		$('#' + tagId).parent().find('.all-offline').hide();
		if ($('#' + tagId).parent().hasClass('hide-when-offline')) $('#' + tagId).parent().show();
	}
	else
	{
		s = ll_linkTxt[tagId];
		
		$('#' + tagId).hide();
	}
	return s;
}

var BAKgetHREF = window.getHREF;
function getHREF(linkId, tagId, bOnline, bOfflineLink, bTip_NS)
{
	if (!bOnline && !bOfflineLink)
	{
		return ""
	}
	else
	{
		// Jan 12, 2005
		// The problem was that if the username looks like "user1\, user" then the backslash is removed, and only comma remains
		linkId=linkId.replace(/\\/g, "\\\\");
		var act= "onSTLinkClicked('" + linkId.replace(/'/g, "\\'").replace(/"/g, "&quot;") + "','" + tagId +"',event)";
		var s =" href=\"#\" onclick=\"" + act + ";return false;\"";

		try
		{
			system.out("STLinks","getHREF(), return " + s);
		}
		catch(err){}
		return s;
	}
}

var BAKwriteSTLinksApplet = window.writeSTLinksApplet;
function writeSTLinksApplet(loginName, key, byToken, organization)
{
	if (! ll_platform())
		return;

	if (typeof(byToken) == "undefined")
		byToken = true; // the key is assumed to be a token

	if (g_fIsSTDebug)
			document.writeln('<input type="text" id="txtSTDebug"><textarea id="txtDebug"></textarea>');

	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.writeln('<span style="position:absolute;left:0;top:0;visibility:hidden">' + appletTag + '</span>');
	var div = $('<div id="sametime-applet">').html(appletTag);
	$('body').append(div);
	$('#sametime-applet applet').attr('id', 'STLinksApp');

	try
	{
		g_strLoginName = window.parent.opener.g_strLoginName;
	}
	catch (err)
	{}

	autoLogin = (loginName != null);

	if (g_nInterval != 0)
		STStartAutoawy();

	StartPolling();
}
