/* ------------------------------------------------------
   更新履歴
------------------------------------------------------ */
/* 2010/1/28
   ・TWPのログアウトボタンにサイトカタリストの計測値を追加
------------------------------------------------------ */

// Initialize
var IE7 = (typeof document.documentElement.style.msInterpolationMode != "undefined") ? true : false;
var IE5 = (navigator.userAgent.indexOf('MSIE 5') != -1);
var IE6 = (!IE7 && !IE5 && window.ActiveXObject) ? true : false;
var FX = (navigator.userAgent.indexOf('Firefox') != -1);
var SF = (navigator.userAgent.indexOf('Safari') != -1);
var SF2 = (SF && navigator.appVersion.indexOf('Version/') == -1);
var Mac = (navigator.userAgent.indexOf('Mac') != -1);

// CSSパッチ
var fontSize = 'x-small';
var letterSpacing = '1px';
if (FX || SF) fontSize = '10px';
if (IE5) fontSize = 'xx-small';
if (Mac) letterSpacing = '0';
document.write('<style type="text/css"> * {');
document.write('font-size: ' + fontSize + ';');
document.write('letter-spacing: ' + letterSpacing + ';');
document.write('}</style>');

var __userName = '';
// Cookie
var loginStatus = false;
if (navigator.cookieEnabled) {
	var cookies = document.cookie.split(';')
	for (var i in cookies) {
		if (cookies[i].match(/^[ ]*webpassport=/)) {
			var ls_p = new Array();
			var ls_b = replaceStr(cookies[i].substring(cookies[i].indexOf('=') + 1), '"', '').split('&');
			for (var j in ls_b) ls_p[ls_b[j].split('=')[0]] = ls_b[j].split('=')[1];
			if (ls_p.key && ls_p.key.length == 64 && ls_p.date && ls_p.date.length == 19) {
				var ls_d = ls_p.date.substring(0, 10).split('/');
				var ls_t = ls_p.date.substring(11).split(':');
				if (ls_d.length < 3 || ls_t.length < 3) break;
				var ls_e = new Date(ls_d[0], ls_d[1] - 1, ls_d[2], ls_t[0], ls_t[1], ls_t[2]);
				loginStatus = (new Date().getTime() < ls_e.getTime());
			}
			// versionが設定されてない場合はログインとみなさない
			if (loginStatus) {
				if (ls_p.version && ls_p.version == '1.0') {
					__userName = decodeURIComponent(ls_p.user);
				} else {
					loginStatus = false;
				}
			}
		}
	}
}
function replaceStr(str, rep1, rep2) {
	var rtn = str;
	while(-1 != rtn.indexOf(rep1)) {
		rtn = rtn.replace(rep1, rep2);
	}
	return rtn;
}

function doSiteCatalyst(){
	var s=s_gi('toyotamotortoyotajpprd');
 		s.linkTrackVars='eVar9,eVar10,events';
 		s.linkTrackEvents= 'event11';
 		s.eVar9= 'TWP';
 		s.eVar10= 'Logout';
 		s.events= 'event11';
 		s.tl(this,'o','toyotajp:twp_login');	
}

// ヘッダー＆フッターHTML描画
function printHeader(type, url) {
	if (!url) {
		url = '/mypage/dc/top';
	}
	var s = '';
	var protocol = 'http://';
	if(type == 'WebPassport'){
		//protocol = 'https://';
		//HTTPに固定化　2008/8/25TM杉山
		protocol = 'http://';
	}
	switch (type) {
		case "LPO":
			s += '<ul>';
			s += '<li class="save"><a href="#" onclick="return false;" title="このページを保存">このページを保存</a></li>';
			s += '</ul>';
			break;
		default: // "MyPage" || "BlogParts" || "WebPassport"
			s += '<a href="http://' + location.host + '/mypage/dc/top"><img src="/images/header/etoyota_net.gif" width="130" height="17" alt="eTOTOTA.net" class="logo" /></a>';
			s += '<img src="/images/header/beta.gif" width="52" height="13" alt="β Version" class="beta" />';
			s += '<ul>';
			if (loginStatus) {
				s += '<li class="name">ようこそ、' + __userName + 'さん</li>';
				//s += '<li class="logout"><a href="https://' + location.host + '/webpassport/gate/dc/logout?backurl=' + protocol + location.host + url + '" title="ログアウト">ログアウト</a></li>';
				//HTTPに固定化　2008/8/25TM杉山
				s += '<li class="logout"><a onclick="doSiteCatalyst();" href="http://' + location.host + '/webpassport/gate/dc/logout?backurl=' + protocol + location.host + url + '" title="ログアウト">ログアウト</a></li>';
			} else {
				//s += '<li class="regist"><a href="https://' + location.host + '/webpassport/center/dc/flow" title="Web Passport 新規会員登録はこちら">TOYOTA Web Passport 新規会員登録はこちら</a></li>';
				//HTTPに固定化　2008/8/25TM杉山
				s += '<li class="regist"><a href="http://' + location.host + '/webpassport/center/dc/flow" title="Web Passport 新規会員登録はこちら">TOYOTA Web Passport 新規会員登録はこちら</a></li>';

				//s += '<li class="login"><a href="https://' + location.host + '/webpassport/gate/dc/login?backurl=' + protocol + location.host + url + '" title="ログイン">ログイン</a></li>';
				//HTTPに固定化　2008/8/25TM杉山
				s += '<li class="login"><a href="http://' + location.host + '/webpassport/gate/dc/login?backurl=' + protocol + location.host + url + '" title="ログイン">ログイン</a></li>';
			}
			s += '</ul>';
			break;
	}
	document.write(s);
}
function printFooter() {
	var s = '';
	s += '<div>';
	s += '	<a href="http://' + location.host + '/mypage/dc/top" class="TOYOTA">TOYOTA</a>';
	s += '</div>';
	s += '<div>';
	s += '	<ul>';
	if (loginStatus) {
		//s += '<li><a href="https://' + location.host + '/webpassport/center/dc/service-list">メールマガジン</a></li>';
		//HTTPに固定化　2008/8/25TM杉山
		s += '<li><a href="http://' + location.host + '/webpassport/center/dc/service-list">メールマガジン</a></li>';
	} else {
		//s += '<li><a href="https://' + location.host + '/webpassport/center/dc/service-list">メールマガジン</a></li>';
		//HTTPに固定化　2008/8/25TM杉山
		s += '<li><a href="http://' + location.host + '/webpassport/center/dc/service-list">メールマガジン</a></li>';
	}
	s += '		<li><a href="/about/sc/index.html">このサイトについて</a></li>';
	s += '		<li><a href="/about/sc/privacy_statement.html">個人情報の取り扱い</a></li>';
	s += '		<li><a href="/about/sc/terms_of_use.html">動作環境</a></li>';
	s += '		<li class="end"><a href="/about/sc/sitemap.html">サイトマップ</a></li>';
	s += '	</ul>';
	s += '</div>';
	s += '<span class="copyright">(C) TOYOTA MOTOR CORPORATION. All Rights Reserved.</span>';
	var _measurement_host = 'etoyota.net';
	var protocol = location.protocol.indexOf('https')>-1?'https:':'http:';
	var url = protocol + '//' + _measurement_host + '/measurement/access/contents';
	url += '?from=' + escape(document.referrer);
	url += '&to=' + escape(window.location);
	s +='<img src="' + url + '">';
	document.write(s);
}

/**
 * メニューを作成.
 *
 * @param title アクティブにするタイトル
 */
function printMenu(title) {
	var rtn;
	document.write('<div id="mypage_menus"></div>');
	$.getJSON('/mypage/include/js/mypage_menu.js', function(json) {
		$('#mypage_menus').html(createMenu(json, title));
	});
	return false;
}
function createMenu(etMenus, title) {
	var url = location.pathname + location.search;
	var src = new Array();
	for (var i = 0; i < etMenus.length; i++) {
		var mObj = etMenus[i];
		if (chkLogin(mObj.ls)) {
			var fg1 = chkOpen(mObj, title);
			src.push('<div' + (fg1 ? ' class="on"' : '') + '>');
			src.push('<ul class="dir1">');
			src.push('<li><a href="#" title="' + (fg1 ? '閉じる' : '開く') + '"');
			src.push(' class="tglDisp1" onClick="return tglDir1(this)"></a></li>');
			src.push('<li><a href="' + createMenuLink(mObj.ssl, mObj.url) + '" class="' + mObj.cls + '" title="' + mObj.title + '"></a></li>');
			src.push('</ul><ul class="dir2">');
			for (var j = 0; j < mObj.menu.length; j++) {
				var sObj = mObj.menu[j];
				if (chkLogin(sObj.ls)) {
					var fg2 = (fg1 && chkOpen(sObj, title));
					if (typeof(sObj.menu) == 'object') {
						src.push('<li class="incDir' + (fg2 ? ' on' : '') + '">');
						src.push('<a href="#" title="' + (fg2 ? '閉じる' : '開く') + '"');
						src.push(' class="tglDisp2" onClick="return tglDir2(this)"></a>');
						src.push('<a href="' + sObj.url + '" class="incDir">' + sObj.title + '</a>');
						src.push('<ul class="dir3">');
						for (var l = 0; l < sObj.menu.length; l++) {
							var pObj = sObj.menu[l];
							if (chkLogin(pObj.ls)) {
								var fg3 = (fg1 && fg2 && (pObj.url == url));
								src.push('<li' + (fg3 ? ' class="on"' : '') + '>');
								src.push('<a href="' + createMenuLink(pObj.ssl, pObj.url) + '" class="link">' + pObj.title + '</a></li>');
							}
						}
						src.push('</ul></li>');
					} else if (typeof(sObj.url) == 'string') {
						src.push('<li' + (fg2 ? ' class="on"' : '') + '>');
						src.push('<a href="' + createMenuLink(sObj.ssl, sObj.url) + '" class="link">' + sObj.title + '</a></li>');
					}
				}
			}
			src.push('</ul></div>');
		}
	}
	return src.join('');
}
function createMenuLink(isSSL, URL) {
	var link = new Array();
	if (isSSL) {
		//link.push('https://');
		//HTTPに固定化　2008/8/25TM杉山
		link.push('http://');
	} else {
		link.push('http://');
	}
	link.push(location.host + URL);
	return link.join('');
}
function chkLogin(n) { return (!n || (n == 1 && loginStatus) || (n == 2 && !loginStatus)); }
function tglDir1(o) {
	var f = o.parentNode.parentNode.parentNode.className.match(/on/);
	o.title = (f) ? '開く' : '閉じる';
	o.parentNode.parentNode.parentNode.className = (f) ? '' : 'on';
	return false;
}
function tglDir2(o) {
	f = o.parentNode.className.match(/on/);
	o.title = (f) ? '開く' : '閉じる';
	o.parentNode.className = (f) ? o.parentNode.className.replace(/on/, '') : o.parentNode.className + ' on';
	return false;
}


// 共通ファンクション
function pageTop() {
	scrollTo(0, 0);
	return false;
}
function chkRadio(o) {
	o.getElementsByTagName('input')[0].checked = true;
}
function chkBox(o, f) {
	if (document.all || SF2) {
		if (typeof chkBoxStat == 'undefined') chkBoxStat = !o.getElementsByTagName('input')[0].checked;
		if (f) {
			chkBoxStat = o.getElementsByTagName('input')[0].checked;
		} else {
			o.getElementsByTagName('input')[0].checked = !chkBoxStat;
			chkBoxStat = !chkBoxStat;
		}
	}
}
/**
 * 閉じるの関数を「selectTabCancel」にしないと不具合が起きる
 */
function openDialog(s1, s2, e) {
	var psw = document.getElementById('dialogWindow');
	if (!psw) {
		psw = document.getElementsByTagName('body')[0].appendChild(document.createElement('div'));
		psw.id = 'dialogWindow';
		psw.innerHTML = '<div class="overlay"></div><div class="layout"><div id="pageShadow"></div>' +
			'<div id="dialog"><a href="#" onclick="return selectTabCancel()" class="close" title="閉じる">閉じる</a><h4></h4><p></p></div></div>';
	}
	var psp = document.getElementById('dialog');
	var pss = document.getElementById('pageShadow');
	psw.getElementsByTagName('DIV')[0].style.height =
		document.getElementById('wrapper').clientHeight +
		document.getElementById('footer').clientHeight + 'px';
	psw.style.display = 'block';
	psp.getElementsByTagName('h4')[0].innerHTML = s1;
	psp.getElementsByTagName('p')[0].innerHTML = s2;
	var sx = (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft);
	var sy = (window.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop );
	psp.parentNode.style.left = e.clientX + sx - 60 + 'px';
	psp.parentNode.style.top = e.clientY + sy - 46 + 'px';
	pss.style.height = psp.clientHeight + 'px';
	return false;
}
function closeDialog() {
	document.getElementById('dialogWindow').style.display = 'none';
	return false;
}

// 検索 ----
function rcSubmitKeyword(o) {
	var form = o.parentNode;
	if (form.se[0].checked) {
		form.keyword.value = form.q.value;
		form.action = 'http://etoyota.net/webservice/et/dc/newssearch';
	} else {
		form.action = 'http://etoyota.net/search';
	}
	form.submit();
	return false;
}
function rcCloudShut(o) {
	if (o.parentNode.className.match(/ hide/)) {
		o.parentNode.className = o.parentNode.className.replace(' hide','');
		o.innerHTML = '人気キーワードを表示しない';
	}else{
		o.parentNode.className = o.parentNode.className + ' hide';
		o.innerHTML = '人気キーワードを表示する';
	}
	return false;
}
function rcAddKeyword(o) {
	var form = o.parentNode.parentNode.parentNode.parentNode;
	var s = (form.q.value + ' ' + o.childNodes[0].data).replace(/^ +/, '');
	form.q.value = s;
	return false;
}
/**
 * メニューを開くかチェックする.
 * 
 * ・該当するURLが設定されている場合。
 * ・menu配下に該当するURLがある場合。
 * ・タイトル指定がある場合はタイトルで判断。
 */
function chkOpen(obj, ttl) {
	if (!obj) {
		return false;
	}
	if (ttl) {
		if (obj.title == ttl) {
			return true;
		}
	} else {
		var url = location.pathname + location.search;
		if (obj.url && obj.url == url) {
			return true;
		}
	}
	if (obj.menu && typeof(obj.menu) == 'object') {
		for (var i = 0; i < obj.menu.length; i++) {
			var sobj = obj.menu[i];
			if (typeof(sobj.menu) == 'object') {
				for (var j = 0; j < sobj.menu.length; j++) {
					if (chkOpen(sobj.menu[j], ttl)) {
						return true;
					}
				}
			} else {
				if (ttl) {
					if (sobj.title == ttl) {
						return true;
					}
				} else {
					if (sobj.url == url) {
						return true;
					}
				}
			}
		}
	}
	if (obj.sub && obj.sub == location.pathname) {
		return true;
	}
	if (obj.sub2 && obj.sub2 == location.pathname) {
		return true;
	}
	return false;
}
/**
 * 検索パーツ
 */
function printSearch() {
	document.write('<div id="mypage_search_in"></div>');
	// 検索
	$.get('/parts/dc/customparts?charset=utf-8&data_type=xhtml&pid=mypage_search&prefix=D0&parts_type=small&dt=',
		function(html, stts) {
			$('#mypage_search_in').before(html);
			$('#mypage_search_in').remove();
		}
	);
}
