/*** * * PicLoad - optimieren * ***/ var xmlhttp var myXMLdata = null; var myXMLcontent = null; var myRoot = null; var ISwriteing = false; var katalog = new Array(); var ausstellungen = new Array(); var klassen = new Array(); var kuenstler = new Array(); kuenstler.maxID = 0; //************************************************************************************************* function getDomAdapter() { var adapter = ''; if ('undefined' != typeof ActiveXObject) { adapter = 'MS'; } else if ('undefined' != typeof document && document.implementation && document.implementation.createDocument && 'undefined' != typeof DOMParser) {adapter = 'default';} switch (adapter) { case 'MS': return new (function () { this.createDocument = function () { var names = ["Msxml2.DOMDocument.6.0", "Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"]; for (var key in names) { try { return new ActiveXObject(names[key]); } catch (e) {} } throw new Error('Unable to create DOMDocument'); }; this.parseXml = function (xml) { var doc = this.createDocument(); if (!doc.loadXML(xml)) { alert( doc.parseError.reason ); throw new Error('Parse error');} return doc; }; })(); case 'default': return new (function () { this.createDocument = function () { return document.implementation.createDocument("", "", null); }; this.parseXml = function (xml) { var doc = new DOMParser().parseFromString(xml, "text/xml"); if ("parsererror" == doc.documentElement.nodeName) { throw new Error('Parse error'); } for (var i=0;i500)?(bild.width/500):(1); var fakt2 = (bild.height>450)?(bild.height/450):(1); var fakt = (fakt1>fakt2)?(fakt1):(fakt2); bild.width = bild.width/fakt; bild.height = bild.height/fakt; bild.style.position = "absolute"; bild.style.top = ((450-bild.height)/2); bild.style.left = ((500-bild.width)/2); if( _udf!=null ) { _udf() } } function onPicerror() { bild.width = bild.width; bild.height = bild.height; bild.style.position = "absolute"; bild.style.top = ((450-bild.height)/2); bild.style.left = ((500-bild.width)/2); } if (url!=null) bild.src = "ggGetPic.php?name="+url+"&time="+new Date().toGMTString(); else bild.src = "nopic.jpg"; bild.onload = onPicload; bild.onerror = onPicerror; return bild; } function killPic( url ) { var o = new Image(); o.src = "ggKillPic.php?name="+url; delete o; } //************************************************************************************************* var _waiterI = 0; function _waiter(url,_send) { window.clearInterval( _waiterI );writeXMLDoc(url,_send)} function _writeResponse() { if(checkReadyState(xmlhttp)) { ISwriteing=false } } function writeXMLDoc(url,_send) { if (ISwriteing) { _waiterI = window.setInterval( "_waiter('"+url+"','"+_send+"')", 1000 ); return }; ISwriteing = true; xmlhttp=null; var XMLsend = new ActiveXObject("Msxml2.DOMDocument.3.0"); XMLsend.loadXML( (_send!="data")?(myXMLcontent.xml):(myXMLdata.xml) ); if ( XMLsend.parseError != 0 ) { alert( XMLsend.parseError.reason ); return false } // code for Mozilla, etc. if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest() // code for IE } else if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") } if (xmlhttp!=null) { xmlhttp.onreadystatechange=_writeResponse; cc = (_send!="data")?("myXML"):("myDAT"); cc += "="+escape(XMLsend.xml); xmlhttp.open("POST","ggBack.php",true); xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1" ); xmlhttp.setRequestHeader( "Cache-Control", "no-cache" ); xmlhttp.setRequestHeader( "If-Modified-Since", "Wed, 31 Dec 1980 00:00:00 GMT"); xmlhttp.setRequestHeader("Expires", "Wed, 31 Dec 1980 00:00:00 GMT"); xmlhttp.send( cc ); } else { alert("Your browser does not support XMLHTTP.") } } //************************************************************************************************* function loadXMLDoc(url, myResponse ) { xmlhttp=null; // code for Mozilla, etc. if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest() // code for IE } else if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") } if (xmlhttp!=null) { xmlhttp.onreadystatechange=(myResponse==null)?(onXMLContent):(myResponse); xmlhttp.open("GET",url,true); xmlhttp.setRequestHeader( "Cache-Control", "no-cache" ); xmlhttp.setRequestHeader("If-Modified-Since", "Wed, 31 Dec 1980 00:00:00 GMT"); xmlhttp.setRequestHeader("Expires", "Wed, 31 Dec 1980 00:00:00 GMT"); xmlhttp.setRequestHeader('Content-Type', 'text/xml' ); xmlhttp.send( null ); } else { alert("Your browser does not support XMLHTTP.") } } function onXMLDatas() { if(checkReadyState(xmlhttp)) { myXMLdata = xmlhttp.responseXML; if( !myXMLdata.parseError ) { myXMLdata.parseError=0 } if( myXMLdata.parseError != 0 ) { alert( myXMLdata.parseError.reason ); return } var response = myXMLdata.documentElement; myData = response; var y = response.firstChild; var eox = false; while (!eox) { // künstler lesen if (y.nodeName == "kuenstlers") { var z = y.getElementsByTagName("kuenstler"); for (var i=0;ikuenstler.maxID) kuenstler.maxID=cID; } } // Nächstes Node lesen oder abbrechen if (y==response.lastChild) {eox = true} else {y = y.nextSibling} } // Produktdaten lesen myFiller(); loadXMLDoc('gg1.xml'); } } function onXMLContent() { if(checkReadyState(xmlhttp)) { myXMLcontent = getDomAdapter().parseXml( xmlhttp.responseText ); if( !myXMLcontent.parseError ) { myXMLcontent.parseError=0 } if( myXMLcontent.parseError != 0 ) {alert( myXMLcontent.parseError.reason ); return}; var response = myXMLcontent.documentElement; myRoot = response; // Produktgruppen abgehen var y = response.firstChild; var eox = false; while (!eox) { var tmp = new Array(); // Katalog oder Ausstellung if (y.nodeName != "Ausstellung") { klassen.push( y.nodeName ); } else { var tmp1 = new Object(); tmp1.id = y.getAttribute( "id" ); tmp1.name = y.getElementsByTagName( "name" )[0].childNodes[0].nodeValue; tmp1.von = y.getElementsByTagName( "von" )[0].childNodes[0].nodeValue; tmp1.bis = y.getElementsByTagName( "bis" )[0].childNodes[0].nodeValue; ausstellungen.push( tmp1 ); } // Produkte lesen var z = y.getElementsByTagName("produkt"); tmp.maxID = 1000*(katalog.length<=8)?(katalog.length):(katalog.length+4); for (var i=0;i 0); } catch (e) { tmp1.short = false }; try { tmp1.text = z[i].getElementsByTagName( "text" )[0].firstChild.data; (tmp1.text==undefined)?(tmp1.text=""):(""); } catch (e) { tmp1.text = "" }; try { tmp1.bild = z[i].getElementsByTagName( "bild" )[0].firstChild.data; } catch (e) { tmp1.bild = "pic/nopic.jpg" }; tmp.push( tmp1 ); if (tmp1.id>tmp.maxID) tmp.maxID=tmp1.id; } // Nächstes Node lesen oder abbrechen if (y==response.lastChild) {eox = true} else {y = y.nextSibling} katalog.push( tmp ); } myControler(); myShower(); } }