// JavaScript Document

/*
ページのトップへスクロールして移動
(c)Sapphirus.Biz

HREFに「#TOP」（大文字・小文字の区別は無し）があるリンクを
クリックした場合、スクロールしてページの一番上に移動します。
Ex.) <a href="#TOP">PAGE TOP</a>
*/
function setGoTop() {
	var aTagList = document.getElementsByTagName('a');
	for (var i = 0; i < aTagList.length; i++) {
		if (aTagList[i].href.match(/#top/i)) {
			aTagList[i].onclick = goPageTop;
		}
	}
}
var goTopMove = 20; // 加速度（0:停止～大きいほど遅くなる）
var goTopPosi;
function goPageTop() { // 距離取得と実行
	var yPos = document.body.scrollTop || document.documentElement.scrollTop;
	mObj(yPos);
	return false;
}
function mObj(y, s) { // 上に加速移動
	if (s) goTopMove = s;
	goTopPosi = parseInt(y - y * 2 / goTopMove);
	scrollTo(0, goTopPosi);
	if (goTopPosi > 0) setTimeout('mObj(goTopPosi, goTopMove)', 1);
}
if (window.addEventListener) window.addEventListener('load', setGoTop, false);
if (window.attachEvent) window.attachEvent('onload', setGoTop);


//
//  exLink　
//  外部サイトへのリンクに新しいウィンドウで開くアイコンを自動でつける
//
//  迷惑メール対策実験室
//　http://mailspam.cocolog-nifty.com/blog/
//
//　サンプル＆設置説明ページ
//  http://www.nikkei-azabu10.com/exlink/
//

var myHost = location.hostname;
var myArea = "";
var exLink = "<img src='image/link-icon.gif' width='13' height='9' alt='リンクを新しいウインドウで開きます' title='このアイコンをクリックするとリンクを新しいウインドウで開きます' rel='nofollow'>";
var pdfType = 1;
var exPdf = "<img src='image/pdf-icon.gif' width='13' height='13' border='0' align='bottom' alt='PDFアイコン' title='このアイコンをクリックするとPDFを新しいウインドウで開きます' rel='nofollow'>";
var yesNW = "ynw";
var noNW = "nnw";
var myLimit = 200;
// 　↑　設定ここまで　↑

function exlink(){
	var myLink,myFlg=0,myNW,linkIcon,k=1,i,j;
	var myLinks = document.getElementsByTagName("a");

	for(i = 0; i < myLinks.length; i++){
		myLink = myLinks[i];


	if(myLink.innerHTML.match(/<img/i) && myLink.className != noNW && myLink.href != ""){
			myLink.target = "_blank";
			}

	if(!myLink.innerHTML.match(/<img/i) && myLink.className != noNW && myLink.href != ""){
		if(myLink.href.indexOf("\.pdf") > 0){
			if (pdfType == 1){
			myFlg = 1;
			linkIcon = exPdf;
				}
			} else if (myLink.className == yesNW){
			myFlg = 1;
			linkIcon = exLink;
		} else if (myLink.href.indexOf(myHost) == -1 && myArea == "") {
			myFlg = 1;
			linkIcon = exLink;
			}

	if(myFlg == 1){
		myLink.target = "_blank";
		myNW = document.createElement("a");
		myNW.innerHTML = linkIcon;
		myNW.href = myLink.href;
		myNW.target = "_blank";
		myLink.parentNode.insertBefore(myNW,myLink.nextSibling);
		myFlg = 0;
		 i++;
			}
	}

	k++;
		if (k > myLimit) {      //リンクチェック数
       			 break;
		}
    }
	for(j = 0; j < myArea.length; j++){
		var checkArea = myArea[j];
	var myLinks = document.getElementById(checkArea).getElementsByTagName("a");

	for(i = 0; i < myLinks.length; i++){
		 myLink = myLinks[i];
	if(!myLink.innerHTML.match(/<img/i) && myLink.className != noNW && myLink.href.indexOf("\.pdf") == -1 && myLink.href != ""){
	if (myLink.href.indexOf(myHost) == -1) {
			myFlg = 1;
			linkIcon = exLink;
			}

	if(myFlg == 1){
		myLink.target = "_blank";
		myNW = document.createElement("a");
		myNW.innerHTML = linkIcon;
		myNW.href = myLink.href;
		myNW.target = "_blank";
		myLink.parentNode.insertBefore(myNW,myLink.nextSibling);
		myFlg = 0;
		 i++;
			}
	}

	k++;
		if (k > myLimit) {      //リンクチェック数
       			 break;
		}
      }
   }
}
window.onload = function(){exlink();}




var jq$ = jQuery.noConflict();
/*	画像Path
============================================================*/
var siteMatrix = "/image";


if (typeof IEPNGFIX == 'undefined') {
//--============================================================================

var IEPNGFIX = {
	blank:  siteMatrix + '/images/blank.gif',
	filter: 'DXImageTransform.Microsoft.AlphaImageLoader',

	fixit: function (elem, src, method) {
		if (elem.filters[this.filter]) {
			var filter = elem.filters[this.filter];
			filter.enabled = true;
			filter.src = src;
			filter.sizingMethod = method;
		}
		else {
			elem.style.filter = 'progid:' + this.filter +
				'(src="' + src + '",sizingMethod="' + method + '")';
		}
	},

	fixwidth: function(elem) {
		if (elem.currentStyle.width == 'auto' &&
			elem.currentStyle.height == 'auto') {
			elem.style.width = elem.offsetWidth + 'px';
		}
	},

	fixchild: function(elem, recursive) {
		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;

		for (var i = 0, n = elem.childNodes.length; i < n; i++) {
			var childNode = elem.childNodes[i];
			if (childNode.style) {
				if (childNode.style.position) {
					childNode.style.position = childNode.style.position;
				}
				else {
					childNode.style.position = 'relative';
				}
			}
			if (recursive && childNode.hasChildNodes()) {
				this.fixchild(childNode, recursive);
			}
		}
	},

	fix: function(elem) {
		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;

		var bgImg =
			elem.currentStyle.backgroundImage || elem.style.backgroundImage;

		if (elem.tagName == 'IMG') {
			if ((/\.png$/i).test(elem.src)) {
				this.fixwidth(elem);
				this.fixit(elem, elem.src, 'scale');
				elem.src = this.blank;
				elem.runtimeStyle.behavior = 'none';
			}
		}
		else if (bgImg && bgImg != 'none') {
			if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) {
				var s = RegExp.$1;
				this.fixwidth(elem);
				elem.style.backgroundImage = 'none';
				this.fixit(elem, s, 'scale'); // crop | image | scale

				if (elem.tagName == 'A' && elem.style) {
					if (!elem.style.cursor) {
						elem.style.cursor = 'pointer';
					}
				}

				this.fixchild(elem);
				elem.runtimeStyle.behavior = 'none';
			}
		}
	},

	hover: function(elem, hvImg) {
		var bgImg = elem.style.backgroundImage;

		if (!bgImg && elem.currentStyle) bgImg = elem.currentStyle.backgroundImage;

		if (elem.tagName == 'IMG' && hvImg) {
			var image = elem.src;
			elem.onmouseover = function() {
				elem.src = hvImg;
				IEPNGFIX.fix(elem);
			};
			elem.onmouseout = function() {
				elem.src = image;
				IEPNGFIX.fix(elem);
			};
		}
		else if (bgImg && bgImg != 'none' && hvImg) {
			elem.onmouseover = function() {
				elem.style.backgroundImage = 'url(' + hvImg + ')';
				IEPNGFIX.fix(elem);
			};
			elem.onmouseout = function() {
				elem.style.backgroundImage = bgImg;
				IEPNGFIX.fix(elem);
			};
		}

		IEPNGFIX.fix(elem);
	}
};

//--============================================================================
} // end if (typeof IEPNGFIX == 'undefined')


/*
============================================================*/
function preload(imgs){
	for(var i = 0; i < imgs.length; i++){
		var imgObj = new Image();
		imgObj.src = imgs[i];
	}
}


/*
============================================================*/

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/*  
============================================================*/
try { 
	document.execCommand('BackgroundImageCache', false, true); 
} catch(e) {} 



//reset
jq$(document).ready(function(){
	jq$("a").focus(function(){this.blur();})
	jq$("area").focus(function(){this.blur();})


});


jq$(document).ready(function(){



//hover
	function funHvop() {
		jq$(this).fadeTo(150,0.2).fadeTo(400,1.0);	
	}
	
	
	var hpOp = jq$('.hv_op img');
	hpOp.mouseover(funHvop);


//faq
	var qAnc = jq$('.question','#faq');
	var aDiv = jq$('.answer','#faq');
	var toggleBtn = jq$('.toggle_btn','#faq');

	//init
	aDiv.hide();
	toggleBtn.mouseover(funHvop);
	
	qAnc.each(function(i){
			jq$(jq$(qAnc)[i]).toggle(
				function(){
					jq$(jq$(toggleBtn)[i]).attr('alt','非表示にする').attr('src','http://www.nexus13.co.jp/faq/matrix/images/btn_minus.jpg');
					jq$(jq$(aDiv)[i]).slideDown('400','easeOutCubic');
					return false;
				},
				function(){
					jq$(jq$(toggleBtn)[i]).attr('alt','表示する').attr('src','http://www.nexus13.co.jp/faq/matrix/images/btn_minus.jpg');
					jq$(jq$(aDiv)[i]).slideUp('easeOutCubic');
				}
			)
	});


//googlemap
	if(document.getElementById("gmap")) {
		lat = 34.7190703;
		lng = 135.4815583;
		var div = document.getElementById("gmap");
		try {if(!GBrowserIsCompatible()) throw "don't support";}
		catch(e) {	div.innerHTML = "ご利用のブラウザはGoogleマップに対応していません。";return;}

		var map = new GMap2(div);
		var latlng = new GLatLng(lat,lng);
		map.setCenter(latlng,zoom);	
		map.addControl(new GLargeMapControl3D());
		map.enableContinuousZoom();
		map.enableDoubleClickZoom();
		var marker = new GMarker(map.getCenter());
		map.addOverlay(marker);	
		
		if(print_map != "1") { 
			map.addControl(new GMapTypeControl());
			map.addControl(new GOverviewMapControl());
			var offset = new GSize(10, -20);
			var textnode = '<span style="display:block;font-size:14px;line-height:5;text-align:center;"><strong>株式会社ネクサス</strong></span>';
			marker.openInfoWindowHtml(textnode);
		}
	}


//resizable
	if(jq$('textarea.resizable', 'form').length) {
	jq$('textarea.resizable:not(.processed)').TextAreaResizer();
	}


//sitemap
	jq$('.smap_right', '#sitemap').each(function(i){
		jq$(this).children('p:last').addClass('last');
	})


});




(function(){

	function pageScroll(){

		var scrolledX = scrolledY = null;
		var targetX = targetY = null;
		var scrollX,scrollY;
		var html = document.documentElement;
		var body = document.body;
		var scrollBtns = document.links;
		var url = location.href.replace(location.hash,"");
		
		var easing = 0.25;
		var interval = 30;
		
		
		for(var i=0;i<scrollBtns.length;i++){
			if(scrollBtns[i].getAttribute("href").match("#")){
				var btn = scrollBtns[i];
				btn.onclick = function(){
					var TargetId = (this.getAttribute("href").replace(url,"")).substr(1);
					if (document.getElementById(TargetId)) {
						var Target = document.getElementById(TargetId);
						try {
							var position = Target.getBoundingClientRect();
							targetX = position.left + (body.scrollLeft || html.scrollLeft) - html.clientLeft;
							targetY = position.top + (body.scrollTop || html.scrollTop) - html.clientTop;
						} catch(e) {
							targetX = Target.offsetLeft, targetY = Target.offsetTop;
						}
						scrollX = window.pageXOffset || html.scrollLeft || body.scrollLeft || 0;
						scrollY = window.pageYOffset || html.scrollTop || body.scrollTop || 0;
						scroll();
						return false;
					}
				}
			}
		}
	
		function scroll(){
			var X = window.pageXOffset || html.scrollLeft || body.scrollLeft || 0;
			var Y = window.pageYOffset || html.scrollTop || body.scrollTop || 0;
//			scrollX += Math.floor((targetX - X) * easing);
			scrollX = X;
			scrollY += Math.floor((targetY - Y + dif) * easing);
			if((targetY === scrollX && targetY === scrollY) || (X === scrolledX && Y === scrolledY)) {
				scrolledX = scrolledY = null;
			} else {
				window.scrollTo(scrollX, scrollY);
				scrolledX = X, scrolledY = Y;
				setTimeout(function(){scroll()},interval);
			}
		}
	}
    
	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);});
        }
    }

	addEvent(window, 'load', pageScroll);

}());



