/* Compiled from X 4.17 by XC 1.06 on 10Jul07 */
xLibrary={version:'4.17',license:'GNU LGPL',url:'http://cross-browser.com/'};function xCamelize(cssPropStr){var i,c,a=cssPropStr.split('-');var s=a[0];for(i=1;i<a.length;++i){c=a[i].charAt(0);s+=a[i].replace(c,c.toUpperCase());}return s;}function xClientHeight(){var v=0,d=document,w=window;if((!d.compatMode||d.compatMode=='CSS1Compat')&&!w.opera&&d.documentElement&&d.documentElement.clientHeight){v=d.documentElement.clientHeight;}else if(d.body&&d.body.clientHeight){v=d.body.clientHeight;}else if(xDef(w.innerWidth,w.innerHeight,d.width)){v=w.innerHeight;if(d.width>w.innerWidth)v-=16;}return v;}function xClientWidth(){var v=0,d=document,w=window;if((!d.compatMode||d.compatMode=='CSS1Compat')&&!w.opera&&d.documentElement&&d.documentElement.clientWidth){v=d.documentElement.clientWidth;}else if(d.body&&d.body.clientWidth){v=d.body.clientWidth;}else if(xDef(w.innerWidth,w.innerHeight,d.height)){v=w.innerWidth;if(d.height>w.innerHeight)v-=16;}return v;}function xDef(){for(var i=0;i<arguments.length;++i){if(typeof(arguments[i])=='undefined')return false;}return true;}function xGetComputedStyle(e,p,i){if(!(e=xGetElementById(e)))return null;var s,v='undefined',dv=document.defaultView;if(dv&&dv.getComputedStyle){s=dv.getComputedStyle(e,'');if(s)v=s.getPropertyValue(p);}else if(e.currentStyle){v=e.currentStyle[xCamelize(p)];}else return null;return i?(parseInt(v)||0):v;}function xGetElementById(e){if(typeof(e)=='string'){if(document.getElementById)e=document.getElementById(e);else if(document.all)e=document.all[e];else e=null;}return e;}function xGetElementsByClassName(c,p,t,f){var r=new Array();var re=new RegExp("(^|\\s)"+c+"(\\s|$)");var e=xGetElementsByTagName(t,p);for(var i=0;i<e.length;++i){if(re.test(e[i].className)){r[r.length]=e[i];if(f)f(e[i]);}}return r;}function xGetElementsByTagName(t,p){var list=null;t=t||'*';p=p||document;if(typeof p.getElementsByTagName!='undefined'){list=p.getElementsByTagName(t);if(t=='*'&&(!list||!list.length))list=p.all;}else{if(t=='*')list=p.all;else if(p.all&&p.all.tags)list=p.all.tags(t);}return list||new Array();}function xHasPoint(e,x,y,t,r,b,l){if(!xNum(t)){t=r=b=l=0;}else if(!xNum(r)){r=b=l=t;}else if(!xNum(b)){l=r;b=t;}var eX=xPageX(e),eY=xPageY(e);return(x>=eX+l&&x<=eX+xWidth(e)-r&&y>=eY+t&&y<=eY+xHeight(e)-b);}function xHeight(e,h){if(!(e=xGetElementById(e)))return 0;if(xNum(h)){if(h<0)h=0;else h=Math.round(h);}else h=-1;var css=xDef(e.style);if(e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){h=xClientHeight();}else if(css&&xDef(e.offsetHeight)&&xStr(e.style.height)){if(h>=0){var pt=0,pb=0,bt=0,bb=0;if(document.compatMode=='CSS1Compat'){var gcs=xGetComputedStyle;pt=gcs(e,'padding-top',1);if(pt!==null){pb=gcs(e,'padding-bottom',1);bt=gcs(e,'border-top-width',1);bb=gcs(e,'border-bottom-width',1);}else if(xDef(e.offsetHeight,e.style.height)){e.style.height=h+'px';pt=e.offsetHeight-h;}}h-=(pt+pb+bt+bb);if(isNaN(h)||h<0)return;else e.style.height=h+'px';}h=e.offsetHeight;}else if(css&&xDef(e.style.pixelHeight)){if(h>=0)e.style.pixelHeight=h;h=e.style.pixelHeight;}return h;}function xLeft(e,iX){if(!(e=xGetElementById(e)))return 0;var css=xDef(e.style);if(css&&xStr(e.style.left)){if(xNum(iX))e.style.left=iX+'px';else{iX=parseInt(e.style.left);if(isNaN(iX))iX=xGetComputedStyle(e,'left',1);if(isNaN(iX))iX=0;}}else if(css&&xDef(e.style.pixelLeft)){if(xNum(iX))e.style.pixelLeft=iX;else iX=e.style.pixelLeft;}return iX;}function xMoveTo(e,x,y){xLeft(e,x);xTop(e,y);}function xNum(){for(var i=0;i<arguments.length;++i){if(isNaN(arguments[i])||typeof(arguments[i])!='number')return false;}return true;}function xOpacity(e,o){var set=xDef(o);if(!(e=xGetElementById(e)))return 2;if(xStr(e.style.opacity)){if(set)e.style.opacity=o+'';else o=parseFloat(e.style.opacity);}else if(xStr(e.style.filter)){if(set)e.style.filter='alpha(opacity='+(100*o)+')';else if(e.filters&&e.filters.alpha){o=e.filters.alpha.opacity/100;}}else if(xStr(e.style.MozOpacity)){if(set)e.style.MozOpacity=o+'';else o=parseFloat(e.style.MozOpacity);}else if(xStr(e.style.KhtmlOpacity)){if(set)e.style.KhtmlOpacity=o+'';else o=parseFloat(e.style.KhtmlOpacity);}return isNaN(o)?1:o;}function xPageX(e){var x=0;e=xGetElementById(e);while(e){if(xDef(e.offsetLeft))x+=e.offsetLeft;e=xDef(e.offsetParent)?e.offsetParent:null;}return x;}function xPageY(e){var y=0;e=xGetElementById(e);while(e){if(xDef(e.offsetTop))y+=e.offsetTop;e=xDef(e.offsetParent)?e.offsetParent:null;}return y;}function xResizeTo(e,w,h){xWidth(e,w);xHeight(e,h);}function xScrollLeft(e,bWin){var offset=0;if(!xDef(e)||bWin||e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){var w=window;if(bWin&&e)w=e;if(w.document.documentElement&&w.document.documentElement.scrollLeft)offset=w.document.documentElement.scrollLeft;else if(w.document.body&&xDef(w.document.body.scrollLeft))offset=w.document.body.scrollLeft;}else{e=xGetElementById(e);if(e&&xNum(e.scrollLeft))offset=e.scrollLeft;}return offset;}function xScrollTop(e,bWin){var offset=0;if(!xDef(e)||bWin||e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){var w=window;if(bWin&&e)w=e;if(w.document.documentElement&&w.document.documentElement.scrollTop)offset=w.document.documentElement.scrollTop;else if(w.document.body&&xDef(w.document.body.scrollTop))offset=w.document.body.scrollTop;}else{e=xGetElementById(e);if(e&&xNum(e.scrollTop))offset=e.scrollTop;}return offset;}function xStr(s){for(var i=0;i<arguments.length;++i){if(typeof(arguments[i])!='string')return false;}return true;}function xStyle(sProp,sVal){var i,e;for(i=2;i<arguments.length;++i){e=xGetElementById(arguments[i]);if(e.style){try{e.style[sProp]=sVal;}catch(err){e.style[sProp]='';}}}}function xTop(e,iY){if(!(e=xGetElementById(e)))return 0;var css=xDef(e.style);if(css&&xStr(e.style.top)){if(xNum(iY))e.style.top=iY+'px';else{iY=parseInt(e.style.top);if(isNaN(iY))iY=xGetComputedStyle(e,'top',1);if(isNaN(iY))iY=0;}}else if(css&&xDef(e.style.pixelTop)){if(xNum(iY))e.style.pixelTop=iY;else iY=e.style.pixelTop;}return iY;}function xWidth(e,w){if(!(e=xGetElementById(e)))return 0;if(xNum(w)){if(w<0)w=0;else w=Math.round(w);}else w=-1;var css=xDef(e.style);if(e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){w=xClientWidth();}else if(css&&xDef(e.offsetWidth)&&xStr(e.style.width)){if(w>=0){var pl=0,pr=0,bl=0,br=0;if(document.compatMode=='CSS1Compat'){var gcs=xGetComputedStyle;pl=gcs(e,'padding-left',1);if(pl!==null){pr=gcs(e,'padding-right',1);bl=gcs(e,'border-left-width',1);br=gcs(e,'border-right-width',1);}else if(xDef(e.offsetWidth,e.style.width)){e.style.width=w+'px';pl=e.offsetWidth-w;}}w-=(pl+pr+bl+br);if(isNaN(w)||w<0)return;else e.style.width=w+'px';}w=e.offsetWidth;}else if(css&&xDef(e.style.pixelWidth)){if(w>=0)e.style.pixelWidth=w;w=e.style.pixelWidth;}return w;}/* Compiled from X 4.17 by XC 1.06 on 10Jul07 */
function xEvent(evt){var e=evt||window.event;if(!e)return;this.type=e.type;this.target=e.target||e.srcElement;this.relatedTarget=e.relatedTarget;/*@cc_on if(e.type=='mouseover')this.relatedTarget=e.fromElement;else if(e.type=='mouseout')this.relatedTarget=e.toElement;@*/if(xDef(e.pageX)){this.pageX=e.pageX;this.pageY=e.pageY;}else if(xDef(e.clientX)){this.pageX=e.clientX+xScrollLeft();this.pageY=e.clientY+xScrollTop();}if(xDef(e.offsetX)){this.offsetX=e.offsetX;this.offsetY=e.offsetY;}else if(xDef(e.layerX)){this.offsetX=e.layerX;this.offsetY=e.layerY;}else{this.offsetX=this.pageX-xPageX(this.target);this.offsetY=this.pageY-xPageY(this.target);}this.keyCode=e.keyCode||e.which||0;this.shiftKey=e.shiftKey;this.ctrlKey=e.ctrlKey;this.altKey=e.altKey;if(typeof e.type=='string'){if(e.type.indexOf('click')!=-1){this.button=0;}else if(e.type.indexOf('mouse')!=-1){this.button=e.button;/*@cc_on if(e.button&1)this.button=0;else if(e.button&4)this.button=1;else if(e.button&2)this.button=2;@*/}}}xLibrary={version:'4.17',license:'GNU LGPL',url:'http://cross-browser.com/'};function xAddEventListener(e,eT,eL,cap){if(!(e=xGetElementById(e)))return;eT=eT.toLowerCase();if(e.addEventListener)e.addEventListener(eT,eL,cap||false);else if(e.attachEvent)e.attachEvent('on'+eT,eL);else{var o=e['on'+eT];e['on'+eT]=typeof o=='function'?function(v){o(v);eL(v);}:eL;}}function xPreventDefault(e){if(e&&e.preventDefault)e.preventDefault();else if(window.event)window.event.returnValue=false;}function xRemoveEventListener(e,eT,eL,cap){if(!(e=xGetElementById(e)))return;eT=eT.toLowerCase();if(e.removeEventListener)e.removeEventListener(eT,eL,cap||false);else if(e.detachEvent)e.detachEvent('on'+eT,eL);else e['on'+eT]=null;}function xStopPropagation(evt){if(evt&&evt.stopPropagation)evt.stopPropagation();else if(window.event)window.event.cancelBubble=true;}

var Necosuke = {
  version: "1.0"
}

Necosuke.HTTP = function() {
  this.http    = null;
  this.async   = false;
  this.handler = function(){};

  if(window.XMLHttpRequest) {
    this.http = new XMLHttpRequest();
  } else {
    try {
      this.http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        this.http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
      }
    }
  }
}

Necosuke.HTTP.prototype.get = function(url) {
  var handler = this.handler;
  var http    = this.http;

  if(this.async) {
    this.http.onreadystatechange = function() { handler(http) };
  }

  this.http.open('GET', url, this.async);
  this.http.send(null);
}

Necosuke.JSONP = {}

Necosuke.JSONP.GET = function(url, _query) {
  _query['nocache'] = (new Date()).getTime();

  query = new Array();
  for(key in _query) {
    query.push(key + '=' + _query[key]);
  }

  this.head = document.getElementsByTagName('head').item(0);

  this.script = document.createElement('script');
  this.script.setAttribute('type', 'text/javascript');
  this.script.setAttribute('charset', 'utf-8');
  this.script.setAttribute('src', url + '?' + query.join('&'));
}

Necosuke.JSONP.GET.prototype.execute = function() {
  this.head.appendChild(this.script);
}

Necosuke.JSONP.GET.prototype.finalize = function() {
  this.head.removeChild(this.script);
}

Necosuke.Track = {}

Necosuke.Track.Beacon = function(api, query) {
  query['url'] =escape(document.location);
  query['ref'] =escape(document.referrer);

  this.get = new Necosuke.JSONP.GET(api, query);
  this.get.execute();
}

Necosuke.Track.Beacon.prototype.finalize = function() {
  this.get.finalize();
}

Necosuke.ClickPoint = {}

Necosuke.ClickPoint.Beacon = function(id, api) {
  var beacon  = this;
  var element = xGetElementById(id);

  function handler(e) {
    var xe = new xEvent(e);
    var x  = xe.pageX - xPageX(element);
    var y  = xe.pageY - xPageY(element);

    beacon.get = new Necosuke.JSONP.GET(
      api,
      {
        id:  id,
        url: escape(document.URL),
        ref: escape(document.referrer),
        x:   x,
        y:   y
      }
    );
    beacon.get.execute();
  }

  xAddEventListener(element, 'click', handler, true);
}

Necosuke.ClickPoint.Beacon.prototype.finalize = function() {
  this.get.finalize();
}

Necosuke.ClickPoint.Render = function(id, api) {
  if(parent.frames.length <= 0) {
    return;
  }

  this.id = id;

  var render = this;
  render.get = new Necosuke.JSONP.GET(
    api,
    {
      id: id,
      page: escape(document.URL),
      ref: escape(document.referrer)
    }
  );
  render.get.execute();
}

Necosuke.ClickPoint.Render.prototype.render = function(points) {
  function createOverlay(id, target) {
    var overlay = document.createElement("div");

    overlay.setAttribute('id', id + '_overlay');
    overlay.style.position = 'absolute';

    overlay.style.top      = xPageY(target);
    overlay.style.left     = xPageX(target);
    overlay.style.width    = xWidth(target) + 'px';
    overlay.style.height   = xHeight(target) + 'px';

    overlay.style.zIndex   = '90';
    overlay.style.margin   = '0';
    overlay.style.padding  = '0';
    overlay.style.backgroundColor = '#000000';
    overlay.style.filter  = 'alpha(opacity=50)';
    overlay.style.opacity = '0.50';

    return overlay;
  }

  function plot(overlay, point) {
    var p = document.createElement("div");
    xTop(p, point.y - 5);
    xLeft(p, point.x - 5);
    p.style.position = 'absolute';
    p.style.backgroundColor = 'blue';
    p.style.overflow = "hidden";
    p.style.width    = '10px';
    p.style.height   = '10px';
    p.style.zIndex   = '91';
    p.style.margin   = '0';
    p.style.padding  = '0';

    overlay.appendChild(p);
  }

  var target  = document.getElementById(this.id);

  if(target) {
    var overlay = createOverlay(this.id, target);

    width  = xWidth(target);
    height = xHeight(target);

    for(var i = 0; i < points.length; i++) {
      if(
        0 <= points[i].x && points[i].x <= width &&
        0 <= points[i].y && points[i].y <= height
      ) {
        plot(overlay, points[i]);
      }
    }

    target.insertBefore(overlay, target.firstChild);
  }
}

Necosuke.ClickPoint.Render.prototype.finalize = function() {
  this.get.finalize();
}

Necosuke.LPO = {}

Necosuke.LPO.Beacon = function(id, api, query) {
  this.element = xGetElementById(id);

  if(this.element) {
    query['id']  = id;
    query['url'] = escape(document.location);
    query['ref'] = escape(document.referrer);

    this.get = new Necosuke.JSONP.GET(api, query);
    this.get.execute();
  }
}

Necosuke.LPO.Beacon.prototype.render = function(content) {
  this.element.innerHTML = content;
}

Necosuke.LPO.Beacon.prototype.finalize = function() {
  this.get.finalize();
}

var necotracks_beacon = new Necosuke.Track.Beacon('http://beacon.necotracks.jp/nt0008/log_track.php', {});

var necotracks_point_ALL = new Necosuke.ClickPoint.Beacon('ALL', 'http://beacon.necotracks.jp/nt0008/log_clickpoint.php');

var necotracks_point_render_ALL = new Necosuke.ClickPoint.Render('ALL', 'http://beacon.necotracks.jp/nt0008/log_clickpoint_render.php');

var necotracks_lpo_LPO_UDON = new Necosuke.LPO.Beacon('LPO_UDON', 'http://beacon.necotracks.jp/nt0008/log_lpo.php', {});

var necotracks_lpo_TOMATO = new Necosuke.LPO.Beacon('TOMATO', 'http://beacon.necotracks.jp/nt0008/log_lpo.php', {});

var necotracks_lpo_TOP_BANNER = new Necosuke.LPO.Beacon('TOP_BANNER', 'http://beacon.necotracks.jp/nt0008/log_lpo.php', {});
