/*!
 * 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(jQuery) {
	// 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;
		};
	}
	
	jQuery.xmlDOM = function(xml, onErrorFn) {
		try {
			var xmlDoc 	= ( new DOMParser() ).parseFromString( xml, 'text/xml' );
			if ( jQuery.isXMLDoc( xmlDoc ) ) {
				var err = jQuery('parsererror', xmlDoc);
				if ( err.length == 1 ) {
					throw('Error: ' + jQuery(xmlDoc).text() );
				}
			} else {
				throw('Unable to parse XML');
			}
		} catch( e ) {
			var msg = ( e.name == undefined ? e : e.name + ': ' + e.message );
			if ( jQuery.isFunction( onErrorFn ) ) {
				onErrorFn( msg );
			} else {
				jQuery(document).trigger('xmlParseError', [ msg ]);
			}
			return jQuery([]);
		}
		return jQuery( xmlDoc );
	};
})(jQuery);





























jQuery.fn.getInnerXml = function(internal, strTmp) {
	var strTmpInnerXml;
	var node = this;
	var numChildren;
	if(!internal)
	{
    	strTmpInnerXml = '';
		strTmp = '';
	}
	else
	{
		strTmpInnerXml = strTmp;
	}
	
	strTmpInnerXml += '<' + (jQuery(node)[0].tagName);	
	if(jQuery(node)[0].attributes.length > 0)
	{
		for(var i=0; i< jQuery(node)[0].attributes.length; i++)
		{
			strTmpInnerXml += ' ' + (jQuery(node)[0].attributes[i].name) + '= "' + (jQuery(node)[0].attributes[i].value) + '"';
		}
	}
	strTmpInnerXml += ' >';
	
	numChildren = jQuery(node).children().length;
	jQuery(node).children().each(function()
    {
    	strTmpInnerXml = jQuery(this).getInnerXml(true, strTmpInnerXml);
    });
    if(numChildren == 0)
    	strTmpInnerXml += /*'<![CDATA[' +*/ jQuery(node).text() /*+ ']]>'*/;
    strTmpInnerXml += '</' + (jQuery(node)[0].tagName) + '>';
	
    return strTmpInnerXml;
};


