//		Event.observe(window, "load", function() { doLogin() } );

			var windows = [];
			var messages = [];
			var iframes = [];

			Windows.addObserver({
				"onClose" : function(eventName, win) {
					if (eventName == "onClose") {
						windows[win.element.id] = null;
						var iframename = "iframe_" + win.element.id;
						setTimeout('recalculateIFrames()', 200);
					}
				}
			});

			function recalculateIFrames() {
				for (i = 0; i < iframes.length; i++) {
					iframes[i] = null;
				}
//				iframes.length = 0;

				if (window.frames != null) {
					var i = 0;
 					for (i = 0; i < window.frames.length; i++) {

						if (window.frames[i].name) {
							iframes[window.frames[i].name] = i;
						}

					}
				}
			}

			function closeWindow(id) {
				if (!windows[id])
					return;

				var win = windows[id];
				win.destroy;
				windows[id] = null;
			}
			function modifyWindow(id, width, height, title) {
				if (windows[id] == null)
					return;

				var win = windows[id];

				win.setSize(width, height);
				win.setTitle(title);
				win.updateWidth();
				win.updateHeight();
			}
			function openWindowURL(id, width_, height_, title_, url, resize_, min_, max_) {
				if (windows[id] != null) {
					return;
				}

				var win = new Window(id, {className: "mac_os_x", title: title_, width:width_, height:height_, resizable: resize_,  showEffect:Element.show, hideEffect: Element.hide, draggable:true, minimizable:min_, maximizable:max_ });

				var name = "iframe_" + id;

				win.getContent().innerHTML = "<iframe name='" + name + "' id='" + name + "' src='" + url + "' style='background-color:#ffffff; border:0px; padding:0px; margin:0px; width:100%; height:100%;'></iframe>";
				win.getContent().style.overflow = "hidden";

				win.showCenter();
				win.setDestroyOnClose();
				windows[id] = win;

				setTimeout('recalculateIFrames()', 200);

			}
			function getWindow(name) {
				return windows[name];
			}
			function getFrame(name) {
				return iframes[name];
			}
			function openURL(url) {
				$("indexcontent").src = url;
			}

			function focusWindow(otherend) {
				var winid = "chat_" + otherend;

				if (windows[winid] == null) {
					return;
				}
				windows[winid].toFront();
			}
			///////////////////// login functions //////////////////////////

			var wantLogin = [];
//			var heartbeat;

/*			function doLogin() {
/ *				heartbeat = new Ajax.PeriodicalUpdater("temp", "heartbeat.php", {
					frequency : 4,
					decay : 1
				});

				heartbeat.start();
* /
				setTimeout("getMessages();", 500);

				loggedIn = true;
			}

			function doLogout() {
				loggedIn = false;
				heartbeat.stop();
				setTimeout("getMessages();", 0);
			}
*/

			var timer;
			function getMessages() {
//			alert("get");
				var myAjax = new Ajax.Request("getmessages.php", {
					method: "get",
					parameters: "",
					onComplete: function(originalRequest) {
						var data = eval('(' + originalRequest.responseText + ')');
						for (i = 0; i < data.Data.Messages.length; i++) {
							var from = data.Data.Messages[i].From;
							var message = data.Data.Messages[i].Message;
							receiveMessage(from, message);
						}
						timer = setTimeout("getMessages();", 4000);
					}
				});
			}

			function receiveMessage(otherend, message) {
				var winid = "chat_" + otherend;

				if (!windows[winid])
					openWindowURL(winid, 350, 225, "chat with " + otherend, "chat.php?other_end=" + otherend, true, true, true);

				var message = {otherend: otherend, message:message };
				messages.push(message);
				displayMessages();
				playSound("receive");
			}

			var messagetimer;
			function displayMessages() {
				var messages2 = [];
				var message;
				while (message = messages.pop()) {
					var winid = "chat_" + message.otherend;
					var iframename = "iframe_" + winid;
//alert(winid);
					if (iframes[iframename] != null && window.frames[iframes[iframename]] && window.frames[iframes[iframename]].receiveMessage)
						window.frames[iframes[iframename]].receiveMessage(message.otherend, message.message);
					else
						messages2.push(message);
				}
				if (messages2.length > 0) {
					messages = messages2.slice();
					messagetimer = setTimeout("displayMessages();", 4000);
				}
			}

			function sendMessage(otherend, message) {
				message = encodeURIComponent(message);
				var url = "sendmessage.php";
				var pars = "to=" + otherend + "&message=" + message;

				var myAjax = new Ajax.Request(
					url,
					{
						method: 'get',
						parameters: pars
					}
				);
/*
				var myAjax = new Ajax.Request("chat/sendmessage.php", {
					method: "get",
					parameters: pars
				});*/
				displayMessages();

				playSound("send");

//				$("sendwav").Play();
			}
			function setTitle(otherend, title) {

				var winid = "chat_" + otherend;

				if (windows[winid]) {
					windows[winid].setTitle(title);
				}


//				$("sendwav").Play();
			}
			function playSound(name) {
				if (soundManager) {
					soundManager.play(name);
				}
				return;
				var thissound = document.getElementById(name);
				thissound.Play();
			}