/*!
 * jQuery xmlDOM Plugin v1.0
 * http://outwestmedia.com/jquery-plugins/xmldom/
 *
 * Released: 2009-04-06
 * Version: 1.0
 *
 * Copyright (c) 2009 Jonathan Sharp, Out West Media LLC.
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 */
(function($) {
	// IE DOMParser wrapper
	if ( window['DOMParser'] == undefined && window.ActiveXObject ) {
		DOMParser = function() { };
		DOMParser.prototype.parseFromString = function( xmlString ) {
			var doc = new ActiveXObject('Microsoft.XMLDOM');
			doc.async = 'false';
			doc.loadXML( xmlString );
			return doc;
		};
	}
	
	$.xmlDOM = function(xml, onErrorFn) {
		try {
			var xmlDoc 	= ( new DOMParser() ).parseFromString( xml, 'text/xml' );
			if ($.isXMLDoc(xmlDoc))
			{
				var err = $('parsererror', xmlDoc);
				if (err.length == 1)
				{
					throw('Error: ' + $(xmlDoc).text());
				}
			}
			else
			{
				throw('Unable to parse XML');
			}
		}
		catch( e )
		{
			var msg = ( e.name == undefined ? e : e.name + ': ' + e.message );
			if ($.isFunction( onErrorFn ))
			{
				onErrorFn( msg );
			}
			else
			{
				$(document).trigger('xmlParseError', [ msg ]);
			}
			return $([]);
		}
		return $( xmlDoc );
	};
})(jQuery);
