function sbSendXHR(action, postdata, onsuccessFunc) {
	if (!action)
		alert('No action set!');
	var sUrl = sbdtasrc + '?xhrquery=' + action;
	var axcallback = {
		success : function(x) {
			var status = x.responseText.charAt(0);
			var data = x.responseText.substring(2);
			if (status == "-") {
				alert(data);
				delete x;
				return;
			}
			if (onsuccessFunc)
				onsuccessFunc(data, x.responseText);
		},
		failure : function(o) {
			alert("XHR failure - some went wrong! " + o);
		}
	};
	YAHOO.util.Connect.asyncRequest('POST', sUrl, axcallback, postdata);
	return true;
}
function flashCheck() {	
	var result = flashDetection(9,99);	
	if(!result[0]) return false;
	return true;
}
function flashDetection(required, max)
{
    var required_version = required;
    var max_version = max;
    var available_version = 0;
    if(typeof(navigator.plugins["Shockwave Flash"]) == "object")
    {
        var description = navigator.plugins["Shockwave Flash"].description;
        available_version = description.substr(16, (description.indexOf(".", 16) - 16));
    }
    else if(typeof(ActiveXObject) == "function")
    {
        /* walk Flash Version from 2 to max. version to check */
        for(var i = 2; i < (max_version + 1); i ++)
        {
            try
            {
                if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object")
                {
                    available_version = i;
                }
           }
           catch(error)
           {
           }
        }
    }
    return [available_version, required_version];
}
