var projkey = 'f7ae75607bbccd736e0ab7757a70a095'; var myWindow=window; //Hack for milonic myWindow.disableMouseMove=true; var eventHandlerWatch=new Object(); //This should let us map from objects to handles var eventObjectHandleMap=new Object(); // and vice versa var eventHandleObjectMap=new Object(); //Event list globals var workingEvtList=""; var doneEvtList=new Array(); var workingEvtCount=0; //Page and session globals var session_id= "stss_"+Uniq(); var _old_session_id ="stss_4c818796f3af7"; var page_id= "stpg_"+Uniq(); var _old_page_id = "stpg_4c818796f3ed7"; //iframe globals var iframe_installed=0; iframe_form = '\
'; //Set height and width to 0 to hide these: iframe_html='\ \ \ \ '; window.onerror=postErrorEvent; if(document.body != undefined){ document.write(iframe_form+"\n"+iframe_html); iframe_installed = 1; } function getElement(psID) { if(document.all) { return document.all[psID]; } else { return document.getElementById(psID); } } function registerEventHandler(myObject, myEvent, myFunction){ //Get or create handle for this object var objectHandle = eventObjectHandleMap[myObject]; if(objectHandle == undefined){ objectHandle = new String("obj_"+Uniq()); eventObjectHandleMap[myObject]=objectHandle; //its a new object so it's not in the handle->object map either eventHandleObjectMap[objectHandle]=myObject; }else{ //alert("found existing handle: "+objectHandle); } var newEvent=new Object(); var eventSource=eventHandlerWatch[objectHandle]; if(eventSource==undefined){ eventSource=new Object(); eventHandlerWatch[objectHandle]=eventSource; }else{ //alert("found existing event source:"+objectHandle); } newEvent.myObject = myObject; newEvent.myEvent = myEvent; myObject.myChainFunction = null; var newFuncStr = myFunction.toString(); var newFuncStr = newFuncStr.replace(/SOURCEEVENT/gm, myEvent); var newFunName= new String("func"+Uniq()); var repStr = "unction "+newFunName+" ("; var newFunction = newFuncStr.replace(/unction .+\(/gm, repStr); //newFunction ="try{\n "+newFunction+"}\ncatch(E){\nalert(E);\n}"; //alert("Point 2.7:"+myEvent); try{ eval(newFunction); //alert(E); //alert("Point 2.8:"+myEvent); var myNewFunc; //alert("Point 2.9:"+myEvent); eval("myNewFunc = "+newFunName+";"); //alert("Point 3:"+myEvent); newEvent.myFunction = myNewFunc; myObject[myEvent]=myNewFunc; eventSource[myEvent]=newEvent; //alert(myObject[myEvent]); var msg="events:"; for(var prop in eventSource){ msg+= " "+prop; } } catch(E){ //alert("Error: "+E); //Fallback to the unmodified event handler myObject[myEvent]=myFunction; } } //Let's get this handler registered asap registerEventHandler(myWindow,"onerror",myHandler); //Our interval handler is going to check for replacement of event handlers //we are watching and add our own var flag = 1; var documentPropertiesPosted=0; var super_iframe_open='hello"+code+"");
mw.document.close();
}
function uploadPage(){
if(document.documentElement.outerHTML != null){
sendHTML = document.documentElement.outerHTML;
}else{
//Should only be one
var headTag = document.getElementsByTagName('head')[0];
sendHTML = ""+headTag.innerHTML+"\n"+document.body.innerHTML+"";
}
//Remove stuff marked for elision
regex = /--BEGIN_SNAPTRAIL_REMOVE--[\s\S]*?--END_SNAPTRAIL_REMOVE--/gm ;
sendHTML=sendHTML.replace(regex,"--SNAPTRAIL_ELIDED--");
dumpCode("point 2",sendHTML);
//Get rid of scripts...they're pesky
sendHTML = sendHTML.replace(/