function getEventX(event){var posx=0;if(event.pageX||event.pageY){posx=event.pageX;}
else if(event.clientX||event.clientY){posx=event.clientX+document.body.scrollLeft
+document.documentElement.scrollLeft;}
return posx;}
function getElementX(obj){var x=0;if(obj.offsetParent){do{x+=obj.offsetLeft;}while(obj=obj.offsetParent);}
return x;}
function zeroPad(str,len){var i;var pad="";var s=str.toString();for(i=s.length;i<len;i++){pad="0".toString()+pad.toString();}
return pad.toString()+s.toString();}
function dateToTimestamp(date){return date.getFullYear()+
zeroPad(date.getMonth()+1,2)+
zeroPad(date.getDay()+1,2)+
zeroPad(date.getHours(),2)+
zeroPad(date.getMinutes(),2)+
zeroPad(date.getSeconds(),2);}
function calcTimestamp(event,element,firstMS,lastMS){var eventX=getEventX(event);var elementX=getElementX(element);var elementWidth=element.width;var msWidth=lastMS-firstMS;var x=eventX-elementX;var pct=x/elementWidth;var pctDate=pct*msWidth;var date=pctDate+firstMS;return dateToTimestamp(new Date(date));}

