var eoteBlogparts = {};
eoteBlogparts.path = 'http://juiz.jp/blogparts/';

(function(){
   var d = document;

   var eden = eoteBlogparts;
   var blogpartsUrl = eden.path + 'blogparts.swf?' + (new Date).getTime();
   var explosionScriptUrl = eden.path + 'eoteExplosion.js?' + (new Date).getTime();
   var missileMovieUrl = eden.path + 'missile.swf?' + (new Date).getTime();
   var iframeUrl = eden.path + 'registUrl.html?url=' + location.href;
   var redirectUrl = eden.path + 'redirect.html';
   var partsW = 160;
   var partsH = 190;
   
   eden.launchMissile = function(){
     var windowHeight = window.innerHeight || d.documentElement.clientHeight || d.body.clientHeight;

     var posY = d.documentElement.scrollTop || d.body.scrollTop;

     var overlayBox = d.createElement('div');
     overlayBox.id = 'missileMovie';
     with(overlayBox.style){
       position = 'absolute';
       zIndex = '9999';
       top = posY + 'px';
       left = '0px';
       width = '100%';
       height = windowHeight + 'px';
       overflow = 'hidden';
     }
     overlayBox.innerHTML = '<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" style="border:0px;margin:0px;padding:0px;"><tr><td width="100%" height="100%" align="center" valign="middle" style="border:0px;margin:0px;padding:0px;"><embed height="100%" align="middle" width="100%" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowfullscreen="false" allowscriptaccess="always" name="eoteMissile" quality="high" src="' + missileMovieUrl + '" wmode="transparent"/></td></tr></table>';
     d.body.appendChild(overlayBox);

   };

   eden.redirect = function(){
     //alert('redirect');
     location.href = redirectUrl;
   };
   
   writeBlogparts();
   
   if(missileApproaching()){
     bomb();
   }else{
     registUrl();
   }
   
   //

   function missileApproaching(){
     if(location.href.match(/missileApproaching/)){
       return true;
     }
     return false;
   }
   
   function writeBlogparts(){
     d.write('<div style="position:relative;width:'+ partsW + 'px;height:' + partsH + 'px;"><object width="'+ partsW +'" height="'+ partsH +'" id="eoteBlogparts" align="middle" data="' + blogpartsUrl + '" type="application/x-shockwave-flash" style="position:absolute;top:0px;left:0px; outline:none;"><param name="allowScriptAccess" value="always" /><param name="movie" value="' + blogpartsUrl + '" /><param name="quality" value="high" /><param name="wmode" value="transparent" /></object></div>');
   }

   function bomb(){
     //alert('bomb!');
     addEvent(window, 'load', incomingMissile);
   }
   
   function incomingMissile(){
     //alert('incomingMissile!');
     var s = d.createElement('script');
     s.type = 'text/javascript';
     s.src = explosionScriptUrl;
     s.charset = 'UTF-8';
     d.body.appendChild(s);
   }
   
   function registUrl(){
     //alert('registUrl');
     d.write('<iframe src="' + iframeUrl + '" width="0" marginwidth="0" height="0" marginheight="0" frameborder="0" style="position:absolute;overflow:hidden;"></iframe>');
   }

   function addEvent(eventTarget, eventName, func){
     if(eventTarget.addEventListener){
       eventTarget.addEventListener(eventName, func, false);
     }else if(window.attachEvent){
       eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});
     }
   }
   
   function getPoint(ele){
     var x=0,y=0;
     while(ele){
       x += ele.offsetLeft;
       y += ele.offsetTop;
       ele = ele.offsetParent;
     }
     return {x:x, y:y};
   }

   function getPageTitle4Blogparts(){
     var result = '';
     var maxChars = 51;
     var counter = 0;
     var splitted = d.title.split('');
     for(var i=0,len=splitted.length; i<len; i++){
       if(counter >= maxChars){
	 result += '…';
	 break;
       }
       var char = splitted[i];
       var charCode = char.charCodeAt(0);
       if(charCode<256){
	 result += char;
	 counter++;
	 continue;
       }
       if(counter < maxChars-1){
	 result += char;
	 counter += 2;
       }else{
	 result += '…';
	 break;
       }
     }
     return result;
   }


 })();