/*
	ラジオボタン ver 0.5

	jQueryを使ったマウスオーバーによる画像切り替え。
	オーバー画像は必ず「-over」を付ける。
	class名に「radioswap」を付けたものが対象となる。
	透過PNGを使う場合はclass名を「pngswap」にする。ただし遅い。　←未対応
*/

$(function() {

	var jq_radio_cache = new Object();	// 画像キャッシュ用
	var jq_radio_active = new Object();

	$("img.radioswap").each(
		function(i){
			var imgsrc = this.src;
			var rel = this.getAttribute('rel').split(',')[0];
			var dotpos = imgsrc.lastIndexOf('.');
			var imgsrc_over = imgsrc.substr(0,dotpos) + '-over.' + imgsrc.substr(dotpos+1);

			jq_radio_cache[this.src] = new Image();
			jq_radio_cache[this.src].src = imgsrc_over;

			/* クリック */
			$(this).click(
				function(){
					// 現在アクティブなものを開放
					if( jq_radio_active[rel] ){
						jq_radio_active[rel].setOut();
					}
					jq_radio_active[rel] = this;
				}
			);
			/* ロールオーバー */
			$(this).hover(
				function(){
					if( jq_radio_active[rel] != this ) this.setOver();
				},
				function(){
					if( jq_radio_active[rel] != this ) this.setOut();
				}
			);
			/* ロールアウトの動作 */
			this.setOver = function(){
				this.src = imgsrc_over;
			}
			/* ロールアウトの動作 */
			this.setOut = function(){
				this.src = imgsrc;
			}
			
			// 初期状態でアクティブ指定されているか
			if( this.getAttribute('rel').split(',')[1] == 'active' ){
				this.setOver();
				jq_radio_active[rel] = this;
			}

		}
	);

	/* iepngfix を使ったロールオーバー */
	/// 未実装
	/*
	$("img.pngswap").each(
		function(i){
			var imgsrc = this.src;
			var dotpos = imgsrc.lastIndexOf('.');
			var imgsrc_over = imgsrc.substr(0,dotpos) + '-over.' + imgsrc.substr(dotpos+1);

			jq_radio_cache[this.src] = new Image();
			jq_radio_cache[this.src].src = imgsrc_over;

			IEPNGFIX.hover( this, imgsrc_over );
		}
	);
	*/

	
});

