/**/

/*@cc_on _d=document;eval('var document=_d')@*/

/*---メニューのロールオーバー----------------
メニュー上部に移動変更につき使いません
function menuOverAction(over,oImg){
	if(over) {
		oImg.parentElement.className='menuOver';
	} else {
		oImg.parentElement.className='';
	}
}

function menuOverAction2(over,oImg){
	if(over) {
		oImg.parentElement.className='menuOver menu1';
	} else {
		oImg.parentElement.className='menu1';
	}
}
*/

/*-------------------------------------------*/

/*---ロールオーバー----------------*/

function rollover(over,srcName,oImg){
	if(over) {
		n = srcName.length-4;
		url1 = srcName.substring(0, n);
		url2 = srcName.substring(n);
		oImg.src= url1 +'2'+url2;
	} else {
		n = srcName.length-5;
		url1 = srcName.substring(0, n);
		url2 = srcName.substring(n+1);
		oImg.src= url1 + url2;
	}
}

/*-------------------------------------------*/


function submitForm(){
	subWin = window.open("loading.php" , "load", "width=200,height=150,resizable=no");
	document.form1a.submit();
}

function subClose(){

	if(typeof(subWin) != 'undefined') {

		subWin.close();
	}
}

function submitDel(x){

	flag = confirm("削除します。よろしいですか？");
	if (flag){
	
		location.href = x;
	
	} else {
		return;
	}
	

}

var isGecko = false;
if(navigator){
    if(navigator.userAgent){
        if(navigator.userAgent.indexOf("Gecko/") != -1){
            isGecko = true;
        }
    }
}

var isSafari = false;
if(navigator){
    if(navigator.userAgent){
        if(navigator.userAgent.indexOf("Safari/") != -1){
            isSafari = true;
        }
    }
}






/*----フォームフォーカスで色チェンジ---------------*/
var colorful = new ColorfulInput;
colorful.skip = ['submit'];
colorful.color['focus'] = '#E7F7CB';

window.onload = function() {
	colorful.set();
	/*
	try{
		onloaded();
	}catch(e){
	}
	*/
}

function ColorfulInput() {
   this.skip  = [];
   this.color = { 'blur': '', 'focus': '#EEEEEE' };

   this.set = function() {
      for (var i = 0; i < document.forms.length; i++) {
         for (var f = 0; f < document.forms[i].length; f++) {
            var elm = document.forms[i][f];
            if(!this._checkSkip(elm)) continue;

            this._setColor(elm, 'focus');
            this._setColor(elm, 'blur');
         }
      }
   }

   this._checkSkip = function(elm) {
      for(var i in this.skip) {
         if(elm.type == this.skip[i]) return false;
      }
      return true;
   }

   this._setColor = function(elm, type) { 
      var color = this.color[type];
      var event = function() { elm.style.backgroundColor = color; };

      if(elm.addEventListener) {
         elm.addEventListener(type, event, false);
      } else if(elm.attachEvent) {
         elm.attachEvent('on'+type, event);
      } else {
         elm['on'+type] = event;
      }
   }
}

/*-------------------------------------------------------------------------*/


/*----全メニュー表示----*/

function directOpen()
{
	document.getElementById('directMenu').style.visibility = 'visible';
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++) {
		selects[i].style.visibility = 'hidden';
	}
	var selects = document.getElementsByTagName('object');
	for(var i=0; i<selects.length; i++) {
		selects[i].style.visibility = 'hidden';
	}
}

function directClose()
{
	document.getElementById('directMenu').style.visibility = 'hidden';
	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++) {
		selects[i].style.visibility = 'visible';
	}
	var selects = document.getElementsByTagName('object');
	for(var i=0; i<selects.length; i++) {
		selects[i].style.visibility = 'visible';
	}
}


/*----ヘルプボックス----*/
//取得
function getHelpBox(){
	var cbox = document.getElementById('helpbox');
	
	if(!cbox){
		cbox = document.createElement('div');
		cbox.setAttribute('id', 'helpbox');
		cbox.style.position = "absolute";
		cbox.style.left = "0";
		cbox.style.top = "0";
		//cbox.innerHTML = getColorPaletteHTML(img_dir);
		document.getElementsByTagName('body')[0].appendChild(cbox);
	}

	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++) {
		//selects[i].style.display = 'none';
		selects[i].style.visibility = 'hidden';
	}
	return cbox;
}
window.document.onmousemove = getMouseXY;
var _clientX = null;
var _clientY = null;
function getMouseXY(evt){
	if(evt){
		_clientX = evt.clientX;
		_clientY = evt.clientY;
	}
}

function getMessage(id){
	var argms = new Array();
	argms['id'] = id;

	var x = 0;
	var y = 0;
	if(window.event){
		x = window.event.clientX
		y = window.event.clientY
	}else{
		x = _clientX;
		y = _clientY;
	}

	argms['x'] = x; //カーソルの位置
	argms['y'] = y;

	Ajax.call('getMessage', argms, 'setMessage', null, null);
}
function setMessage(result){

	// 水平スクロール量
	var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
	// 垂直スクロール量
	var scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;
	var y = scrollTop + Number(result.y) + 0;
	var x = scrollLeft + Number(result.x) + 10;

	// メニュー作成
	var layer;
	//layer = "<div style='top:" + y + ";left:" + x + ";' class='helpBox'>\n";
	layer = "<div class='helpBox'>\n";
	layer += result.message;
	layer += "</div>\n";

	//ポップ表示
	var cbox = getHelpBox();
	//cbox.style.top = result.y + 'px';
	//cbox.style.left = result.x + 'px';
	cbox.style.top = y + 'px';
	cbox.style.left = x + 'px';

	cbox.style.display = 'block';
	cbox.innerHTML = layer;


}

function mouseout(){
	var cbox = getHelpBox();
	cbox.style.display='none';

	var selects = document.getElementsByTagName('select');
	for(var i=0; i<selects.length; i++) {
		//selects[i].style.display = 'block';
		selects[i].style.visibility = 'visible';
	}
}
/*----ヘルプボックス----*/

/*----歌詞表示ここから----*/
function getLyric(product_id) {
	var lyrics = document.getElementsByTagName('tr');
	var lyricReg = new RegExp('lyric_', 'i');
	for(var i=0; i<lyrics.length; i++) {
		if (lyrics[i].id.match(lyricReg)) {
			if (lyrics[i].style.display == 'none' && lyrics[i].id == 'lyric_' + product_id) {
				if (isGecko || isSafari) {
					lyrics[i].style.display = 'table-row';
				} else {
					lyrics[i].style.display = 'block';
				}
			} else {
				lyrics[i].style.display = 'none';
			}
		}
	}
}
/*----歌詞表示ここまで----*/


/*----FlashPlayerバージョンチェック----*/
function hasFlashVersion(requiredVersion){
	var requiredVersion = parseInt(requiredVersion);
	if(navigator.plugins != null && navigator.plugins.length > 0) {
		var version = 0;
		var plugin = navigator.plugins['Shockwave Flash'];
		if(typeof plugin == 'object') {
			var description = plugin.description;
			version = parseInt(description.charAt(description.indexOf('.')-1));
		}
		return (version >= requiredVersion) ? true : false;
	} else if(navigator.appVersion.indexOf('Mac') == -1 && window.execScript) {
		hasVersion_result = false;
		for(var i = requiredVersion; i <= requiredVersion+5 && hasVersion_result != true; i++){
			execScript('on error resume next: hasVersion_result=isObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))', 'vbscript');
		}
		return hasVersion_result;
	}
	return null;
}
/*----FlashPlayerバージョンチェック----*/

/*----解像度取得----*/
function getResolution(user_id){
	params = Array();
	params['user_id']					= user_id;
	params['userAgent']				= navigator.userAgent;
	params['platform']				= navigator.platform;
	params['appName']					= navigator.appName;
	params['appVersion']			= navigator.appVersion;
	params['screen_width']		= screen.width;
	params['screen_height']		= screen.height;
	params['hostname']				= location.hostname;
	params['request_uri']			= location.pathname + location.search;
	Ajax.call('getResolution', params, 'dmyResolution');
}
function dmyResolution(response){
// alert("A");
}
/*----解像度取得----*/


/*----リスナー----*/

/*----リスナー----*/

/*----ジャンプ----*/
function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
}


var accordion = {
	target      : undefined,
	trigger     : undefined,
	className1  : undefined,
	className2  : undefined,
	slideTimer  : undefined,
	destHeight  : undefined,
	slideInterval  : 50,
	doAccordion : function(target, trigger, className1, className2) {
		if(target)     this.target         = target;
		if(trigger)    this.trigger        = trigger;
		if(className1) this.className1     = className1;
		if(className2) this.className2     = className2;
		var oH = this.target.offsetHeight;
		var cH = this.target.firstChild.offsetHeight;
		this.destHeight = (this.destHeight == undefined) ? (oH == 1) ? cH : 1 : this.destHeight;

		if(Math.abs(this.destHeight-oH) <= 1) {
			this.target.style.height = this.destHeight + 'px';
			if(this.destHeight == 1) {
				this.trigger.className = this.className1;
			} else {
				this.trigger.className = this.className2;
			}
			window.clearTimeout(this.slideTimer);
			this.destHeight = undefined;
		} else {
			this.target.style.height = oH+(this.destHeight-oH)/2 + 'px';
			this.slideTimer = window.setTimeout('accordion.doAccordion(accordion.target)', this.slideInterval);
		}
	}
};

/*---- カレンダー表示ここから ----*/
function getCalendar(strSynclID, intYear, intMonth){
	var strHTML = '';
	subAjax = new AjaxClient('Ajax');
	subAjax.gateway = '/ajax.php';


	/*-----------------------*/
	// ヘッダ。
	/*-----------------------*/
	strHTML = '<table cellspacing=1 cellpadding=2 width="100%" border=0>';
	strHTML +='<tr>';
	strHTML +='<td colspan="7" align="center">LOADING...</td>';
	strHTML +='</tr>';
	strHTML +='<tr>';
	strHTML +='<td width="14%" align="center" class="week"><span class="sunday">S</span></td>';
	strHTML +='<td width="14%" align="center" class="week">M</td>';
	strHTML +='<td width="14%" align="center" class="week">T</td>';
	strHTML +='<td width="14%" align="center" class="week">W</td>';
	strHTML +='<td width="14%" align="center" class="week">T</td>';
	strHTML +='<td width="14%" align="center" class="week">F</td>';
	strHTML +='<td width="14%" align="center" class="week"><span class="saturday">S</span></td>';
	strHTML +='</tr>';

	/*-----------------------*/
	// メイン。
	/*-----------------------*/
	for (iRow = 0; iRow < 5; iRow++) {
		strHTML	+='<tr>';
		for (iCol = 0; iCol < 7; iCol++) {
			strHTML	+='<td align="center">&nbsp\;</td>';
		}
		strHTML	+='</tr>';
	}

	/*-----------------------*/
	// フッタ。
	/*-----------------------*/
	strHTML +='</table>';

	var elmOutbox = document.getElementById('calendar_outbox');
	elmOutbox.innerHTML = strHTML;

	params = Array();
	params['strSynclID']	= strSynclID;
	params['intYear']			= intYear;
	params['intMonth']		= intMonth;
	subAjax.call('getCalendar', params, 'setCalendar');
}
function setCalendar(response){
	// alert('getting calendar of ' + response.strSynclID + ' on ' + response.intYear + '/' + response.intMonth);
	var strSynclID			= response.strSynclID;
	var intPrevYear			= response.arrTimePrev.year;
	var intPrevMonth		= response.arrTimePrev.month;
	var flgPrevMonth		= response.arrTimePrev.exists;
	var intCurrentYear	= response.arrTimeCurrent.year;
	var intCurrentMonth	= response.arrTimeCurrent.month;
	var intNextYear			= response.arrTimeNext.year;
	var intNextMonth		= response.arrTimeNext.month;
	var flgNextMonth		= response.arrTimeNext.exists;
	var arrDiary				= response.arrDiary;
	

	/*-----------------------*/
	// ヘッダ。
	/*-----------------------*/
	strHTML = '<table cellspacing=1 cellpadding=2 width="100%" border=0>';
	strHTML +='<tr>';
	strHTML +='<td colspan="2" align="left"><a href="javascript:void(0);" onclick="getCalendar(\''+ strSynclID +'\', ' + intPrevYear + ', ' + intPrevMonth + ');return false;">&lt;&lt;</a></td>';
	strHTML +='<td colspan="3" align="center">' + intCurrentYear + '-' + intCurrentMonth + '</td>';
	if (flgNextMonth) {
		strHTML +='<td colspan="2" align="right"><a href="javascript:void(0);" onclick="getCalendar(\''+ strSynclID +'\', ' + intNextYear + ', ' + intNextMonth + ');return false;">&gt;&gt;</a></td>';
	} else {
		strHTML +='<td colspan="2" align="right">&nbsp;</td>';
	}
	strHTML +='</tr>';
	strHTML +='<tr>';
	strHTML +='<td width="14%" align="center" class="week"><span class="sunday">S</span></td>';
	strHTML +='<td width="14%" align="center" class="week">M</td>';
	strHTML +='<td width="14%" align="center" class="week">T</td>';
	strHTML +='<td width="14%" align="center" class="week">W</td>';
	strHTML +='<td width="14%" align="center" class="week">T</td>';
	strHTML +='<td width="14%" align="center" class="week">F</td>';
	strHTML +='<td width="14%" align="center" class="week"><span class="saturday">S</span></td>';
	strHTML +='</tr>';

	/*-----------------------*/
	// メイン。
	/*-----------------------*/
	// その月の初日&末日オブジェクト初期化
	var objDateStart	= new Date(intCurrentYear, intCurrentMonth - 1, 1);
	var objDateEnd		= new Date(intCurrentYear, intCurrentMonth, 0);

	// 初日&末日の曜日から空セル個数設定
	var intDateBefore	= objDateStart.getDay();
	var intDateAfter	= 6 - objDateEnd.getDay();

	// 空セル個数+日付分で出力
	for ( intDate = 1; intDate <= ( intDateBefore + objDateEnd.getDate() + intDateAfter ); intDate++ ) {
		// 日曜なら新しい行
		if ( ( intDate % 7 ) == 1 ) {
			strHTML +='<tr>';
		}

		strHTML +='<td valign="top" align="center">';

		// 初日以前 or 末日以降なら空セル
		if ( intDate <= intDateBefore || intDate > (intDateBefore + objDateEnd.getDate() ) ) {
			strHTML +="&nbsp;";

		// 月内なら通常セル
		} else {
			intThisDate = intDate - intDateBefore;

			//記事の存在を判別してアンカー付加
			if (arrDiary[intThisDate]) {
				strThisDate = '<a href="/?p=diarylist&d=' + arrDiary[intThisDate]['date'] + '">' + intThisDate + '</a>';
			} else {
				strThisDate = intThisDate;
			}

			// 曜日を判別してセル出力
			if ( intDate % 7 == 1 ) {
				strHTML += '<span class="sunday">' + strThisDate + '</span>';
			} else if ( intDate % 7 == 0 ) {
				strHTML += '<span class="saturday">' + strThisDate + '</span>';
			} else {
				strHTML += '' + strThisDate;
			}
		}

		strHTML +='</td>';

		// 土曜なら行閉じる
		if ( ( intDate % 7 ) == 0 ) {
			strHTML +='</tr>';
		}
	}

	/*-----------------------*/
	// フッタ。
	/*-----------------------*/
	strHTML +='</table>';

	var elmOutbox = document.getElementById('calendar_outbox');
	elmOutbox.innerHTML = strHTML;
	// elmOutbox.innerHTML = '<span style="color: #ff0000">カレンダー修正中。</span>';
}
/*---- カレンダー表示ここまで ----*/
/*---- 指紋系ここから ----*/
function toggleFootprint(intDiaryID, strOwnerID, strUserID){
	var elmDivOutline	= document.getElementById('footprint_outline_'+intDiaryID);
	var elmDivContent	= document.getElementById('footprint_content_'+intDiaryID);
	if (elmDivOutline.style.display == "none") {
		elmDivOutline.style.display = "block";
		if (elmDivContent.innerHTML == "") {
			elmDivContent.innerHTML = "loading...";
			// alert("Ajaxでゲットだぜ!!");
			getFootprint(intDiaryID, strOwnerID, strUserID);
		}
	} else {
		elmDivOutline.style.display = "none";
	}
}

function getFootprint(intDiaryID, strOwnerID, strUserID){
	var params = Array();
	params['strOwnerID']	= strOwnerID;
	params['strUserID']		= strUserID;
	params['intDiaryID']	= intDiaryID;
	// Ajax.call('getFootprint', params, 'listFootprint');
	listFootprint(params);
}

function listFootprint(response){
	// alert(response.intDiaryID);
	var elmDivOutline	= document.getElementById('footprint_outline_'+response.intDiaryID);
	var elmDivContent	= document.getElementById('footprint_content_'+response.intDiaryID);
	elmDivContent.innerHTML = "list comes here.";
}

function leaveFootPrint(){
}
/*---- 指紋系ここまで ----*/

//外部JS読込みようloader.js.inc
//(function(l){var f,m,p,e,t;(function g(){m=l.shift();if(!m)return f&&f();if(typeof m=='string'||m instanceof String)m={window:m};for(p in m){if(p=='window'||eval('typeof '+p)=='undefined'){e=document.createElement('script');e.type='text/javascript';e.src=m[p];document.documentElement.appendChild(e)}}t=setInterval(function(){for(p in m){if(eval('typeof '+p)=='undefined')return}clearInterval(t);g()},99)})();return function(c){return function(){var a=arguments;f=function(){c.apply(c, a)}}}})
/*
function getContentWidth(){
	var element = document.getElementById('center') || document.getElementById('center2');
	divs = element.getElementsByTagName('div');
	for(i=0; i<divs.length; i++){
		if( (divs[i].getAttribute('class') ||  divs[i].getAttribute('className') ) == 'contents-box'){
			element = divs[i];
			break;
		}
	}
	return $(element).width();
}
*/

//ログイン
function doChallengeAuth( loginForm ) {
	var form2 = document.getElementById('challengeform');
	form2.user_id.value = loginForm.user_id.value;
	//form2.hash.value = (loginForm.pass.value != '') ? md5(loginForm.user_id.value+loginForm.pass.value+form2.challenge.value) : '';
	form2.hash.value = (loginForm.pass.value != '') ? md5(loginForm.pass.value) : '';
	form2.cookie.value = (loginForm.cookie.checked) ? 1 : 0;

	form2.after_login.value = (loginForm.after_login) ? loginForm.after_login.value : form2.after_login.value;
	form2.from.value = (loginForm.from) ? loginForm.from.value : form2.from.value;

	if (loginForm.relation_id && loginForm.relation_type) {
		form2.relation_type.value = loginForm.relation_type.value;
		form2.relation_id.value = loginForm.relation_id.value;
	}
	form2.submit();
}

if(window.AjaxClient){
	Ajax = new AjaxClient('Ajax');
	Ajax.gateway = '/ajax.php';
}
//カート
function changeCart(i){
	if (i==2){
		cart.style.visibility = 'visible';
		html = "<a href='javascript:void(0);' onClick='changeCart(1)'><span class='cartItem'>▲&nbsp;</span>カート非表示</a>";
	} else {
		cart.style.visibility = 'hidden';
		html = "<a href='javascript:void(0);' onClick='changeCart(2)'><span class='cartItem'>▼&nbsp;</span>カート表示</a>";
	}
	cartBtn.innerHTML = html;
}

//翻訳
/*
function textTranslate(id, lang) {
    var text = document.getElementById(id).innerHTML;

	var code_node = new RegExp('(<!--(((?:(?!-->).)|\n)*?)-->|<(([^>]|\n)*?)>|(([^<]|\n)*))', 'igm');
	var tags = text.match(code_node);

	document.getElementById(id).innerHTML = '';

	var line = '';
	var cnt = tags.length - 1;
	for(var i in tags){

		if(line.length > 5000 || i >= cnt){
			//alert(line);
			//alert(i +"<"+ lines.length);

			args = Object();
			args['id']			= id;
			args['from']		= (document.getElementById(id).lang) ? document.getElementById(id).lang : 'ja';
			args['to']			= lang;
			args['text']		= line; //max 5000chara
			Ajax.call('textTranslate', args, 'responseTextTranslate');

			line = '';
		}else{
			line += tags[i];
		}

	}
}
*/
function textTranslate(id, lang, type) {
    var text =  document.getElementById(id).getAttribute('org');

	if(lang){
		args = Object();
		args['id']			= id;
		//args['from']		= (document.getElementById(id).lang) ? document.getElementById(id).lang : 'ja';
		args['to']			= lang;
		args['text']		= text;
		args['type']		= (type) ? type : false;
		Ajax.call('textTranslate', args, 'responseTextTranslate');
	}else{//オリジナル
		document.getElementById(id).innerHTML = text;
	}
}
function responseTextTranslate(result){
	if(result.responseTranslate.responseStatus == 200){
		//document.getElementById(result.id).lang = result.to;
		
		document.getElementById(result.id).innerHTML = result.responseTranslate.responseData.translatedText;

	}else{
		alert(result.responseTranslate.responseDetails);
	}
}
function displayChange(id, elm){

	var obj = document.getElementById(id);
/*
	if(elm){ //位置設定
		var pos = getOffsetPosition(elm);
		obj.style.left = pos.x+"px";
	}*/
	obj.style.display = (obj.style.display=='block') ? 'none' : 'block';

	return;
}

	function getOffsetPosition(elem){
		var obj = new Object();
		obj.x = elem.offsetLeft;
		obj.y = elem.offsetTop;
		while(elem.offsetParent) {
			elem = elem.offsetParent;
			obj.x += elem.offsetLeft;
			obj.y += elem.offsetTop;
		}
		return obj;
	}

//getパラメーター取得
				function getRequest(){
				  if(location.search.length > 1) {
				    var get = new Object();
				    var ret = location.search.substr(1).split("&");
				    for(var i = 0; i < ret.length; i++) {
				      var r = ret[i].split("=");
				      get[r[0]] = r[1];
				    }
				    return get;
				  } else {
				    return false;
				  }
				}

