/*
* Notte Kangaru Blogparts
* @copyright Nissan Motor Co., Ltd.
* @version 1.0
*/
/****************************************/
if(!NKBP){ var NKBP = {} }
NKBP.domain = 'http://www.nissan.co.jp/EVENT/';

NKBP.id = 'externalNKBPkangaruDrive';
NKBP.swfPath = NKBP.domain + 'TESTDRIVE2009/BLOGPARTS/KANGARUDRIVE/blogparts.swf';
NKBP.floatId = NKBP.id + 'Layer';
NKBP.floatPath = NKBP.domain + 'TESTDRIVE2009/BLOGPARTS/KANGARUDRIVE/float.swf';
NKBP.stylePath = NKBP.domain + 'TESTDRIVE2009/BLOGPARTS/KANGARUDRIVE/blogparts.css';
NKBP.width = 156;
NKBP.height = 260;

/****************************************/
NKBP.flHTML = '';
if (navigator.appName.indexOf("Microsoft") != -1) {
	NKBP.flHTML += '<object id="' + NKBP.floatId + '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%">';
	NKBP.flHTML += '<param name="movie" value="' + NKBP.floatPath + '" />';
	NKBP.flHTML += '<param name="quality" value="high" />';
	NKBP.flHTML += '<param name="allowScriptAccess" value="always" />';
	NKBP.flHTML += '<param name="wmode" value="transparent" />';
	NKBP.flHTML += '</object>';
} else {
	NKBP.flHTML += '<embed src="' + NKBP.floatPath + '" width="100%" height="100%" quality="high" bgcolor="#ffffff" id="' + NKBP.floatId + '" name="' + NKBP.floatId + '" type="application/x-shockwave-flash" allowScriptAccess="always" wmode="transparent" />';
}

/****************************************/
NKBP.getElementOffset = function ( elem ) {
	/*@cc_on _d=document;eval('var document=_d')@*/
	var left = 0, top = 0, offsetParent = null;
	if ( elem.getBoundingClientRect ) {
		var box = elem.getBoundingClientRect();
		left = box.left + Math.max( document.documentElement.scrollLeft, document.body.scrollLeft ) - (document.documentElement.clientLeft || document.body.clientLeft);
		top  = box.top  + Math.max( document.documentElement.scrollTop,  document.body.scrollTop )  - (document.documentElement.clientLeft || document.body.clientLeft);
	} else {
		left = elem.offsetLeft, top  = elem.offsetTop, offsetParent = elem.offsetParent;
		while ( offsetParent ) {
			left += offsetParent.offsetLeft;
			top  += offsetParent.offsetTop;
			offsetParent = offsetParent.offsetParent;
		}
		 if(navigator.userAgent.indexOf('Firefox') > -1){
			var bodyStyle = document.defaultView.getComputedStyle(document.body, '');
			left += Number(bodyStyle.marginLeft.slice(0, -2));
			top += Number(bodyStyle.marginTop.slice(0, -2));
		}
	}
	return { x:left, y: top };
}

/****************************************/
NKBP.displayFlashLayer = function() {
	/*@cc_on _d=document;eval('var document=_d')@*/
	if(document.getElementById('NKBP_layer')){ return };

	NKBP.scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
	NKBP.scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
	var layer = document.createElement('div');
	layer.id = 'NKBP_layer';
	var documentRoot = document.getElementsByTagName('html')[0];
	document.body.appendChild(layer);
	if (navigator.appName.indexOf("Microsoft") != -1) {
		layer.style.left = NKBP.scrollLeft + 'px';
		layer.style.top = NKBP.scrollTop + 'px';
		documentRoot.className = 'NBBPiefix';
		documentRoot.style.overflow = 'hidden';
	} else {
		documentRoot.style.overflow = 'hidden';
		document.body.style.overflow = 'hidden';
		window.scrollTo(NKBP.scrollLeft, NKBP.scrollTop);
	}
	setTimeout(function(){ layer.innerHTML = NKBP.flHTML; }, 50);
};

/****************************************/
NKBP.removeFlashLayer = function() {
	/*@cc_on _d=document;eval('var document=_d')@*/
	var layer = document.getElementById('NKBP_layer');
	if(!layer){ return };
	layer.parentNode.removeChild(layer);
	var documentRoot = document.getElementsByTagName('html')[0];
	if (navigator.appName.indexOf("Microsoft") != -1) {
		documentRoot.className = '';
		documentRoot.style.overflow = '';
	} else {
		documentRoot.style.overflow = '';
		document.body.style.overflow = '';
	}
	document.getElementById(NKBP.id)._onReStart();
};

/****************************************/
NKBP.getImgPos = function() {
	/*@cc_on _d=document;eval('var document=_d')@*/
	NKBP.scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
	NKBP.scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
	NKBP.viewportWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
	NKBP.viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

	var imgList = document.getElementsByTagName('img');
	var imgLength = imgList.length;
	var imgObj = {};
	var count = 0;

	var swf = NKBP.getElementOffset(document.getElementById(NKBP.id));
	swf.x = swf.x - NKBP.scrollLeft;
	swf.y = swf.y - NKBP.scrollTop;
	swf.w = NKBP.width;
	swf.h = NKBP.height;
	imgObj['img' + count.toString()] = swf;
	count++;

	for(var i=0; i<imgLength; i++){
		var img = NKBP.getElementOffset(imgList[i]);
		img.w = imgList[i].width;
		img.h = imgList[i].height;
		if(NKBP.scrollTop+100 <= img.y && NKBP.scrollTop + NKBP.viewportHeight >= img.y){
			img.x = img.x - NKBP.scrollLeft;
			img.y = img.y - NKBP.scrollTop;
			imgObj['img' + count.toString()] = img;
			count++;
		}
	}
	return imgObj;
};

/****************************************/
NKBP.embedSWF = function() {
	/*@cc_on _d=document;eval('var document=_d')@*/
	/* css */
	var style = document.createElement('link');
	style.rel = 'stylesheet';
	style.type = 'text/css';
	style.href = NKBP.stylePath;
	document.getElementsByTagName('head')[0].appendChild(style);

	/* embed blogparts */
	var bpHTML = '';
	bpHTML += '<div id="NKBP_blogparts">';
	if (navigator.appName.indexOf("Microsoft") != -1) {
		bpHTML += '<object id="' + NKBP.id + '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+ NKBP.width +'" height="' + NKBP.height + '">';
		bpHTML += '<param name="movie" value="' + NKBP.swfPath + '" />';
		bpHTML += '<param name="quality" value="high" />';
		bpHTML += '<param name="allowScriptAccess" value="always" />';
		bpHTML += '<param name="wmode" value="transparent" />';
		bpHTML += '</object>';
	} else {
		bpHTML += '<embed src="' + NKBP.swfPath + '" width="' + NKBP.width + '" height="' + NKBP.height + '" quality="high" bgcolor="#ffffff" id="' + NKBP.id + '" name="' + NKBP.id + '" type="application/x-shockwave-flash" allowScriptAccess="always" wmode="transparent" />';
	}
	bpHTML += '</div>';
	document.write(bpHTML);
};
NKBP.embedSWF();
/****************************************/