
/**************************************************************
  お気に入り・応募済み管理用JSファイル

  所有者：株式会社ボイスバンク
  無断で転用することを禁止します

  ファイル名：fav_app.js
  文字コード：UTF-8N
**************************************************************/

//クッキーの有効期限
var CookieReserve = 31;

//お気に入りクッキー名
var CookeiNameFav = 'FavL';

//応募済みクッキー名
var CookeiNameApp = 'AppL';

//お気に入り最大数(超えると追加できない)
var MaxFav = 5;

//応募済み最大数(超えると古いものから消える)
var MaxApp = 10;

//会社名文字数制限（エンコード後のバイト数）
var LimitNameB = 128;

//詳細ページのリンク先( %CODE% が顧客コードに変換される)
//var PageLink = 'http://www.movie-im.jp/cgi/detail/%CODE%.html';
//var PageLink = 'http://www.movie-im.local/cgi/detail/%CODE%.html';
//var PageLink = '/detail/%CODE%.html';
var PageLink = '/%CODE%.html';

/***************************************************************************/

//まとめちゃおっと！
var FandA = {};

/***************************************************************************
■■■お気に入り処理■■■
***************************************************************************/

//お気に入り登録
FandA.setFavorite = function(Target,Str1,Str2){
	if (Target) FandA.openPopup(Target);
	Str1 = Str1.replace(/\t/g,'');
	Str2 = FandA.textCut(Str2.replace(/\t/g,''));
	var FavV = FandA.getCookie(CookeiNameFav).replace(/\n+$/,'').split('\n');
	var FavV2 = new Array();
	if (FavV.length >= MaxFav) {
		alert(MaxFav+" 件につき登録できません");
		return;
	}
	for (var i in FavV){
		if (!FavV[i].match(new RegExp('^'+Str1+'\t'))) FavV2.push(FavV[i]+'\n');
	}
	FandA.setCookie(CookeiNameFav,Str1+'\t'+Str2+'\t\n'+(FavV2.join('')));
//	alert(document.cookie.length+' / 4096 ('+parseInt(document.cookie.length/4096*100)+'%)');
}

//お気に入り選択削除
FandA.delFavorite = function(Str1){
	if (Str1 == null) return;
	var FavV = FandA.getCookie(CookeiNameFav).replace(/\n+$/,'').split('\n');
	var FavV2 = new Array();
	for (var i in FavV){
		if (!FavV[i].match(new RegExp('^'+Str1+'\t'))) FavV2.push(FavV[i]+'\n');
	}
	FandA.setCookie(CookeiNameFav,FavV2.join(''));
	FandA.viewFavorite();
}

//お気に入り全削除
FandA.delallFavorite = function(){
	FandA.setCookie(CookeiNameFav,'');
}

//お気に入りタグ作成
FandA.loadFavorite = function(){
	var FavV = FandA.getCookie(CookeiNameFav).replace(/\n+$/,'').split('\n');
	var FavVS;
	var Tag = '';
	var Link;
	Tag += '<table class="list_box" width="400" cellpadding="0" cellspacing="0" summary="お気に入りされた一覧があります">\n';
	if (FandA.getCookie(CookeiNameFav) != ''){
		for (var i in FavV){
			FavVS = FavV[i].split('\t');
			Link = PageLink.replace(/%CODE%/i,FavVS[0]);
			Tag +=
				' <tr class="line">\n'+
				'  <td class="cam" width="80%"><a href="JavaScript:FandA.openerLink(\''+Link+'\')">'+FavVS[1]+'</a></td>\n'+
				'  <td width="20%"><a href="JavaScript:FandA.delFavorite(\''+FavVS[0]+'\')">削除</a>&nbsp;|&nbsp;<a href="JavaScript:FandA.openerLink(\''+Link+'\')">詳細</a></td>\n'+
				' </tr>\n';
		}
	} else {
		Tag +=
			' <tr class="line">\n'+
			'  <td class="cam" width="100%">お気に入りは空です</td>\n'+
			' </tr>\n';
	}
	Tag += '</table>\n';
	return Tag;
}

//お気に入り一覧表示
FandA.viewFavorite = function(){
	if (document.getElementById("favarea") == null) return;
	document.getElementById("favarea").innerHTML = FandA.loadFavorite();
}





/***************************************************************************
■■■応募処理■■■
***************************************************************************/

//応募済み登録
FandA.setApplied = function(Target,Str1,Str2,Str3){
	if (Target) FandA.openPopup(Target);
	Str1 = Str1.replace(/\t/g,'');
	Str2 = FandA.textCut(Str2.replace(/\t/g,''));
	Str3 = Str3.replace(/\t/g,'');
	var AppV = FandA.getCookie(CookeiNameApp).replace(/\n+$/,'').split('\n');
	var AppV2 = new Array();
	var AppV3 = new Array();
	var i;
	AppV2.push(Str1+'\t'+Str2+'\t'+Str3+'\n');
	for (i in AppV){
		if (!AppV[i].match(new RegExp('^'+Str1+'\t'))) AppV2.push(AppV[i]+'\n');
	}
	for (i in AppV2){
		if (i > MaxApp - 1) break;
		AppV3.push(AppV2[i]);
	}
	FandA.setCookie(CookeiNameApp,AppV3.join(''));
//	alert(document.cookie.length+' / 4096 ('+parseInt(document.cookie.length/4096*100)+'%)');
}

//応募済み選択削除
FandA.delApplied = function(Str1){
	if (Str1 == null) return;
	var AppV = FandA.getCookie(CookeiNameApp).replace(/\n+$/,'').split('\n');
	var AppV2 = new Array();
	for (var i in AppV){
		if (!AppV[i].match(new RegExp('^'+Str1+'\t'))) AppV2.push(AppV[i]+'\n');
	}
	FandA.setCookie(CookeiNameApp,AppV2.join(''));
	FandA.viewApplied();
}

//応募済み全削除
FandA.delallApplied = function(){
	FandA.setCookie(CookeiNameApp,'');
}

//応募済みタグ作成
FandA.loadApplied = function(){
	var AppV = FandA.getCookie(CookeiNameApp).replace(/\n+$/,'').split('\n');
	var AppVS;
	var Tag = '';
	var Link;
	Tag += '<table class="list_box" width="400" cellpadding="0" cellspacing="0" summary="応募された一覧があります">\n';
	if (FandA.getCookie(CookeiNameApp) != ''){
		for (var i in AppV){
			AppVS = AppV[i].split('\t');
			Link = PageLink.replace(/%CODE%/i,AppVS[0]);
			Tag +=
				' <tr class="line">\n'+
				'  <td class="cam" width="80%"><a href="JavaScript:FandA.openerLink(\''+Link+'\')">'+AppVS[1]+' ('+AppVS[2]+')</a></td>\n'+
				'  <td width="20%"><a href="JavaScript:FandA.delApplied(\''+AppVS[0]+'\')">削除</a>&nbsp;|&nbsp;<a href="JavaScript:FandA.openerLink(\''+Link+'\')">詳細</a></td>\n'+
				' </tr>\n';
		}
	} else {
		Tag +=
			' <tr class="line">\n'+
			'  <td class="cam" width="100%">応募はございません</td>\n'+
			' </tr>\n';
	}
	Tag += '</table>\n';
	return Tag;
}

//応募済み一覧表示
FandA.viewApplied = function(){
	if (document.getElementById("apparea") == null) return;
	document.getElementById("apparea").innerHTML = FandA.loadApplied();
}

/***************************************************************************
■■■共用関数■■■
***************************************************************************/


//文字量を設定値に制限
FandA.textCut = function(Str1){
	if (Str1 == null || Str1 == '') return '';
	var CutTX = '';
	while(LimitNameB < escape(Str1).length){
		Str1 = Str1.substring(0,Str1.length - 1);
		CutTX = '...';
	}
	return Str1 + CutTX;
}

//クッキー取得処理
FandA.getCookie = function(cName){
	var Cookie = document.cookie.replace(/ /g,'').split(';');
	var RetC = '';
	var ChopC;
	for (var Cv in Cookie){
		if (Cookie[Cv].indexOf('=') < 0){
			Cookie[Cv]+='=';
		}
		ChopC = Cookie[Cv].split('=');
		if (ChopC[0] == escape(cName)){
			RetC = unescape(ChopC[1]);
			break;
		}
	}
	return RetC;
}

//クッキー登録処理（期限付きルートＤＩＲ）
FandA.setCookie = function(pName,pValue){
	var setDay;
	if(pName != null){
		setDay = new Date();
		setDay.setTime(setDay.getTime() + (CookieReserve * 86400000));
		expDay = setDay.toGMTString().replace(/UTC/,'GMT');
		document.cookie = escape(pName)+'='+escape(pValue)+';domain=movie-im.jp;expires='+expDay+';path=/';
		return true;
	}
	return false;
}

// オープン元のページへリンク反映
FandA.openerLink = function(Link){ 
	window.opener.location.href = Link;
}

// ポップアップウィンドウの表示
FandA.openPopup = function(Target){ 
	newWin = window.open("",Target,"width=650,height=580,scrollbars=1,resizable=1,menubar=0,directories=0,status=0,screenX=0,screenY=0,left=50,top=50")
	newWin.focus();
}


