function common_currencyFormat (amount)
{
	var i = parseFloat(amount);
	if (isNaN(i))
	{ 
		i = 0.00; 
	}
	var minus = '';
	if (i < 0) 
	{ 
		minus = '-';
	}
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if (s.indexOf('.') < 0) 
	{ 
		s += '.00'; 
	}
	if (s.indexOf('.') == (s.length - 2)) 
	{ 
		s += '0'; 
	}
	s = minus + s;
	return s;
}

function common_xPath(oNodes, sXPath)
{
	/*
	xPath function by Charles Toepfer: toepfer_c@hotmail.com 
	use: 'resulting xml dom' = xPath('xml dom object', 'xpath string');
	*/
	if(oNodes)
	{
		if(window.XMLHttpRequest)
		{ 
			try {
				var oXpe = new XPathEvaluator();
				var oNsResolver = oXpe.createNSResolver(oNodes.ownerDocument == null ? oNodes.documentElement : oNodes.ownerDocument.documentElement);
				var oResult = oXpe.evaluate(sXPath, oNodes, oNsResolver, 0, null);
				var aFound = [];
				var oRes;
				while (oRes = oResult.iterateNext())
				{
					aFound.push(oRes);
				}
				return aFound;
			} catch (e) {
				alert(e.description);
			}
		} else {
			try {
				oNodes.setProperty ("SelectionLanguage", "XPath")
				var oSelectedNode = oNodes.documentElement.selectNodes(sXPath);
				return oSelectedNode;
			} catch (e) {
				alert(e.description);
			}
		}
	}
}

function common_createPNGImage(src, width, height) {
    if (navigator.userAgent.indexOf("MSIE") != -1) {
        var element = document.createElement("div");
        element.style.filter = "progid:DXImageTransform.Microsoft." +
                               "AlphaImageLoader(src='" + src + "')";
    } else {
        var element = document.createElement("img");
        element.src = src;
    }
    element.style.width = width + "px";
    element.style.height = height + "px";
    return element;
}

// *** Legacy ******************************************************************
/*
var slowly = {
	fade : function (id) {
		this.fadeLoop(id, opacity);
	},
	fadeLoop : function (id, opacity) {
		var o = document.getElementById(id);
		if (opacity >= 5) {
			slowly.setOpacity(o, opacity);
			opacity -= 4;
			window.setTimeout("slowly.fadeLoop('" + id + "', " + opacity + ")", 100);
		} else {
			o.style.display = "none";
		}
	},
	setOpacity : function (o, opacity) {
		o.style.filter = "alpha(style=0,opacity:" + opacity + ")";	// IE
		o.style.KHTMLOpacity = opacity / 100;				// Konqueror
		o.style.MozOpacity = opacity / 100;					// Mozilla (old)
		o.style.opacity = opacity / 100;					// Mozilla (new)
	}
}

function toggleDiv (targetid)
{
	var target = document.getElementById(targetid);
	
	if (target.style.display == 'none')
	{
		target.style.display = '';
	} else {
		target.style.display = 'none';
	}
}
*/
// Permissions Functions
function TogglePermission (Group, Permission)
{
	var uri = '/admin/permissions/TogglePermission/' + Group + '/' + Permission + '.htm';
	new Ajax.Request(uri,
		{
			method: 'get',
			onLoad: function() {
				// We need an ajax loading image
				document.getElementById('PermItem_' + Group + '_' + Permission).innerHTML = '<img src="/images/ajaxload/ajax-loader.gif" width="16" height="16" alt="Saving..." />';
			},
			onSuccess: function(transport) {
				RefreshPermission (Group, Permission);
			},
			onFailiure: function() { alert('Ajax error when setting item permissions.'); }
		}
	);
}

function RefreshPermission (Group, Permission)
{	
	var uri = '/admin/permissions/RefreshPermission/' + Group + '/' + Permission + '.htm';
	new Ajax.Request(uri,
		{
			method: 'get',
			onSuccess: function(transport) {
				var response = transport.responseText;
				document.getElementById('PermItem_' + Group + '_' + Permission).innerHTML = response;
			},
			onFailiure: function() { alert('Ajax error when refreshing item permissions.'); }
		}
	);
}

function common__refreshCourseFinder() {
	var industryID 	= document.courseFinderForm.IndustryID.value;
	var categoryID 	= document.courseFinderForm.CategoryID.value;
	var type 		= document.courseFinderForm.Type.value;
	
	new Ajax.Request('/course_finder/ajax_refresh_course_finder.htm', {
		method:"post",
		parameters:{IndustryID:industryID, CategoryID:categoryID, Type:type},
		onSuccess:common__refreshCourseFinderCB
	});
}

function common__refreshCourseFinderCB(transport) {
	try {
		var xml = transport.responseXML;
		var categorySelect = $('CategoryID');
		categorySelect.innerHTML = '';
		var categoryElems = xml.getElementsByTagName("category");
		for(var i = 0; i < categoryElems.length; i++) {
			var option = new Element("option", {value:categoryElems[i].getAttribute("id") == null ? '' : categoryElems[i].getAttribute("id")});
			option.update(categoryElems[i].firstChild.data);
			if(categoryElems[i].getAttribute("selected") == "selected") option.selected = "selected";
			categorySelect.appendChild(option);
		}
	}
	catch(e) {
		alert(e);	
	}
}	

function common__cfTypeChanged() {
	var postCodeContainer = document.getElementById("cfPostCode");
	var typeRadios = document.courseFinderForm.Type;
	for(var i = 0; i < typeRadios.length; i++) {
		if(typeRadios[i].checked) {
			if(typeRadios[i].value == "open") postCodeContainer.style.visibility = "visible";
			else postCodeContainer.style.visibility = "hidden";
			return;
		}
	}
}
