function mySerialize(myEle){
	var str = "";
	generateHTML(myEle);
	this.str = str;
	function generateHTML(node){
		
		str += "<"+node.nodeName+ compileAttributes(node)+">";
			for(var i = 0; i < node.childNodes.length; i++){
				if(node.childNodes[i].nodeType == 3)
					str += node.childNodes[i].nodeValue;
				else if(node.childNodes[i].nodeType == 1){
					if(node.childNodes[i].firstChild && node.childNodes[i].firstChild.nodeValue == "|")
						continue;
					generateHTML(node.childNodes[i]);
					}
				}
		str += "</"+node.nodeName+">";
		}
	function compileAttributes(myNode){
		if (navigator.userAgent.toLowerCase().indexOf("msie") > -1)
			return "";
		
		var attrStr = "";
		for(var i = 0; i < myNode.attributes.length; i++)
			attrStr += " "+myNode.attributes[i].nodeName + "=\""+myNode.attributes[i].nodeValue+"\"";
	
		return attrStr;
		}
	}

