/* (C)Shinkousoku Printing Inc. http://www.sksp.co.jp/ */

$(function(){

	var cookieName = 'neurosurg-bri-niigata';
	var fontSizeLv       = 0;
	var fontSizeMinLv    = -1;
	var fontSizeMaxLv    = 1;
	var fontSizeLargeID  = 'fsize-large'
	var fontSizeSmallID  = 'fsize-small'
	var fontSizeMiddleID = 'fsize-middle'
	var rollOverElements = [];
	var mouseOverSuffix  = '_o';
	var mouseDownSuffix  = '_d';
	var isWin            = navigator.userAgent.toLowerCase().match(/Win|win/);
	var isOldIE          = (navigator.userAgent.toLowerCase().match(/(MSIE|msie) (5|6)\./) != null);
	var preloadImages    = [];

	var protocol = (document.location.protocol == 'file:') ? 'http:' : document.location.protocol;
	var domain  = 'neurosurg-bri-niigata.jp';//kousei.sksp.co.jp/bri
	var pngPath = protocol + '//' + domain + '/share/img/png.gif';
	
	var createCookie = function(value, days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime() + (24 * 60 * 60 * 1000 * days));
			var expires = '; expires=' + date.toGMTString();
		}
		else {
			expires = '';
		}
		document.cookie = cookieName + '=' + value + expires + '; path=/';
	}
	
	var readCookie = function() {
		var cookies = document.cookie.split(';');
		for (var i = 0, cookieLength = cookies.length; i < cookieLength; i++) {
			if (cookies[i].indexOf(cookieName + '=') >-1) {
				var cookie = cookies[i].split('=');
				return cookie[1];
			}
		}
		return null;
	}

	var setupFontSize =  function() {
		if (!$('#'+fontSizeLargeID) || !$('#'+fontSizeSmallID) || !$('#'+fontSizeMiddleID)) return;
		$largeButton = $('#'+fontSizeLargeID + ' img:first');
		$smallButton = $('#'+fontSizeSmallID + ' img:first');
		$middleButton = $('#'+fontSizeMiddleID + ' img:first');
		if (!$largeButton || !$smallButton || !$middleButton) return;
		rollOverElements.push($largeButton, $smallButton, $middleButton);
		setupRollOverImage();
		$.each(rollOverElements, function(i) {
			this.click(function(){
				switch ($(this).closest("dd").attr("id")) {
				case fontSizeLargeID :
					fontSizeLv = 1;
					break;
				case fontSizeSmallID :
					fontSizeLv = -1;
					break;
				case fontSizeMiddleID :
					fontSizeLv = 0;
					break;
				}
				setFontSizeController();
			});
		});
		var sizeLv = readCookie(cookieName);
		fontSizeLv = (sizeLv != null && !isNaN(sizeLv) && sizeLv >= -1 && sizeLv <= 1) ? parseInt(sizeLv) : 0;
		setFontSizeController();
	}
	
	var setFontSizeController = function() {
		switch (fontSizeLv) {
			case 1 :
				$('body').css('fontSize', '17px');
				break;
			case -1 :
				$('body').css('fontSize', '13px');
				break;
			case 0 :
				$('body').css('fontSize', '15px');
				break;
		}
		$largeButton = $('#'+fontSizeLargeID + ' img:first');
		$smallButton = $('#'+fontSizeSmallID + ' img:first');
		$middleButton = $('#'+fontSizeMiddleID + ' img:first');
		$largeButton.css('display', (fontSizeLv < 1) ? 'block' : 'none');
		$smallButton.css('display', (fontSizeLv > -1) ? 'block' : 'none');
		$middleButton.css('display', (fontSizeLv != 0) ? 'block' : 'none');
		createCookie(fontSizeLv, 30);
	}
	
	var replaceAlphaImage = function(element, type) {
		var original = element.src;
		var imageWidth = element.width;
		var imageHeight = element.height;
		element.src = pngPath;
		element.width = imageWidth;
		element.height = imageHeight;
		var src = (type) ? element[type] : (element.original) ? element.original : original;
		$(element).css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + src + '", sizingMethod="scale")')
	}

	var getRollOverButtons = function() {
		var elements = $('img.button , input.button');
		$.each(elements,function(){
			rollOverElements.push($(this));
		});
	}

	var setupIEpng = function() {
		if (isOldIE && isWin) {
			var imgs = $('img');
			$.each(imgs, function(){
				if($(this).attr('src').match(/\.png/) && this.original == null) replaceAlphaImage(this);
			});
			try {
				document.execCommand('BackgroundImageCache', false, true);
			}
			catch(err) {}
		}
	}

	var setupRollOverImage = function() {
		
		if (mouseOverSuffix == '') return;
		var elements = rollOverElements;
		
		$.each(elements, function() {

			var element = $(this);
			
			element.original  = element.attr('src');
			element.mouseover = element.original.replace(/(\.gif|\.jpg|\.png)/, mouseOverSuffix + '$1');
			
			element.useAlphaImageLoader = false;
			if (isOldIE && element.attr('src').match(/\.png/)) {
				element.useAlphaImageLoader = true;
				replaceAlphaImage(element);
			}
			
			var preOverImg = new Image();
			preloadImages.push(preOverImg);
		
			preOverImg.target = element;
			preOverImg.src = element.mouseover;
			
			preOverImg.onload = function() {
				$(this.target).mouseover(function(o){
					var o = (o.srcElement) ? o.srcElement : this;
					(o.useAlphaImageLoader) ? replaceAlphaImage(o, 'mouseover') : $(o).attr('src', element.mouseover);
					if (o.tagName.toLowerCase() == 'img' && o.parentNode.tagName.toLowerCase() != 'a') $(o).css('cursor', 'pointer');
				});
				$(this.target).mouseout(function(o){
					var o = (o.srcElement) ? o.srcElement : this;
					(o.useAlphaImageLoader) ? replaceAlphaImage(o) : $(o).attr('src', element.original);
				});
			}
		}); 
		
	}
	
	getRollOverButtons();
	setupRollOverImage();
	setupIEpng();
	setupFontSize();

});

function writeFlash(indent, src, attr, param) {
	
	var getIndent = function(indent) {
		var tabs = '\n';
		for (var i = 0; i < indent; i++) tabs += '\t';
		return tabs;
	};
	
	var getFlashPlayerMajorVersion = function() {
		if (navigator.plugins && navigator.mimeTypes.length) {
			return navigator.plugins['Shockwave Flash'].description.match(/([0-9]+)/)[0];
		}
		else {
			return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').match(/([0-9]+)/)[0];
		}
	};
	
	document.write(getIndent(indent) + '<object');
	if (navigator.userAgent.toLowerCase().match(/MSIE|msie/)) document.write(' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
	if (attr) for (var key in attr) document.write(' ' + key + '="' + attr[key] + '"');
	document.write(' data="' + src + '" type="application/x-shockwave-flash">');
	
	document.write(getIndent(indent+1) + '<param name="movie" value="' + src + '" />');
	if (param) {
		for (var key in param) {
			if (key != 'wmode') {
				document.write(getIndent(indent+1) + '<param name="' + key + '" value="' + param[key] + '" />');
			}
			else if (param[key] == 'transparent' || getFlashPlayerMajorVersion() < 10) {
				document.write(getIndent(indent+1) + '<param name="wmode" value="' + param[key] + '" />');
			}
		}
	}
	else if (getFlashPlayerMajorVersion() < 10) {
		document.write(getIndent(indent+1) + '<param name="wmode" value="opaque" />');
	}
	
	document.write(getIndent(indent) + '</object>');
	
}
/*

function getSearchForm() {
	document.write('\n\t\t\t<form action="http://neurosurg-bri-niigata.jp/search/" id="cse-search-box">');
	document.write('\n\t\t\t\t<dl>');
	document.write('\n\t\t\t\t\t<dt><input type="text" name="q" id="search-text" /></dt>');
	document.write('\n\t\t\t\t\t<dd><input type="hidden" name="cof" value="FORID:11" />');
	document.write('\n\t\t\t\t\t\t<input type="hidden" name="ie" value="UTF-8" />');
	document.write('\n\t\t\t\t\t\t<input type="hidden" name="cx" value="002543008594315049272:mep3l_9dqku" />');
	document.write('\n\t\t\t\t\t\t<input type="image" name="sa" src="http://kousei.sksp.co.jp/bri/share/img/cse/btn_search.png" alt="検索" id="search-button" class="button" /></dd>');
	document.write('\n\t\t\t\t</dl>');
	document.write('\n\t\t\t</form>');
}


function setCSEStyle() {
	$textbox = $('#search-text');
	$textbox.css({
		'width' : '142px',
		'height' : '16px',
		'border' : 'none',
		'margin' : '0',
		'padding' : '0',
		'fontSize' : '12px'
	});
}


function getFontSizeController() {
	document.write('\n\t\t\t<dl>');
	document.write('\n\t\t\t\t<dt><img src="http://kousei.sksp.co.jp/bri/share/img/fsize/text_font.gif" alt="文字サイズ" /></dt>');
	document.write('\n\t\t\t\t<dd id="fsize-small"><img src="http://kousei.sksp.co.jp/bri/share/img/fsize/btn_fsize_small.gif" alt="小" /></dd>');
	document.write('\n\t\t\t\t<dd id="fsize-middle"><img src="http://kousei.sksp.co.jp/bri/share/img/fsize/btn_fsize_middle.gif" alt="中" /></dd>');
	document.write('\n\t\t\t\t<dd id="fsize-large"><img src="http://kousei.sksp.co.jp/bri/share/img/fsize/btn_fsize_large.gif" alt="大" /></dd>');
	document.write('\n\t\t\t</dl>');
}
*/

function getSearchForm() {
	document.write('\n\t\t\t<form action="http://neurosurg-bri-niigata.jp/search/" id="cse-search-box">');
	document.write('\n\t\t\t\t<dl>');
	document.write('\n\t\t\t\t\t<dt><input type="text" name="q" id="search-text" /></dt>');
	document.write('\n\t\t\t\t\t<dd><input type="hidden" name="cof" value="FORID:11" />');
	document.write('\n\t\t\t\t\t\t<input type="hidden" name="ie" value="UTF-8" />');
	document.write('\n\t\t\t\t\t\t<input type="hidden" name="cx" value="002543008594315049272:mep3l_9dqku" />');
	document.write('\n\t\t\t\t\t\t<input type="image" name="sa" src="/share/img/cse/btn_search.png" alt="検索" id="search-button" class="button" /></dd>');
	document.write('\n\t\t\t\t</dl>');
	document.write('\n\t\t\t</form>');
}


function setCSEStyle() {
	$textbox = $('#search-text');
	$textbox.css({
		'width' : '142px',
		'height' : '16px',
		'border' : 'none',
		'margin' : '0',
		'padding' : '0',
		'fontSize' : '12px'
	});
}


function getFontSizeController() {
	document.write('\n\t\t\t<dl>');
	document.write('\n\t\t\t\t<dt><img src="/share/img/fsize/text_font.gif" alt="文字サイズ" /></dt>');
	document.write('\n\t\t\t\t<dd id="fsize-small"><img src="/share/img/fsize/btn_fsize_small.gif" alt="小" /></dd>');
	document.write('\n\t\t\t\t<dd id="fsize-middle"><img src="/share/img/fsize/btn_fsize_middle.gif" alt="中" /></dd>');
	document.write('\n\t\t\t\t<dd id="fsize-large"><img src="/share/img/fsize/btn_fsize_large.gif" alt="大" /></dd>');
	document.write('\n\t\t\t</dl>');
}



