
//// CONSTANTS ////

// date format
var DF_HHmmssyyyyMMdd = "HH-mm-ss-yyyyMMdd";


////////////////////////////////////////////////////////////////////////////////////////////////

//// System ////

function System() {

}

// Obté la data/hora actual
// 0: format data/hora
System.prototype.getTime = function() {
	var format = arguments[0]==null ? DF_HHmmssyyyyMMdd : arguments[0]; 
	var txh = new XmlHttp("http://www.tv3.cat/su/time.jsp?type=xml&format="+format, CACHE_SYSTEM_RANDOM);
	mTxh.put("SystemGetTime.txh", txh);
	txh.doPost("SystemGetTime");  // sync
	//txh.doPost("SystemGetTime", true); // async
	return mTxh.get("SystemGetTime.return");
}

//// MČTODES ////

// Ús intern capturadors sync | async
function _getTime(req) {
	if (req.readyState==4 && req.status==200) {
		var result = req.responseXML;
		var buff = "";
		try {
			buff = result.documentElement.getAttribute("actual");
		} catch (e) {
			//alert("ERR System : "+e);
		}
		mTxh.put("SystemGetTime.return", buff);
	}
}

// Capturador sincron especific per 'GetTime'
function synchronousHandlerSystemGetTime(req) {
    _getTime(req);
}

// Capturador asincron especific per 'GetTime'
function asynchronousHandlerSystemGetTime() {
	var req = mTxh.get("SystemGetTime.txh").xmlhttp;
    _getTime(req);
}
