/* 	Copyright (c) 2005-2006 Alan Walker. All rights reserved.
	Direct all enquiries to info@lexigame.com.
*/

var dataRequester;

function da_loadData(parms, callbackCode) {
    var url = "cgi-bin/puztop.pl";
	parms += "&chmax=" + UI_CHAT_MAX_MESSAGES;
	parms += "&hst=0";
    parms += "&v=108";
    parms += "&c=" + callbackCode;
	if (GP_currentPassword.length > 0) {
	    parms += "&pass=" + GP_currentPassword;
	}
	var request = da_loadXMLDoc(url, parms, callbackCode);
	if (!request) {
    	da_loadFrameData(url, parms);
	}
}

function da_loadXMLDoc(url, parms, callbackCode) {
	parms += "&method=ajax";
	var callback = 
		{ 
			success: da_processYUISuccess,
			failure: da_processYUIFailure,
			argument: [callbackCode],
			timeout: 15000 
		};
	return YAHOO.util.Connect.asyncRequest('POST', url, callback, parms); 
}

function da_loadFrameData(url, parms) {
// random number in URL to make sure request is actually sent to server, rather than using cached data
	var randNum = Math.floor(Math.random() * 10000);
	parms = "?" + parms + "&method=iframe&dummy=" + randNum;
	window.frames["dataframe"].window.location.replace(url + parms);
}

function da_processYUISuccess(responseObject) {
	if (responseObject.status == 200 && responseObject.responseText != "ERROR") {
		UI_handleReturnedData(responseObject.responseText);
	} 
}

function da_processYUIFailure(responseObject) {
	if (responseObject.status == -1) {
		UI_handleConnectionTimeout(responseObject);
	}
}

var genCallBackFunc;

function da_loadGenAjaxData(parms, url, callBackFunc) {
	genCallBackFunc = callBackFunc;
	var callback = 
		{ 
			success: da_processGenData
		};
	YAHOO.util.Connect.initHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	return YAHOO.util.Connect.asyncRequest('POST', url, callback, parms); 
}

function da_processGenData(responseObject) {
	genCallBackFunc(responseObject);
}
