/* 
	京王研究室 openwin.js	(C)K.Oka
	ver.2.00 : Nov.09,2005
	(update)Nov.13,2005, Jan.01,2006, Jan.20,2006, Feb.18,2006
	ver.2.10 : Mar.12,2006
	(update)May.04,2006, Jul.19,2006, Dec.28,2006, Jan.04,2007, Jan.11,2007
		Feb.26,2007, Jul.01,2007, Jul.07,2007, Oct.28,2007, Nov.05,2007
	ver.2.20 : Dec.18,2007：Firefox対策
				・OpenWindowでリンク元のCSSを読み込み背景色を設定
				・タイトルバーにドメイン名を非表示
	ver.2.30 : Feb.27,2008：OpenPicture2の引数でinnerHTMLを利用
	(update)Mar.10,2008 ： OpenPicture2にaltとtitleからのタイトル文字列抽出を追加
		Jun.23,2009 ： OpenPicture2に特急デワさんを追加
*/

// ディレクトリ文字列
dir_array = new Array(
	'',
	'http://homepage1.nifty.com/OkaLab/images/',
	'http://okalab.cocolog-nifty.com/photos/uncategorized/',
	'',
	'images/',
	'greencar/',
	'deepred/',
	'stainpla/',
	'cherryblue/',
	'leafgreen/',
	'rainbow/',
	'midnight/',
	'auxiliary/',
	'controller/',
	'cooler/',
	'moter/',
	'truck/'
);

function OpenPicture(ymd, FileName, ii) {
// 編成写真用
	var w = 480;
	var h = 360;
	var ttl = FileName.replace(/_[0-9]+/,'');	// '_'以降はカット
	var imgsrc = FileName;
	var person = '';

	switch (ymd) {
		case '19831008':
			if (FileName == '3001') {
				imgsrc = '1912';
			}
			break;
		case '19831012':
			if (FileName == '3007') {
				imgsrc = '1905';
			}
			break;
		case '19850807':
			if (FileName == '6004') {
				w = 360;
			}
			break;
		case '19960109':
			if (FileName == '1001') {
				w = 317;
			}
			break;
		case '20011112':
			// 「臙脂色の輝き」7424F
			person = ' 橋本特急0700列車さん';
			w = 264;
			break;
		case '20040912':
			// 写真展示室「昼下がりの一時」
			if (FileName == '9003') {
				ttl += 'F, 7004F, 6048';
			}
			break;
		case '20050101':
			if (FileName.substr(4,1) == '_') {
			// 終夜運転「高尾」表示幕
				person = ' 橋本特急0700列車さん';
			}
			break;
		case '20050213':
			// 写真展示室「1000の並び」
			if (FileName == '1003') {
				ttl += 'F & 1008';
			}
			break;
		case '20060101':
			switch (FileName) {
				case '8031':
				// 8031F
					person = ' まけいぬさん';
					break;
				case '7015':
				case '8027':
				// 7015Fと8027F
					person = ' 橋本特急0700列車さん';
					if (FileName == '7015') {
						w = 360;
					}
					break;
			}
			break;
		case '20070101':
			if (FileName == '8031') {
				person = " 帰宅快速さん";
			}
			break;
		case '20070524':
			// 写真展示室「同時進入」
			if (FileName == '7203') {
				ttl += 'F+7003F & 8025';
			}
			break;
	}

	ttl += 'F（' + ymd.substr(0,4) + '年' + (ymd.substr(4,2)-0) + '月';
	if (ymd.substr(6,2) != '00') {
		ttl += (ymd.substr(6,2)-0)+'日';
	}
	ttl += person + '撮影）';

	imgsrc = Directory(ii) + ymd.substr(2,6) + '_' + imgsrc;
	OpenWindow(ttl, imgsrc, w, h);
}

function OpenPicture1(ymd, FileName, ii) {
// 形式写真用
	var w = 480;
	var h = 360;
	var ttl = FileName.replace(/_[0-9]+/,'');	// '_'以降はカット
	var imgsrc = FileName;
	var person = '';

	if (FileName.length == 3) {
	// 3桁形式は事業用車
		switch (FileName) {
			case '201':
				ttl = 'デニ' + ttl;
				if (ymd == '19831107') {
					ttl += '+デワ221';
				}
				break;
			case '211':
				ttl = 'デト' + ttl;
				break;
			case '221':
			case '601':
			case '621':
			case '631':
				ttl = 'デワ' + ttl;
				break;
			case '281':
				ttl = 'ホキ' + ttl;
				break;
			case '291':
				ttl = 'チキ' + ttl;
				break;
			case '512':
			case '587':
			// デワ5125F
				imgsrc += '5';
				ttl = ((imgsrc == '5875') ? 'クワ':'デワ') + imgsrc;
				break;

		}
	} else {
	// 旅客車
		switch (FileName.substr(0,2)) {
			case '10':
				if (FileName.substr(2,1) != '-') {
				// 都営車以外（＝新旧1000系）
					ttl = 'デハ' + ttl;
				}
				break;
			case '12':
			case '13':
			case '15':
			case '25':
			case '65':
			case '75':
			case '76':
			case '85':
			case '95':
			case '96':
				ttl = 'サハ' + ttl;
				break;
			case '17':
			case '37':
			case '57':
			case '67':
			case '68':
			case '77':
			case '78':
			case '87':
			case '88':
			case '97':
				ttl = 'クハ' + ttl;
				break;
			default:
				ttl = "デハ" + ttl;
				break;
		}
	}

	switch (ymd) {
		case '19841118':
			person = ' TO-MIXさん';
			break;
		case '19921004':
			person = ' 特急デワさん';
			h = 340;
			break;
		case '20050724':
			// 写真展示室「平山の保存車たち」
			if (FileName == 'hirayama') {
				ttl = '平山の保存車';
			}
			break;
	}

	ttl = ttl.replace(/c/,'運転台')	// 'c'を'運転台'に置換;
	ttl = ttl.replace(/r/,'車内')	// 'r'を'車内'に置換;
	ttl += '（' + ymd.substr(0,4) + '年' + (ymd.substr(4,2)-0) + '月';
	if (ymd.substr(6,2) != '00') {
		ttl += (ymd.substr(6,2)-0)+'日';
	}
	ttl += person + '撮影）';

	imgsrc = Directory(ii) + ymd.substr(2,6) + '_' + imgsrc;
	OpenWindow(ttl, imgsrc, w, h);
}

function OpenPicture2(FileName, ii) {
// 機器写真用
	var w = 480;
	var h = 360;
	var ttl = '';
	var imgsrc = '';
	var person = '';
	var flag = (ii & 0x300) >> 8;

	if (flag == 0) {
		imgsrc = FileName;
		ttl = FileName.replace(/_[0-9]+/,'');	// '_'以降はカット
		switch (FileName) {
			case 'TS-823A_2':
			case 'Cerajet':
				person = '310';
				if (FileName == 'Cerajet') {
					ttl = 'セラジェット装置';
				}
				break;
			case 'TS-801_51':
			case 'TDK-840A':
				person = '51';
				break;
			case 'TDK-9C':
				person = 'まけいぬ';
				break;
			case 'PIII':
				person = 'TO-MIX';
				ttl = ttl + '台車';
				break;
			case 'KH-14':
				imgsrc = '050724_kh14';
				break;
			case 'TS-307':
			case 'TS-307A':
			case 'TS-321A':
			case 'KH-53':
			case 'NA-318T':
			case 'NA-321T':
			case 'NA-321AT':
			case 'KH-53A':
			case 'ES-556B':
			case 'MMC-LHTB-20A':
			case 'MMC-HTB-20B':
				person = '特急デワ';
				break;
			case 'TCH-10_2':
				person = '小僧';
				break;
			case 'TDK-362':
				ttl += '/1-B';
				break;
		}
		if (person != '') {
			ttl += '（提供：' + person + 'さん）';
		}
	} else {
	// ファイル名をimgタグのsrc属性から取得
		var ymd = '';
		var p1 = FileName.indexOf('src=') + 5;
		var p2 = FileName.indexOf('s.jpg', p1);
		if (FileName.substr(p2 - 1,1) == "_") {p2--;}	// _s.jpgのときの処理
		var imgsrc = FileName.substring(p1, p2).replace(/"/g, '');
		p1 = imgsrc.lastIndexOf("/",imgsrc.length - 1) + 1;	// ディレクトリ名の削除（Mar.10,2008追加）
		if (p1 != 0) {
			imgsrc = imgsrc.substring(p1);
		}
		p1 = (imgsrc.match(/^[0-9]{6}_/));	// ファイル名から年月日の取出し
		if (p1 != null) {
			ymd = p1[0];
		}

	// タイトル文字列
		switch (flag) {
			case 1:
			// aタグで囲まれているテキストを抽出
				p1 = FileName.search(/<br>/i);
				ttl = FileName.substring(p1 + 4).replace(/^\s+/, '');
				break;
			case 2:
			// imgタグのalt属性を抽出（Mar.10,2008追加）
				p1 = FileName.indexOf('alt=') + 4;
				p2 = FileName.indexOf(' ', p1) ;
				ttl = FileName.substring(p1, p2).replace(/"/g,'');
				break;
			case 3:
			// imgタグのtitle属性を抽出（Mar.10,2008追加）
				p1 = FileName.indexOf('title=') + 6;
				p2 = FileName.indexOf(' ', p1) ;
				ttl = FileName.substring(p1, p2).replace(/"/g,'');
				break;
		}
	// 画像高さの算出
		p1 = FileName.indexOf('height=') + 7;
		p2 = FileName.indexOf(' ', p1) ;
		h = FileName.substring(p1, p2).replace(/"/g,'');
		switch (parseInt(h)) {
			case 98:
				h = 325;
				break;
			case 86:
				h = 288;
				break;
			default:
				h = 360;
		}
	// 撮影日の処理
		if (ymd.length != 0) {
			p1 = parseInt(ymd.substr(0,2), 10);
			if (p1 >= 75) {
				p1 += 1900;
			} else {
				p1 += 2000;
			}
			ttl += '（' + p1 + '年' + parseInt(ymd.substr(2,2), 10) + '月';
			if (ymd.substr(4,2) != '00') {
				ttl += parseInt(ymd.substr(4,2), 10) + '日';
			}
			ttl += person + '撮影）';
		}
	}
	OpenWindow(ttl, Directory(ii) + imgsrc, w, h);
}

function OpenWindow(ttl,imgsrc, w, h) {
// ウィンドウを開く
	var lflag = 0;
	if (navigator.userAgent.indexOf("SV1") >= 0) {
		lflag = 1;	// IE6.0(SP2)ならばアドレスバーを表示
	} else if ((navigator.userAgent.indexOf("Firefox") >= 0) && (navigator.userAgent.indexOf("Windows NT 5.1") >= 0)) {
		lflag = 1;	// Windows XPでかつFirefoxならばアドレスバーを表示
	}
	var win=window.open('','picture_window','width=480,height=360,location='+lflag);
	var topmrg = Math.floor((360 - h) / 2);		// 上下マージンの計算
	var leftmrg = Math.floor((480 - w) / 2);	// 左右マージンの計算
	with (win.document) {
		open();
		write('<html>');
		write('<head>');
		write('<title>');
		write(ttl);
		write('<','/title>');
		write('<link rel=\"stylesheet\" type=\"text/css\" href=\"',document.styleSheets[0].href,'\">');
		write('<meta http-equiv="Pragma" content="no-cache">'); 
		write('<meta http-equiv="Cache-Control" content="no-cache">'); 
		write('<meta http-equiv="Expires" content="0">'); 
		write('<meta http-equiv="imagetoolbar" content="no">');
		write('<','/head>');
		write('<body topmargin=',topmrg,' leftmargin=',leftmrg,' marginheight=',topmrg,' marginwidth=',leftmrg,'>');
		write('<img src=\"',imgsrc,'.jpg\" oncontextmenu=\"return false;\" onclick=\"window.close();\" border=0 width=',w,' height=',h,'>');
		write('<','/body>');
		write('<head>');
		write('<meta http-equiv="Pragma" content="no-cache">'); 
		write('<','/head>');
		write('<','/html>');
 		close();
	}
	win.focus();
}

function Directory(ii) {
/*
   ディレクトリ文字列の作成
	bit0-4：ディレクトリ番号
	bit5：ルートディレクトリ＝0、子ディレクトリ＝1
	現バージョンではルートもしくは1階層下のディレクトリのみに対応
*/
	var s = '';
	var i = 0;
	if (((ii & 0x20) >> 5) == 1) {
	// 親ディレクトリ
		s = '../';
	}
	s += dir_array[ii & 0x1f];
	return(s);
}