// függőségek
if ("undefined" == typeof AITIA) {
alert("AITIA include missing!");
}
// többszörös include
if ("undefined" != typeof AITIA_XML) {
alert("AITIA_DOM multiple insert!");
}
AITIA_XML = 1;
Aitia.XML = {};
/*
Aitia.Dom.getCurrentTable = function(currentNode) {
}
*/
// XML-t tartalmazó string xml objektumba töltése
function createAndLoadXML(xmlText) {
var newXML = false;
try {
// Internet Explorer
//var newXML = new ActiveXObject("Microsoft.XMLDOM");
var newXML = new ActiveXObject(getXmlHttpPrefix() + ".DomDocument");
newXML.async = "false";
newXML.loadXML(xmlText);
newXML.setProperty("SelectionLanguage","XPath");
} catch(e) {
try {
// Firefox, Mozilla, Opera, etc.
parser = new DOMParser();
newXML = parser.parseFromString(xmlText,"text/xml");
} catch(e) {
//e.message
}
}
if ( newXML ) {
if ( newXML.parseError && newXML.parseError.errorCode!=0 ) {
// IE
/*
debugWriteLn(""
+newXML.parseError.errorCode
+"\n"+newXML.parseError.reason
+"\n"+newXML.parseError.line
+"\n"+newXML.parseError.linepos
+"\n"+newXML.parseError.srcText
+"\n"+newXML.parseError.url
+"\n"+newXML.parseError.filepos
);
*/
newXML = false;
} else if ( newXML.documentElement && newXML.documentElement.nodeName=="parsererror") {
// Egyéb
/*
(error description)
(a snippet of the source XML)
*/
newXML = false;
}
}
return newXML;
}
// XML-t tartalmazó stringet fejléc adatokkal látunk el xml objektumba töltéshez
function setXMLheader(xmlText) {
var xmlHeadPre = '';
xmlHeadPre += '';
var xmlHeadPost = '';
xmlText = trim(xmlText.replace(/<\?xml version="1.0" encoding="utf-8"\?>/gi, ''));
xmlText = trim(xmlText.replace(/^\s*]*>/gi, ''));
return xmlHeadPre+xmlText+xmlHeadPost;
}
// xml-ben xpath-os keresés
function getXMLNodes(xmlDoc, rootNode, XPathText) {
var result = null;
try {
// ie
result = rootNode.selectNodes(XPathText);
} catch(e) {
try {
// Firefox, Mozilla, Opera, etc.
var nodes = xmlDoc.evaluate(XPathText, rootNode, null, XPathResult.ANY_TYPE, null);
var item = nodes.iterateNext();
if (item) {
result = new Array();
while (item) {
result.push(item);
item = nodes.iterateNext();
}
}
} catch(e) {
}
}
return result;
}
// xml-ben node értékének lekérdezése:
// getXMLNodeValue(node)
// getXMLNodeValue(xmlDoc, rootNode)
// getXMLNodeValue(xmlDoc, rootNode, XPathText)
function getXMLNodeValue(xmlDoc, rootNode, XPathText) {
var nodeValue = '';
if ( arguments.length==1 ) {
var node = arguments[0];
if ( typeof node!='undefined' && node ) {
if ( node.nodeType==1 ) {
// Tag
if (typeof XMLSerializer != 'undefined') { // FF
var serializer = new XMLSerializer();
nodeValue = serializer.serializeToString(node);
} else if ( typeof node.xml!='undefined' && node.xml!==null ) { // IE
nodeValue = node.xml;
} else {
nodeValue = 'ERROR';
}
nodeValue = nodeValue.replace(/^<[^>]*>/g, '');
nodeValue = nodeValue.replace(/<\/[^>]*>$/g, '');
if ( node.childNodes && node.childNodes.length==1 && node.childNodes[0].nodeType==4 ) {
// Csak egy darab cdata-zott gyereke van
nodeValue = nodeValue.replace(/^$/gi, '');
}
} else {
// Text node
nodeValue = node.nodeValue;
}
nodeValue = nodeValue.replace(/&/g, '&');
}
} else if ( arguments.length==2 ) {
var node = arguments[0];
var isRoot = arguments[1];
if ( typeof isRoot!='undefined' && isRoot ) {
// Szerver oldalon a cdata-zás megoldása miatt van szükség arra, hogy az első szintű gyerekeket egyesével cdata mentesítsük
if ( node.childNodes ) {
for(var i=0;i 0) {
nodeValue = getXMLNodeValue(nodes[0],true);
}
}
return nodeValue;
}
function getXMLAllNodeValues(xmlDoc, rootNode, XPathText) {
var nodeValue = [];
var nodes = getXMLNodes(xmlDoc, rootNode, XPathText);
if (nodes) {
for (var i = 0; i < nodes.length; i++)
nodeValue.push(getXMLNodeValue(nodes[i]));
}
return nodeValue;
}
function isXmlNode(node) {
var ret = false;
// FF
if (typeof XMLSerializer != 'undefined') {
if (node.childNodes.length > 1 || (node.childNodes.length == 1 && node.childNodes.nodeType == 1))
ret = true;
}
else {
if (node.childNodes.length > 0)
ret = (node.childNodes[0].nodeType == 1);
}
return ret;
}
function xhtmlToHtml(xhtml) {
xhtml = ( (typeof xhtml!='undefined' && xhtml!==null) ? xhtml.toString() : '' );
var html = xhtml.replace(new RegExp(' xmlns[^=]*="[^"]*"', 'g'), '');
html = html.replace(/<(br[^>]*)\/>/gi, '<$1>');
html = html.replace(/<(hr[^>]*)\/>/gi,'<$1>');
html = html.replace(/<(img[^>]*)\/>/gi,'<$1>');
html = html.replace(/<([A-Za-z0-9\-\_\:]*)\s?([^>]*)\/>/gi,'<$1 $2>$1>');
return html;
}
function htmlSpecialChars(tmpStr,apos,quot) {
var tmpStr = ( (typeof tmpStr!='undefined' && tmpStr!==null) ? tmpStr.toString() : '' );
var apos = ( typeof apos!='undefined' ? apos : true );
var quot = ( typeof quot!='undefined' ? quot : true );
tmpStr = tmpStr.replace(/&/g,'&');
tmpStr = tmpStr.replace(//g,'>');
if ( quot ) tmpStr = tmpStr.replace(/"/g,'"');
if ( apos ) tmpStr = tmpStr.replace(/'/g,''');
return tmpStr;
}
function htmlSpecialCharsDecode(tmpStr) {
tmpStr = ( (typeof tmpStr!='undefined' && tmpStr!==null) ? tmpStr.toString() : '' );
tmpStr = tmpStr.replace(/</g,'<');
tmpStr = tmpStr.replace(/>/g,'>');
tmpStr = tmpStr.replace(/"/g,'"');
tmpStr = tmpStr.replace(/'/g,"'");
tmpStr = tmpStr.replace(/&/g,'&');
return tmpStr;
}
function xml2Str(xmlNode) {
try {
// Gecko- and Webkit-based browsers (Firefox, Chrome), Opera.
return (new XMLSerializer()).serializeToString(xmlNode);
}
catch (e) {
try {
// Internet Explorer.
return xmlNode.xml;
}
catch (e) {
//Other browsers without XML Serializer
alert('Xmlserializer not supported');
}
}
return false;
}
function strip_tags (input, allowed) {
allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase ()
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
commentsAndPhpTags = /|<\?(?:php)?[\s\S]*?\?>/gi;
return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) { return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
});
}