var website = new Object();
website.hash = null;

if(document.domain == "localhost" || document.domain.indexOf("192.168.") > -1 || document.domain.indexOf("synck.com") > -1)
	website.root = "/www.gt-net110.com/web/";
else
	website.root = "/";
website.images = website.root + "images/";
var hash = new Date();
var nocache = "?" + parseInt(hash.getTime() / 10000);
//var nocache = "";

function nm(getId){
	var dates = new Date();
	var onehourold = Math.floor(dates.getTime() / 1000) - (60 * 60 * 24 * 7);
	if(onehourold < getId){
		document.write(' <img src="images/new.gif" style="display: inline;">');
		var t = getId;
		var tm = dates.getTime() / 1000;
		var cal_time = tm - t;
		var cal_sec = cal_time % 60;
		var cal_min = Math.floor(cal_time / 60);
		var cal_hor = Math.floor(cal_min / 60);
		cal_min = cal_min % 60;
		cal_time = "";
		if(cal_hor > 24)
			cal_time = parseInt(cal_hor / 24) + "日前";
		else if(cal_hor > 0)
			cal_time += cal_hor + "時間前";
		else if(cal_min > 0)
			cal_time += cal_min + "分前";
		document.write('<em class="time_later">('+cal_time+')</em>');
	}
}
function exp(){
	var tagObj = d.getElementsByTagName("em");
	for (ii=0;ii<tagObj.length;ii++){
		if(tagObj[ii].className == "vf")
			tagObj[ii].innerHTML = vf(tagObj[ii].innerHTML);
	}
}

function vf(DateStr){
	DateStr = DateStr+" 00:00:00";
	DateStr = DateStr.replace(/\-/ig,"/");
	var t_dates = new Date();
	var e_dates = new Date(DateStr);
	if(t_dates.getTime() > e_dates.getTime())
		return '<em class="time_later">期限切れ</em>';
	else {
		var lt = Math.floor(((e_dates.getTime() - t_dates.getTime()) / 1000) / (60*60*24));
		//var lt = DateStr;
		return 'あと'+lt+'日';
	}
}

function addEventSet(elm,listener,fn){
	try{
		elm.addEventListener(listener,fn,false);
	}
	catch(e){
		elm.attachEvent("on"+listener,fn);
	}
}

function wordRedirect(word){
	location.href = "redirect.cgi?word=" + encodeURI(word);
}

function hashWatcher(){
	if(location.hash != website.hash){
		var d = window.document;
		var hash = location.hash.substring(1,location.hash.length);
		var PRAMS = new Array();
		PRAMS = hash.split('&');
		var _QUERY = new Array();
		if(location.hash){
			var hash = location.hash.substring(1,location.hash.length);
			var PRAMS = new Array();
			PRAMS = hash.split('&');
			for(i=0;i<PRAMS.length;i++){
				var PRAM = PRAMS[i].split('=');
				_QUERY[PRAM[0]] = PRAM[1];
			}
			var search_flag = false;
			var search_category_flag = false;
			if(_QUERY['c'] != undefined){
				d.getElementById('search_category').value = decodeURI(_QUERY['c']);
				search_category_flag = true;
			}
			if(_QUERY['q'] != undefined){
				sf(d.getElementById('search_query'));
				d.getElementById('search_query').value = decodeURI(_QUERY['q']);
				search_flag = true;
			}
			
			if(search_category_flag && !search_flag)
				change_search_category();
			if(search_flag){
				//change_search_category();
				siteSearch(d.getElementById('page_search'));
			}
		}
	}
	website.hash = location.hash;
}
function sf(obj){
	if(obj.value == obj.defaultValue){
		obj.value = "";
		obj.style.color = "#000000";
	}
}
function sb(obj){
	if(obj.value == ""){
		obj.value = obj.defaultValue;
		obj.style.color = "#999999";
	}
}
function login(){
	var d = window.document;
	if(d.getElementById('user_id').value != "" && d.getElementById('user_pw').value != ""){
		d.getElementById('login_form').submit();
		return false;
	}
	else {
		return false;
	}
}
var login_display = true;
function open_login(obj){
	var d = window.document;
	if(login_display){
		ssc(obj);
		d.getElementById('login_form').style.display = "block";
		login_display = false;
	}
	else {
		//d.getElementById('login_form').submit();
		login();
	}
}
var typewriterText = "";
var typewriterIndex = 0;
function typeWriter(){
	var d = window.document;
	d.getElementById('page_snippet').innerHTML = typewriterText.substring(0,typewriterIndex);
	if (typewriterIndex < typewriterText.length){
		typewriterIndex++;
		setTimeout("typeWriter()",30);
	}
	else {
		typewriterIndex = 0;
		setTimeout("typeWriterReverse()",1000);
	}
}
function typeWriterReverse(){
	var d = window.document;
	d.getElementById('page_snippet').innerHTML = typewriterText.substring(typewriterIndex,typewriterText.length);
	if (typewriterIndex < typewriterText.length){
		typewriterIndex++;
		setTimeout("typeWriterReverse()",80);
	}
	else {
		typewriterIndex = 0;
		typeWriter();
	}
}
var ddOpenObj = new Object();
function ddOpen(ddId){
	var d = window.document;
	if(ddOpenObj[ddId]){
		d.getElementById(ddId).style.display = "none";
		ddOpenObj[ddId] = false;
	}
	else{
		d.getElementById(ddId).style.display = "block";
		ddOpenObj[ddId] = true;
	}
}
var gotoTotalCount = 0;
function gotoCounter(){
	var d = window.document;
	if(eval(d.getElementById('goto_counter').innerHTML) < gotoTotalCount - 1){
		d.getElementById('goto_counter').innerHTML = eval(d.getElementById('goto_counter').innerHTML) + 1;
		setTimeout("gotoCounter()",10);
	}
}
var gmapPointerDownCnt = 0;
var gmapArr = new Array("area01","area02","area03","area04","area05","area06","area07","area08","area09");
var gmapArrTop = new Array(32,95,135,135,145,130,160,145,187);
function gmapPointerDown(){
	$(function(){
		$("#"+gmapArr[gmapPointerDownCnt])
			.animate({ top: gmapArrTop[gmapPointerDownCnt] },200)
			.animate({ top: (gmapArrTop[gmapPointerDownCnt]-2) },50)
			.animate({ top: gmapArrTop[gmapPointerDownCnt] },50);
	});
	gmapPointerDownCnt++;
	if(gmapPointerDownCnt < gmapArr.length)
		setTimeout("gmapPointerDown()",100);
}
function website_init(){
	var d = window.document;
	
	if(d.getElementById('goto_counter')){
		gotoTotalCount = eval(d.getElementById('goto_counter').innerHTML);
		d.getElementById('goto_counter').innerHTML = 0;
		setTimeout("gotoCounter()",1000);
		setTimeout("gmapPointerDown()",1000);
	}
	
	if(d.getElementById('tree_top'))
		d.getElementById('tree_top').innerHTML = d.getElementById('tree_bottom_inner').innerHTML;
	//if(d.getElementById('foot_textlink'))
	//	d.getElementById('header').innerHTML += d.getElementById('foot_textlink').innerHTML;
	var tagObj = d.getElementsByTagName("tr");
	var i = 1;
	for (ii=0;ii<tagObj.length;ii++){
		if(tagObj[ii].className == "color" && i % 2 != 0){
			tagObj[ii].style.backgroundColor = '#E8EEF9';
			i++;
		}
		else if(tagObj[ii].className == "color")
			i++;
	}
	var tagObj = d.getElementsByTagName("li");
	var i = 1;
	for (ii=0;ii<tagObj.length;ii++){
		if(tagObj[ii].className == "color" && i % 2 != 0){
			tagObj[ii].style.backgroundColor = '#E8EEF9';
			i++;
		}
		else if(tagObj[ii].className == "color")
			i++;
	}
	var tagObj = d.getElementsByTagName("dl");
	var i = 1;
	for (ii=0;ii<tagObj.length;ii++){
		if(tagObj[ii].className == "color" && i % 2 != 0){
			tagObj[ii].style.backgroundColor = '#E8EEF9';
			i++;
		}
		else if(tagObj[ii].className == "color")
			i++;
	}
	
	var tagObj = d.getElementsByTagName("meta");
	for (i=0;i<tagObj.length;i++){
		if(tagObj[i].name == "Description" && tagObj[i].content != undefined){
			typewriterText = tagObj[i].content;
			d.getElementById('page_snippet').innerHTML = "";
			setTimeout("typeWriter()",500);
		}
	}
	
	// login error
	if(location.hash.indexOf('login_error') > -1){
		d.getElementById('login_error').style.display = "block";
		d.getElementById('login_form').style.display = "block";
		login_display = false;
		d.getElementById('user_id').focus();
	}
	
	// query set
	setInterval("hashWatcher()",50);
	if(typeof lightboxObj != "undefined"){
		$('a.thickbox').lightBox();
	}
}
addEventSet(window,"load",function(){website_init();});
//Page Top smoothed scroll Functions
var Mac = navigator.appVersion.indexOf('Mac',0) != -1;
var Win = navigator.appVersion.indexOf('Win',0) != -1;
var IE  = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;
var NN  = navigator.appName.indexOf("Netscape",0) != -1;
var Moz = navigator.userAgent.indexOf("Gecko") != -1;
var Vmajor = parseInt(navigator.appVersion); // ex. 3
var Vminor = parseFloat(navigator.appVersion); // ex. 3.01

var MacIE4 = ((Mac && navigator.appVersion.indexOf('MSIE 4.',0) != -1));
var MacIE3 = ((Mac && navigator.appVersion.indexOf('MSIE 3.',0) != -1));

function getScrollLeft() {
	if((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1)) {
		return document.body.scrollLeft;
	}
	else if(window.pageXOffset) {
		return window.pageXOffset;
	}
	else {
		return 0;
	}
}

function getScrollTop() {
	if((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1)) {
		return document.body.scrollTop;
	}
	else if(window.pageYOffset) {
		return window.pageYOffset;
	}
	else {
		return 0;
	}
}

var pageScrollTimer;
function pageScroll(toX,toY,frms,cuX,cuY) { // 020314
	if(pageScrollTimer) clearTimeout(pageScrollTimer);
	if(!toX || toX < 0) toX = 0;
	if(!toY || toY < 0) toY = 0;
	if(!cuX) cuX = 0 + getScrollLeft();
	if(!cuY) cuY = 0 + getScrollTop();
	if(!frms) frms = 6;
	if(toY > cuY && toY > (getAnchorPosObj('end','enddiv').y) - getInnerSize().height) toY = (getAnchorPosObj('end','enddiv').y - getInnerSize().height) + 1;
	cuX += (toX - getScrollLeft()) / frms;
	if(cuX < 0) cuX = 0;
	cuY += (toY - getScrollTop()) / frms;
	if(cuY < 0) cuY = 0;
	var posX = Math.floor(cuX);
	var posY = Math.floor(cuY);
	window.scrollTo(posX, posY);
	if(posX != toX || posY != toY) {
		pageScrollTimer = setTimeout("pageScroll("+toX+","+toY+","+frms+","+cuX+","+cuY+")",16);
	}
}

function jumpToPageTop() {
	pageScroll(0,0,5);
}

var searchHistory = false;
function return_list_view(){
	var d = window.document;
	if(searchHistory){
		d.getElementById("search_result_inner").innerHTML = searchHistory;
		d.getElementById("return_list").disabled = true;
	}
}
function sitesearchSubmit(){
	var d = window.document;
	if(d.getElementById('site_search_query').value != d.getElementById('site_search_query').defaultValue && d.getElementById('site_search_query').value != ""){
		return true;
	}
	else {
		return false;
	}
}
function ssf(obj){
	obj.style.backgroundPosition = "0px -24px";
}
function ssb(obj){
	obj.style.backgroundPosition = "0px 0px";
}
function ssc(obj){
	obj.style.backgroundPosition = "0px -48px";
}

function change_search_mode(obj){
	var d = window.document;
	if(obj.value == "" && d.getElementById('search_category'))
		d.getElementById('search_category').style.display = "none";
	else if(d.getElementById('search_category'))
		d.getElementById('search_category').style.display = "inline";
}
function change_search_category(){
	var d = window.document;
	if(d.getElementById('search_category').value != ""){
		d.getElementById("return_list").disabled = false;
		if(!searchHistory)
			searchHistory = d.getElementById("search_result_inner").innerHTML;
		var searchQuery = d.getElementById('search_query').value;
		if(searchQuery == d.getElementById('search_query').defaultValue)
			searchQuery = "";
		location.href = '#q='+ encodeURI(searchQuery)+"&c="+encodeURI(d.getElementById('search_category').value);
		siteSearchObj = createXMLHttpRequest();
		siteSearchObj.onreadystatechange = getSearchResult;
		siteSearchObj.open("GET",website.root+"search/?db="+d.getElementById("search_db").value+"&q="+encodeURI(searchQuery)+"&c="+encodeURI(d.getElementById('search_category').value),true);
		siteSearchObj.send(null);
		return false;
	}
	else if(searchHistory){
		return_list_view();
	}
}

function pageing(obj){
	var d = window.document;
	siteSearchObj = createXMLHttpRequest();
	siteSearchObj.onreadystatechange = getSearchResult;
	siteSearchObj.open("GET",website.root+"search/?db="+d.getElementById("search_db").value+"&page="+obj.value,true);
	siteSearchObj.send(null);
	d.getElementById('phead').value = obj.value;
	d.getElementById('pfoot').value = obj.value;
}

function siteSearch(obj){
	var d = window.document;
	d.getElementById('search_error').style.display = "none";
	//if(obj.elements["q"].value != obj.elements["q"].defaultValue && obj.elements["q"].value != ""){
	if(1){
		if(d.getElementById("search_db").value == ""){
			return true;
		}
		else {
			d.getElementById("return_list").disabled = false;
			var search_option = "";
			if(!searchHistory)
				searchHistory = d.getElementById("search_result_inner").innerHTML;
			if(d.getElementById('search_category'))
				search_option = "&c="+encodeURI(d.getElementById('search_category').value);
			
			location.href = '#q='+ encodeURI(obj.elements["q"].value)+"&c="+encodeURI(d.getElementById('search_category').value);
			siteSearchObj = createXMLHttpRequest();
			siteSearchObj.onreadystatechange = getSearchResult;
			siteSearchObj.open("GET",obj.action+"?db="+d.getElementById("search_db").value+"&q="+encodeURI(obj.elements["q"].value)+search_option,true);
			siteSearchObj.send(null);
			return false;
		}
	}
	else {
		//d.getElementById('search_error').style.display = "block";
		return false;
	}
}
function getSearchResult(){
	var d = window.document;
	if ((siteSearchObj.readyState == 4) && (siteSearchObj.status == 200))
		d.getElementById("search_result_inner").innerHTML = siteSearchObj.responseText;
	else
		d.getElementById("search_result_inner").innerHTML = "検索中...";
}

function createXMLHttp() {
	try {
		return new ActiveXObject ("Microsoft.XMLHTTP");
	}catch(e){
		try {
			return new XMLHttpRequest();
		}catch(e) {
			return null;
		}
	}
	return null;
}
function createXMLHttpRequest(){
	var XMLsiteSearchObject = null;
	try{
		XMLsiteSearchObject = new XMLHttpRequest();
	}
	catch(e){
		try{
			XMLsiteSearchObject = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				XMLsiteSearchObject = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				return null;
			}
		}
	}
	return XMLsiteSearchObject;
}
