(function($){
	$(function(){
		//rollover
		initRollOverImages();
		//png fix
		$('.pngfix').ifixpng();
		//visitorNav first-child		
		$("#visitorNav li:first").addClass("visitorfirst");
		//eventarticle first-child		
		$("#eventarticle li:first, #eventarticle_faculty li:first, #eventarticle_graduateschool li:first, #eventarticle_students li:first, #eventarticle_gsstudents li:first").addClass("eventfirst");
		//検索ボックスセット
		$("input[name='q']").toggleVal();
		//table class tr_odd_evenのtrにclass付与
		$('table.tr_odd_even tr:even').addClass('even');
		//table class td_odd_evenのtdにclass付与
		$('table.td_odd_even td:even').addClass('even');
		// ul, ol class list_odd_evenのliにclass付与
		$('ul.list_odd_even li:even, ol.list_odd_even li:even').addClass('even');
		// 画像のリフレクト
		$('img.reflect').reflect();
		// ページの先頭へ処理
		$('.pagetop a').addClass("backtoPageTop");
		$(".pagetop a").click(function(){
			$(this).blur();
			backToTop();
			return false;
		});
		//本文プリント処理
		$.printText();
		//全画面プリント処理
		$.printAll();
		// ウィンドウクローズ処理
		$.winClose();
		//自ドメイン以外のリンクは新規ウインドウで開く
		openBlank();
		// rel=overlaysにclass付与
		relOverlaySet();
		// リンクのクラスによってアイコンを付与。自サイトはセルフで開く。
		linkIconSet();
		// Win Safari, Chrome, Firefox ,Opera CSS調整
		cssSet();
		// 半角英数折り返し
		$(".wbr").each(function(){  
			var tex = this.innerHTML;  
			var pattern = new RegExp('(.)', 'g');  
			var tag = jQuery.browser.opera ? '​' : '<wbr />';  
			$(this).html( tex.replace(pattern, '$1'+tag) );  
		});
	});
	
	
	// rollover
	function initRollOverImages() {
		var image_cache = new Object();
		$("img.hi").each(function(i) {
			var imgsrc = this.src;
			var dot = this.src.lastIndexOf('.');
			var imgsrc_hover = this.src.substr(0, dot) + '_hover' + this.src.substr(dot, 4);
			image_cache[this.src] = new Image();
			image_cache[this.src].src = imgsrc_hover;
			$(this).hover(
				function() { this.src = imgsrc_hover; },
				function() { this.src = imgsrc; });
			});
	}
	
	//本文プリント処理
	$.printText = function(settings){
		var c = $.extend({
			cssSelector: '#print_text a'
		}, settings);
		
		var cssHref = "/global/styles/print.css";
		
		$(c.cssSelector).click(function(){
			//印刷用スタイルを読み込む
				$("head").append('<link rel="stylesheet" href="'+ cssHref +'" type="text/css" media="print" />');
				window.print();
				setTimeout(function() { removeCss(); }, 500);
		});
		
		function removeCss(){
			$('link[href='+cssHref+']').remove();
		}
	}
	
	//全画面プリント処理
	$.printAll = function(settings){
		var c = $.extend({
			cssSelector: '#print_all a'
		}, settings);
		
		$(c.cssSelector).click(function(){
				window.print();
		});
	}

	// ウィンドウクローズ
	$.winClose = function(settings){
		var c = $.extend({
			cssSelector: '#windowclose a'
		}, settings);
		
		$(c.cssSelector).click(function(){
			closeWin();
			return false;
		});
	
	}

})(jQuery);

// ページの先頭へ
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);
	}
}



// ウィンドウクローズ
function closeWin(){
	window.opener = window;
	var win = window.open(location.href,"_self");
	win.close();
}

//自ドメイン以外のリンクは新規ウインドウで開く
function openBlank() {
		var domains = [document.domain,'www.shibaura-it.ac.jp','shibaura-it.ac.jp'];
		//var domains = [document.domain,'sit-stg.di.hartinmartin.com','sit.di.hartinmartin.com'];
		var domain_selector = "",left_str= ":not([href^=http://",left_str_https= ":not([href^=https://",right_str = "])";
		domain_selector = left_str+domains.join(right_str+left_str)+right_str;
		domain_selector+= left_str_https+domains.join(right_str+left_str_https)+right_str;
		//外部ドメインの場合、クラス付与
		$("a[href^=http]"+domain_selector+":not(:has(img))").addClass("external");
		$("a[href^=http]"+domain_selector).addClass("external_img");
		$('a[rel*=multimedia]').removeClass("external");
		$('a[rel*=multimedia]').removeClass("external_img");
}

//rel=overlaysにclass付与
function relOverlaySet() {
	$('a[rel*=overlays]').addClass("overlays");
	$('a[rel*=multimedia]').addClass("multimedia");
	$('a.overlays').append("<span class=\"icon_overlays\">拡大して表示</span>");
}

// リンクのクラスによってアイコンを付与
function linkIconSet(){
	//新規ウインドウ
	$("a.external, a.exlink").append("<img src=\"/global/images/icon_exlink.gif\" width=\"13\" height=\"13\" alt=\"新しいウインドウで開きます\" />");	
	//EXCEL
	$("a[href$='.xls']").addClass("excel");
	$("a.excel").append("<img src=\"/global/images/icon_excel.gif\" width=\"13\" height=\"13\" alt=\"Excelファイルを開きます\" />");
	//PDF
	$("a[href$='.pdf']").addClass("pdf");
	$("a.pdf").append("<img src=\"/global/images/icon_pdf.gif\" width=\"13\" height=\"13\" alt=\"PDFファイルを開きます\" />");
	//WORD
	$("a[href$='.doc']").addClass("word");
	$("a.word").append("<img src=\"/global/images/icon_word.gif\" width=\"13\" height=\"13\" alt=\"Wordファイルを開きます\" />");	
	//PPT
	$("a[href$='.ppt']").addClass("ppt");
	$("a.ppt").append("<img src=\"/global/images/icon_ppt.gif\" width=\"13\" height=\"13\" alt=\"PowerPointファイルを開きます\" />");
	//カテゴリのまたぎ
	$("a.above").append("<img src=\"/global/images/icon_abovecategory.gif\" width=\"96\" height=\"13\" alt=\"別のカテゴリに移動します\" />");
	//ブランク処理
	$("a.external, a.external_img, a.externalform, a.externalrss, a.externalbanner, a.exlink, a.excel, a.pdf, a.word, a.ppt").click(function(){
		window.open(this.href,"_blank");
		return false;
	});
	//biggerlink用HTMLセルフ処理
	$("a").not(".external, .external_img, .externalform, .externalrss, .externalbanner .exlink, .excel, .pdf, .word, .ppt, .overlays, .multimedia, .backtoPageTop").click(function(){
		window.open(this.href,"_self");
		return false;
	});		
}

//Win Safari, Chrome, Firefox ,Opera CSS調整
function cssSet() {
	var ua = navigator.userAgent.toLowerCase();
	if (ua.indexOf("win") != -1) {
		if(ua.indexOf("msie") != -1) { 
		}
		//Win Safari & Chrome & Firefox & Opera
		else if(ua.indexOf("webkit") != -1 || ua.indexOf("chrome") != -1 || ua.indexOf("mozilla") != -1 || ua.indexOf("opera") != -1) {
			var cssHref = "/global/styles/winmodernbrowserfix.css";
			//Win Safari, Chrome, Firefox ,Opera CSSを読み込む
			$("head").append('<link rel="stylesheet" href="'+ cssHref +'" type="text/css" media="all" />');
		}
	}
}