window.dhtmlHistory.create({toJSON: function(o){return JSON.stringify(o);}, fromJSON: function(s) {return JSON.parse(s);}}); var urlListener = function(newLocation, historyData){checkHash();}; var currentHash; var current_readystate=0; function cleanup_url(url){var clean_url=new Array(); if (url.search(/\?/)) return url; else{hash = url.split("#")[1]; parsed_url=hash; for (x in parsed_url) if (!(parsed_url[x]=='______array')) clean_url.push("div[" + x + "]=" + parsed_url[x]); return clean_url.join('&amp;');}} if (!window.checkHash){ function checkHash(){var hash = cleanup_url(window.location.href).split("#")[1]; if (currentHash!=hash && hash!=undefined){currentHash=hash; sendData(hash,'sharelib/collect.php?'+hash,'');}}} function init(){checkHash(); setLinks();} function initialize(){dhtmlHistory.initialize(); dhtmlHistory.addListener(handleHistoryChange);var initialLocation = dhtmlHistory.getCurrentLocation(); if (initialLocation == null) initialLocation = "location1"; updateUI(initialLocation, null);} function handleHistoryChange(newLocation,historyData){updateUI(newLocation, historyData);} function updateUI(newLocation,historyData){var historyMessage; if (historyData != null)historyMessage = historyData.message; var message = "New location: "+ newLocation + ", history data="+ historyMessage; init();} window.onload = function(){initialize(); init(); postInit();}; function prepareLinks(containerId,canvasId){var file = 'lib/clientBox.php'; if (!document.getElementById) return false; if (!document.getElementById(containerId)) return false; if (!document.getElementById(canvasId)) return false; var links = document.getElementById(containerId).getElementsByTagName("a"); for (var i=0; i<links.length; i++) {links[i].canvasId = canvasId; links[i].file = file; links[i].onclick = function(){var _data = this.getAttribute("href").split("?")[1]; var _target = this.getAttribute("target"); var _href = this.getAttribute("href"); var _rel = this.getAttribute("rel"); var _title = this.getAttribute("title"); switch (true){case (_target=='_popuptop'): return GB_show(_title, '/popup.php?'+_data); break; case (_target=='_popupcenter'): return GB_showCenter(_title, '/popup.php?'+_data); break; case (_target!='' && _target!=undefined):window.open(_href,_target,_rel); return false; break; case (_data!='' && _data!=undefined):window.location=(this.getAttribute("href").split("?")[0]+'#'+_data); this.blur(); return prepareSendData(_data); break; case (_href.split(":")[1]!='' && _href.split(":")[1]!=undefined):window.location.href=_href; return false; break; default:return false;}};}} function prepareSendData(url){if (currentHash!=url && url!=undefined){sendData(url,'sharelib/collect.php?'+url,''); currentHash=url;} return false;} function prepareForm(formId,canvasId,file){if (!document.getElementById) return false; if (!document.getElementById(formId)) return false; document.getElementById(formId).onsubmit = function(){var data = ""; for (var i=0; i<this.elements.length; i++){switch(this.elements[i].type){case 'checkbox': case 'radio':if (this.elements[i].checked){data+= this.elements[i].name; data+= "="; data+= escape(this.elements[i].value); data+= "&";}break; default:data+= this.elements[i].name; data+= "="; data+= escape(this.elements[i].value); data+= "&";}} return (!sendData(data,file,canvasId));};} function sendData(data,file,canvasId){var request = getHTTPObject(); if (request){request.onreadystatechange = function(){current_readystate=request.readyState; parseResponse(request,canvasId);}; request.open( "POST", file, true ); request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); request.send(data); ajaxPreloadStart(); return true;}else{return false;}} function parseResponse(request,canvasId){if (request.readyState == 4){if (request.status == 200){if (request.responseText.indexOf(String.fromCharCode(29))>-1){var parsed_html=request.responseText.split(String.fromCharCode(29)); for (x in parsed_html){var div_html=parsed_html[x].split(String.fromCharCode(31)); canvasId=div_html[0]; htmlcode=div_html[1]; if (canvasId!='') updateHTML(htmlcode,canvasId);}}else updateHTML(request.responseText,canvasId); init(); ajaxPreloadStop();}}} function updateHTML(htmlcode,canvasId){if (document.getElementById(canvasId)!=null){runBeforeContentLoad(canvasId); if (getInternetExplorerVersion()>0){var oldNode=document.getElementById(canvasId); var newNode=document.createElement(oldNode.tagName); newNode.innerHTML = htmlcode; x=oldNode.attributes; for (i=0; i<x.length; i++) newNode.setAttribute(x.item(i).name,oldNode.getAttribute(x.item(i).name)); oldNode.parentNode.replaceChild(newNode,oldNode);}else{obj=document.getElementById(canvasId); if (obj != undefined) obj.innerHTML = htmlcode;} runAfterContentLoad(canvasId);}} function getInternetExplorerVersion(){var rv = -1; if (navigator.appName == 'Microsoft Internet Explorer'){var ua = navigator.userAgent; var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null)rv = parseFloat( RegExp.$1 );} return rv;} function getHTTPObject(){var xhr = false; if (window.ActiveXObject){try{xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){try{xhr = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){xhr = false;}}} else if (window.XMLHttpRequest){try{xhr = new XMLHttpRequest();} catch(e){xhr = false;}} return xhr;} function prepareFormClass(containerId,formClass,canvasId,file){runBefore_prepareFormClass(); if (!document.getElementById) return false; if (!document.getElementById(containerId)) return false; if (!document.getElementById(canvasId)) return false; var forms = document.getElementById(containerId).getElementsByTagName("form"); for (var i=0; i<forms.length; i++){if (forms[i].className==formClass){forms[i].onsubmit = function(){var data = ""; for (var i=0; i<this.elements.length; i++){data+= this.elements[i].name; data+= "="; data+= escape(this.elements[i].value); data+= "&";} return (!sendData(data,file,canvasId));};}}} function prepareFormClassAuto(containerId,formClass){runBefore_prepareFormClassAuto(); if (!document.getElementById) return false; if (!document.getElementById(containerId)) return false; var forms = document.getElementById(containerId).getElementsByTagName("form"); for (var i=0; i<forms.length; i++){if (forms[i].className==formClass || forms[i].className.indexOf(formClass+" ")>=0 || forms[i].className.indexOf(" "+formClass)>=0){forms[i].onsubmit = function(){var data = ""; for (var i=0; i<this.elements.length; i++){if (this.elements[i].name=='div') canvasId=this.elements[i].value; if (this.elements[i].name=='pg') file=this.elements[i].value; switch (this.elements[i].type){case 'checkbox': case 'radio':if (this.elements[i].checked){data+= this.elements[i].name; data+= "="; data+= escape(this.elements[i].value); data+= "&";} break; default:data+= this.elements[i].name; data+= "="; data+= escape(this.elements[i].value); data+= "&";}} if (!document.getElementById(canvasId)) return false; else return (!sendData(data,file+".php",canvasId));};}}}
