// JavaScript Document

// フレーム内にリンクされた場合は解除
if (self != top) {top.location.href = self.location.href;}





/**-----------------------------------------------------------------------------------
 * ブラウザを判別するオブジェクト
 * そんなに正確じゃありませんのでサイト構築後に都度チェックして下さい。
 * 
 *（コンストラクタ）
 */
var Browser = function() {
	
	//this.browser = this.getBrowser();
	//this.platform = this.getPlatform();
	
}
Browser.prototype = {
	getBrowser: function () {
		var an = navigator.appName.toLowerCase();
		var ua = navigator.userAgent.toLowerCase();
	
		if (document.all || document.getElementById || document.layers) {
			if (an == "microsoft internet explorer") {
	
				if (ua.indexOf("opera 6") >= 0) {
					return "opera6";
				} else if (ua.indexOf("opera 1") >= 0) {
					return "opera1";
				} else if (ua.indexOf("opera 2") >= 0) {
					return "opera2";
				} else if (ua.indexOf("opera 3") >= 0) {
					return "opera3";
				} else if (ua.indexOf("opera 4") >= 0) {
					return "opera4";
				} else if (ua.indexOf("opera 5") >= 0) {
					return "opera5";
				} else if (ua.indexOf("opera 6") >= 0) {
					return "opera6";
				} else if (ua.indexOf("opera 7") >= 0) {
					return "opera7";
				} else if (ua.indexOf("opera 8") >= 0) {
					return "opera8";
				} else if (ua.indexOf("opera 9") >= 0) {
					return "opera9";
				} else if (ua.indexOf("opera 10") >= 0) {
					return "opera10";
				} else if (ua.indexOf("opera 11") >= 0) {
					return "opera11";
				} else if (ua.indexOf("opera 12") >= 0) {
					return "opera12";
				} else if (ua.indexOf("msie 3") >= 0) {
					return "ie3";
				} else if (ua.indexOf("msie 4") >= 0) {
					return "ie4";
				} else if (ua.indexOf("msie 5") >= 0) {
					return "ie5";
				} else if (ua.indexOf("msie 6") >= 0) {
					return "ie6";
				} else if (ua.indexOf("msie 7") >= 0) {
					return "ie7";
				} else if (ua.indexOf("msie 8") >= 0) {
					return "ie8";
				} else if (ua.indexOf("msie 9") >= 0) {
					return "ie9";
				} else if (ua.indexOf("msie 10") >= 0) {
					return "ie10";
				}else{
					return "Other";
				}
			} else if (an == "netscape") {
				if (ua.indexOf("netscape6") >= 0) {
					return "netscape";
				} else if (ua.indexOf("netscape/7") >= 0) {
					return "netscape";
				} else if (ua.indexOf("netscape/8") >= 0) {
					return "netscape";
				} else if (ua.indexOf("netscape/9") >= 0) {
					return "netscape";
				} else if (ua.indexOf("firefox/1.5") >= 0) {
					return "firefox";
				} else if (ua.indexOf("firefox/2") >= 0) {
					return "firefox";
				} else if (ua.indexOf("firefox/3") >= 0) {
					return "firefox";
				} else if (ua.indexOf("safari") >= 0) {
					return "safari";
				} else if (ua.indexOf("chrome") >= 0) {//Chrome/2
					return "chrome";
				}
				
				else{
					return "other";
				}
			}else{
				return "other";
			}
		}else{
			if (an =="Netscape") {
				//return "netscapeOLD";
				return "other";
			} else if (an =="microsoft internet explorer") {
				//return "ieOLD";
				return "other";

			}else{
				//return "OLD";
				return "other";
			}
		}
	},
	getPlatform: function () {
		var tmp = navigator.platform.toUpperCase();
	
		if (tmp.indexOf("WIN") >= 0) {
			return "WIN";
		} else if (tmp.indexOf("MAC") >= 0) {
			return "MAC";
		} else if (tmp.indexOf("X11") >= 0) {
			return "UNIX";
		}else{
			return "other";
		}
	}
}


/**-----------------------------------------------------------------------------------
 * 
 * コンストラクタ
 *
 */
var Css = function() {

	// CSSのTOPディレクトリ
	this.cssDir = '/css/';
	
	// ブラウザごとに読み込ませるCSSのディレクトリ
	this.browserDir = this.cssDir + 'browser/';
	
	//this.setStyle();
}
Css.prototype = {
	importByBrowser: function () {
		var browser = new Browser();
		var b = browser.getBrowser();
		var p = browser.getPlatform();
		
		document.open();
	
		// 読み込むCSSをコメントアウトで調整して下さい。
		if (p=="WIN") {
			if (b=="ie6") {
				document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_ie6.css\" type=\"text/css\">");
			} else if (b=="ie7") {
				document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_ie7.css\" type=\"text/css\">");
			} else if (b=="firefox") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_firefox.css\" type=\"text/css\">");
			} else if (b=="ie5") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_ie6.css\" type=\"text/css\">");
			} else if (b=="ie4") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_ie6.css\" type=\"text/css\">");
			} else if (b=="safari") {
				document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_safari.css\" type=\"text/css\">");
			} else if (b=="netscape7") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_netscape7.css\" type=\"text/css\">");
			} else if (b=="netscape6") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_netscape6.css\" type=\"text/css\">");
			} else if (b=="netscape4") {
				//isOK();
			} else if (b=="opera6") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_opera6.css\" type=\"text/css\">");
			} else if (b=="opera7") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "win_opera7.css\" type=\"text/css\">");
			} else if ((b=="ieOLD") || (b=="netscapeOLD") || (b=="OLD")) {
				// document.write("");
			}else{
				// document.write("");
			}
		} else if (p=="MAC") {
	
			if (b=="ie5") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_ie5.css\" type=\"text/css\">");
			} else if (b=="ie4") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_ie.css\" type=\"text/css\">");
			} else if (b=="firefox") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_firefox.css\" type=\"text/css\">");
			} else if (b=="safari") {
				document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_safari.css\" type=\"text/css\">");
			} else if (b=="opera6") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_op.css\" type=\"text/css\">");
			} else if (b=="opera7") {
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac_op.css\" type=\"text/css\">");
			}else{
				// document.write("<link rel=\"stylesheet\" href=\"" + this.browserDir + "mac.css\" type=\"text/css\">");
			}
		}
		document.close();
	},
	// importByBrowserの別名
	importByUa: function () {
		this.importByBrowser();
	},
	setCssDir: function($dir) {
		this.cssDir = $dir;
	},
	setBrowserDir: function($dir) {
		this.browserDir = $dir;
	}
}







/**-----------------------------------------------------------------------------------
 * 
 * コンストラクタ
 *
 */
var FontChanger = function() {
	
	// writeFontChangerを呼び出す前に定義されているIDでなければならない
	// onloadに実行するよう設計しなおせば改善できるはず、、時間があれば
	this.targetId = 'container';
	
	// fontChangerの画像を格納するディレクトリ
	this.imgDir = '/img/font/';
	
	this.sslImgDirPrefix = '/www.imagewave.co.jp';
	
	// 変数の定義
	this.fontDefine    = new Array();
	this.fontSize      = new Array();
	this.cookieExp     = new Date();
	this.cookieExp.setTime(this.cookieExp.getTime()+(60*24*60*60*1000));
	
	this.fontDefine[0] = 'small';
	this.fontDefine[1] = 'medium';
	this.fontDefine[2] = 'large';
	
	this.fontSize['small']  = 85;
	this.fontSize['medium'] = 100;
	this.fontSize['large']  = 125;
	
	// this.lineHeight['small']=1.5;
	// this.lineHeight['medium']=1.5;
	// this.lineHeight['large']=1.5;
	
	this.fontState = this.getFontState();
}
FontChanger.prototype = {
	
	setTargetId: function($id) {
		this.targetId = $id;
	},
	getFontState: function (){
		var tmp = document.cookie;
		var tgt_str = "";
		var tmpArray = new Array();
		var tmpArray2 = new Array();
		
		if(tmp == "" || tmp == null || typeof(tmp) == 'undefined'){
			return "medium";
		}else{
			var tmpArray= tmp.split(";");
	
			if(typeof(tmpArray)=='string'){
	
				tmpArray2=tmpArray.split("=");
				if(tmpArray2[1]!="" || tmpArray2[1]!=null || typeof(tmpArray2[1]) != 'undefined'){
					tgt_str=tmpArray2[1];
				}
			}else{
				for(i=0;i<tmpArray.length;i++){
					if(tmpArray[i]=="" || tmpArray[i]==null || typeof(tmpArray[i]) == 'undefined'){
						continue;
					}
					//alert(tmpArray[i]);
					
					if(tmpArray[i].indexOf("fontState=") != -1){
						tmpArray2=tmpArray[i].split("=");
	
						
						if(tmpArray2[1] !="" || tmpArray2[1]!=null || typeof(tmpArray2[1]) != 'undefined'){
							//alert(tmpArray2);
							//alert("this.fontDefine.length="+this.fontDefine.length);
							var t=0;
							while(1){
								if(this.fontDefine.length<=t){
	
									tgt_str='medium';
									break;
								}
								if(this.fontDefine[t]==tmpArray2[1]){
									tgt_str=tmpArray2[1];
									break;
								}
								t++;
							}
						}
					}
				}
			}
			//alert("END-"+tgt_str);
			if(tgt_str!=""){
				return tgt_str;
			}
	
		}
		return "medium";
	},
	
	setCookie: function(key, val) {
		today = new Date();
		
		 tmp = key + "=" + escape(val) + "; ";
		 tmp += "path="+"/"+"; ";
		 tmp += "expires=Tue, 31-Dec-"+(today.getFullYear()+1)+" 23:59:59; ";
			//alert(tmp);
		 document.cookie = tmp;
	},
	// ↓ここで$nameを引数にとるのはいけてないので、手空きに何とかしたい
	writeFontChanger: function($name){
		
		if(document.getElementById){
			document.write('<div>');
			document.write('<img src="' + this.getImgDir() + 'fontchanger.gif" style="margin-right:5px;" />');
	
	
			document.write('<a href="javascript:'+$name+'.changeFontSize(\'small\');"><img src="' + this.getImgDir() + 'fontchanger_small.gif" id="Fsmall" style="margin-right:5px;" /></a>');
	
		
			document.write('<a href="javascript:'+$name+'.changeFontSize(\'medium\');"><img src="' + this.getImgDir() + 'fontchanger_medium.gif" id="Fmedium" style="margin-right:5px;" /></a>');
	
		
			document.write('<a href="javascript:'+$name+'.changeFontSize(\'large\');"><img src="' + this.getImgDir() + 'fontchanger_large.gif" id="Flarge" /></a>');
	
			document.write('</div>');
			document.close();
	
			if(this.fontState!=null || this.fontState != "" || typeof(this.fontState)!='undefined'){
				this.changeFontSize(this.fontState)
		
			}
		}
	},
	
	getImgDir: function(){
					//alert(location.href.indexOf("https://ssl1.coressl"));

		if("https:" == document.location.protocol){
			return this.sslImgDirPrefix + this.imgDir;
		}else{
			return this.imgDir;
		}
	},
	
	changeFontSize: function(sz){
		if(document.getElementById){
			document.getElementById(this.targetId).style.fontSize = this.fontSize[sz] + '%'; 
			// document.getElementById(this.targetId).style.lineHeight =this.lineHeight[sz]+'em'; 
		}

		fontState=sz;
		//document.cookie="fontState="+sz+"; expires=" + this.cookieExp.toGMTString() + "; path=\"/\"";
		this.setCookie("fontState",sz);
	
		this.changeFontButton(sz);
	},
	
	
	changeFontButton: function(my){
		document.images['F'+my].src= this.getImgDir() + "fontchanger_"+my+"2.gif";
		var tmp=this.fontDefine.length-1;
		for(i=0;i<=tmp;i++){
			if(this.fontDefine[i]!=my){
	
				document.images['F'+this.fontDefine[i]].src = this.getImgDir() + "fontchanger_"+this.fontDefine[i]+".gif";
			}
		}
	}
	
}






