function fixLink (id, args, icon) {
	var argsStr = "";
	if (args != null && args.length > 0) {
		argsStr = ",[";
		for (var i = 0; i < args.length; i++) {
			argsStr += "\'" + args[i] + "\'";
			if (i != args.length - 1) {
				argsStr += ",";
			}
		}
		argsStr += "]";
	}
	var alaaDiv = document.getElementById (id);
	if (alaaDiv == null) {
		return;
	}
	alaaDiv.href = "javascript:if(a='net.izuz.gtalk.MainWindow@" + zimBase + "',window['ClazzLoader']!=null)$w$(a" + argsStr + ");else{var d=document,t='onreadystatechange',x=d.createElement('SCRIPT'),f=function(){var s=this.readyState;if(s==null||s=='loaded'||s=='complete'){$w$(a" + argsStr + ");}};x.src='" + j2sBase + "j2slib.z.js';(typeof x[t]=='undefined')?x.onload=f:x[t]=f;d.getElementsByTagName('HEAD')[0].appendChild(x);void(0);}";
	if (icon != null) {
		for (var j = 0; j < alaaDiv.childNodes.length; j++) {
			var item = alaaDiv.childNodes[j];
			if (item != null && item.className != null
					&& item.className.indexOf ("alaa-icon") != -1) {
				item.style.backgroundImage = "url('" + gtalkBase + icon + "')";
				break;
			}
		}
	}
}

function addLink (id, title, text, style) {
	var demosDiv = document.getElementById ("demos");
	if (demosDiv == null) {
		return;
	}
	var anchor = document.createElement ("A");
	anchor.id = id;
	anchor.title = title;
	anchor.className = "alaa ignored";
	anchor.href = "#";
	if (style != null) {
		anchor.style.cssText = style;
	}
	document.body.insertBefore (anchor, demosDiv);
	var iconSpan = document.createElement ("SPAN");
	iconSpan.className = "alaa-icon";
	anchor.appendChild (iconSpan);
	anchor.appendChild (document.createTextNode (text));
}

fixLink ("alaa-gtalk", ['--gtalk'], "gtalk-logo.png");
fixLink ("alaa-msn", ['--msn'], "msn-logo.png");
fixLink ("alaa-ymsg", ['--ymsg'], "ymsg-logo.png");
fixLink ("alaa-aim", ['--aim'], "aim-logo.png");

//addLink ("alaa-gtalk-demo-1", "Launch Google Talk demo", "java2script.talk", "margin-top:0.5em;");
fixLink ("alaa-gtalk-demo-1", ['--gtalk','--autologin','java2script.talk'], "net/izuz/gtalk/images/icon-gtalk.png");
//addLink ("alaa-gtalk-demo-2", "Launch Google Talk demo", "java2script.demo", "margin-top:0.25em;");
fixLink ("alaa-gtalk-demo-2", ['--gtalk','--autologin','java2script.demo'], "net/izuz/gtalk/images/icon-gtalk.png");

//addLink ("alaa-msn-demo-1", "Launch MSN demo", "java2script.talk", "margin-top:0.5em;");
fixLink ("alaa-msn-demo-1", ['--msn','--autologin','java2script.talk@gmail.com'], "net/izuz/gtalk/images/icon-msn.png");
//addLink ("alaa-msn-demo-2", "Launch MSN demo", "java2script.demo", "margin-top:0.25em;");
fixLink ("alaa-msn-demo-2", ['--msn','--autologin','java2script.demo@gmail.com'], "net/izuz/gtalk/images/icon-msn.png");

//addLink ("alaa-ymsg-demo-1", "Launch Y! Messenger demo", "java2script.talk", "margin-top:0.5em;");
fixLink ("alaa-ymsg-demo-1", ['--ymsg','--autologin','java2script.talk'], "net/izuz/gtalk/images/icon-ymsg.png");
//addLink ("alaa-ymsg-demo-2", "Launch Y! Messenger demo", "java2script.demo", "margin-top:0.25em;");
fixLink ("alaa-ymsg-demo-2", ['--ymsg','--autologin','java2script.demo'], "net/izuz/gtalk/images/icon-ymsg.png");

//addLink ("alaa-aim-demo-1", "Launch Google Talk demo", "j2stalk", "margin-top:0.5em;");
fixLink ("alaa-aim-demo-1", ['--aim','--autologin','j2stalk'], "net/izuz/gtalk/images/icon-aim.png");
//addLink ("alaa-aim-demo-2", "Launch Google Talk demo", "j2sdemo", "margin-top:0.25em;");
fixLink ("alaa-aim-demo-2", ['--aim','--autologin','j2sdemo'], "net/izuz/gtalk/images/icon-aim.png");

function parseIMType () {
	var hash = window.location.hash;
	var imType = null;//"gtalk";
	if ("#gtalk" == hash) {
		imType = "gtalk";
	} else if ("#msn" == hash || "#msnlive" == hash) {
		imType = "msn";
	} else if ("#ymsg" == hash || "#ymessenger" == hash) {
		imType = "ymsg";
	} else if ("#aim" == hash) {
		imType = "aim";
	} else {
		var url = window.location.toString ().toLowerCase ();
		if (url.indexOf ("gtalk") != -1) {
			imType = "gtalk";
		} else if (url.indexOf ("msn") != -1) {
			imType = "msn";
		} else if (url.indexOf ("ymessenger") != -1 || url.indexOf ("ymsg") != -1) {
			imType = "ymsg";
		} else if (url.indexOf ("aim") != -1) {
			imType = "aim";
		}
	}
	return imType;
}

ClazzLoader.packageClasspath ("java", j2sBase, true);
ClazzLoader.packageClasspath ("org.eclipse.swt", j2sBase, true);
//ClazzLoader.packageClasspath ("iz", gtalkBase, true);
ClazzLoader.packageClasspath (["com.swtdesigner", "net.izuz.gtalk", "net.izuz.gtalk.prefs"], gtalkBase);
ClazzLoader.setPrimaryFolder (zimBase);
window.defaultWindowLeft = "200"
window.defaultWindowTop = "28"
ClazzLoader.loadClass ("org.eclipse.swt.widgets.Display", function () {
	$wt.widgets.Display.getDefault();
	ClazzLoader.packageClasspath ("iz", gtalkBase, true);
	ClazzLoader.loadClass ("net.izuz.gtalk.MainWindow", function () {
		var imType = parseIMType ();
		net.sf.j2s.ajax.SimplePipeRequest.switchToQueryMode (500);
		if (imType != null) {
			net.izuz.gtalk.MainWindow.main(["--" + imType]);
		}
	});
});
