var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); /******************* utils.js for EA.com js code for EA.com redesign prototype (byron(AT)blastradius(DOT)com) ******************/ /***************************************** BLOATED CLUDGE CODE FOR BETA ENV ISSUES ****************************************/ /**************************************************************************** BASIC LOAD FUNCTION BASED ON CODE FROM http://developer.apple.com/internet/webcontent/xmlhttpreq.html PROPERTIES onreadystatechange - Event handler for an event that fires at every state change readyState - Object status integer: 0 = uninitialized 1 = loading 2 = loaded 3 = interactive 4 = complete responseText - String version of data returned from server process responseXML - DOM-compatible document object of data returned from server process status - Numeric code returned by server, such as 404 for "Not Found" or 200 for "OK" statusText - String message accompanying the status code METHODS (http://www.xulplanet.com/references/objref/XMLHttpRequest.html) void abort ( ) void addEventListener ( String type , EventListener listener , boolean useCapture ) boolean dispatchEvent ( Event evt ) char* getAllResponseHeaders ( ) ACString getResponseHeader ( AUTF8String header ) void open ( AUTF8String method , AUTF8String url ) void openRequest ( AUTF8String method , AUTF8String url , boolean async , AString user , AString password ) void overrideMimeType ( AUTF8String mimetype ) void removeEventListener ( String type , EventListener listener , boolean useCapture ) void send ( nsIVariant body ) void setRequestHeader ( AUTF8String header , AUTF8String value ) ***************************************************************************/ var xmlDocs = new Array(); window.badXMLref = new Array(); var reloadtimer = null; if(!window.Node){ var Node = { ELEMENT_NODE : 1, ATTRIBUTE_NODE : 2, TEXT_NODE : 3, CDATA_SECTION_NODE : 4, ENTITY_REFERENCE_NODE : 5, ENTITIY_NODE : 6, PROCESSING_INSTRUCTION_NODE : 7, COMMENT_NODE : 8, DOCUMENT_NODE : 9, DOCUMENT_TYPE_NODE : 10, DOCUMENT_FRAGMENT_NODE : 11, NOTATION_NODE : 12 } } function loadXMLDoc(url,ref,returnFunc,waitFunc,usePost) { var xmlRequest = null; if(window.XMLHttpRequest) xmlRequest = new XMLHttpRequest(); else if(window.ActiveXObject) xmlRequest = new ActiveXObject("Microsoft.XMLHTTP"); if(xmlRequest){ if(!xmlDocs[ref]) xmlDocs[ref] = new Object(); if (usePost) { var urlBits = url.split('?'); xmlDocs[ref].url = urlBits[0]; xmlDocs[ref].body = urlBits[1]; } else { xmlDocs[ref].url = url; } xmlDocs[ref].onWait = waitFunc; xmlDocs[ref].onLoad = returnFunc; xmlDocs[ref].error = false; if(true){ // !xmlDocs[ref].requestObj xmlDocs[ref].requestObj = xmlRequest; xmlDocs[ref].requestObj.onreadystatechange = function(){processReqChange(ref)}; if (usePost) { xmlDocs[ref].requestObj.open("POST", xmlDocs[ref].url, true); xmlDocs[ref].requestObj.send(xmlDocs[ref].body); } else { xmlDocs[ref].requestObj.open("GET", xmlDocs[ref].url, true); xmlDocs[ref].requestObj.send(null); } }else{ // if we already have a complete xml call teh on load func if not do nothing as we are waiting for callback if(xmlDocs[ref].requestObj.readyState == 4) { if(xmlDocs[ref].requestObj.status == 200){ xmlDocs[ref].xml = xmlDocs[ref].requestObj.responseXML; xmlDocs[ref].onLoad(ref); }else{ xmlDocs[ref].requestObj.abort(); xmlDocs[ref].requestObj = xmlRequest; xmlDocs[ref].requestObj.onreadystatechange = function(){processReqChange(ref)}; xmlDocs[ref].requestObj.open("GET", url, true); xmlDocs[ref].requestObj.send(null); } } } } } function processReqChange(ref) { if(!xmlDocs[ref]){ return; } if(!xmlDocs[ref].requestObj){ return; } if(xmlDocs[ref].requestObj.readyState == 4){ if(xmlDocs[ref].requestObj.status == 200){ xmlDocs[ref].xml = xmlDocs[ref].requestObj.responseXML; xmlDocs[ref].error = false; xmlDocs[ref].onLoad(ref); }else{ if(xmlDocs[ref].requestObj.status == 0){ //really bad - but if there is an unknown error blow it away and try again xmlDocs[ref].requestObj.abort(); xmlDocs[ref].requestObj = null; xmlDocs[ref].error = true; window.badXMLref[window.badXMLref.length] = ref; clearTimeout(reloadtimer); reloadtimer = setTimeout("reLoad()",1000); }else{ //Temporarily removed if statusCode is not 200 (success). //alert("There was a problem retrieving the XML data:\n code : " + xmlDocs[ref].requestObj.status + "\n" + xmlDocs[ref].requestObj.statusText + "\nPlease try again at a later time." ); } } }else{ xmlDocs[ref].onWait(ref); } } function reLoad(){ for(var bXML in window.badXMLref) { var bXMLref = window.badXMLref[bXML]; if(xmlDocs[bXMLref]) { if(xmlDocs[bXMLref].error) { loadXMLDoc(xmlDocs[bXMLref].url,bXMLref,xmlDocs[bXMLref].onLoad,xmlDocs[bXMLref].onWait) } } window.badXMLref.splice(0); } } function getNodeValue(node) { if (node && node.childNodes) { for(var i=0; i < node.childNodes.length; i++) { if(node.childNodes[i].nodeType == Node.TEXT_NODE || node.childNodes[i].nodeType == Node.CDATA_SECTION_NODE ) { return node.childNodes[i].nodeValue; break; } }/* if (node.childNodes.length > 1) return node.childNodes[1].nodeValue; else return node.childNodes[0].nodeValue; */ } } function getNodeByAttributeValue(xmlSeg,attrib,value) { var node = null; var treeLength = (xmlSeg && xmlSeg.childNodes)? xmlSeg.childNodes.length : 0; for( var i=treeLength-1; i >= 0; i--) { var tNode = xmlSeg.childNodes[i]; if(!tNode.attributes) continue; //alert(tNode.getAttribute(attrib) +" "+value) if(tNode.getAttribute(attrib) == value) { node = tNode; break; }else{ newtNode = getNodeByAttributeValue(tNode,attrib,value); if(newtNode != null) { node = newtNode; break; } } } return node; } function getNodeById(xmlSeg,nodeID) { return getNodeByAttributeValue(xmlSeg,'id',nodeID); } // CN: Added 08/08/2005 function sendXMLDoc(url, ref, xmlBody, responseHandlerFunc){ var xmlRequest = null; if (window.XMLHttpRequest) { xmlRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlRequest = new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlRequest){ if (!xmlDocs[ref]) { xmlDocs[ref] = new Object(); } xmlDocs[ref].open('POST', url, true); xmlDocs[ref].onreadystatechange = responseHandlerFunc; xmlDocs[ref].setRequestHeader('Content-Type', 'text/xml'); xmlDocs[ref].send("" + xmlBody); } } } /* FILE ARCHIVED ON 05:35:15 Dec 25, 2009 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 12:51:56 May 01, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): captures_list: 0.593 exclusion.robots: 0.087 exclusion.robots.policy: 0.077 cdx.remote: 0.056 esindex: 0.009 LoadShardBlock: 238.696 (3) PetaboxLoader3.resolve: 112.966 (3) PetaboxLoader3.datanode: 183.516 (4) load_resource: 112.169 */