"use strict"; /* Im entsprechenden Dokument scriptTag src="https://rosenbaum.ch/exposhoplib.jsl"> endScriptTag Zum Testen: Öffnen:

Schliessen:

Alternierend:

*/ //SETTINGS ---------------------------------------------------------------------------------------- var sExpoShopBuzzerBackground= "#cdaa00"; var sExpoShopBuzzerColor= "white"; var sExpoShopBuzzerLabelOffsetTop= "32px"; var sExpoShopBuzzerLabelOn= "mein
PIANO
finden"; var sExpoShopBuzzerLabelOff= "PIANOS
Liste
schliessen"; function hdExpoShopItems() //HereDoc { /* ,,, "Marke","Modell","Ausführung","Preis" ,,, "Flügel C.Bechstein neu","Academy 190cm","schwarz poliert"," CHF 53'800.-" ,,, "Piano C.Bechstein neu","Residence 118cm","classic schwarz poliert"," CHF 23'100.-" "Piano C.Bechstein neu","Academy 124cm","style schwarz poliert"," CHF 19'900.-" "Piano C.Bechstein neu","Academy 114cm","compact schwarz poliert"," CHF 16'990.-" ,,, "Piano W.Hoffmann neu","P 120cm","professionel"," CHF 12'400.-" ,,, "Piano Yamaha neu","P 121cm","schwarz poliert"," CHF 9'333.-" "Piano Yamaha neu","b3 121cm","schwarz poliert"," CHF 7'028.-" "Piano Yamaha neu","b2 113cm","schwarz poliert"," CHF 5'997.-" "Piano Yamaha neu","b2 113cm","weiss poliert"," CHF 6'160.-" "Piano Yamaha neu=VERKAUFT","b3 121cm","silent SC2 schwarz poliert"," CHF 9'267.-" "Piano Yamaha neu","b2 113cm","silent SC2 schwarz poliert"," CHF 8'236.-" ,,, "Flügel Shigeru Kawai Occasion","212cm ","schwarz poliert, Mechanik revidiert, intoniert"," CHF 42'600.-" "Flügel Bösendorfer Occasion=VERKAUFT","180cm","schwarz seidenglanz Mechanik revidiert, intoniert"," CHF 39'800.-" "Flügel Grotrian Steinweg Occasion","186cm","schwarz poliert, total revidiert, Gehäuse aufpoliert"," CHF 35'600.-" "Flügel Petrof Occasion","190cm","schwarz poliert, total revidiert, inkl. Gehäuse neu lackiert"," CHF 19'200.-" ,,, "Piano Steinway&Sons Occasion","Mod.V 125cm","Nussbaum, total revidiert inkl. Gehäuse","CHF 18'900.-" "Piano Steinway&Sons Occasion","Mod.Z 114cm","schwarz seidenmatt, total revidiert inkl. Gehäuse","CHF 11'750.-" "Piano Bösendorfer Occasion","Mod. 120cm","schwarz poliert, revidiert","CHF 9'800.-" "Piano Pfeiffer Occasion","Mod. 114cm","Nussbaum revidiert, neue Basssaiten"," CHF 7'900.-" "Piano Pfeiffer Occasion","Mod. 112cm","Nussbaum revidiert, neue Basssaiten"," CHF 6'600.-" "Piano Seiler Occasion=VERKAUFT","Mod. 114cm","schwarz seidenmatt, Neulackierung, revidiert, neue Basssaiten"," CHF 8'700.-" "Piano Euterpe Occasion=VERKAUFT","Mod. 114cm","Nussbaum, revidiert, neue Bassaiten"," CHF 6'900.-" "Piano Sauter Occasion","Mod. 118cm","Kirsche, revidiert"," CHF 6'800.-" "Piano Sauter Occasion","Mod. 113cm","Eiche hell, revidiert, neue Bassaiten"," CHF 5'900.-" "Piano Zimmermann Occasion","Mod. 114cm","Buche hell"," CHF 6'200.-" "Piano Schimmel Occasion ","Mod. 112cm","Nussbaum, revidiert, neue Bassaiten"," CHF 6'900.-" "Piano Schimmel Occasion=1/2 PREIS","Mod. 108cm","Nussbaum revidiert, neue Basssaiten; bisher CHF 4'800.-","jetzt CHF 2'400.-" "Piano Nordiska Occasion","Mod. 108cm","Eiche dunkel revidiert, neue Bassaiten"," CHF 4'800.-" "Piano Yamaha Occasion=VERMIETET","Mod. 110cm silent","Nussbaum revidiert, neue Basssaiten"," CHF 4'500.-" "Piano Yamaha Occasion=1/2 PREIS","Mod. 108cm","Nussbaum revidiert, neue Basssaiten; bisher CHF 3'800","jetzt CHF 1'900.-" "Piano Kawai Occasion=1/2 PREIS","Mod. 114cm","Mahagony revidiert, neue Bassaiten; bisher CHF 4'500.-","jetzt CHF 2'250.-" "Piano Erard Occasion=1/2 PREIS","Mod. 105cm","Nussbaum revidiert, neue Basssaiten; bisher CHF 3'500.-","jetzt CHF 1'750.-" "Piano Hyundai Occasion=1/2 PREIS","Mod. 106cm","schwarz poliert, revidiert, neue Bassaiten; bisher CHF 3'200.-","jetzt CHF 1'600.-" ,,, */ }//END hdExpoShopItems() //HereDoc //END SETTINGS ======================================================================================= //HereDoc wird nicht mehr gebraucht, jetzt fetch() //var sItems= String(hdExpoShopItems); //sItems= sItems.replace(/[\w\W]*\/\*\s*/, ""); //sItems= sItems.replace(/\s*\*\/[\w\W]*/, ""); //sItems= sItems.replace(/\n/g, "|"); //sItems= sItems.replace(/\"\,/g, "|"); //sItems= sItems.replace(/\"/g, ""); //sItems= sItems.replace(/\,{3}/g, "|||"); //sItems= sItems.replace(/\|\ */g, "|"); //var ar_Items= sItems.split("|"); //alert(ar_Items[0]); try { //CORS-Problem mit fetch: location.hostname für mit und ohne www //alert(location.hostname); fetch("https://" +location.hostname +"/exposhopitems.csv?nc=Math.random()") .then(x => x.text()) .then(y => fItemsArrayBuild(y)); } catch(_sErr) { alert(_sErr); } function fItemsArrayBuild(_sItems) { _sItems= _sItems.replace(/\n/g, "|"); _sItems= _sItems.replace(/\"\,/g, "|"); _sItems= _sItems.replace(/\"/g, ""); _sItems= _sItems.replace(/\,{3}/g, "|||"); _sItems= _sItems.replace(/\|\ */g, "|"); window.ar_Items= _sItems.split("|"); //alert(isbDump(ar_Items)); }//END fItemsArrayBuild(_sItems) function hdExpoShopBuzzer() {/*
${isbRef.Label}
*/ }//END hdExpoShopBuzzer() window.addEventListener("load", function(){fExpoShopBuzzerInit();}); function fExpoShopBuzzerInit() { var elExpoShop= document.getElementById("hdviExpoShop"); var elExpoShopBuzzer= document.createElement("DIV"); elExpoShopBuzzer.innerHTML= isbHereDoc(hdExpoShopBuzzer, {Background: sExpoShopBuzzerBackground, Color: sExpoShopBuzzerColor, OffsetTop: sExpoShopBuzzerLabelOffsetTop, Label: sExpoShopBuzzerLabelOn}); elExpoShop.parentNode.insertBefore(elExpoShopBuzzer, elExpoShop); }//END fExpoShopBuzzerInit() function fExpoShopInit() { var sHTML= ""; var iItemNo= 0; var i= 0; while (i < ar_Items.length) { if (! ar_Items[i]) { sHTML+= "

"; } else { iItemNo++; sHTML+= "
" + "" + ar_Items[i] +"" + "" + ar_Items[i+1] +"" + "
" + ar_Items[i+2] +"

" + "
" + ar_Items[i+3] +"

" + "
"; }//END if (!ar_Items[i]) i= i +4; } //STAMPS------------------------------ sHTML+= isbHereDoc(hdStampStyle).toString(); document.getElementById("hdviExpoShop").innerHTML= sHTML; var iItem= 1; var elItem; while (elItem= document.getElementById("hbiItem"+iItem)) { elItem.innerHTML= fCheckForDeal(elItem.innerHTML, iItem); iItem++; } }//END fExpoShopInit() function fExpoShopShow(_bShow) //null für toggle { var bShow; var elExpoShop= document.getElementById("hdviExpoShop"); var elExpoShopBuzzer= document.getElementById("hdviExpoShopBuzzer"); if (elExpoShop.isb_bShow == undefined) { fExpoShopInit(); bShow= true; } else if (_bShow === null) { bShow= ! elExpoShop.isb_bShow; } else { bShow= _bShow; } if (bShow) { elExpoShop.style.display= "block"; location='#hdviExpoShop'; elExpoShopBuzzer.innerHTML= sExpoShopBuzzerLabelOff; } else { elExpoShop.style.display= "none"; elExpoShopBuzzer.innerHTML= sExpoShopBuzzerLabelOn; } elExpoShop.isb_bShow= bShow; }//END fExpoShopShow(_el) //Animated Stamps --------------------------------------------------------------------------- function hdStampStyle() {/* */}//END hdStampStyle() function hdStamp() {/*
${isbRef.sText}
*/}//END hdStamp() function fStamp(_elAfter, _oInfo) { var oInfo= {sAniDuration:"2s", sText:"ACTION", sColor:"darkviolet"}; for (let k in _oInfo) { oInfo[k]= _oInfo[k]; } var sHTML= isbHereDoc(hdStamp, oInfo); var elWrap= document.createElement("DIV"); elWrap.innerHTML= sHTML; var elStamp= elWrap.children[0]; elWrap.remove(); //alert(elStamp.outerHTML); _elAfter.parentNode.insertBefore(elStamp, _elAfter.nextSibling); } function fISObserverAdd(_elToObserve, _fCallBack, _oInfo) { if (! window._isbISObserveds) { window._isbISObserveds= []; } var isoObserver = new IntersectionObserver(function(entries) { if(entries[0].isIntersecting === true) { _fCallBack(entries[0].target, _oInfo); this.unobserve(_elToObserve); } }, { threshold: [1] }); isoObserver.observe(_elToObserve); window._isbISObserveds.push(isoObserver, _oInfo); }//END fISObserver(_elToObserve, _fCallBack, _oInfo) function fCheckForDeal(_sItem, _iItemNo) //string { var sDeal= _sItem.replace(/[^\=]*(\=|$)/, ""); //alert(sDeal); sDeal= sDeal.trim(); if (sDeal) { var rxItem= new RegExp("\\=\\s*" +sDeal); _sItem= _sItem.replace(rxItem, ""); //alert(_sItem); fCheckForDeal._isbAniNo= fCheckForDeal._isbAniNo || 0; fCheckForDeal._isbAniNo++; var iAniDuration= 2; //to slow: +fCheckForDeal._isbAniNo; } if (sDeal.toUpperCase()=="VERKAUFT") { fISObserverAdd(document.getElementById("hbiItem"+_iItemNo), fStamp, {sAniDuration:iAniDuration+"s", sText:"VERKAUFT", sColor:"red"}); } else if (sDeal) { fISObserverAdd(document.getElementById("hbiItem"+_iItemNo), fStamp, {sAniDuration:iAniDuration+"s", sText:sDeal, sColor:"blue"}); } return _sItem; }//END fCheckForDeal(_sItem, _iItem) //Animated Stamps ======================================================================