// JavaScript Document
/**************************************************************************
【ツール名】
ku-tools.js 完全版

【バージョン】
1.20

【前回のバージョンアップ】
ランダム機能追加

【説明】
・Javascript関数集
  機能は必要に応じて、順次追加予定です。
　本プログラムは、JQueryライブラリを使用しています。

【動作環境】
・Javascriptの使用を許可したブラウザ

【推奨ブラウザ】
・Internet Explorer6,7,8
・GoogleChrome
・ファイアーフォックス
・Safari

【動作確認済みのJQueryコアのバージョン】
1.42



【使用方法】
・ヘッダ内の外部プログラムに、JQueryコアファイルを設定
　※本プログラムより先に記述してください。
・ヘッダ内の外部プログラムに、本ファイルを設定
・以下の機能スイッチ内で、使用したい機能の=以降を「"on";」にする。
　※機能の使用スイッチは、頭にku_がついた変数です。
・上でonにした機能の個別設定を行う
　※各項目の説明を参照



制作者：黒野秋一
**************************************************************************/



/*********************************************************************
ブラウザの判別機能
【機能】
ユーザーエージェントを判別し、そのブラウザの略称を返す

[対応ブラウザと返り値]
	Internet Explorer6 =" ie6"
	Internet Explorer7 = "ie7"
	Internet Explorer8 = "ie8"
	Internet Explorer9 = "ie9"
	Google Chrome = "gc"
	Fire Fox = "ff"
	Safari = "sa"
	Opera = "op"
	
	上記に該当しないブラウザや、エンジン名検索モードの場合は、エンジン名を返す
	Gecko = "Gecko"
	WebKita = "WebKit"
	Trident = "Trident"
	
	エンジン名、ブラウザ名共に該当しない場合、"other"が戻り値となる

【使用方法】
・browser_cheak()

【注意点】
・

///////////////////////////*/
function browser_cheak(){
	var ua = navigator.userAgent;
	if(ua.indexOf("IE 6","0") != -1){
		browser = "ie6";
	}else if(ua.indexOf("IE 7","0") != -1){
		browser = "ie7";
	}else if(ua.indexOf("IE 8","0") != -1){
		browser = "ie8";
	}else if(ua.indexOf("IE 9","0") != -1){
		browser = "ie9";
	}else if(ua.indexOf("Chrome","0") != -1){
		browser = "gc";
	}else if(ua.indexOf("Firefox","0") != -1){
		browser = "ff";
	}else if(ua.indexOf("Safari","0") != -1){
		browser = "sa";
	}else if(ua.indexOf("Opera","0") != -1){
		browser = "op";
	}else{
		if(ua.indexOf("Gecko","0") != -1){
		browser = "gecko";
		}else if(ua.indexOf("WebKit","0") != -1){
		browser = "webkit";
		}else if(ua.indexOf("Trident","0") != -1){
		browser = "trident";
		}else{
		browser = "other";
		};
	};
	return browser;
};



/*********************************************************************
オールチェック機能
【機能】
1つのチェックボックスにクリックすると、任意の全てのボックスにチェックが入ります。
主に「全て選択する」等のチェックボタンとしての使用に適しています。
また、逆に1つの該当チェックボックスのチェックを外すと、全てのチェックが外れます。

【使用方法】
・基準とするチェックボックス(全てにチェックするキーとなるボックス)のプロパティに
　「onclick="ckick_check()" id="cheak_on"」を入れる。
・キーチェックボックスをクリックした際に、同時にチェックが入る子要素であるinputのプロパティに
　「class="cheak_box"」を入れる。

【注意点】
・1ページに一箇所以上の使用はできません。

///////////////////////////*/

function ckick_check(parent_name,child_name){
		if($(parent_name).attr("checked") == true){
			$(child_name).attr("checked","checked");
		}else if($(parent_name).attr("checked") == false){
			$(child_name).removeAttr("checked");
		};
};

/*********************************************************************
ボックスheightを自動的に揃える機能
【機能】
任意のボックス要素2つの高さを、どちらか一方の最大値に合わせる機能です。

【使用方法】
・設定項目のdate1と、date2にそれぞれ高さを合わせるボックスのクラス名、又はid名を設定する。

【注意点】
・1ページに一箇所以上の使用はできません。

///////////////////////////*/
ku_autoheight = "on";
var deta1 = "#menu";
var deta2 = "#main";

if(ku_autoheight == "on"){
	$(window).load(function(){
		var deta1_height = $(deta1).height();
		var deta2_height = $(deta2).height();
		
		
		if(deta1_height > deta2_height){
			$(deta2).css("height",deta1_height+"px");
		}else if(deta2_height > deta1_height){
			$(deta1).css("height",deta2_height+"px");
		
		};
	});
};

/*********************************************************************
マウスオーバー機能
【機能】
特定の画像にポインターを置くと画像が切り替わる、一般的なマウスオーバーです。

【使用方法】
・マウスオーバーさせたい画像にmouse_overクラスを付与する。
・マウスオーバー画像の名前を、「[元画像の名前]_over[もと画像と同様の拡張子]」にし、オーバー前画像と同ディレクトリに入れる。
　例）
　menutokyo.jpg(オーバー前画像)
　↓
　menutokyo_over.jpg(オーバー画像)

【注意点】
・ie6の透過png生成系のスクリプトと組み合わせると、動作しないことが多々あります。

///////////////////////////*/
ku_mouseover = "on";

if(ku_mouseover == "on"){
	$(window).load(function(){
		var src;
		$(".mouse_over").live("mouseover",function(){
				src = $(this).attr("src");
				if(src.slice(-3) == "png"){
					srcjpg = src.replace(".png","_over.png");
					$(this).attr("src",srcjpg);
				}
				else if(src.slice(-3) == "jpg"){
					srcjpg = src.replace(".jpg","_over.jpg");
					$(this).attr("src",srcjpg);
				}
				else if(src.slice(-3) == "gif"){
					srcjpg = src.replace(".gif","_over.gif");
					$(this).attr("src",srcjpg);
				}	
		});
		$(".mouse_over").live("mouseout",function(){
				$(this).attr("src",src);
		});
	});
};

/*********************************************************************
クッキー機能
【機能】
cookieの保存・呼び出し・削除を行うプログラムです。

【バージョン】
2.0
全角文字と、エスケープ面と文字に対応

【使用方法】
第一引数[func]にいれた値により機能が変動する
"save" 第二引数に入れた値を保存する
"load" 第二引数に入れた値を参照する
"delete" 第二引数に入れた値を削除する

第二引数[record]にいて
cookieに記録する値を設定する
"key=value"形式で記入する

第三引数[limit]について
保存期限を設定する。未記入の場合、ブラウザ終了時まで
半角数字で入力。単位は[日]となる。

例)
セーブする時は
cookie_operation("save","キー名","value名","削除期限");

データを取り出すときは
cookie_operation("load","キー名");

データを消すときは
cookie_operation(delete","キー名");

【注意点】
・キー名、または値名に"="と";"記号を使用すると不具合が発生します。

///////////////////////////*/

function cookie_operation(func,key,record,limit){
	
	//必要データの生成
	var value = record;
	var limit_date = new Date();
		limit_date.setDate(limit_date.getDate() + limit);
	var set_limit =limit_date.toGMTString();
	
	
	//各機能ごとの処理
	if(func == "save"){
		
		var cookie_deta = key+'='+value+' ;expires='+set_limit+';';
		
		document.cookie = cookie_deta;
		
	}else if(func == "load"){
		//合体したクッキーを裁断する
		var uniting_cookies = document.cookie;
		if(uniting_cookies == ""){
			var select_cookie_deta =null;
				/*alert("cookieが何も存在しないのでnullを返しました。\n※このメッセージを表示しない場合はコメントアウトしてください。");*/
		}else{
			var cut_cookies = uniting_cookies.split(";");
			var unit_cookie = new Array(cut_cookies.length);
			for(i=0;i<	cut_cookies.length;i++){
				var r = cut_cookies[i].split("=");
				unit_cookie[r[0].replace(" ","")]=r[1].replace(" ","");
			};
			if(unit_cookie[key] == null){
				var select_cookie_deta =null;
				/*alert("指定したcookieが存在しないのでnullを返しました。\n※このメッセージを表示しない場合はコメントアウトしてください。");*/
			}else{
				var select_cookie_deta = unit_cookie[key];
			};
		};
		var decode_cookie_deta = select_cookie_deta
	return decode_cookie_deta;
	
		
		
		
	}else if(func == "delete"){
		var now_time = new Date();
		var delete_time =now_time.toGMTString();
		var cookie_deta = key+'='+value+' ;expires='+delete_time+';';
		
		document.cookie = cookie_deta;		
		
		
	}else{
		alert("cookie記録の設定がされていません。")
	};
};


