// JavaScript Document

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


/* *************************************** */
/* ************* win Close ************** */
function winClose(){
	window.close();
}

function writeWinClose(){
	document.write("<a href=\"Javascript:;\" onClick = \"winClose();\" class=\"close\">* close *</a>");
}

/* *************************************** */
/* *************** URL *************** */
function jumpAnchor(tex){
	location.href = tex;
}


// **************************************
// open the image in Another window
imgCount = 0;
function openImage(){

var i;
for(i=0;i<2;i++){
	if(!arguments[i]){
		return;
	}
}
//alert("01");
var uri = arguments[0];
var wWidth = parseInt(arguments[1])+60;
var wHeight = parseInt(arguments[2])+60;
var wTitle = arguments[3];
//alert(wTitle);
if(wTitle == "" || wTitle == "undefined"){
	wTitle = "Image";
}

	wStyle = "toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes,width=" + wWidth + ",height=" + wHeight;
//	wHTML = "<html><head><title>%%title%%</title><meta http-equiv='Imagetoolbar' content='no'></head><body style='margin:0px;padding:0px;'><div><img src='%%src%%'></div></body></html>";
	wHTML  = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>";
	wHTML += "<html>";
	wHTML += "<head>";
	wHTML += "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
	wHTML += "<title>%%title%%</title>";
	wHTML += "<meta http-equiv='Imagetoolbar' content='no'>";
	wHTML += "<style type='text/css'>";
	wHTML += "html, body {margin:0;padding:0;height:100%;width:100%;}";
	wHTML += "img.close {cursor:pointer;}";
	wHTML += "</style>";
	wHTML += "</head>";
	wHTML += "<body>";
	wHTML += "<table height='100%' width='100%' border='0' cellpadding='0' cellspacing='0' summary=''>";
	wHTML += "<tr>";
	wHTML += "<td><table border='0' cellpadding='6' cellspacing='0' align='center'>";
	wHTML += "<tr>";
	wHTML += "<td><img src='%%src%%'></td>";
	wHTML += "</tr>";
	wHTML += "<tr>";
	wHTML += "<td style='text-align:center'><img src='images/en_btn_close.gif' width='78' height='22' alt='閉じる' onClick='window.close();' style='cursor:pointer;'></td>";
	wHTML += "</tr>";
	wHTML += "</table></td>";
	wHTML += "</tr>";
	wHTML += "</table>";
	wHTML += "</body>";
	wHTML += "</html>";

	wName = "wImage" + imgCount++;

	wHTML = wHTML.replace(/%%title%%/g,wTitle);
	wHTML = wHTML.replace(/%%src%%/g,uri);

	subWin = window.open('',wName,wStyle);
	subWin.document.write(wHTML);
	subWin.document.close();

	subWin.focus();
}


/* ********************************************** */
/* *********** Do you like Cookie? ************** */

function takeCookie(){
	if(!navigator.cookieEnabled){
		return false;
	}
	
	var temp = document.cookie + ";" ;
	var key = arguments[0];
	var keyExist = temp.indexOf(key,0);//to be or not to be

	if (keyExist != -1){               //read Cookie
		 temp = temp.substring(keyExist,temp.length);
		start = temp.indexOf("=",0)+1;
		  end = temp.indexOf(";",start);
		return(unescape(temp.substring(start,end)));
	}
	return("");                    //no exisance. return null
}

function bakeCookie(){
	var key = arguments[0];  //01 key name
	var value = arguments[1];//02 value
	if(!value){return}
	var limit = arguments[2];//03 limit if this is undefined, deleted when browser closed.

	var temp = key + "=" + escape(value) +"; ";

	if(limit){               //expire setting
		expireDate = new Date();
		expireDate.setYear(expireDate.getUTCFullYear() + limit);
		temp = temp + " expires=" + expireDate.toUTCString();
	};
	//alert(temp);
	document.cookie = temp ;
}

function throwCookie(){
	var key = arguments[0]; //key name
	var value = " ";        //dummy value
	var temp = key + "=" + value +"; ";

	expireDate = new Date();//delete cookie
	expireDate.setYear(expireDate.getYear() + -1);
	temp += "expires=" + expireDate.toUTCString()  ;

	document.cookie = temp;
}


// ******************************************************
// ***** for Array 
// ******************************************************

function popFake(nArray){
// this function delete last index data only. this don't take the value.
	var tempArray = new Array;

	var i;
	for(i=0;i<nArray.length-1;i++){
		tempArray[i]= nArray[i]
	}
	return tempArray;
}

function pushFake(nArray){
// this function add a array a value at last position;
// you give arguemnts like(ArrayName,value1,value2,value3,value4....)
	var tempArray = new Array;
	var totalAddNum = arguments.length-1;

	var i;
	for(i=0;i<totalAddNum;i++){
		nArray[nArray.length] = arguments[i+1];
	}
	return nArray;
}

function shiftFake(nArray){
//this function delete fast index data in array
	var tempArray = new Array;

	for(i=1;i<nArray.length-1;i++){
		tempArray[i-1]= nArray[i]
	}
	return tempArray;
}

function unshiftFake(nArray){
// this function add value to at first position in a array;
// you give arguemnts like(ArrayName,value1,value2,value3,value4....)
	var tempArray = new Array;
	var totalAddNum = arguments.length-1;

	var i;
	var j=totalAddNum;
	for(i=0;i<nArray.length;i++){
		tempArray[j]= nArray[i];
		j++;
	}

	var i;
	for(i=0;i<totalAddNum;i++){
		tempArray[i] = arguments[i+1];
	}
	return tempArray;
}


/* ******************************************************* */
/* ******* Mail Link ******* */

function mailLink() {
	var data = arguments[0]+"";

	var temp = data.split(/,/);
	var address = "mailto:";
	for (i = 0; i < temp.length; i++) {
		address += String.fromCharCode(temp[i]);
	}
	return address;
}

function init(){
	allpulldownHide();
	//マウスイベント登録
	Element.observe('mainMenu','mouseover',showMenu);
	Element.observe('mainMenu','mouseout',hideMenu);
}

/* ******************************* */
/* ******* pull down menu ******** */
/* ******************************* */

pMenuObj = new Array(
//プルダウンメニューulタグのidをこの配列に登録しておく
	"menu01sub",
	"menu02sub",
	"menu06sub"
);

var timerID = 1;

//プルダウンメニュー表示・非表示切り替え
//(一度、全消去してから任意のプルダウンを表示)
function contPulldown(obj,flag){
	clearTimeout(timerID);//hideMenu関数で開始したタイマーをクリア
	allpulldownHide();
	if($(obj) && !Element.visible(obj)){
		Element.show(obj);
		//Effect.Appear(obj,{duration:0.3});
		return;
	}
}

//mouseoutで実行。50ミリ秒後にプルダウンメニューを全消去する
function hideMenu(obj){
	timerID = setTimeout('allpulldownHide()',50);
}

//プルダウンメニュー全消去関数
function allpulldownHide(){
	var i;
	for(i=0;i<pMenuObj.length;i++){
		$(pMenuObj[i]).style.visibility = "visible";
		Element.hide(pMenuObj[i]);
	}
}

//イベントタイプとその発生元を検知して、contPulldown関数に投げる
function showMenu(event){
	var menuLv0 = Event.findElement(event,'#mainMenu');
	var menuLv1 = Event.findElement(event,'li');
	var menuLv2 = Event.findElement(event,'li ul');

	if(menuLv1 && menuLv2){
		//temp = event.type + ",lv1 & lv2";
		//alert(temp);
		contPulldown(menuLv2.id,event.type);
		return;
	}else if(menuLv1){
		//temp = event.type + ",lv1";
		//alert(temp);
		var obj = menuLv1.id + "sub";
		contPulldown(obj,event.type);
		return
	}
}
