/**
 *
 * IE判定
 *
 */
function is_MSIE() {
	if (window.opera) { //Opera
		return false;
	} else if (document.all) {
		return true;
	} else {
		 return false;
	}
}

/**
 *
 * 画像切り替え
 *
**/
function smartRollover(base, flip) {
	var imgs = document.images;
	if (!document.images) {
		return false;
	}
	var pre = new Array();
	for (var i = 0; i < imgs.length; i++) {
		var src = imgs[i].src;
		if (src.match(base)) {
			// 画像先読み
			pre[i] = new Image();
			pre[i].src = src.replace(base, flip);

			// ロールオーバー設定
			imgs[i].onmouseover = function() {
				this.src = this.src.replace(base, flip);
			}
			imgs[i].onmouseout = function() {
				this.src = this.src.replace(flip, base);
			}
		}
	}
}

/**
 *
 * イベント追加
 *
**/
function addEvent(elm, eventName, func) {
	if (elm.addEventListener) {
		elm.addEventListener(eventName, func, false);
		return true;
	} else if (elm.attachEvent) {
		elm.attachEvent("on"+eventName, func);
		return true;
	} else {
		return false;
	}
}


/**
 *
 * 別窓オープン
 *
**/
function external() {
	if (!document.getElementsByTagName) {
		return;
	}
	var anchors = document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute('class') == 'external' || anchor.getAttribute('className') == 'external') {
			anchor.setAttribute('target', '_blank');
		}
	}
}

/**
 *
 * OS判定
 *
**/
function get_os() {
	var os;
	var ua = navigator.userAgent;

	if (ua.match(/Win(dows )?NT 6\.1/)) {
		// Windows 7
		os = "Windows 7";  

	} else if (ua.match(/Win(dows )?NT 6\.0/)) {
		// Windows Vista
		os = "Windows Vista";

	} else if (ua.match(/Win(dows )?NT 5\.2/)) {
		// Windows Server 2003
		os = "Windows Server 2003";

	} else if (ua.match(/Win(dows )?(NT 5\.1|XP)/)) {
		// Windows XP
		os = "Windows XP";

	} else if (ua.match(/Win(dows)? (9x 4\.90|ME)/)) {
		// Windows ME
		os = "Windows ME";

	} else if (ua.match(/Win(dows )?(NT 5\.0|2000)/)) {
		// Windows 2000
		os = "Windows 2000";

	} else if (ua.match(/Win(dows )?98/)) {
		// Windows 98
		os = "Windows 98";

	} else if (ua.match(/Win(dows )?NT( 4\.0)?/)) {
		// Windows NT
		os = "Windows NT";

	} else if (ua.match(/Win(dows )?95/)) {
		// Windows 95
		os = "Windows 95";

	} else if (ua.match(/Mac|PPC/)) {
		// Macintosh
		os = "Mac OS";

	} else if (ua.match(/Linux/)) {
		// Linux
		os = "Linux";

	} else if (ua.match(/(Free|Net|Open)BSD/)) {
		// BSD 系
		os = RegExp.$1 + "BSD";

	} else if (ua.match(/SunOS/)) {
		// Solaris
		os = "Solaris";

	} else {
		// 上記以外 OS
		os = "N/A";

	}

	return os;
}

function clock() {
	var dt = new Date();
	var y = dt.getFullYear();
	var m = dt.getMonth() + 1;
	var d = dt.getDate();
	var w = dt.getDay();
	var h = dt.getHours();
	var min = dt.getMinutes();
	var sec = dt.getSeconds();
	var wday = new Array('日', '月', '火', '水', '木', '金', '土');
	var wday_en = new Array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
	// 引数チェック
	if (arguments.length > 0) {
		// 和暦表示
		if (arguments[0] == 1) {
			return sei2wa(y, m, d) + '('+ wday[w] +')' + h + ':' + min;
		}
	} else {
		return y + '/' + m + '/' + d + '(' + wday_en[w] + ')' + h + ':' + min;
	}
}
function clock2(time) {
	var dt = new Date();
	dt.setTime(time);
	var y = dt.getFullYear();
	var m = dt.getMonth() + 1;
	var d = dt.getDate();
	var w = dt.getDay();
	var h = dt.getHours();
	var min = dt.getMinutes();
	var sec = dt.getSeconds();
	var wday = new Array('日', '月', '火', '水', '木', '金', '土');
	var wday_en = new Array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
	// 引数チェック
	if (arguments.length > 1) {
		// 和暦表示
		if (arguments[1] == 1) {
			return sei2wa(y, m, d) + '('+ wday[w] +')' + digits(h, 2) + ':' + digits(min, 2);
		}
	} else {
		return y + '/' + m + '/' + d + '(' + wday_en[w] + ')' + digits(h, 2) + ':' + digits(min, 2);
	}
}
function sei2wa(y, m, d) {
	var seireki = {
		'meiji'  : 18680908,
		'taisho' : 19120730,
		'showa'  : 19261215,
		'heisei' : 19890108
	}
	var ymd = y * 10000 + m * 100 + d;

	if (seireki.meiji > ymd) {
		return y + '年' + m + '月' + d + '日';
	}
	if (seireki.taisho > ymd && seireki.meiji <= ymd) {
		return '明治' + (y - 1867) + '年' + m + '月' + d + '日';
	}
	if (seireki.showa > ymd && seireki.taisho <= ymd) {
		return '大正' + (y - 1911) + '年' + m + '月' + d + '日';
	}
	if (seireki.heisei > ymd && seireki.showa <= ymd) {
		return '昭和' + (y - 1925) + '年' + m + '月' + d + '日';
	}
	if (seireki.heisei <= ymd) {
		return '平成' + (y - 1988) + '年' + m + '月' + d + '日';
	}
}
function digits(num, digits) {
	num = num.toString();
	for (var i = num.length; i < digits; i++) {
		num = '0' + num;
	}
	return num;
}

/**
 *
 * フォントセット
 *
**/
function set_fontfamily()  {
	switch (get_os()) {
		case "Windows Server 2003":
		case "Windows XP":
		case "Windows 2000":
		case "Windows ME":
		case "Windows NT":
		case "Windows 98":
		case "Windows 95":
		//case "Windows 7":
			$("body").css("font-family", "'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif;'");
		default:
			break;
	}
}

/**
 *
 * IE6判定
 *
**/
function is_IE6() {
	if (typeof document.documentElement.style.maxHeight == "undefined") {
		return true;
	}
	return false;
}

// 全角英語を半角英語に変換
function zen2han(zenVal) {
	han = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,-+@_";
	zen = "０１２３４５６７８９ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ．，－＋＠＿";
	str = "";
	for (i = 0; i < zenVal.length; i++) {
		c = zenVal.charAt(i);
		n = zen.indexOf(c, 0);
		if (n >= 0) {
			c = han.charAt(n);
			str += c;
		} else {
			str += c;
		}
	}
	if (str == "") {
		return zenVal;
	} else {
		return str;
	}
}

function han2zen(text){
	//検索文字列を変換するための変換文字列配列
	var Kana1 = new Array(
		"ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ",
		"ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ","ｦ","ｧ",
		"ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ",
		"ｺ","ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ",
		"ﾌ","ﾍ","ﾎ","ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ"
	);
	var Kana2 = new Array(
		"ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
		"ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
		"ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
		"キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
		"ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
		"ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン"
	);
	while(text.match(/[ｦ-ﾝ]/)){ //半角カタカナがある場合
		for(var i = 0; i < Kana1.length; i++){
			text = text.replace(Kana1[i], Kana2[i]); //文字列置換
		}
	}
	return text;
}

function hira2kana(text) {
	//検索文字列を変換するための変換文字列配列
	var Hira = new Array(
		"が","ぎ","ぐ","げ","ご","ざ","じ","ず","ぜ","ぞ","だ","ぢ",
		"づ","で","ど","ば","び","ぶ","べ","ぼ","ぱ","ぴ","ぷ","ぺ","ぽ","を","ぁ",
		"ぃ","ぅ","ぇ","ぉ","ゃ","ゅ","ょ","っ","ー","あ","い","う","え","お","か",
		"き","く","け","こ","さ","し","す","せ","そ","た","ち","つ","て","と","な",
		"に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や",
		"ゆ","よ","ら","り","る","れ","ろ","わ","ん"
	);
	var Kana = new Array(
		"ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
		"ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
		"ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
		"キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
		"ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
		"ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン"
	);
	while(text.match(/[あ-ん]/)){ //半角カタカナがある場合
		for(var i = 0; i < Hira.length; i++){
			text = text.replace(Hira[i], Kana[i]); //文字列置換
		}
	}
	return text;
}


