/* ----------------------------------------------------------------- // One field to search them all. // // Generic Search for PostNL // Generic scripts with dependency on PostNL framework/scripts // Make sure the Page object has loaded first or this will fail. // // Build: 20071204 // // Copyright 2007, PostNL ----------------------------------------------------------------- */ // Initialize one field form PostscanKickStart = function() { if (window.page) { window.postscan = new Postscan(); } else { // try again in x milliseconds setTimeout("PostscanKickStart()", 100); } } PostscanKickStart(); // Set event listeners addEvent(window, "unload", function(){ if (window.postscan) { window.postscan.destroy(); } }); /* ----------------------------------------------------------------- // Main one field form object ----------------------------------------------------------------- */ Postscan = function() { if (!window.page.hasSupport()) return; this.sSearchUri = "http://www.postnl.nl/zakelijk/postadvies"; this.searchWidth = 920; this.psoverlay.init(); // Prepare one field search this.flashvars = { sessionID: "vua5odirptjesh55sphd1w55" }; this.flashparams = { menu: "true" }; this.flashattributes = { id: "flashContent", name: "flashContent" }; } // Helper function to clean up the onefield object Postscan.prototype.destroy = function() { if(!window.page.hasSupport()) return; // Kill objects to prevent memory leaks due to closures. - TODO! } /* ----------------------------------------------------------------- // OS form helpers/methods/properties/... ----------------------------------------------------------------- */ // Function to do search Postscan.prototype.open = function(){ this.psoverlay.show(); this.load(); }; Postscan.prototype.load = function() { var xmlhttp = null; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp == null) { this.psoverlay.hide(); return; } // Build link to Search URI. var url = this.sSearchUri + "?output=html&rnd=" + (new Date().getTime()) var self = this; //alert(url); xmlhttp.open("GET", url, true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState == 4) { // We've got a result back if (xmlhttp.status == 200) { // And it's valid var oSearch = document.getElementById("onefield-search"); var oSearchContent = document.getElementById("ofs-content"); var oLoader = document.getElementById("onefield-loader"); oSearchContent.innerHTML = xmlhttp.responseText; swfobject.embedSWF("swf/PostScanPreloader.swf", "postScan", "830", "470", "9.0.0", "swf/expressInstall.swf", self.flashvars, self.flashparams, self.flashattributes); // show the results... oSearch.style.display = "block"; oLoader.style.display = "none"; oSearch.style.marginLeft = "-" + parseInt((self.searchWidth / 2),10) + "px"; oSearch.style.width = self.searchWidth + "px"; var winHeight = (window.innerHeight || self.innerHeight || (document.documentElement&&document.documentElement.clientHeight) || document.body.clientHeight) - 40; oSearch.style.height = (winHeight) + "px"; oSearchContent.style.height = (winHeight-87) + "px"; if (!(navigator.userAgent.indexOf("MSIE 6.0") != -1)) { oSearch.style.marginTop = "-" + parseInt((winHeight / 2),10) + "px"; }; tickle(); } else { // Something went wrong (not found|forbidden|?) self.psoverlay.hide(); }; xmlhttp = null; } } xmlhttp.send(null); }; /*/ Function to show search Postscan.prototype.show = function() { this.psoverlay.show(); var oSearch = document.getElementById("onefield-search"); var oSearchContent = document.getElementById("ofs-content"); var oLoader = document.getElementById("onefield-loader"); oSearchContent.innerHTML = xmlhttp.responseText; // show the results... oSearch.style.display = "block"; oLoader.style.display = "none"; oSearch.style.marginLeft = "-" + parseInt((self.searchWidth / 2),10) + "px"; oSearch.style.width = self.searchWidth + "px"; var winHeight = (window.innerHeight || self.innerHeight || (document.documentElement&&document.documentElement.clientHeight) || document.body.clientHeight) - 40; oSearch.style.height = (winHeight) + "px"; oSearchContent.style.height = (winHeight-87) + "px"; if (!(navigator.userAgent.indexOf("MSIE 6.0") != -1)) { oSearch.style.marginTop = "-" + parseInt((winHeight / 2),10) + "px"; }; tickle(); };*/ // Search divs (rework of jQuery's Thickbox) Postscan.prototype.psoverlay = { init : function() { // preload stuff... this.loadimg = new Image();// preload image this.loadimg.src = "/img/onefield/loadingAnimation.gif"; }, show : function() { var oBody = document.getElementsByTagName("body")[0]; // create overlay var oOverlay = document.createElement("div"); oOverlay.id = "onefield-overlay"; oOverlay.className = "onefield-overlayBG"; oOverlay.onclick = this.hide; if(document.all){ // IE only iframe var oOverlayIFrame = document.createElement("iframe"); oOverlayIFrame.id = "onefield-hideSelects"; oOverlayIFrame.frameBorder = 0; oOverlayIFrame.scrolling = "no"; oOverlayIFrame.src = "about:blank"; oBody.appendChild(oOverlayIFrame); oOverlayIFrame = null; } // create search var oSearch = document.createElement("div"); oSearch.id = "onefield-search"; oSearch.innerHTML = "
Sluit venster
"; // create loader var oLoader = document.createElement("div"); oLoader.id = "onefield-loader"; oLoader.innerHTML = ""; // Append to body oBody.appendChild(oOverlay); oBody.appendChild(oSearch); oBody.appendChild(oLoader); oOverlay = null; oSearch = null; oLoader = null; }, hide : function() { // remove one field layers var oBody = document.getElementsByTagName("body")[0]; var oOverlay = document.getElementById("onefield-overlay"); oOverlay.onclick = null; var oOverlayIFrame = document.getElementById("onefield-hideSelects"); var oSearch = document.getElementById("onefield-search"); var oLoader = document.getElementById("onefield-loader"); oBody.removeChild(oSearch); oBody.removeChild(oLoader); if (oOverlayIFrame) { oBody.removeChild(oOverlayIFrame); }; oBody.removeChild(oOverlay); } }; /* SWFObject v2.0 Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis This software is released under the MIT License */ var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("