//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	グローバルパス設定
//	======================================================================
var com = {
	clubdam:{
		path:{
			http:'http://www.clubdam.com',
			https:'https://www.clubdam.com'
		}
	}
}
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	イベント関連のファンクション
//	======================================================================
//	イベント管理用オブジェクト
//	----------------------------------------------------------------------
var __eventListeners = [];
//	======================================================================
//	イベントリスナ追加ファンクション
//	----------------------------------------------------------------------
//	@instance		:	Object		:	イベントを追加したいDOMオブジェクトまたは参照
//	@eventName		:	String		:	イベントハンドラ(接頭辞の'on'は省略)
//	@listener		:	Object		:	リスナー名(通常は定義済みメソッドの参照),function(){}のように匿名関数での記述も可。
//	[@capture]		:	Boolean		:	useCaptureを利用するかどうかを判定するブール(省略時はfalse)
//	----------------------------------------------------------------------
//	return			:	Object		:	removeListenerに引数として渡すためのオブジェクト
//	----------------------------------------------------------------------
var addListener = function(instance,eventName,listener,capture) {
	Boolean(capture) ? capture : false ;
	(instance.addEventListener) ? instance.addEventListener(eventName, listener, capture) : 
	(instance.attachEvent) ? instance.attachEvent("on" + eventName, function(){listener(window.event);}) : 
	alert('このサイトはお使いのブラウザに対応していません。\n大変申し訳ありませんが、Windows版のInternet Explorer6.0以上のブラウザでのご利用をお願いいたします。') ;
	var event = {instance:instance , name:eventName , listener:listener};
	__eventListeners.push(event);
	return event;
}
//	======================================================================
//	イベントリスナ消去ファンクション
//	----------------------------------------------------------------------
//	@event			:	Object		:	イベントを追加したいDOMオブジェクトまたは参照
//	----------------------------------------------------------------------
//	return			:	Void		:
//	----------------------------------------------------------------------
var removeListener = function(event) {
	var instance = event.instance;
	(instance.removeEventListener) ? instance.removeEventListener(event.name, event.listener, false) : 
	(instance.detachEvent) ? instance.detachEvent("on" + event.name, event.listener) : 
	'' ;
	for (var i = 0; i < __eventListeners.length; i++) {
		if (__eventListeners[i] == event) {
			__eventListeners.splice(i, 1);
			break;
		}
	}
}
//	======================================================================
//	イベントリスナ初期化ファンクション
//	----------------------------------------------------------------------
//	@
//	----------------------------------------------------------------------
//	return			:	Void		:
//	----------------------------------------------------------------------
var initListener = function() {
	while (__eventListeners.length > 0) {
		removeListener(__eventListeners[0]);
	}
}
//	======================================================================
//	for debug,activate follows
//	----------------------------------------------------------------------
//var trace = function(e){alert(e);}
//addListener(window,'error',trace,false);
//
//	======================================================================
//	ページunload時にイベントリスナを初期化してメモリを解放
//	----------------------------------------------------------------------
addListener(window,'unload',initListener,false);


//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	デバッグ関連
//	**********************************************************************
var log = function(){
	return;
	if('console' in window){
		for(var params='',i=0,len=arguments.length; i<len; params += arguments[i++]+ ' : ' );
		try{ window.console.log(params); }catch(e){ alert(params)};
	};
};

// 
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	DOM操作関連
//	**********************************************************************
//	ID参照ファンクション
//	----------------------------------------------------------------------
//	@id				:	String		:	DOMオブジェクトのID名
//	----------------------------------------------------------------------
//	return			:	Object		:	DOMオブジェクトへの参照
//	----------------------------------------------------------------------
var $ = function(id){return document.getElementById(id);}
//	======================================================================
//	タグ参照ファンクション
//	----------------------------------------------------------------------
//	@target			:	Object		:	走査するオブジェクトへの参照
//	@tagname		:	String		:	htmlタグ要素の名前
//	----------------------------------------------------------------------
//	return			:	Object		:	DOMオブジェクトへの参照
//	----------------------------------------------------------------------
//var $tag = function(target,tagname){return target.getElementsByTagName('dd')}
var $tag = function(target,tagname){return target.getElementsByTagName(tagname)}
//	======================================================================
// クラス名参照ファンクション
// ----------------------------------------------------------------------
// @class_name : クラス名
// ----------------------------------------------------------------------
//	return			:	Array		:	マッチしたDOM要素への参照を格納した配列(Array)
// ----------------------------------------------------------------------
var $class = function (class_name, root_node) {
  var result = [];
  var pattern = new RegExp(class_name);
  var objAll;
  if(root_node) objAll = root_node.getElementsByTagName("*");
  else objAll = document.body.getElementsByTagName("*") || document.body;
  //var objAll = root_node || document.body.getElementsByTagName("*") || document.body;
  for (var i=0; i < objAll.length; i++){
  	if (!!objAll[i].className.match(pattern)) {
          result.push(objAll[i]);
        }
  }
  return result;
}
$class.add = function(node, classname){
	//alert(node.className);
	var temporary_classname = node.className;
	node.className = temporary_classname + ' ' + classname;
	return node.className;
}
//	======================================================================
//	ノード生成ファンクション
// ----------------------------------------------------------------------
//	パラメータ名	:	型			:	デフォルト値				:	説明
//	@target			:	Object		:	/							:	ノードを追加するDOM要素
//	@element		:	String		:	/							:	追加するDOMエレメント
//	@attributes		:	Object		:	/							:	@elementに設定するアトリビュート
// ----------------------------------------------------------------------
//	return			:	Object		:	ノードへの参照を返却
// ----------------------------------------------------------------------
var $attach_node = function(target,element,attributes){
	target = (typeof target == 'string') ? $(target) : target ;
	var node = document.createElement(element);
	for(var prop in attributes) (prop == 'style') ? node.style.cssText = attributes[prop] : node.setAttribute([prop],attributes[prop]) ;
	return target.appendChild(node);
}

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	マウス座標取得オブジェクト
//	Eventsは使用せずなるべくMousePositionクラスを利用してください。
//	----------------------------------------------------------------------
//	onmousedown時にマウスの座標位置を取得
//	----------------------------------------------------------------------
//	##開発中##############################################################
var Events = {
	leftMouse:null,
	topMouse:null,
	catchMousePosition:function(evt){
		evt = (evt) ? evt : event ;
		Events.leftMouse  = (Agent.isIE()) ? evt.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft) : (Agent.isFF() || Agent.isNN() || Agent.isOP()) ? evt.pageX :  0 ;
		Events.topMouse = (Agent.isIE()) ? evt.clientY + (document.body.scrollTop || document.documentElement.scrollTop)  : (Agent.isFF() || Agent.isNN() || Agent.isOP()) ? evt.pageY : 0 ;
	},
	getTarget:function(e){
		return (e.target) ? e.target : (e.srcElement) ? e.srcElement : (target_node.nodeType==3) ? target_node.parentNode : null ;
	}
}
addListener(document,'mousedown',Events.catchMousePosition,true);
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	マウス座標取得オブジェクト
//	----------------------------------------------------------------------
//	onmousedown時にマウスの座標位置を取得
//	----------------------------------------------------------------------
//	##開発中##############################################################
var MousePosition = {
	left:null,
	top:null,
	catchMousePosition:function(evt){
		evt = (evt) ? evt : event ;
		MousePosition.left  = (Agent.isIE()) ? evt.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft) : (Agent.isFF() || Agent.isNN() || Agent.isOP() || Agent.isSA()) ? evt.pageX :  0 ;
		MousePosition.top = (Agent.isIE()) ? evt.clientY + (document.body.scrollTop || document.documentElement.scrollTop)  : (Agent.isFF() || Agent.isNN() || Agent.isOP() || Agent.isSA()) ? evt.pageY : 0 ;
	},
	getTarget:function(e){
		return (e.target) ? e.target : (e.srcElement) ? e.srcElement : (target_node.nodeType==3) ? target_node.parentNode : null ;
	}
}
addListener(document,'mousedown',MousePosition.catchMousePosition,true);

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	座標関連の情報をまとめて取得するオブジェクト 
//	----------------------------------------------------------------------
window.Geom = {};
Geom.get_geom = function(){
	var e	=	document.documentElement;
	var b	=	document.body;
	var sW	=	'scrollWidth';
	var sH	=	'scrollHeight';
	var cW	=	'clientWidth';
	var cH	=	'clientHeight';
	var sL	=	'scrollLeft';
	var sT	=	'scrollTop';
	var flag = (e[cW] == 0);
	//	評価中
	return {
		width			:	flag ?	Math.max(b[sW], b[cW])	:	Math.max((e[sW]	||	b[sW]), (e[cW] || b[cW])),
		height			:	flag ?	Math.max(b[sH], b[cH])	:	Math.max((e[sH]	||	b[sH]), (e[cH] || b[cH])),
		top				:	b[sT] 												||	e[sT],
		left			:	b[sL]												||	e[sL],
		clientWidth		:	flag ?	b[cW]					:	(e[cW]||b[cW]),
		clientHeight	:	flag ?	b[cH]					:	(e[cH]||b[cH])
	};
};

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	座標関連の情報をまとめて取得するオブジェクト 
//	----------------------------------------------------------------------
window.Geom = {};
Geom.get_geom = function(){
	var e	=	document.documentElement;
	var b	=	document.body;
	var sW	=	'scrollWidth';
	var sH	=	'scrollHeight';
	var cW	=	'clientWidth';
	var cH	=	'clientHeight';
	var sL	=	'scrollLeft';
	var sT	=	'scrollTop';
	var flag = (e[cW] == 0);
	//	評価中
	return {
		width			:	flag ?	Math.max(b[sW], b[cW])	:	Math.max((e[sW]	||	b[sW]), (e[cW] || b[cW])),
		height			:	flag ?	Math.max(b[sH], b[cH])	:	Math.max((e[sH]	||	b[sH]), (e[cH] || b[cH])),
		top				:	b[sT] 												||	e[sT],
		left			:	b[sL]												||	e[sL],
		clientWidth		:	flag ?	b[cW]					:	(e[cW]||b[cW]),
		clientHeight	:	flag ?	b[cH]					:	(e[cH]||b[cH])
	};
};
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	クッキー関連のオブジェクト
//	======================================================================
var Cookies = {
	action:function(mode,type){
		if(type == 'logout'){
			document.cookie = 'webmember=false';
			document.cookie = 'membership=false';
			return;
		}else if(type == 'login'){
			document.cookie = (mode == 'web') ? 'webmember=1' : (mode == 'membership') ? 'membership=1' : '' ;
		}
	},
	getValue:function(id){
		var cookies = document.cookie.split('; ');
		for(var i=0 ; i<cookies.length ; i++){
			if(cookies[i].indexOf(id+'=')!= -1){
				return cookies[i].split('=')[1]
			}
		}
	},
	setValue:function(id,value,path){
		if(path != undefined){
			document.cookie = id+'='+ value +'; path=' + path;
		}else{
			document.cookie = id+'='+ value ;
		}
	},
	isLogin:function(type){
		return (Cookies.getValue(type) == '1') ? true : false ;
	},
	parge_damtomoInfo : function(){
		Cookies.setValue('CDMPreset','' , '/');
	}
}
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	ユーザエージェント情報取得関連のオブジェクト
//	======================================================================
var Agent = {
	agent:navigator.userAgent.toLowerCase(),
	major:parseInt(navigator.appVersion),
	minor:parseFloat(navigator.appVersion),
	//	---------------------	//
	isMac:function(){return (Agent.agent.indexOf('mac') != -1)},
	isWin:function(){return (Agent.agent.indexOf('win') != -1)},
	//	---------------------	//
	isFF:function(){return (Agent.agent.indexOf('firefox') != -1)},
	isNN:function(){return (Agent.agent.indexOf('netscape') != -1)},
	isIE:function(){return ((Agent.agent.indexOf('msie 6') != -1) || (Agent.agent.indexOf('msie 7') != -1) || (Agent.agent.indexOf('msie 8') != -1) || (Agent.agent.indexOf('msie 9') != -1))},
	isIE5:function(){return ((Agent.agent.indexOf('msie 5.0') != -1) || (Agent.agent.indexOf('msie 5.5') != -1))},
	isIE6:function(){return (Agent.agent.indexOf('msie 6') != -1)},
	isIE7:function(){return (Agent.agent.indexOf('msie 7') != -1)},
	isIE8:function(){return (Agent.agent.indexOf('msie 8') != -1)},
	isLowerIE6:function(){return ((Agent.agent.indexOf('msie') != -1) && !Agent.isIE())},
	isOP:function(){return (Agent.agent.indexOf('opera') != -1)},
	isSA:function(){return (Agent.agent.indexOf('safari') != -1)},
	//	---------------------	//
	isEnoughAgent:function(){return ((Agent.isWin() && !Agent.isMac()) && ((Agent.isIE() || Agent.isFF() ) && !(Agent.isNS() || Agent.isOP()))) ? true : false ;}
}
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	外部ファイル読み込みファンクション
//	Ajaxクラスは後方互換のため暫く運用を続けますが、
//	なるべくAjaxLoaderクラスを利用してください。
//	======================================================================
var Ajax = {
	checkBrowser:function(){
		var agent,userAgent = navigator.userAgent;
		this.browser = {
			safari:((agent = userAgent.split('AppleWebKit/')[1]) ? agent.split('(')[0] : 0) >= 124,
			konqueror:((agent = userAgent.split('Konqueror/')[1]) ? agent.split(';')[0] : 0) >= 3.3, 
			mozes:((agent = userAgent.split('Gecko/')[1]) ? agent.split(" ")[0] : 0) >= 20011128, 
			opera:(!(!window.opera)) && ((typeof XMLHttpRequest) == 'function'),
			msie:(userAgent.indexOf('MSIE 6') != -1 || userAgent.indexOf('MSIE 7') != -1) && (!(!window.ActiveXObject)) ? (!(!Ajax.createObj())) : false
		}
		return (this.browser.safari || this.browser.konqueror || this.browser.mozes || this.browser.opera || this.browser.msie);
	},
	createObj:function(){
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				return new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) {
					return null;
				}
			}
		} else {
			return null;
		}
	},
	sendAndLoad:function(callback, data, method, url, async, sload, user, password,timeOutFunc,failueFunc) {
		//	-----------------------------------------------
		//	@callback		受信完了時に起動するコールバック
		//	@data			送信するデータ(&param1=value1&...形式)
		//	@method			'POST' or 'GET'
		//	@url			リクエストURL
		//	@async			非同期:true / 同期:false
		//	@sload			スーパーロード(true:強制 / flaseまたは省略:デフォルト)
		//	@user			認証実行時のユーザ名
		//	@password		認証実行時のパスワード名
		//	@timeoutFunc	タイムアウト時に起動するコールバック
		//	@failueFunc		生成失敗時に起動するコールバック
		//	-----------------------------------------------
		//	通信オブジェクトの生成
		var httpObj = Ajax.createObj();
		//	未対応エージェントへのフィードバック
		if(httpObj == null){
			failueFunc();
		}
		//	パラメータ設定
		var sload = (sload) ? sload : false;
		if (sload || method.toUpperCase() == 'GET') {
			url += "?";
		}
		if (sload) {
			url = url + "t=" + (new Date()).getTime();
		}
		//	userAgent判定
		var browser = new Ajax.checkBrowser().browser;
		var opera = browser.opera;
		var safari = browser.safari;
		var konqueror = browser.konqueror;
		var mozes = browser.mozes;
		//	イベントハンドラの切り分け
		if (typeof callback == 'object') {
			var callback_onload = callback.onload;
			var callback_onbeforsetheader = callback.onbeforsetheader;
		} else {
			var callback_onload = callback;
			var callback_onbeforsetheader = null;
		}
		//	イベントハンドラのアタッチ
		if (opera || safari || mozes) {
			httpObj.onload = function() {
				clearInterval(timerId);
				if(httpObj.status == 404){
					timeOutFunc();
				}else{
					callback_onload(httpObj);
				}
			};
		} else {
			httpObj.onreadystatechange = function() {
				if (httpObj.readyState == 4) {
					clearInterval(timerId);
					if(httpObj.status == 404){
						timeOutFunc();
					}else{
						callback_onload(httpObj);
					}
				}
			};
		}
		//	送信パラメータのエンコード
		data = Ajax.uriEncode(data, url);
		if (method.toUpperCase() == 'GET') {
			//url += data;
			url += data + '&randomId=' + Number(new Date().getTime());
		}
		httpObj.open(method, url, async, user, password);
		if (!(!callback_onbeforsetheader)) {
			clearInterval(timerId);
			callback_onbeforsetheader(httpObj);
		}
		Ajax.setEncHeader(httpObj);
		//	送信実行とタイマー起動
		httpObj.send(data);
		var timerId;
		var timeCount = 5;
		var timerId = setInterval(
			function(){
				timeCount--;
				if(timeCount<0){
					// タイムアウトの場合、タイマーを停止してtimeOutFuncを実行
					clearInterval(timerId);
					timeOutFunc();
					delete httpObj.onLoad;
				}
			}
			,5000
		);
		//	-----------------------------------------------
		return httpObj;
	},
	setEncHeader:function(httpObj) {
		var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
		if (!window.opera) {
			httpObj.setRequestHeader('Content-Type', contentTypeUrlenc);
		} else {
			if ((typeof httpObj.setRequestHeader) == 'function') {
				httpObj.setRequestHeader('Content-Type', contentTypeUrlenc);
			}
		}
		return httpObj;
	},
	uriEncode:function(data, url) {
		var encdata = (url.indexOf('?') == -1) ? '?dmy' : '';
		if (typeof data == 'object') {
			for (var i in data) {
				encdata += '&' + encodeURIComponent(i) + '=' + encodeURIComponent(data[i]);
			}
		} else if (typeof data == 'string') {
			if (data == "") {
				return "";
			}
			var encdata = '';
			var datas = data.split('&');
			for (i = 1; i < datas.length; i++) {
				var dataq = datas[i].split('=');
				encdata += '&' + encodeURIComponent(dataq[0]) + '=' + encodeURIComponent(dataq[1]);
			}
		}
		encdata += '&rndId='+ Number(new Date().getTime());
		//alert(encdata);
		return encdata;
	}
}
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	外部ファイル読み込みファンクション
//	2007/08/14	Ver1.0
//	======================================================================
var AjaxLoader = function(url,data,method,callbacks,params){
	//	-----------------------------------------------
	//	パラメータ名	:	型			:	デフォルト値				:	説明
	//	@url			:	String		:	/							:	リクエストURL
	//	@data			:	String		:	/							:	送信するデータ(&param1=value1&...形式)
	//	@method			:	String		:	GET							:	'POST' or 'GET'
	//	@callbacks		:	Object		:	/							:	受信完了時に起動するコールバック
	//		@success	:	Function	:	/							:	受信成功時コールバック
	//		@failure	:	Function	:	failure_default(status)		:	受信失敗時コールバック
	//	@params			:	Object		:	/							:	その他、設定パラメータ
	//		@timeout	:	Number		:	30							:	タイムアウト発生までの時間
	//		@async		:	Boolean		:	false						:	同期/非同期設定フラグ
	//		@user		:	String		:	/							:	ベーシック認証のユーザ名
	//		@password	:	String		:	/							:	ベーシック認証のパスワード名
	//	-----------------------------------------------
	//
	this._url = url;
	this._data = data;
	this._method = method.toUpperCase() == 'POST' ? 'POST' : 'GET' ;
	this.success = callbacks.success || null ;
	this.failure = callbacks.failure || this.failure_default;
	this._timeout = Number(params.timeout) || 1000*30;
	this._async = params.async == undefined ? true : !!params.async ;
	this._user = params.user || false;
	this._password = params.password || false;
	//
	this._req = null;
	this._intervalId = null;
	//
	this.success ? this.init() : null ;
	//
}
AjaxLoader.prototype = {
	init:function(){
		//	---------------------
		this._req = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : null;
		this._req ? this.open_request() : this._failure('AJAXE000');//オブジェクトエラー処理
		//	---------------------
		return;
	},
	open_request:function(){
		//	---------------------
		var loader = this;
		//	---------------------
		this._data = (String(this._data) == 'null' || String(this._data) == '' || String(this._data) == 'undefined') ? '' : this._data;
		if(this._data){
			var data = this._data;
			var encdata = '';
			var datas = data.split('&');
			for (i = 0; i < datas.length; i++) {
				if(encodeURIComponent(datas[i].split('=')[0]) && encodeURIComponent(datas[i].split('=')[1])){
					encdata += (i != 0 ? '&' : '') + encodeURIComponent(datas[i].split('=')[0]) + '=' + encodeURIComponent(datas[i].split('=')[1]);
				}
			}
			this._data = encdata;
		}
		this._data+= (this._data ? '&' : '') + 'UTCserial=' + new Date().getTime();
		//	---------------------
		this._intervalId = setTimeout(
			function(){
				clearTimeout(loader._intervalId);
				loader._req.abort();
				loader.failure('AJAXE002');//タイムアウト処理
			},
			this._timeout
		);
		//	---------------------
		this._req.onreadystatechange = function(){
			var req = loader._req;
			if(req.readyState == 4){
				clearTimeout(loader._intervalId);
				if(req.status == 200 || req.status == 0){
					loader.success(req);
				}else{
					loader.failure('AJAXE001');//404処理
				}
			}
		}
		//	---------------------
		this._req.open(this._method,this._url + (this._method == 'GET' ? '?' + this._data : '') ,this._async,this._user || null ,this._password || null );
		!window.opera || typeof this._req.setRequestHeader == 'function' ? this._req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8') : null;
		//	---------------------
		this._req.send(this._method == 'POST' ? this._data : null);
		//	---------------------
		return;
	},
	failure_default:function(status){
		//alert('異常処理系のファンクションが設定されていません。\nファンクションの設定を行ってください。');
		//	---------------------
		switch(status){
		case 'AJAXE000': //オブジェクト生成エラー
			alert('このページには、お客様がご利用ののブラウザでご利用できない機能が含まれています。\n大変ご迷惑をおかけいたしますが、最新のブラウザをご利用の上で再度ご訪問いただきますよう、宜しくお願いいたします。');
			break;
		case 'AJAXE001': //404
			alert('プログラムのエラーにより、最新の情報を確認することができませんでした。お手数ですが暫くお待ちいただきますようお願いいたします。');
			break;
		case 'AJAXE002': //timeout
			alert('制限時間を越えたため、サーバからの最新情報の取得を中止させていただきました。お手数ですが暫くお待ちになられてから、もう一度こちらの機能をご利用ください。');
			break;
		}
		//	---------------------
		return;
	}
}

AjaxLoader.applyTemplate = function(url, params, $method, callback){
	var handler = function(obj){callback(obj)};
	var hash = $.Object.convert_object_to_hash(params);
	var method = $method.toLowerCase() == 'get' ? 'GET' : 'POST';
	new AjaxLoader(url, hash, method, {success: handler, failure:handler}, {});
};
AjaxLoader.DEFAULT_ENCODE = 'sjis';

//	**********************************************************************
var Model ={
	getData:function(x,tag,index,attribute){
		var value;
		if(attribute == undefined){
			try{
				value = x.getElementsByTagName(tag).item(index).firstChild.data;
			}catch(e){
				value = '';
			}
		}else{
			try{
				value = x.getElementsByTagName(tag).item(index).getAttributeNode(attribute).nodeValue;
			}catch(e){
				value = '';
			}
		}
		return value;
	}
}
//	**********************************************************************
var View = {
	setStyle:function(target,styles){
		for(var prop in styles){
			switch(prop){
				case 'visibility' :
					target.style.visibility = styles[prop];
					target.style.display = (styles[prop] == 'visible') ? 'block' : 'none' ;
					break;
				case 'display' :
					target.style.display = styles[prop];
					break;
				case 'opacity' :
					(Agent.isWin() && Agent.isIE())? target.style.filter = 'alpha(opacity=' + styles[prop] + ')' : (Agent.isNN()) ? target.style.visibility = 'hidden' : target.style.opacity = (styles[prop]/100) ;
					break;
				case 'left' :
					if(styles[prop] == 'center' ){
						target.style.left = (document.body.clientWidth/2) - (200) + 'px' ;
					}else{
						target.style.left = styles[prop] + 'px' ;
					}
					break;
				case 'right' :
						target.style.right = styles[prop] + 'px' ;
					break;
				case 'top' :
					target.style.top = styles[prop] + 'px' ;
					break;
				case 'width' :
					if(styles[prop] == 'full' ){
						target.style.width = (Agent.isIE6()) ? document.body.clientWidth + 'px' : 100 + '%';
					}else{
						target.style.width = styles[prop] + 'px' ;
					}
					break;
				case 'height' :
					if(styles[prop] == 'full' ){
						target.style.height = (document.body.clientHeight + 20) + 'px';
					}else{
						target.style.height = styles[prop] + 'px' ;
					}
					break;
				default :
					try{target.style[prop] = styles[prop];}catch(e){};
					break;
			}
		}
	},
	changeSelectTag:function(mask){
		//mask:bool true(マスクする/非表示) | false(マスクしない/表示)
		if(Agent.isIE()){
			var elems = document.getElementsByTagName('select');
			for (i = 0; i < elems.length; i++) {
 				elems[i].style.visibility = (mask) ? "hidden" : "visible" ;
			}
		}
	},
	//objectタグ
	changeFlashView:function(mask){
		var elems = document.getElementsByTagName('object');
		for (i = 0; i < elems.length; i++) {
	 		var flag = false;
	 		for(var j=0 ; j<$tag(elems[i],'param').length ; j++){
	 			var isOpaqueFlash = Model.getData(elems[i],'param',j,'name') == 'wmode' && Model.getData(elems[i],'param',j,'value') == 'opaque';
	 			var isWindowlessWMP = Model.getData(elems[i],'param',j,'name') == 'windowlessVideo' && Model.getData(elems[i],'param',j,'value') == 'true';
	 			isOpaqueFlash || isWindowlessWMP ? flag = true : null;
	 		}
	 		elems[i].style.visibility =  flag ? 'visible'  : (mask) ? 'hidden' : 'visible' ;
		}
	},
	setPng : new function(){
		if (Agent.isIE5() || Agent.isIE6() || Agent.isIE7() || Agent.isIE8()) {
			return function(element, src,setting){
				//element.style.cssText = 'background:none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=' + (setting.match(/repeat/) ? '\'crop\'' : '\'scale\'') + ');';
				element.style.cssText = 'background:none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=scale)';
				//return 'background:none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=' + (setting.match(/repeat/) ? '\'crop\'' : '\'scale\'') + ');'; 
			}
		}else{
			return function(element, src,setting){
				element.style.cssText = 'background: transparent url(\'' + src + '\') ' + (setting||'no-repeat left top');
				//return 'background: transparent url(\'' + src + '\') ' + (setting||'no-repeat left top');
			}
		}
	},
	//	======================================================================
	//	flash埋め込み用objectタグ生成ファンクション
	// ----------------------------------------------------------------------
	//	@id				:	String		:	表示したいDOM要素のID(必須)
	//	@params			:	Object		:	表示するflash要素のパラメータ
	//		path 		:	String		:	生成するファイルのパス(必須)
	//		width 		:	Number		:	幅(指定が無い場合は830px)
	//		height		:	Number		:	高さ(指定が無い場合は400px)
	//		obj_id		:	String		:	ObjectタグのID(無い場合は"Object_Flash")
	//		bgcolor		:	String		:	背景色(指定が無い場合はFFFFFF)
	//		version		:	String		:	flashPlayerのバージョンを指定。指定がない場合はversion8以上になる。例："version=9"
	//		vars		:	String		:	flashVarsに指定したい値を'変数名=値'の形式で列挙(指定が無い場合はnull) 例："type=karaokedam"
	// ----------------------------------------------------------------------
	//	return			:	Void		:	
	// ----------------------------------------------------------------------
	attach_flash : function(id,params){
		//	-----------------------------------------------
		var path = params.path;
		var width = params.width || 830;
		var height = params.height || 400;
		var obj_id = params.obj_id || 'Object_Flash';
		var bgcolor = params.bgcolor || '#FFFFFF';
		var vars = params.vars || '';
		var version = params.version || 'version=8';
		vars = (vars ? vars + '&' : '') + version;
		//	-----------------------------------------------
		
		var directorSwfPath = '/swf/detector.swf';

		var src = '';
		src += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '" id="detector" align="middle">	<param name="allowScriptAccess" value="sameDomain" />	<param name="allowFullScreen" value="false" />	<param name="movie" value="/swf/detector.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="flashVars" value="' + vars + '" /><embed src="/swf/detector.swf" quality="high" bgcolor="#ffffff"" width="' + width + '" height="' + height + '" name="detector" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer"' +  (vars ? ' flashVars="' + vars + '"' : "") + '/>	</object>';
		$(id).innerHTML = src;
		
		var checkVersion = setInterval(function(){
			//console.log(View.flashPlayerVersion)
			if(View.flashPlayerVersion == 'FlashPlayerNG'){
				clearInterval(checkVersion);
				//console.log('停止')
			}else if(View.flashPlayerVersion != undefined){
				//alert('clearInterval')
				clearInterval(checkVersion);
				//pathのSWFに書き換え
				var src = '';
				src += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + width + '" height="' + height + '" id="' + obj_id + '" align="middle">';
				src += '<param name="allowScriptAccess" value="sameDomain" />';
				src += '<param name="movie" value="' + path + '?randomId=' + (new Date().getTime()) + '" />';
				src += '<param name="quality" value="high" />';
				src += '<param name="bgcolor" value="' + bgcolor + '" />';
				if(path != '/membership/swf/listeditor.swf') src += '<param name="wmode" value="opaque" />';//日本語入力機能があるのでwmodwはオフ。
				vars ? src += '<param name="flashVars" value="' + vars + '" />' : null;
				src += '<embed src="' + path  + '?randomId=' + (new Date().getTime()) + '" quality="high" bgcolor="' + bgcolor + '" width="' + width + '" height="' + height + '" name="' + obj_id + '" align="middle" allowScriptAccess="sameDomain" ' + (path != '/membership/swf/listeditor.swf' ? 'wmode="opaque" ' : '' ) + 'type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer"' +  (vars ? ' flashVars="' + vars + '"' : "") + '/>';
				src += '</object>';
				$(id).innerHTML = src;
			}
		},30)
		
	},
	//	======================================================================
	//	ActionScript側から呼び出し、
	//	現在のプレイヤーのバージョンを格納するプロパティ
	//	及びsetter関数
	// ----------------------------------------------------------------------
	flashPlayerVersion : undefined,
	setFlashPlayerVersion : function(version){
		View.flashPlayerVersion = version;
	}
};
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	ポップアップ関連のファンクション
//	■Ver1.0	2007/08/14
//	**********************************************************************
var Popup = {
	$background:undefined,
	$canvas:undefined,
	_callback:undefined,
	open:function(url,width,height,callback){
		//	----------------------------------------------------------------------
		var w = (width != undefined) ? Number(width) : 640 ;
		var h = (height != undefined) ? Number(height) : 480 ;
		this._callback =callback || undefined;
		//	----------------------------------------------------------------------
		switch (url){
			case 'trialdownload':
				url = 'http://www.clubdam.com/help/popup/trialdownload.html'
				break;
			default:
				break;
		}
		//	----------------------------------------------------------------------
		var flag_image = url.match(/\.png$|\.jpg$|\.gif$/)
		var param = ""
				+" toolbar="		+0
				+",location="		+0
				+",directories="	+0
				+",status="			+ (flag_image ? 0 : 1)
				+",menubar="		+ 0
				+",scrollbars="		+ (flag_image ? 0 : 1)
				+",resizable="		+ (flag_image ? 0 : 1)
				+",innerWidth="		+w
				+",innerHeight="	+h
				+",width="			+w
				+",height="			+h;
		var popup;
		if(flag_image){
			this.make_canvas(url);
		}else{
			popup = window.open(url,"popup",param);
			popup.focus();
		}
	},
	//	----------------------------------------------------------------------
	make_canvas:function(url){
		var set_pngBackground = (function(){
			if (Agent.isIE5() || Agent.isIE6()) {
				return function(src,setting){return 'background: none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=\'crop\');';}
			}else{
				return function(src,setting){return 'background: transparent url(\'' + src + '\') ' + (setting||'no-repeat left top');}
			}
		})()
		this.$background = $attach_node(
			document.body,
			'div',
			{
				style:'position:absolute;display:block;visibility:visible;left:0px;top:0px;text-align:center;z-index:7;background:#FFF;'
			}
		);

		this.$canvas = $attach_node(
			document.body,
			'div',
			{
				id:'InnerPopupWrapper',
				style:'position:absolute;display:block;visibility:visible;left:0px;top:0px;text-align:center;z-index:8;'
			}
		); 

		var src='';
		src +='<table id="PopupTable" style="margin:0px auto 0px">';
		src +='<tr>';
		src +='<td><img class="alpha" src="/includes/images/popup/app/lefttop.png" width="50" height="20" /></td>';
		src +='<td style="' + set_pngBackground('/includes/images/popup/app/top.png','left top repeat-x') + '" ></td>';
		src +='<td><img class="alpha" src="/includes/images/popup/app/righttop.png" width="50" height="20" /></td>';
		src +='</tr>';
		src +='<tr>';
		src +='<td style="' + set_pngBackground('/includes/images/popup/app/left.png','right top repeat-y') + '"></td>';
		src +='<td id="PopupImageCell">';
		src +='<div id="PopupImageNote" style="display:block;visibility:hidden;position:absolute;text-aling:center;background:#000;padding:10px 0px;"><img class="alpha" width="290" height="20" alt="" src="/includes/images/popup/app/button_close.png" /></div>';
		src +='<a href="javascript:Popup.close_canvas();"><img src="' + url + '" alt="この画像をクリックすると下の画面に戻ります。" onload="Popup.set_closer(this.width,this.height);"/></a>';
		src +='</td>';
		src +='<td style="' + set_pngBackground('/includes/images/popup/app/right.png','left top repeat-y') + '"></td>';
		src +='</tr>';
		src +='<tr>';
		src +='<td><img class="alpha" src="/includes/images/popup/app/leftbottom.png" width="50" height="50" /></td>';
		src +='<td style="' + set_pngBackground('/includes/images/popup/app/bottom.png','left top repeat-x') + '"></td>';
		src +='<td><img class="alpha" src="/includes/images/popup/app/rightbottom.png" width="50" height="50" /></td>';
		src +='</tr>';
		src +='</table>';
		this.$canvas.innerHTML = src;
		
		View.changeSelectTag(true);
		View.setStyle(this.$background,{opacity:50,left:0,top:0});
		var target = this;
		addListener(window,'resize',function(){target.resize()},false);
		//addListener(window,'scroll',function(){target.scroll()},false);
		setTimeout(function(){
			target.resize();
			target.scroll();
		}, 50);
	},
	//	----------------------------------------------------------------------
	close_canvas:function(){
		document.body.removeChild(this.$background);
		document.body.removeChild(this.$canvas);
		View.changeSelectTag(false);
		if(!!this._callback&&typeof this._callback == 'function') this._callback();
	},
	//	----------------------------------------------------------------------
	set_closer:function(width,height){
		View.setStyle($('PopupImageNote'),{width:width});
		$('PopupImageCell').onmouseover = function(){
			View.setStyle($('PopupImageNote'),{visibility:'visible',opacity:70});
		}

		$('PopupImageCell').onmouseout = function(){
			View.setStyle($('PopupImageNote'),{visibility:'hidden'});
		}

	},
	//	----------------------------------------------------------------------
	scroll:function(width,height){
		//View.setStyle(this.$canvas,{top:(document.documentElement.scrollTop+200)});
		var geom = Geom.get_geom();
		View.setStyle(this.$canvas,{top:geom.top + 200, left:(geom.width/2) - (this.$canvas.offsetWidth/2)});
	},	
	resize:function(width,height){
		//View.setStyle(this.$background,{width:document.body.clientWidth,height:document.body.clientHeight});
		//View.setStyle(this.$canvas,{left:(document.body.clientWidth/2) - (this.$canvas.offsetWidth/2)});
		var geom = Geom.get_geom();
		View.setStyle(this.$background,{width:geom.width, height:geom.height});
		View.setStyle(this.$canvas,{left:(geom.width/2) - (this.$canvas.offsetWidth/2)});
	}
};
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	XML形式のHTMLデータを読み込み、画面上にポップアップ形式で表示させるオブジェクト
//	PopupHelper.show('XMLファイルのパス')	:	ポップアップを表示
//	PopupHelper.close()						:	ポップアップを閉じる
//	**********************************************************************
var PopupHelper = new function(){
	var source_type = {
		ABOUT_YAHOO_ASSOCIATION			:				'/help/shared/about_yahoo_association.xml',
		CONTRACT_SELECTION				:				'/help/shared/contract_selection.xml'
	};
	var resizeListener;
	var scrollListener;
	var wapperId;
	var helpId;
	var isActiveWindow = false;
	
	//HTML枠組み・ローディング画像を表示
	var set_pngBackground = (function(){
		if (Agent.isIE5() || Agent.isIE6()) {
			return function(src,setting){return 'background:none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=\'scale\');';}
		}else{
			return function(src,setting){return 'background: transparent url(\'' + src + '\') ' + (setting||'no-repeat left top');}
		}
	})();
	
	//表示位置の調整
	var positioning = function(){
		//ブラウザ表示領域の高さ
		var bs = Geom.get_geom().clientHeight;
		//ヘルプボックスの高さ
		var hs = helpId.offsetHeight;
		//相対マウス座標
		var mt = MousePosition.top - Geom.get_geom().top;
		helpId.style.top = (bs < hs+mt ? -hs : 0) + MousePosition.top + 'px';
	}

	var PopupHelper_Interface = {};
	PopupHelper_Interface.source_type = source_type;
	PopupHelper_Interface.has_activeWindow = function(){
		return !!isActiveWindow;
	};
	PopupHelper_Interface.show = function(resourceLocation){
		//プルダウン/Flashの表示状態を変更
		View.changeSelectTag(true);
		View.changeFlashView(true);
		//出力先ノードを生成
		var node = $attach_node(
				$('Content'),
				'div',
				{id:'PopupHelperWrapper_js'}
		);
		//高さを取得
		var src = '';
		src+='<div id="PopupHelper_BG_js"></div>';
		src+='<div id="PopupHelper_js">';
		src+='<table cellpadding="0" cellspacing="0" border="0">';
		src+='<tr><td colspan="3"><h3 id="HelpTitle_js" style="'+set_pngBackground('/includes/images/help/app/popuphelper_bg_top.png',' no-repeat left top') +'"></h3></td></tr>';
		src+='<tr><td class="bgMiddleL" style="'+set_pngBackground('/includes/images/help/app/popuphelper_bg_middle_l.png','repeat-y') +'">&#160;</td>';
		src+='<td><div id="HelpContents_js"><p class="loadingImg">情報を読み込んでいます<br />'+CommonImage.loading+'</p></div></td>';
		src+='<td class="bgMiddleR" style="'+set_pngBackground('/includes/images/help/app/popuphelper_bg_middle_r.png','repeat-y') +'">&#160;</td></tr>';
		src+='<tr><td colspan="3"><div id="PopupHelperClose" style="'+set_pngBackground('/includes/images/help/app/popuphelper_bg_bottom.png',' no-repeat left top') +'">'+CommonImage.close+'</div></td></tr>';
		src+='</table>';
		src+='</div>';

		
		wapperId = $('PopupHelperWrapper_js');
		//出力
		wapperId.innerHTML = src;
		
		//各ノード取得
		helpId = $('PopupHelper_js')
		var bgId = $('PopupHelper_BG_js');
		var titleId = $('HelpTitle_js');
		var contentsId = $('HelpContents_js');
		var closeId = $('PopupHelperClose')
			
		//表示位置を調整
		positioning();
		
		//背景リサイズ関数
		var resize = function(){
			bgId.style.height = Geom.get_geom().height + 'px';
		}
		
		resizeListener = addListener(window,'resize',resize,false);
		scrollListener = addListener(window,'scroll',resize,false);
		resize();
		
		//XML読み込み完了時
		var success = function(response){
			var res = response.responseXML;
			var status = $tag($tag(res,'result')[0],'status')[0].firstChild.data;
			//statusが0000以外だったらエラーを表示
			if(status != 0000) contentsId.innerHTML = 'XMLデータが壊れています';
			
			//各HTMLノードに出力
			titleId.innerHTML = $tag($tag(res,'data')[0],'title')[0].firstChild.data;
			contentsId.innerHTML = $tag($tag(res,'data')[0],'source')[0].firstChild.data;
			
			//表示位置を調整
			positioning();
			
			//flagをtrue
			isActiveWindow = true;
			
		}
		
		//XML読み込み失敗時
		var failure = function(status){
			switch(status){
			case 'AJAXE000': //オブジェクト生成エラー
				contentsId.innerHTML = 'このページには、お客様がご利用ののブラウザでご利用できない機能が含まれています。\n大変ご迷惑をおかけいたしますが、最新のブラウザをご利用の上で再度ご訪問いただきますよう、宜しくお願いいたします。';
				break;
			case 'AJAXE001': //404
				contentsId.innerHTML = 'プログラムのエラーにより、最新の情報を確認することができませんでした。お手数ですが暫くお待ちいただきますようお願いいたします。';
				break;
			case 'AJAXE002': //timeout
				contentsId.innerHTML = '制限時間を越えたため、サーバからの最新情報の取得を中止させていただきました。お手数ですが暫くお待ちになられてから、もう一度こちらの機能をご利用ください。';
				break;
			}
		}

		addListener(bgId,'click',this.close,false);
		addListener(closeId,'click',this.close,false);

		
		//XML読み込み開始
		new AjaxLoader(resourceLocation,null,'GET',{'success':success,'failure':failure},{});
	}
	PopupHelper_Interface.close = function(){
		//プルダウン/Flashの表示状態を変更
		View.changeFlashView(false);
		View.changeSelectTag(false);
		wapperId.parentNode.removeChild(wapperId);
		removeListener(resizeListener);
		removeListener(scrollListener);
		//flagをfalse
		isActiveWindow = false;
			
	};
	return PopupHelper_Interface;
};
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	XML形式のHTMLデータを読み込み、画面上にポップアップ形式で表示させるオブジェクト
//	ModalWindow.show('XMLファイルのパス')	:	ポップアップを表示
//	ModalWindow.close()						:	ポップアップを閉じる
//	**********************************************************************
var ModalWindow = new function(){
	var resizeListener;
	var scrollListener;
	var wapperId;
	var modalId;
	var isActiveWindow = false;
	
	var ignoreScroll = false;
	//	ウインドウの色などのコンフィギュレーション
	var colorScheme = null;
	
	//PNG読み込み
	var set_pngBackground = (function(){
		if (Agent.isIE5() || Agent.isIE6() || Agent.isIE7() || Agent.isIE8()) {
			return function(src,setting){return 'background:none;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + src + ', sizingMethod=\'scale\');';}
		}else{
			return function(src,setting){return 'background: transparent url(\'' + src + '\') ' + (setting||'no-repeat left top');}
		}
	})();
	
	//elmを画面の中心に表示する。
	var positioning = function(elm,callback){
		var elm = (typeof elm == 'String')? $(elm):elm;
		//ブラウザ情報取得
		var scrollTop = Geom.get_geom().top;
		var clientHeight = Geom.get_geom().clientHeight;
		var scrollLeft = Geom.get_geom().left;
		var clientWidth = Geom.get_geom().clientWidth;
		//エレメント情報取得
		var elmHeight = elm.offsetHeight;
		var elmWidth = elm.offsetWidth;
		
		elm.style.position = 'absolute';
		//縦位置調整
		var top = clientHeight/2-elmHeight/2;
		elm.style.top = scrollTop+top+'px';
		//横位置調整
		var left = clientWidth/2-elmWidth/2;
		elm.style.left = left+'px';
		
		if(callback) callback();
	}
	
	//HTMLSRC取得
	var htmlSrc = function(){
		var defaultImageScheme = {
			left_top_image_tag		:	'<img src="/includes/images/modal/app/modalwindow_left_top.png" width="30" height="30" class="alpha" />',
			top_image_path			:	'/includes/images/modal/app/modalwindow_top.png',
			right_top_image_tag		:	'<img src="/includes/images/modal/app/modalwindow_right_top.png" width="30" height="30" class="alpha" />',
			left_middle_image_path	:	'/includes/images/modal/app/modalwindow_left.png',
			right_middle_image_path	:	'/includes/images/modal/app/modalwindow_right.png',
			left_bottom_image_tag	:	'<img src="/includes/images/modal/app/modalwindow_left_bottom.png" width="30" height="35" class="alpha" />',
			bottom_image_path		:	'/includes/images/modal/app/modalwindow_bottom.png',
			right_bottom_image_tag	:	'<img src="/includes/images/modal/app/modalwindow_right_bottom.png" width="30" height="35" class="alpha" />'
		}
		// ModalWindow_Interface.colorSchemeType.BLACK
		var damtomoImageScheme = {
			left_top_image_tag		:	'<img src="/includes/images/modal/app/modalwindow_left_top_damtomo.png" width="30" height="30" class="alpha" />',
			top_image_path			:	'/includes/images/modal/app/modalwindow_top_damtomo.png',
			right_top_image_tag		:	'<img src="/includes/images/modal/app/modalwindow_right_top_damtomo.png" width="30" height="30" class="alpha" />',
			left_middle_image_path	:	'/includes/images/modal/app/modalwindow_left_damtomo.png',
			right_middle_image_path	:	'/includes/images/modal/app/modalwindow_right_damtomo.png',
			left_bottom_image_tag	:	'<img src="/includes/images/modal/app/modalwindow_left_bottom_damtomo.png" width="30" height="30" class="alpha" />',
			bottom_image_path		:	'/includes/images/modal/app/modalwindow_bottom_damtomo.png',
			right_bottom_image_tag	:	'<img src="/includes/images/modal/app/modalwindow_right_bottom_damtomo.png" width="30" height="30" class="alpha" />'
		}
		//colorSchemeが定義されている場合は、画像セットを変更
		var imageScheme = null;
		switch(colorScheme){
			case ModalWindow_Interface.colorSchemeType.DAMTOMO :
				imageScheme = damtomoImageScheme;
				break;
			default:
				imageScheme = defaultImageScheme;
				break;
		}
		//HTML
		var src = '';
		src += '<div id="ModalWindow_BG_js"></div>';
		src += '<div id="ModalWindow_js" class="modal_js">';
		src += '<table cellpadding="0" cellspacing="0" border="0">';
/*
		src += '<tr><td><img src="/includes/images/modal/app/modalwindow_left_top.png" width="30" height="30" class="alpha" /></td><td  style="'+set_pngBackground('/includes/images/modal/app/modalwindow_top.png',' repeat-x bottom')+'"></td><td><img src="/includes/images/modal/app/modalwindow_right_top.png" width="30" height="30" class="alpha" /></td></tr>';
		src += '<tr><td  style="'+set_pngBackground('/includes/images/modal/app/modalwindow_left.png',' repeat-y right')+'"></td><td id="ModalContents_js"><p class="loadingImg">情報を読み込んでいます<br />'+CommonImage.loading+'</p></td><td  style="'+set_pngBackground('/includes/images/modal/app/modalwindow_right.png',' repeat-y left')+'"></td></tr>';
		src += '<tr><td><img src="/includes/images/modal/app/modalwindow_left_bottom.png" width="30" height="35" class="alpha" /></td><td  style="'+set_pngBackground('/includes/images/modal/app/modalwindow_bottom.png',' repeat-x top')+'"></td><td><img src="/includes/images/modal/app/modalwindow_right_bottom.png" width="30" height="35" class="alpha" /></td></tr>';
*/
		src += '<tr><td>' + imageScheme.left_top_image_tag + '</td><td  style="'+set_pngBackground(imageScheme.top_image_path,' repeat-x bottom')+'"></td><td>' + imageScheme.right_top_image_tag + '</td></tr>';
		src += '<tr><td style="'+set_pngBackground(imageScheme.left_middle_image_path,' repeat-y right')+'"></td><td id="ModalContents_js"><p class="loadingImg">情報を読み込んでいます<br />'+CommonImage.loading+'</p></td><td  style="'+set_pngBackground(imageScheme.right_middle_image_path,' repeat-y left')+'"></td></tr>';
		src += '<tr><td>' + imageScheme.left_bottom_image_tag + '</td><td  style="'+set_pngBackground(imageScheme.bottom_image_path,' repeat-x top')+'"></td><td>' + imageScheme.right_bottom_image_tag + '</td></tr>';
		src += '</table>';
		src += '</div>';
		src += '</div>';
		return src;
	}

	var ModalWindow_Interface = {};
	ModalWindow_Interface.colorSchemeType = {
		DAMTOMO	:	'damtomo'
	}
	
	ModalWindow_Interface.setColorScheme = function($colorScheme){
		switch($colorScheme){
			case this.colorSchemeType.DAMTOMO :
				colorScheme = this.colorSchemeType.DAMTOMO;
				break;
			default:
				break;
		}
	}
	ModalWindow_Interface.setScrollIgnoring = function(flag){
		ignoreScroll = !!flag;
	}
	ModalWindow_Interface.setPosition = function(elm,callback){
		var elm = (elm)?elm:$('ModalWindow_js');
		positioning(elm,callback)
	}
	
	ModalWindow_Interface.has_activeWindow = function(){
		return !!isActiveWindow;
	};
	ModalWindow_Interface.show = function(resourceLocation,callback,parent,options){
		//resourceLocation : String : xmlのパス
		//callback : Function : ポップアップ表示後実行　省略可
		//parent : String : 親DOM　省略可
		
		
		//プルダウン/Flashの表示状態を変更
		View.changeSelectTag(true);
		View.changeFlashView(true);
		
		//出力先ノードを生成
		var parentNode = (parent)?parent:'Content';
		var node = $attach_node(
				$(parentNode),
				'div',
				{id:'ModalWindowWrapper_js'}
		);
		
		//HTMLを取得
		//出力先
		wapperId = $('ModalWindowWrapper_js');
		
		//出力
		wapperId.innerHTML = htmlSrc();
		
		//各ノード取得
		modalId = $('ModalWindow_js');
		var bgId = $('ModalWindow_BG_js');
		var contentsId = $('ModalContents_js');
			
		//colorSchemeが定義されている場合は、色セットを変更
		switch(colorScheme){
			case this.colorSchemeType.DAMTOMO :
				View.setStyle(bgId, {backgroundColor:'#000', opacity:'70'});
			default:
				break;
		}

		
		//背景リサイズ関数
		var resize = function(){
			bgId.style.width = Geom.get_geom().width + 'px';
			bgId.style.height = Geom.get_geom().height + 'px';
		}
		
		//表示位置を調整
		resizeListener = addListener(window,'resize',function(){positioning(modalId,resize)},false);
		//ignoreScrollがtrueの場合はスクロールに吸着しない
		if(ignoreScroll){
			scrollListener = addListener(window,'scroll',function(){},false);
		}else{
			scrollListener = addListener(window,'scroll',function(){positioning(modalId,resize)},false);
		}
		
		
		
		
		//XML読み込み完了時
		var success = function(response){
			var res = response.responseXML;
			var status = $tag($tag(res,'result')[0],'status')[0].firstChild.data;
			//statusが0000以外だったらエラーを表示
			if(status != 0000) contentsId.innerHTML = 'XMLデータが壊れています';
			
			//各HTMLノードに出力
			contentsId.innerHTML = $tag($tag(res,'data')[0],'source')[0].firstChild.data;
			//alert($tag($tag(res,'data')[0],'source')[0].firstChild.nodeType);
			//var test_length = $tag($tag(res,'data')[0],'source')[0].firstChild.childNodes.length;
			//alert(test_length);
			//表示位置を調整
			//positioning(modalId);
			var test = setTimeout(function(){
				positioning(modalId);
			},0);
			positioning(modalId,resize);
			
			//flagをtrue
			isActiveWindow = true;
			
			if(callback) callback();
			
			
		}
		
		//XML読み込み失敗時
		var failure = function(status){
			switch(status){
			case 'AJAXE000': //オブジェクト生成エラー
				contentsId.innerHTML = 'このページには、お客様がご利用ののブラウザでご利用できない機能が含まれています。\n大変ご迷惑をおかけいたしますが、最新のブラウザをご利用の上で再度ご訪問いただきますよう、宜しくお願いいたします。';
				break;
			case 'AJAXE001': //404
				contentsId.innerHTML = 'プログラムのエラーにより、最新の情報を確認することができませんでした。お手数ですが暫くお待ちいただきますようお願いいたします。';
				break;
			case 'AJAXE002': //timeout
				contentsId.innerHTML = '制限時間を越えたため、サーバからの最新情報の取得を中止させていただきました。お手数ですが暫くお待ちになられてから、もう一度こちらの機能をご利用ください。';
				break;
			}
		}
		
		//XML読み込み開始
		new AjaxLoader(resourceLocation,null,'GET',{'success':success,'failure':failure},{});
	}
	
	ModalWindow_Interface.resizeRemoveListener = function(){
		removeListener(resizeListener);
	}
	ModalWindow_Interface.scrollRemoveListener = function(){
		removeListener(scrollListener);
	}
	
	ModalWindow_Interface.close = function(){
		//プルダウン/Flashの表示状態を変更
		View.changeFlashView(false);
		View.changeSelectTag(false);
		wapperId.parentNode.removeChild(wapperId);
		removeListener(resizeListener);
		removeListener(scrollListener);
		//flagをfalse
		isActiveWindow = false;
			
	};
	return ModalWindow_Interface;
};
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	フォントサイズ関連のファンクション
//	**********************************************************************

var Font = {
	getSize:function(){
		return Cookies.getValue('font');
	},
	change:function(value){
		if(value != Font.getSize()){
			Cookies.setValue('font',value,'/');
			window.location.reload();
		}
	}
}
if(Font.getSize() == undefined){
	Cookies.setValue('font','small','/')
}
document.open();
document.write('<link href="/includes/css/font_' + Font.getSize() + '.css" rel="stylesheet" type="text/css" media="all" />')
document.close();



//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	FontSlider　スライダーでフォントサイズを変更
//	======================================================================
var FontSlider = function(obj){
	//▼引数
	//wrapper		：String			：フォントサイズ変更を適用する親ID
	//size			：Number　			：通常時のフォントサイズ
	//maxsize		：Number			：最大フォントサイズ
	//minsize		：Number			：最小フォントサイズ
	//drag			：Boolean			：Dragさせる場合はtrue、させない場合はfalse ※調整中
	this.wrapper = obj.wrapper;
	this.defaultSize = obj.size;
	//this.pointDefaultObj = obj.point;
	this.maxFontSize = obj.maxsize;
	this.minFontSize = obj.minsize;
	this.fontBoxDrag = obj.drag;
	
	//スライダー範囲
	this.area = {
		left : 66,
		right : 230
	}
	this.init();
}

//テンプレートスタイル生成
FontSlider.STYLE = {
	FontSlider_js : 'position:absolute;top:0px;left:0px;display:block;opacity:0;filter:alpha(opacity=0);',
	FontSliderSlider_js : 'position:absolute;top:50px;left:148px;cursor:pointer;',
	navi : 'width:262px;height:23px;padding:0px;color:#fff;text-align:left;vertical-align:top;background:url(/includes/images/fontconsole/fontslider_titlebg.gif) no-repeat left top;',
	naviLeft : 'float:left;width:177px;padding-left:10px;font-size:13px;',
	naviRight : 'float:left;width:60px;padding-right:15px;text-align:right;font-size:13px;',
	a_on : 'color:#fff;font-size:13px;',
	a_off : 'color:#bbb;font-size:13px;text-decoration:none;cursor:default',
	base : 'background:#fff',
	baseImg : 'display:block;',
	bgTop : 'width:312px;height:20px;',
	bgTopIE : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/includes/images/fontconsole/shadow_top.png\',sizingMethod=\'scale\');',
	bgTopNormal : 'background:url(/includes/images/fontconsole/shadow_top.png) no-repeat left top;',
	bgSide : 'width:25px;height:68px;',
	bgLeftIE : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/includes/images/fontconsole/shadow_left.png\',sizingMethod=\'scale\');',
	bgLeftNormal : 'background:url(/includes/images/fontconsole/shadow_left.png) no-repeat left top;',
	bgRightIE : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/includes/images/fontconsole/shadow_right.png\',sizingMethod=\'scale\');',
	bgRightNormal : 'background:url(/includes/images/fontconsole/shadow_right.png) no-repeat left top;',
	bgBtm : 'width:312px;height:40px;',
	bgBtmIE : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/includes/images/fontconsole/shadow_bottom.png\',sizingMethod=\'scale\');',
	bgBtmNormal : 'background:url(/includes/images/fontconsole/shadow_bottom.png) no-repeat left top;'
}

//テンプレートHTML生成
FontSlider.TEMPLATE = function(){
	
	var src = '';
	src += '<div id="FontSlider_js" style="'+FontSlider.STYLE.FontSlider_js+'">';
	src += '<table border="0" cellspacing="0" cellpadding="0">';
	src += '<tr>';
	src += '<td colspan="3" style="' + FontSlider.STYLE.bgTop + (Agent.isIE() ? FontSlider.STYLE.bgTopIE : FontSlider.STYLE.bgTopNormal) +'"></td>';
	src += '</tr>';
	src += '<tr>';
	src += '<td rowspan="2" style="' + FontSlider.STYLE.bgSide + (Agent.isIE() ? FontSlider.STYLE.bgLeftIE : FontSlider.STYLE.bgLeftNormal) +'"></td>';
	src += '<td style="'+FontSlider.STYLE.navi+'">';
	src += '<div style="'+FontSlider.STYLE.naviLeft+'">';
	src += '<a href="#" id="FontSliderSmall_js" style="'+FontSlider.STYLE.a_on+'">小</a> | <a href="#" id="FontSliderLarge_js" style="'+FontSlider.STYLE.a_on+'">大</a> | <a href="#" id="FontSliderDefault_js" style="'+FontSlider.STYLE.a_on+'">標準サイズ</a>';
	src += '</div>';
	src += '<div style="'+FontSlider.STYLE.naviRight+'">';
	src += '<a href="#" id="FontSliderClose_js" style="'+FontSlider.STYLE.a_on+'">閉じる</a>';
	src += '</div>';
	src += '</td>';
	src += '<td rowspan="2" style="' + FontSlider.STYLE.bgSide + (Agent.isIE() ? FontSlider.STYLE.bgRightIE : FontSlider.STYLE.bgRightNormal) +'"></td>';
	src += '</tr>';
	src += '<tr>';
	src += '<td style="'+FontSlider.STYLE.base+'"><img src="/includes/images/fontconsole/fontslider_base.gif" width="262" height="45" style="'+FontSlider.STYLE.baseImg+'" /></td>';
	src += '</tr>';
	src += '<tr>';
	src += '<td colspan="3" style="' + FontSlider.STYLE.bgBtm + (Agent.isIE() ? FontSlider.STYLE.bgBtmIE : FontSlider.STYLE.bgBtmNormal) +'"></td>';
	src += '</tr>';
	src += '</table>';
	src += '<img id="FontSliderSlider_js" src="/includes/images/fontconsole/fontslider.gif" width="16" height="34" style="'+FontSlider.STYLE.FontSliderSlider_js+'" />';
	src += '</div>';

	return src;
}

//初期処理
FontSlider.prototype.init = function(){
	var instance = this;

	//スライダーHTMLを出力するための親要素を生成
	var outputElm = document.createElement('div');
		outputElm.id = 'FontSliderOutput_js';
	$tag(document,'body')[0].appendChild(outputElm);
	//テンプレートを出力
	$('FontSliderOutput_js').innerHTML = FontSlider.TEMPLATE();
	
	//各elmを取得
	this.elm = $('FontSlider_js');
	this.slider = $('FontSliderSlider_js');
	this.largeElm = $('FontSliderLarge_js');
	this.smallElm = $('FontSliderSmall_js');
	
	//中心から終点までの距離
	var distance = (this.area.right-this.area.left)/2;

	//中心ポイント
	this.center = Number(this.slider.style.left.split('px')[0]);
	this.elm.style.display = 'none';
	
	//デフォルト位置調整
	//this.elm.style.top = this.pointDefaultObj.top;
	//this.elm.style.left = this.pointDefaultObj.left;
	
	//ChangeFontSizeインスタンス生成
	this.fontInstance = new ChangeFontSize(this.wrapper,this.defaultSize)
	
	//Fadeインスタンス生成
	this.fade = new FontSlider.Fade(this.elm,'1')
	
	
	
	//各リスナー
	addListener(this.smallElm,'click',function(evt){instance.small(evt);},false)
	addListener(this.largeElm,'click',function(evt){instance.large(evt);},false)
	addListener($('FontSliderDefault_js'),'click',function(evt){instance.default_func(evt);},false)
	addListener($('FontSliderClose_js'),'click',function(evt){instance.close(evt);},false)
	
	
	
	//dragFlag
	this.dragFlag = false;
	addListener(this.slider,'mousedown',function(evt){instance.mousedownEvent(evt)},false);
	addListener(document,'mousemove',function(evt){instance.mousemoveEvent(evt)},false);
	addListener(document,'mouseup',function(evt){instance.mouseupEvent(evt)},false);
	

	
	//フォントサイズ変更位置配列
	this.largeChangePoint = [];
	this.smallChangePoint = [];
	//フォントサイズに対するスライダー位置を格納
	this.changePoint = {};
	//largePointNum
	var largePointNum = this.maxFontSize - this.defaultSize;//7
	for(var i=0;i<largePointNum;i++){
		var a_point = Math.floor((distance/largePointNum)*(i+1));
		var a_size = this.defaultSize + (i+1);
		this.largeChangePoint[i]={point:a_point,size:a_size}
		this.changePoint[a_size] = this.center + a_point;
	}
	this.largeDis = Math.floor((distance/largePointNum));//11
	
	//smallPointNum
	var smallPointNum = this.defaultSize - this.minFontSize;//3
	for(var i=0;i<smallPointNum;i++){
		var a_point = Math.floor((distance/smallPointNum)*(i+1));
		var a_size = this.defaultSize - (i+1);
		this.smallChangePoint[i]={point:a_point,size:a_size};
		this.changePoint[a_size] = this.center - a_point;
	}
	this.smallDis = Math.floor((distance/smallPointNum));
	
	//changePoint調整
	this.changePoint[this.defaultSize] = this.center;
	//フォントボックスのDrag
	if(this.fontBoxDrag){
		new Drag(this.elm)
	}
	
	//大小ボタンのカウンター
	this.largeFrag = true;
	this.smallFrag = true;
	
	//スライダー用クッキー
	this.cookie = new FontSlider.Cookie('FontSliderCookie');
	//alert(this.cookie['leftPosition'])
	
	/*
	var text = '';
	for(prop in this.cookie){
		text += prop + ':' + this.cookie[prop] + '\n';
	}
	alert(text)
	*/
	
	
	if(this.cookie['leftPosition']){
		this.slider.style.left = this.cookie['leftPosition'];
		
		//スタイル変更
		var slidePos = this.cookie['leftPosition'].split('px')[0];
		if(this.area.left == slidePos){
			instance.btnChangeStyle('small','off');
		}else if(this.area.right == slidePos){
			instance.btnChangeStyle('large','off');
		}
	}
	
	
	
}

//mousedown
FontSlider.prototype.mousedownEvent = function(evt){
	this.mX = evt.clientX - this.slider.offsetLeft;
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
	this.dragFlag = true;
}

//mousemove
FontSlider.prototype.mousemoveEvent = function(evt){
	
	if(!this.dragFlag) return;
	var thisPoint = evt.clientX-this.mX;
	
	if(thisPoint <= this.area.left){
		//▼最左
		this.slider.style.left = this.area.left + 'px';
		this.fontInstance.change(this.minFontSize);
		//スタイル変更
		this.btnChangeStyle('small','off')
		
	}else if(thisPoint >= this.area.right){
		//▼最右
		this.slider.style.left = this.area.right + 'px';
		this.fontInstance.change(this.maxFontSize);
		//スタイル変更
		this.btnChangeStyle('large','off')
		
	}else{
		//▼通常
		this.slider.style.left = thisPoint + 'px';
		//フォントサイズを変更
		this.changeFont(thisPoint);
	}
	
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
}

FontSlider.prototype.mouseupEvent = function(evt){
	if(!this.dragFlag) return;
	
	//スライダー位置調整
	//var nowsize = this.fontInstance.getFontSize();
	//this.slider.style.left = ((nowsize==this.maxFontSize)?this.area.right:(nowsize==this.minFontSize)?this.area.left:this.changePoint[nowsize])+'px';
	//クッキー登録
	this.cookie['leftPosition'] = this.slider.style.left;
	//alert(this.cookie['leftPosition'])
	this.cookie.store(null,'/');
	
	this.dragFlag = false;
	
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
}

FontSlider.prototype.changeFont = function(thisPoint){
	//thisPoint : スライダーのローカルleft座標
	var instance = this;
	
	//フォントサイズをデフォルト値にする
	var changeDefaultSize = function(distance,type){
		if((type == 'large')?distance<instance.largeChangePoint[0].point:distance<instance.smallChangePoint[0].point){
			instance.fontInstance.change(instance.defaultSize);
			return;
		}
	}
	
	if(thisPoint >= this.center){
		for(var i=0;i<this.largeChangePoint.length;i++){
			var next = (i == this.largeChangePoint.length-1)?this.largeChangePoint[i].point*2:this.largeChangePoint[i+1].point;
			var distance = thisPoint - this.center;
			changeDefaultSize(distance,'large');
			if(distance >= this.largeChangePoint[i].point && distance < next){
				if(this.largeChangePoint[i].size == this.fontInstance.getFontSize()) return;
				this.fontInstance.change(this.largeChangePoint[i].size);
				this.btnChangeStyle('large','on');
				return;
			}
		}
	}else if(thisPoint < this.center){
		for(var i=0;i<this.smallChangePoint.length;i++){
			var next = (i == this.smallChangePoint.length-1)?this.smallChangePoint[i].point*2:this.smallChangePoint[i+1].point;
			var distance = this.center - thisPoint;
			changeDefaultSize(distance,'small');
			if(distance >= this.smallChangePoint[i].point && distance<next){
				if(this.smallChangePoint[i].size == this.fontInstance.getFontSize()) return;
				this.fontInstance.change(this.smallChangePoint[i].size);
				this.btnChangeStyle('small','on');
				return;
			}
		}
	}
}



//show
FontSlider.prototype.show = function(event){
	var instance = this;
	//表示
	this.elm.style.display = "block";
	//位置調整
	var pos = this.getBlockPosition(this.elm,{top:MousePosition.top,left:MousePosition.left},'center');
	
	this.elm.style.left = pos.left + 'px'
	this.elm.style.top = pos.top + 'px';
	//フェードイン
	this.fade.fadeIn('0.1')
	//this.elm.style.opacity = '1';
}

//large
FontSlider.prototype.large = function(evt){
	if(!this.largeFrag) return;
	
	//スライダー位置変更
	this.slider.style.left = this.changePoint[this.fontInstance.getFontSize()+1] + 'px';

	//フォントサイズを変更
	var distance = Number(this.slider.style.left.split('px')[0]);
	this.changeFont(distance);
	
	//デフォルトサイズの場合
	if(this.fontInstance.getFontSize() == this.defaultSize)	this.slider.style.left = this.center + 'px';
	
	//終点の場合
	if(Number(this.slider.style.left.split('px')[0])+(this.largeDis/2) >= this.area.right){
		//スタイル変更
		this.btnChangeStyle('large','off')
		this.slider.style.left = this.area.right + 'px';
	}
	
	//smallFragがfalseの場合はON状態にする
	if(!this.smallFrag) this.btnChangeStyle('small','on');
	
	//クッキー登録
	this.cookie['leftPosition'] = this.slider.style.left;
	this.cookie.store(null,'/');
	
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
}


//small
FontSlider.prototype.small = function(evt){
	if(!this.smallFrag) return;
	
	//スライダー位置変更
	this.slider.style.left = this.changePoint[this.fontInstance.getFontSize()-1] + 'px';
	
	//フォントサイズを変更
	var distance = Number(this.slider.style.left.split('px')[0]);
	this.changeFont(distance);
	
	//デフォルトサイズの場合
	if(this.fontInstance.getFontSize() == this.defaultSize) this.slider.style.left = this.center + 'px';
	
	//終点の場合
	if(Number(this.slider.style.left.split('px')[0])-(this.smallDis/2) <= this.area.left){
		//スタイル変更
		this.btnChangeStyle('small','off');
		this.slider.style.left = this.area.left + 'px';
	}
	
	//largeFragがfalseの場合はON状態にする
	if(!this.largeFrag) this.btnChangeStyle('large','on');

	
	//クッキー登録
	this.cookie['leftPosition'] = this.slider.style.left;
	this.cookie.store(null,'/');
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
}

//default
FontSlider.prototype.default_func = function(evt){
	var instance = this;
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
	//サイズ変更
	this.fontInstance.change(this.defaultSize);
	//スライダー位置変更
	this.elementMove(this.slider,this.center,this.slider.style.top.split('px')[0],'',function(){
		//クッキー
		instance.cookie['leftPosition'] = instance.slider.style.left;
		instance.cookie.store(null,'/');

		//スタイル変更
		instance.btnChangeStyle('large','on');
		instance.btnChangeStyle('small','on');
	});
}

//close
FontSlider.prototype.close = function(evt){
	var instance = this;
	//デフォルトアクション削除・伝播抑止
	this.preventDefault(evt);
	this.stopPropagation(evt);
	//フェードアウト
	this.fade.fadeOut('0.1',function(){
		instance.elm.style.display = "none";
	});
}

//大小ボタンスタイルチェンジ
FontSlider.prototype.btnChangeStyle=function(change,type){
	if(change == 'large' && type=='on'){
		this.largeElm.style.cssText = FontSlider.STYLE.a_on;
		this.largeFrag = true;
	}else if(change == 'large' && type=='off'){
		this.largeElm.style.cssText = FontSlider.STYLE.a_off;
		this.largeFrag = false;
	}else if(change == 'small' && type=='on'){
		this.smallElm.style.cssText = FontSlider.STYLE.a_on;
		this.smallFrag = true;
	}else if(change == 'small' && type=='off'){
		this.smallElm.style.cssText = FontSlider.STYLE.a_off;
		this.smallFrag = false;
	}
}

//フォントブロック位置を取得
FontSlider.prototype.getBlockPosition = function(block,pos,type){
	//block : Object : 表示させるボックス
	//pos 	: Object : マウスのポジション{top:Number,left:Number}
	//type  : String : 表示位置 centerを指定するとクリックした中心に表示
	
	var leftMgn = 0;
	var topMgn = 0;
	if(type == 'center'){
		leftMgn = block.offsetWidth/2;
		topMgn = block.offsetHeight/2;
	}
	
	var cW = Geom.get_geom().clientWidth;
	var cH = Geom.get_geom().clientHeight;
	var eL = pos.left + block.offsetWidth-Geom.get_geom().left-leftMgn;
	var eT = pos.top + block.offsetHeight-Geom.get_geom().top-topMgn;
	
	var posLeft = (eL >= cW) ? pos.left-block.offsetWidth : (pos.left>=leftMgn)?pos.left-leftMgn:pos.left;
	var posTop = (eT>=cH) ? pos.top-block.offsetHeight : (pos.top >= topMgn)?pos.top-topMgn:pos.top;

	return {left:posLeft,top:posTop}
}


/* ------------------------------------------------------------- */
	/* START target */
	/* イベント発生源の要素ノードオブジェクトを取得 */
	/* ------------------------------------------------------------- */
FontSlider.prototype.target = function(evt){
				if(evt && evt.target){
					if(evt.target.nodeType == 3){
						return evt.target.parentNode;
					}else{
						return evt.target;
					}
				}else if(window.event && window.event.srcElement){
					return window.event.srcElement;
				}else{
					return null;
				}
			}
	/* ------------------------------------------------------------- */
	/* START preventDefault */
	/* デフォルトアクション禁止 */
	/* ------------------------------------------------------------- */
FontSlider.prototype.preventDefault = function(evt){
						if(evt && evt.preventDefault){
							evt.preventDefault();
							evt.currentTarget['on' + evt.type] = function(){return false};
						}else if(window.event){
							window.event.returnValue = false;
						}
					}
	/* ------------------------------------------------------------- */
	/* START preventDefault */
	/* 伝播抑止 */
	/* ------------------------------------------------------------- */
FontSlider.prototype.stopPropagation = function(evt){
						if(evt && evt.stopPropagation){
							evt.stopPropagation();
						}else if(window.event){
							window.event.cancelBubble = true;
						}
					}


/* ------------------------------------------------*/
	//要素移動
	/* ------------------------------------------------*/
FontSlider.prototype.elementMove = function(id,endX,endY,ratio,endfunc,alpha){
						//id	要素を移動させるID
						//endX	最終的なX座標
						//endY	最終的なY座標
						//ratio 割合(省略可)
						//endfunc 終了後に実行する関数(省略可)
						//alpha 移動中に透過させるか。ture:透過、false:非透過(省略可:false)
						var endX = Math.floor(endX);
						var endY = Math.floor(endY);
						var id = (typeof id == 'string')? $(id):id;
						
						//移動させる割合
						var RATIO = (ratio)?ratio : 0.1;
						
						//スタイル設定
						id.style.position = 'absolute';
						id.style.zIndex = '100';
						if(alpha){
							id.style.opacity = '0.5';
							id.style.filter = 'alpha(opacity=50)';
						}
						id.style.left = id.offsetLeft + 'px';
						id.style.top = id.offsetTop + 'px';
						
						//現在の位置を取得
						var startX = id.offsetLeft;
						var startY = id.offsetTop;
								
						//始点と終点の距離を取得
						var distanceX =  ((endX - startX) < 0)?startX-endX:endX - startX;
						var distanceY =  ((endY - startY) < 0)?startY-endY:endY - startY;
						//移動関数(ノーマル)
						//一回の処理で移動させる値
						var valueFixX = Math.floor(distanceX * RATIO);
						var valueFixY = Math.floor(distanceY * RATIO);
						var valueX,valueY;
						var move = function(){
							//移動させる値を取得
							if((endX - startX) < 0){
								valueX = ((id.offsetLeft - endX) < valueFixX)?id.offsetLeft - endX : -valueFixX;
							}else{
								valueX = ((endX-id.offsetLeft) < valueFixX)?endX-id.offsetLeft :valueFixX;
							}
							if((endY - startY) < 0){
								valueY = ((id.offsetTop - endY) < valueFixY)?-(id.offsetTop - endY) : -valueFixY;
							}else{
								valueY = ((endY-id.offsetTop) < valueFixY)?endY-id.offsetTop :valueFixY;
							}
							//移動
							id.style.left = (valueX == valueFixX ||-valueX == valueFixX)? (valueX+id.offsetLeft) + 'px':endX + 'px';
							id.style.top = (valueY == valueFixY || -valueY == valueFixY)? (valueY+id.offsetTop) + 'px':endY + 'px';
							//移動終了条件
							if((id.style.left).split('px')[0] == endX && (id.style.top).split('px')[0] == endY){
								clearInterval(moveId);
								id.style.opacity = '';
								id.style.filter = '';
								if(endfunc){
									endfunc();
								}
							}
						}

						var moveId = setInterval(move,10)
					}


/* ------------------------------------------------*/
	//フェードイン・アウト
	/* ------------------------------------------------*/
FontSlider.Fade = function(id,alpha){
		//id:String ターゲットのID
		//alpha:String IN:stop値 / OUT:start値
		this.id = (typeof id == 'string')? $(id) : id;
		this.alpha = alpha;	
		this.ieAlpha=(this.alpha != 1)? this.alpha.split('.')[1] + '0':'100';
		this.stopAlpha_opera = this.alpha + 0;
	}
FontSlider.Fade.prototype.fadeIn = function(value,func){
		//value:String 透過の早さ
		//func：Function　alpha処理後に実行　[省略可]
		var instance = this;
		this.value = value;
		this.ieValue=(this.value != 1)? (this.value.length == 4)?this.value.charAt(3):this.value.split('.')[1] + '0':'100';
		this.func = func;
		this.id.style.opacity = 0;
		this.id.style.filter = 'alpha(style=0, opacity=0)';
		this.id.style.display = 'block';
		
		if(Agent.isNN()){
				if(this.func){this.func.apply(this,[])}
			}else if(Agent.isIE()){
			
				var counter = 0;
				var __closeAlpha = function(){
					instance.id.style.filter = 'alpha(style=0, opacity='+ counter +')';
					if(counter >= instance.ieAlpha){
						clearInterval(closeAlphaId);
						if(instance.func){instance.func.apply(instance,[])}
					}
					counter -= -instance.ieValue;
				}
				var closeAlphaId = setInterval(__closeAlpha,5);
			}else{
			
				//alert(instance.id + '\n' + instance.id.style.opacity + '\nstopAlpha_opera:' + instance.stopAlpha_opera);
				var __openAlpha = function(){
				
					instance.id.style.opacity -= -instance.value;
					//alert('instance.id.style.opacity：' + instance.id.style.opacity + '\n' + 'instance.value:' + instance.value)
					if(instance.id.style.opacity >= instance.alpha || instance.id.style.opacity >= instance.stopAlpha_opera){
						clearInterval(openAlphaId);
						if(instance.func){instance.func.apply(instance,[])}
					}
				}
				var openAlphaId = setInterval(__openAlpha,5);
			}
	}
FontSlider.Fade.prototype.fadeOut = function(value,func){
		//value:String 透過の早さ
		//func：Function　alpha処理後に実行　[省略可]
		var instance = this;
		this.value = value;
		this.ieValue=(this.value != 1)? (this.value.length == 4)?this.value.charAt(3):this.value.split('.')[1] + '0':'100';
		this.func = func;
		instance.id.style.opacity = this.alpha;
		instance.id.style.filter = 'alpha(style=0, opacity=' + this.ieAlpha +')';
		if(Agent.isNN()){
				this.id.style.display = 'none';
				if(this.func){this.func.apply(this,[])}
			}else if(Agent.isIE()){
				var counter = instance.ieAlpha;
				var __closeAlpha = function(){
					instance.id.style.filter = 'alpha(style=0, opacity='+ counter +')';
					if(counter <= 0){
						clearInterval(closeAlphaId);
						if(instance.func){instance.func.apply(instance,[])}
					}
					counter -= instance.ieValue;
				}
				var closeAlphaId = setInterval(__closeAlpha,5);
			}else{
				//alert(id + '\n' + instance.id.style.opacity + '\nstopAlpha_opera:' + stopAlpha_opera);
				var __closeAlpha = function(){
					instance.id.style.opacity -= instance.value;
					if(instance.id.style.opacity <= 0){
						clearInterval(closeAlphaId);
						if(instance.func){instance.func.apply(instance,[])}
					}
				}
				var closeAlphaId = setInterval(__closeAlpha,5);
			}
	}

/* ------------------------------------------------*/
	//Cookieコンストラクタ
	/* ------------------------------------------------*/
FontSlider.Cookie = function(name){
		this.$name = name;
		var allcookies = document.cookie;
		if(allcookies == '') return;
		
		var cookies = allcookies.split('; ');
		var cookie = null;
		for(var i = 0;i < cookies.length;i++){
			if(cookies[i].substring(0,name.length + 1) == (name + '=')){
				cookie = cookies[i];
				break;
			}
		}
		if(cookie == null) return;
		
		var cookieval = cookie.substring(name.length+1);
		
		var a = cookieval.split('&');
		for(var i = 0;i < a.length;i++){
			a[i] = a[i].split(':');
		}
		for(var i = 0;i < a.length;i++){
			this[a[i][0]] = decodeURIComponent(a[i][1]);
		}
	}

FontSlider.Cookie.prototype.store = function(daysToLive,path,domain,secure){
		
		var cookieval = '';
		for(var prop in this){
			if((prop.charAt(0) == '$') || (typeof this[prop]) == 'function'){continue};
			if(cookieval != '') cookieval += '&';
			cookieval += prop + ':' + encodeURIComponent(this[prop]);
		}
		
		var cookie = this.$name + '=' +cookieval;
		if(daysToLive || daysToLive ==0){
			cookie += ';max-age=' + (daysToLive*24*60*60);
		}
		if(path) cookie += ';path=' + path;
		if(domain) cookie += ';domain=' + domain;
		if(secure) cookie += ';secure=' + secure;
		document.cookie = cookie;
		
	}
FontSlider.Cookie.prototype.remove = function(path,domain,secure){
		for(var prop in this){
			if(prop.charAt(0) != '$' && typeof this[prop] != 'function')
			delete this[prop]
		}
		this.store(0,path,domain,secure)
	}


//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	ChangeFontSize　フォントサイズを変更
//	======================================================================
var ChangeFontSize = function(wapper,defaultSize){
	this.wapper = '#'+wapper.toString()+' *';
	this.defaultSize = defaultSize;
	this.nowFontSize = this.defaultSize;
	
	//style要素を生成・出力
	this.styleElm = document.createElement('style');
	this.styleElm.type = 'text/css';
	var text = document.createTextNode(this.wapper + '{}');
	//this.styleElm.appendChild(text);
	
	//出力
	$tag(document,'head')[0].appendChild(this.styleElm);
	
	//出力した<style>要素のスタイルを取得
	this.styles = document.styleSheets[document.styleSheets.length-1];

	//クッキーに「size」が登録されていればそのサイズにする。そうでなければ定義のみ
	this.cookie = new FontSlider.Cookie('ChangeFontSizeCookie');
	
	/*
	var text = '';
	for(prop in this.cookie){
		text += prop + ':' + this.cookie[prop] + '\n';
	}
	alert(text)
	*/
	
	
	if(this.cookie['size']){
		//sizeにする
		if(this.styles.insertRule){
			this.styles.insertRule(this.wapper + '{font-size:'+this.cookie['size']+'px;}', 0);
		}else if(this.styles.addRule){
			this.styles.addRule(this.wapper, 'font-size:'+this.cookie['size']+'px;', 0)
		}
		this.nowFontSize = Number(this.cookie['size']);
	}else{
		//初期スタイル設定
		if(this.styles.insertRule){
			this.styles.insertRule(this.wapper + '{}', 0);
		}else if(this.styles.addRule){
			this.styles.addRule(this.wapper, 'font-size:', 0)
		}
	}
	
}
ChangeFontSize.prototype.change = function(size){
	//size : Number : 変更するpxを入力;

	if(this.styles.insertRule){
		this.styles.deleteRule(0);
		this.styles.insertRule(this.wapper + '{font-size:'+size+'px}', 0)
		/* forでselectorTextを探るパターン
		for(i=0,len=this.styles.cssRules.length;i<len;i++){
			if(this.styles.cssRules[i].selectorText == this.wapper){
				this.styles.cssRules[i].style.setProperty('font-size',size+'px','');
				break;
			}
		}
		*/
	}else if(this.styles.addRule){
			this.styles.removeRule(0);
			this.styles.addRule(this.wapper, 'font-size:'+size+'px', 0)
	}
	this.nowFontSize = size;
	this.cookie['size'] = size;
	this.cookie.store(null,'/');
}
ChangeFontSize.prototype.large = function(size){
	var size = (size)?size:1;
	this.nowFontSize += size;
	this.change(this.nowFontSize)
}
ChangeFontSize.prototype.small = function(size){
	var size = (size)?size:1;
	this.nowFontSize -= size;
	this.change(this.nowFontSize)
}
ChangeFontSize.prototype.reset = function(){
	this.nowFontSize = this.defaultSize
	this.change(this.nowFontSize)
}

ChangeFontSize.prototype.getFontSize = function(){
	return this.nowFontSize;
}


addListener(window,'load',function(){


if($('FontSize')){
	var fontConsoleId = new FontSlider({
			wrapper : 'Content', 	//フォントを適用させる要素のID名
			size : 13,					//デフォルトのフォントサイズ
			maxsize : 18,				//最大フォントサイズ
			minsize : 10				//最小フォントサイズ
	});
	
	addListener($('FontSize'),'click',function(){fontConsoleId.show()},false)

}

},false);






//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	時刻関連のファンクション
//	**********************************************************************
$.Date = {}
$.Date.get_yyyymmdd	= function(){
	var date = new Date(), m, d;
	return String(date.getFullYear()) + String((m = date.getMonth() + 1) && m < 10 ? '0' + m : m) + String((d = date.getDate()) && d < 10 ? '0' + d : d );
};
$.Date.decode_yyyymmdd = function(yyyymmdd){
	var year = yyyymmdd.substr(0,4);
	var month = yyyymmdd.substr(4,2);
	month = /^0.$/.test(month) ? month.substr(1,1) : month;
	var day = yyyymmdd.substr(6,2);
	day = /^0.$/.test(day) ? day.substr(1,1) : day;
	return{
		year:year,
		month:month,
		day:day
	};
};
$.Date.encode_yyyymmdd = function(year, month, day){

};

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	オブジェクト関連のファンクション
//	**********************************************************************
$.Object = {};
$.Object.convert_object_to_hash = function(obj){
	var results = [];
	for(var prop in obj){
		var data = obj[prop]
		results.push(prop + '=' + obj[prop]);
	};
	return results.join('&');
};

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	イベント関連のファンクション
//	**********************************************************************
$.Event = {};
$.Event.getTarget = function(evt){
	if(evt && evt.target){
		if(evt.target.nodeType == 3){
			return evt.target.parentNode;
		}else{
			return evt.target;
		}
	}else if(window.event && window.event.srcElement){
		return window.event.srcElement;
	}else{
		return null;
	}
}

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	イベント関連のファンクション
//	**********************************************************************
$.Form = {};
$.Form.getValue = function(element){
	var nodename,type
	try{
		nodename = element.nodeName.toLowerCase();
		type = element.type.toLowerCase();
	}catch(e){
		nodename = null;
		type = null;
	};
	var value;
	if(nodename == 'input' && (type == 'text' || type == 'hidden' || type == 'checkbox' || type == 'password' )){
		//log('⇒' + type + ':' + element.length)
		return element.value;
	}else if(nodename == 'textarea'){
		return element.value;
	}else if(nodename == 'select'){
		//log('⇒select loop' + ':' + element.length);
		for(var i=0,len=element.options.length; i<len; i++){
			if(element.options[i].selected){
				value = element.options[i].value;
				break;
			};
		};
		return value;
	}else{
		//log('⇒radio loop' + element.length);
		for(var i=0,len= element.length; i<len; i++){
			if(element[i].checked){
				value = element[i].value;
				break;
			};
		};
		return value;
	}
};




//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	ランキング表示用のファンクション
//	**********************************************************************
//	ランキング表示ファンクション
//	----------------------------------------------------------------------
//	@rankingID		:	String		:	取得するランキングのID
//	@htmlID			:	String		:	表示するhtmlのID
//	@contentsLn		:	Number		:	表示する数
//	----------------------------------------------------------------------
//	return			:	Void		:
//	----------------------------------------------------------------------
var setRanking = function(rankingId,htmlID,contentsLn){
	var xmlFile = '', leafpass ='', ftlink='',static_path = '/ranking/shared/';
	switch(rankingId){
	case "KaraokeDam":
		xmlFile = static_path + 'dam_weekly.xml';
		leafpass = 'songKaraokeLeaf.do?';
		ftlink = '<p class="bulletlink"><a href="' + com.clubdam.path.http + '/app/dam/page.do?type=dam&source=index&subType=ranking#">週間総合トップ50へ<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p><p class="bulletlink"><a href="' + com.clubdam.path.http + '/app/dam/page.do?type=dam&source=index&subType=ranking#Genre">ジャンル別トップ10へ<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p>';
		break;
	case "Sal":
		xmlFile = static_path + 'sal_weekly.xml';
		leafpass = 'songChakuSalYogakuLeaf.do?';
		ftlink = '<p><\/p>';
		break;
	case "MeloDamDx":
		xmlFile = static_path + 'melodamdx_weekly.xml';
		leafpass = 'songChakuMeloDamDeluxLeaf.do?';
		ftlink = '<p class="bulletlink"><a href="' + com.clubdam.path.http + '/app/melodamDx/page.do?type=melodamdx&source=ranking01&subType=list">週間トップ20<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p>';
		break;
	case "MeloDam":
		xmlFile = static_path + 'melodam_weekly.xml';
		leafpass = 'songChakuMeloDamLeaf.do?';
		ftlink = '<p class="ranking bulletlink"><a href="' + com.clubdam.path.http + '/app/melodam/page.do?type=melodam&source=ranking01&subType=list">週間トップ20<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p><p class="ranking bulletlink"><a href="' + com.clubdam.path.http + '/app/melodam/page.do?type=melodam&source=ranking02&subType=list">月間トップ50<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p>';
		break;
	case "MeloDamUta":
		xmlFile = static_path + 'melodam_weekly_uta.xml';
		leafpass = 'songChakuMeloDamLeaf.do?';
		ftlink = '<p><\/p>';
		break;
	case "DamUtaFull":
		xmlFile = static_path + 'damutafull_weekly.xml';
		leafpass = 'songChakuDamUtaFullLeaf.do?';
		ftlink = '<p class="bulletlink"><a href="' + com.clubdam.path.http + '/app/damUtaFull/page.do?type=damutafull&source=ranking01&subType=list">週間トップ20<img class="alpha icon" src="/includes/images/icon/arrow.png" alt="リンク先へジャンプ" /><\/a><\/p>';
		break;
	}
	var timeOut = function(){
		$(htmlID).innerHTML = "<p>申しわけありませんがファイルの取得に失敗しました。<\/p>"
	}
	
	var failure = function(status){
		$(htmlID).innerHTML = "<p>申しわけありませんがファイルの取得に失敗しました。<\/p>"
	}
	var resultAction = function(res){
		var res = res.responseXML;
		var src ="";
		//	----------------------------------------------------------------------
		src += '<div class="rankingbox">';
		//src += '<h3>' + Model.getData(res,'title',0) + '<\/h3>';
		//text-indent問題のため一旦出力中止
		src += '<h3>' + '<\/h3>';
		src += '<div class="subtitle">';
		src += '<h4>' + Model.getData(res,'subtitle',0) + '<\/h4>';
		src += '<p>' + Model.getData(res,'note',0) + ((rankingId == 'MeloDamUta' ) ? '<br />DAM★うた調べ' : '' ) + '<\/p>';
		src += '<\/div>';
		//	----------------------------------------------------------------------
		src += '<ol>';
		var length = (String(contentsLn) == "undefined") ? $tag(res, 'content').length : contentsLn;
		var classname = ['one','two','three','four','five','six','seven','eight','nine','ten'];
		for (var i = 0;i < length;i++){
			var contentsId = 'contentsId=' + Model.getData(res, 'id', i);
			//var chakuType = (rankingId == 'MeloDam' || rankingId == 'MeloDamDx' || rankingId == 'Sal' || rankingId == 'MeloDamUta') ? '&chakuType=' + res.getElementsByTagName('content')[i].getAttributeNode("chakuType").nodeValue : '';
			var chakuType = (rankingId == 'MeloDam' || rankingId == 'MeloDamDx' || rankingId == 'Sal' || rankingId == 'MeloDamUta' || rankingId == 'DamUtaFull') ? '&chakuType=' + Model.getData(res, 'content', i, 'chakuType'): '';
			var songname = Model.getData(res, 'name', i);
			var artistname = Model.getData(res, 'artist', i);
			src += '<li class="' + classname[i] + '">';
			src += '<span class="content"><a href="http://www.clubdam.com/app/leaf/' + leafpass + contentsId + chakuType + '">' + songname + '<\/a><\/span><br>';
			src += '<span class="artist">' + artistname + '<\/span>';
			/*	2007/10/22	*/
			/*
			if (rankingId == 'MeloDamUta' && contentsId.indexOf('4577061') != -1){
				src += '<p style=font-size:10px;letter-spacing:1px;color:#F60;">※この曲は、<a href="/app/melodamDx/page.do?type=melodamDx&source=fmb&subType=feature" style="font-size:10px">メロDAMデラックス</a>でダウンロードすると、オリジナル着ボイスがもらえるよ!</p>';
			}
			*/
			src += '<\/li>';
		}
		src += '<\/ol>';
		//	----------------------------------------------------------------------
		src += '<div class="rankingft">';
		src += ftlink;
		src += '<\/div>';
		src += '<\/div>';
		src += rankingId == 'MeloDamUta' ? '<p style="font-size:10px;margin:10px 0px 10px 0px;">※桑田佳祐の着うた&reg;につきましては、メロDAM300コースのみの配信となっております。</p>':'';
		//	----------------------------------------------------------------------
		$(htmlID).innerHTML = src;
	}
	//	2007/08/14	ライブラリアップデートに伴い、オブジェクトを変更
	//Ajax.sendAndLoad(resultAction, '', 'get', xmlFile , true, false, '', '',timeOut,failure);
	var dataLoader = new AjaxLoader(
		xmlFile,
		'',
		'get',
		{
			success:resultAction,
			failure:failure
		},
		{}
	);
}
//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	メール設定ファンクション
//	**********************************************************************
//	メール設定ファンクション
//	----------------------------------------------------------------------
//	@obj					:	設定オブジェクト
//		targetId			:	メールを設定するID
//		expires				:	表示期限
//		expiredMesseage		:	期限切れテキスト ※省略可
//	----------------------------------------------------------------------
//	return					:	Void
//	----------------------------------------------------------------------
var ApplyChecker = function(obj){
	this.targetId = $(obj.targetId);
	this.expires = obj.expires;
	if(obj.expiredMesseage){
		this.expiredMesseage = obj.expiredMesseage;
	};
	this.init();
}
ApplyChecker.prototype = {
	expiredMesseage		:	'プレゼントの応募は締め切らせて頂きました。',
	onClassName			:	'applyOn_js',
	offClassName		:	'applyOff_js',
	init				:	function(){
		if (this.expires <= $.Date.get_yyyymmdd()) {
			this.targetId.innerHTML = this.expiredMesseage;
		};
	}
};

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	遷移先コード定義
//	**********************************************************************
var TransitionCodeMaker = function(obj){
	this.location = obj;
};
TransitionCodeMaker.PROTCOL_CODE_HTTPS = '1';
TransitionCodeMaker.prototype.get_code = function(){
	//	-------------------------------------
	//	REFERENCE
	//	-------------------------------------
	//	PC	SB	Code		Desc																			ページ通称
	//	1	00	0000000		/																				clubDAM.com グランドトップ
	//	▼karadam
	//	PC	SB	Code		Desc																			ページ通称
	//	1	00	0401000		/karadam																		karaoke@damTOP
	//	1	00	0402000		/app/karaokeAtDam/page.do?type={0}&subType={1}&source={2}						karaoke@dam page.do形式
	//	1	00	0403000		/app/karaokeAtDam/feature.do?source={0}											karaoke@dam feature.do形式
	//	1	00 	0404000		/app/karaokeAtDam/listUp.do?source={0}											karaoke@dam listUp.do形式
	//	1	00	0406001		/app/leaf/artistKaraokeAtDamLeaf.do?artistCode={0}										karaoke@dam アーティストリーフ
	//	1	00	0406002		/app/leaf/songKaraokeAtDamLeaf.do?contentsId={0}								karaoke@dam 楽曲リーフ
	//	▼damkashi
	//	PC	SB	Code		Desc																			ページ通称
	//	1	00	0501000		/damkashi																		DAM歌詞TOP
	//	1	00	0502000		/app/damKashi/page.do?type={0}&subType={1}&source={2}							DAM歌詞 page.do形式	
	//	1	00	0503000		/app/damKashi/feature.do?source={0}												DAM歌詞 feature.do形式
	//	1	00	0504000		/app/damKashi/listUp.do?source={0}												DAM歌詞 listUp.do形式
	//	1	00	0506001		/app/leaf/artistDamKashiLeaf.do?artistCode={0}									DAM歌詞 アーティストリーフ
	//	1	00	0506002		/app/leaf/songDamKashiLeaf.do?contentsId={0}									DAM歌詞 楽曲リーフ
	//	▼be
	//	PC	SB	Code		Desc																			ページ通称
	//	1	00	0701000		/be																				ビッグエコーTOP
	//	1	00	0702000		/app/be/page.do?type={0}&subType={1}&source={2}									ビッグエコーpage.do形式
	//	1	00	0702001		/app/be/foreign.do?type={0}&subType={1}&source={2}&areaCode={3}					ビッグエコー海外店舗表示画
	//	1	00	0702002		/app/be/yahooPremiumCoupon.do													ビッグエコークーポン	
	//	1	00	0705001		/app/search/searchKeywordBeShopListUp.do										ビッグエコーキーワード検索
	//	1	00	0705002		/app/search/searchAreaAndEquipmentBeShop.do?areaCode={0}&optionCode={1}			ビッグエコー地区設備検索
	//	1	00	0705003		/app/search/be/searchEquipmentBeShopList.do?optionCode={0}						ビッグエコー設備検索
	//	1	00	0706001		/app/leaf/beShopLeaf.do?shopCode={0}											ビッグエコー店舗情報詳細画面
	//	▼Yahoo
	//	PC	SB	Code		Desc																				ページ通称
	//	1	01	0107001		/app/auth/associate/yahoo/associateComplete.do										Y!ID連動設定完了	
	//	1	01	0107002		/app/auth/associate/yahoo/associateRestoreComplete.do								Y!ID連動設定更新完了		
	//	1	03	0107003		/app/contract/yahoo/wallet/regist/redirectYahooWalletPurchase.do?contractCode={1}	Y!月額商品購入画面リダイレクトアクション	
	//	1	03	0107004		/app/contract/yahoo/wallet/delete/redirectYahooWalletDelete.do?contractCode={1}		Y!月額商品利用停止画面リダイレクトアクション	
	//	▼Web
	//	PC	SB	Code		Desc																				ページ通称
	//	1	00	1702000		/app/web/page.do?type={0}&subType={1}&source={2}									WEB page.do形式
	
	//	-------------------------------------
	//	URL解析用の変数
	//	-------------------------------------
	var path = this.location.pathname;						//	ドメイン以降のパス
	var protocol = TransitionCodeMaker.PROTCOL_CODE_HTTPS;	//	プロトコルコード(https固定)
	var code_prefix = protocol + '00' + '0000000';			//	トランジションコード固定文字長部分(12:55 2008/09/18 デフォルト値としてグランドトップを設定)
	var queryValue = '';	//クエリー文字列
	
	//▼クエリ文字列のオブジェクト化
	var query = this.location.search;
	var querys = (query.indexOf('?') != -1 ? query.substr(1,query.length-1) : query).split('&');
	var obj = {};
	for(var i=0,len=querys.length; i<len; i++){
		var hashpair = querys[i].split('=');
		obj[hashpair[0]] = hashpair[1];
	};
	//▼ハッシュ値取り出し関数
	var get_hash = function(key){
		return obj[key] || '';
	};

	//▼code&query取得用Object
	var infoTable = {
		//	▼karadam
		'karadam' : {
			code : function(){
				if(path.match(/^\/karadam$/) || path.match(/\/karaokeAtDam\/index\.do/))		code_prefix = protocol + '00' + '0401000';
				else if(path.match(/\/karaokeAtDam\/page\.do/))									code_prefix = protocol + '00' + '0402000';
				else if(path.match(/\/karaokeAtDam\/feature\.do/))								code_prefix = protocol + '00' + '0403000';
				else if(path.match(/\/karaokeAtDam\/listUp\.do/))								code_prefix = protocol + '00' + '0404000';
				else if(path.match(/\/leaf\/artistKaraokeAtDamLeaf\.do/))						code_prefix = protocol + '00' + '0406001';
				else if(path.match(/\/leaf\/songKaraokeAtDamLeaf\.do/))							code_prefix = protocol + '00' + '0406002';
				//else 																			code_prefix = protocol + '00' + '0000000';
				return code_prefix;
			},
			query : function(){
				//	コード値に基づき、ハッシュキーから値を取り出し。
				switch(this.code()){
					//	***********************
					//	karaoke@dam page.do形式
					//	/app/be/page.do?type={0}&subType={1}&source={2}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0402000'	:
						queryValue = get_hash('type') + ',' + get_hash('subType') + ',' + get_hash('source');
						break;
					//	***********************
					//	karaoke@dam feature.do形式
					//	/app/karaokeAtDam/feature.do?source={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0403000'	:					
						queryValue = get_hash('source');
						break;
					//	***********************
					//	karaoke@dam listUp.do形式
					//	/app/karaokeAtDam/listUp.do?source={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0404000'	:	
						queryValue = get_hash('source');
						break;
					//	***********************
					//	karaoke@dam アーティストリーフ
					//	/app/leaf/artistKaraokeAt.dp?artistCode={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0406001'	:
						queryValue = get_hash('artistCode');
						break;
					//	***********************
					//	karaoke@dam 楽曲リーフ
					//		/app/leaf/songKaraokeAtDamLeaf.do?contentsId={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0406002'	:							
						queryValue = get_hash('contentsId');
						break;
					//デフォルト
					default:
						queryValue = '';
						break;
				};
				return queryValue;
			}
		},
		//	▼damkashi
		'damkashi' : {
			code : function(){
				if(path.match(/^\/damkashi$/) || path.match(/\/damKashi\/index\.do/))		code_prefix = protocol + '00' + '0501000';
				else if(path.match(/\/damKashi\/page\.do/))									code_prefix = protocol + '00' + '0502000';
				else if(path.match(/\/damKashi\/feature\.do/))								code_prefix = protocol + '00' + '0503000';
				else if(path.match(/\/damKashi\/listUp\.do/))								code_prefix = protocol + '00' + '0504000';
				else if(path.match(/\/leaf\/artistDamKashiLeaf\.do/))						code_prefix = protocol + '00' + '0506001';
				else if(path.match(/\/leaf\/songDamKashiLeaf\.do/))							code_prefix = protocol + '00' + '0506002';
				//else 																		code_prefix = protocol + '00' + '0000000';
				return code_prefix;
			},
			query : function(){
				//	コード値に基づき、ハッシュキーから値を取り出し。
				switch(this.code()){
					//	***********************
					//	DAM歌詞 page.do形式
					//	/app/be/page.do?type={0}&subType={1}&source={2}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0502000'	:
						queryValue = get_hash('type') + ',' + get_hash('subType') + ',' + get_hash('source');
						break;
					//	***********************
					//	DAM歌詞 feature.do形式
					//	/app/damKashi/feature.do?source={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0503000'	:					
						queryValue = get_hash('source');
						break;
					//	***********************
					//	DAM歌詞 listUp.do形式
					//	/app/damKashi/listUp.do?source={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0504000'	:	
						queryValue = get_hash('source');
						break;
					//	***********************
					//	DAM歌詞 アーティストリーフ
					//	/app/leaf/artistDamKashiLeaf.dp?artistCode={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0506001'	:
						queryValue = get_hash('artistCode');
						break;
					//	***********************
					//	karaoke@dam 楽曲リーフ
					//	/app/leaf/songDamKashiLeaf.do?contentsId={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0506002'	:							
						queryValue = get_hash('contentsId');
						break;
					//デフォルト
					default:
						queryValue = '';
						break;
				};
				return queryValue;
			}
		},
		//	▼Yahoo
		'yahoo' : {
			code : function(){
				if(path.match(/yahoo\/associateComplete\.do/))						code_prefix = protocol + '01' + '0107001';
				else if(path.match(/yahoo\/associateRestoreComplete\.do/))			code_prefix = protocol + '01' + '0107002';
				else if(path.match(/redirectYahooWalletPurchase/))					code_prefix = protocol + '03' + '0107003';
				else if(path.match(/redirectYahooWalletDelete/))					code_prefix = protocol + '03' + '0107004';
				//else 																code_prefix = protocol + '00' + '0000000';
				return code_prefix;
			},
			query : function(){
				//	コード値に基づき、ハッシュキーから値を取り出し。
				switch(this.code()){
					//	***********************
					//	Y!月額商品購入画面リダイレクトアクション
					//	/app/contract/yahoo/wallet/regist/redirectYahooWalletPurchase.do?contractCode={1}
					//	- - - - - - - - - - - - 
					case	protocol + '03' + '0107003'	:
						queryValue = get_hash('contractCode');
						break;
					//	***********************
					//	Y!月額商品利用停止画面リダイレクトアクション
					//	/app/contract/yahoo/wallet/delete/redirectYahooWalletDelete.do?contractCode={1}
					//	- - - - - - - - - - - - 
					case	protocol + '03' + '0107004'	:
						queryValue = get_hash('contractCode');
						break;
					//デフォルト
					default:
						queryValue = '';
						break;
				};
				return queryValue;
			}
		},
		//	▼Web
		'web' : {
			code : function(){
				if(path.match(/web\/page\.do/))										code_prefix = protocol + '00' + '1702000';
				//else 																code_prefix = protocol + '00' + '0000000';
				return code_prefix;
			},
			query : function(){
				//	コード値に基づき、ハッシュキーから値を取り出し。
				switch(this.code()){
					//	***********************
					//	WEB page.do形式
					//	/app/web/page.do?type={0}&subType={1}&source={2}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '1702000'	:
						queryValue = get_hash('type') + ',' + get_hash('subType') + ',' + get_hash('source');
						break;
					//デフォルト
					default:
						queryValue = '';
						break;
				};
				return queryValue;
			}
		},
		//	▼be
		'be' : {
			code : function(){
				if(path.match(/^\/be$/) || path.match(/\/be\/index\.do/))			code_prefix = protocol + '00' + '0701000';
				else if(path.match(/\/be\/page\.do/))								code_prefix = protocol + '00' + '0702000';
				else if(path.match(/\/be\/foreign\.do/))							code_prefix = protocol + '00' + '0702001';
				else if(path.match(/yahooPremiumCoupon\.do/))						code_prefix = protocol + '00' + '0702002';
				else if(path.match(/searchKeywordBeShopListUp/))					code_prefix = protocol + '00' + '0705001';
				else if(path.match(/searchAreaAndEquipmentBeShop/))					code_prefix = protocol + '00' + '0705002';
				else if(path.match(/searchEquipmentBeShopList/))					code_prefix = protocol + '00' + '0705003';
				else if(path.match(/beShopLeaf/))									code_prefix = protocol + '00' + '0706001';
				//else 																code_prefix = protocol + '00' + '0000000';
				return code_prefix;
			},
			query : function(){
				//	コード値に基づき、ハッシュキーから値を取り出し。
				switch(this.code()){
					//	***********************
					//	ビッグエコーpage.do形式
					//	/app/be/page.do?type={0}&subType={1}&source={2}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0702000'	:
						queryValue = get_hash('type') + ',' + get_hash('subType') + ',' + get_hash('source');
						break;
					//	***********************
					//	ビッグエコー海外店舗表示画面
					//	/app/be/foreign.do?type={0}&subType={1}&source={2}&areaCode={3}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0702001'	:					
						queryValue = get_hash('type') + ',' + get_hash('subType') + ',' + get_hash('source') + ',' + get_hash('areaCode');
						break;
					//	***********************
					//	ビッグエコー×Yahoo!クーポン画面
					//	/app/be/yahooPremiumCoupon.do
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0702002'	:	
						queryValue = '';
						break;
					//	***********************
					//	ビッグエコー地区設備検索
					//	/app/search/searchAreaAndEquipmentBeShop.do?areaCode={0}&optionCode={1}	
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0705002'	:
						queryValue = get_hash('areaCode') + ',' + get_hash('optionCode');
						break;
					//	***********************
					//	ビッグエコー設備検索
					//	/app/search/be/searchEquipmentBeShopList.do?optionCode={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0705003'	:							
						queryValue = get_hash('optionCode');
						break;
					//	***********************
					//	ビッグエコー店舗情報詳細画面
					//	/app/leaf/beShopLeaf.do?shopCode={0}
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0706001'	:
						queryValue = get_hash('shopCode');
						break;
					//	- - - - - - - - - - - - 
					//	clubDAM.com グランドトップ
					//	/
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0000000'	:
					//	- - - - - - - - - - - - 
					//	ビッグエコーTOP
					//	/be
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0701000'	:
					//	- - - - - - - - - - - - 
					//	ビッグエコーキーワード検索
					//	/app/search/searchKeywordBeShopListUp.do
					//	- - - - - - - - - - - - 
					case	protocol + '00' + '0705001'	:
					//	- - - - - - - - - - - - 
					//	デフォルト
					//	- - - - - - - - - - - - 
					default:
						queryValue = '';
						break;
				};
				return queryValue;
			}
		},
		//	▼グランドトップ
		'grandTop' : {
			code : function(){
				return protocol + '00' + '0000000';
			},
			query : function(){
				queryValue = '';
				return queryValue;
			}
		}
	}
	var corner;
	if(path.match(/^\/karadam$/)|| path.match(/karaokeAtDam/i))										corner = 'karadam';
	else if(path.match(/^\/damkashi$/) || path.match(/damKashi/i))									corner = 'damkashi';
	else if(path.match(/associate\/yahoo/) || path.match(/contract\/yahoo/))						corner = 'yahoo';
	else if(path.match(/^\/app\/web/))																corner = 'web';
	else if(path.match(/^\/be$/) || path.match(/be/i) || path.match(/yahooPremiumCoupon\.do/))		corner = 'be';
	else																							corner = 'grandTop';

	return infoTable[corner].code() + infoTable[corner].query();
};

//alert(new TransitionCodeMaker(location).get_code())

//	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//	共有リンク・画像リンク(ボタン)ライブラリ
//	**********************************************************************
var CommonURL = {
	//	Web会員関連
	login:										'/app/auth/webMemberLogin.do',																	//	ログイン時のアクション
	logout:										'/app/auth/logout.do',																			//	ログアウト時のアクション
	mypage:										com.clubdam.path.https + '/app/myPage.do',														//	マイページ
	registcredit:								com.clubdam.path.https + '/app/creditcard/regist/registInput.do',								//	クレジット登録
	//contractfixcharge:						com.clubdam.path.https + '/app/contract/regist/registInput.do',									//	abolished 月額コンテンツ契約
	regist:										com.clubdam.path.https + '/app/web/member/regist.do',											//	Web会員登録
	about:										'/app/web/page.do?type=web&source=about',														//	Web会員とは？
	help_webmember_remind:						'/app/web/page.do?type=help&source=help001',													//	Web会員ID・パスワードが分からない方のためのヘルプ
	remind:										com.clubdam.path.https + '/app/web/reminder.do',												//	Web会員パスワードリマインダ
	home:										com.clubdam.path.http,																			//	ホーム
	//	@dam関連
	atdam:										com.clubdam.path.http + '/karadam',
	atdam_add:									'/app/stkmylist/addContents.do',																//	お気に入りリスト追加アクション 
	atadam_list:								'/app/stkmylist/listupXmlMake.do',																//	お気に入りリスト
	atdam_editor:								'/app/karaokeAtDam/page.do?type=karadam&source=edit',											//	お気に入りリスト編集ツール
	atdam_about:								'/app/karaokeAtDam/page.do?type=karadam&source=about',											//	かんたんkaraoke@dam
	atdam_getfavoritelist:						'/app/stkmylist/listUpResponseXml.do',															//	お気に入りリストxml取得アクション
	atdam_contract:								com.clubdam.path.https + '/app/contract/regist/inputAccount.do?contractContentsLv=80',			//	karaoke@dam契約(2008/09/02〜)
	//	DAMステーション
	damstation:									'/damstation',																					//	DAMステーショントップ
	mylist_mydenmoku:							com.clubdam.path.https + '/app/membership/page.do?type=membership&source=edit&subType=mylist',	//	MYデンモクエディター
	//サーバ用
	mylist_checkstatus:							'/app/xml/membership/mylist/statusCheck.do',													//	MYリストステータスチェック
	mylist_add:									'/app/xml/leaf/mylist/regist.do',																//	MYリスト登録
	//Yahoo!用
	about_yahoo:								'/app/web/page.do?type=help&source=yahoo',														//	Yahoo! JAPAN 会員様向け説明ページ
	yahoo_about_yahoo_japan:					'http://yidpromo.yahoo.co.jp/',																	//	Yahoo! JAPAN IDの詳細はこちら
	yahoo_about_yahoo_premium:					'http://premium.yahoo.co.jp/',																	//	Yahoo!プレミアム会員の詳細はこちら
	yahoo_login_url:							'/app/yahoo/yahooIdLoginUrlMake.do',															//	Yahoo!ログインURL取得アクション
	yahoo_auth:									'/app/xml/auth/webMemberAuthXml.do',															//	Yahoo!認証
	yahoo_association:							'/app/xml/auth/associate/yahoo/associateWebMember.do',											//	Yahoo!アソシエーション
	yahoo_association_auth:						com.clubdam.path.https + '/app/auth/associate/yahoo/authAssociate.do',							//	Yahoo!アソシエーション認証
	yahoo_regsit_premier:						com.clubdam.path.http + '/app/yahoo/yahooPremiumMemberRegist.do',														//	Yahoo!プレミアム会員登録
	//DAM★とも用
	damtomo_mypage:								'/app/damtomo/MyPage.do',																		//	マイページ
	damtomo_regist:								com.clubdam.path.https + '/app/damtomo/member/regist/SetUpCdmLink.do',							//	新規会員登録ページ(CDM情報設定)
	damtomo_registMember:						com.clubdam.path.https + '/app/damtomo/member/regist/RegistMember.do',							//	新規会員登録ページ(DAM★とも会員情報入力)
	damtomo_getMypageInfoXML:					'/app/damtomo/member/info/GetMypageInfoXML.do',													//	マイページ表示情報取得
	damtomo_getRequestListXML:					'/app/damtomo/karaokePost/GetRequestListXML.do',												//	リクエスト一覧取得
	damtomo_getFavKaraokeListXML:				'/app/damtomo/karaokePost/GetFavKaraokeListXML.do',												//	お気に入りカラオケ投稿一覧取得
	damtomo_getKaraokeListXML:					'/app/damtomo/karaokePost/GetKaraokeListXML.do',												//	カラオケ投稿一覧取得 
	damtomo_getKaraokeRankingXML:				'/app/damtomo/karaokePost/GetKaraokeRankingXML.do',												//	カラオケ投稿ランキング取得
	damtomo_getFootmarkXML:						'/app/damtomo/member/info/GetFootmarkXML.do',													//	あしあと表示
	damtomo_getUserListXML:						'/app/damtomo/member/info/GetUserListXML.do',													//	ユーザリスト
	damtomo_insertFavListXML:					'/app/damtomo/member/info/InsertFavListXML.do',													//	ユーザリスト登録
	damtomo_deleteFavListXML:					'/app/damtomo/member/info/DeleteFavListXML.do',													//	ユーザリスト削除
	damtomo_getProfileListXML:					'/app/damtomo/member/info/GetProfileListXML.do',												//	プロフィール一覧出力
	damtomo_updateProfileXML:					'/app/damtomo/member/info/UpdateProfileXML.do',													//	プロフィール更新
	damtomo_getFavArtistListXML:				'/app/damtomo/member/info/GetFavArtistListXML.do',												//	好きなアーティスト一覧取得
	damtomo_registFavArtistXML:					'/app/damtomo/member/info/RegistFavArtistXML.do',												//	好きなアーティスト登録
	damtomo_deleteFavArtistXML:					'/app/damtomo/member/info/DeleteFavArtistXML.do',												//	好きなアーティスト削除
	damtomo_getAudienceListXML:					'/app/damtomo/karaokePost/GetAudienceListXML.do',												//	視聴者リスト取得
	damtomo_getKaraokeMyListXML:				'/app/damtomo/karaokePost/GetKaraokeMyListXML.do',												//	録音曲リスト表示
	damtomo_updateKaraokeMyListXML:				'/app/damtomo/karaokePost/UpdateKaraokeMyListXML.do',											//	録音曲リスト変更
	damtomo_registRequestXML:					'/app/damtomo/karaokePost/RegistRequestXML.do',													//	リクエスト登録
	damtomo_registViolationSongReportXML:		'/app/damtomo/member/info/RegistViolationSongReportXML.do',										//	カラオケ投稿音源違反情報登録
	damtomo_registViolationProfileReportXML:	'/app/damtomo/member/info/RegistViolationProfileReportXML.do',									//	プロフィール違反情報登録
	damtomo_checkSearchSongOrArtistToolXML:		'/app/damtomo/karaokePost/CheckSearchSongOrArtistToolXML.do',									//	楽曲/アーティスト検索ツール使用判定
	damtomo_registMemberXML:					'/app/damtomo/member/regist/RegistMemberXML.do',												//	新規会員登録
	damtomo_updateMemberXML:					'/app/damtomo/member/core/UpdateMemberXML.do',													//	会員更新
	damtomo_checkLoginIdXML:					'/app/damtomo/member/regist/CheckLoginIdXML.do',												//	ログインID 有効性確認
	damtomo_getProfileImgXML:					'/app/damtomo/member/info/GetProfileImgXML.do',													//	プロフィール画像取得
	damtomo_reserveCdmLinkXML:					'/app/damtomo/member/regist/ReserveCdmLinkXML.do',												//	CDM 紐付け確認
	damtomo_checkAuthCodeXML:					'/app/damtomo/member/regist/CheckAuthCodeXML.do',												//	認証コード確認	
	damtomo_transmitAuthCodeXML:				'/app/damtomo/member/regist/TransmitAuthCodeXML.do',											//	認証コード送信
	damtomo_loginXML:							'/app/damtomo/auth/LoginXML.do',																//	ログイン
	damtomo_logoutXML:							'/app/damtomo/auth/LogoutXML.do',																//	ログアウト
	damtomo_checkLoginXML:						'/app/damtomo/member/info/CheckLoginXML.do',													//	ログイン確認
	damtomo_searchKeywordArtist:				'/app/xml/search/damtomo/searchKeywordArtist.do',												//	アーティスト検索（キーワード）
	damtomo_searchKeywordKaraoke:				'/app/xml/search/damtomo/searchKeywordKaraoke.do',												//	カラオケ楽曲検索（キーワード）
	damtomo_artistLeaf:							'/app/leaf/xml/damtomo/artistLeaf.do',															//	アーティストリーフ
	damtomo_songLeaf:							'/app/leaf/xml/damtomo/songLeaf.do',															//	楽曲リーフ
	damtomo_songContentsListXML:				'/app/damtomo/contents/SongContentsListXML.do',													//	提供コンテンツ一覧
	damtomo_rankingList:						'/app/xml/membership/damtomo/rankingList.do',													//	ランキングバトル
	damtomo_approvalList:						'/app/xml/membership/damtomo/approvalList.do',													//	歌唱検定履歴
	damtomo_markingList:						'/app/xml/membership/damtomo/markingList.do',													//	精密採点
	damtomo_markingTwoList:						'/app/xml/membership/damtomo/markingTwoList.do',												//	精密採点２
	damtomo_utaikiriList:						'/app/xml/membership/damtomo/utaikiriList.do',													//	歌いきりまショー
	damtomo_auditionList:						'/app/xml/membership/damtomo/auditionList.do',													//	オーディション
	damtomo_KrkBlogPartsXML:					'/app/damtomo/karoakePost/KrkBlogPartsXML.do',													//	カラオケ投稿ブログパーツ
	damtomo_memberAuthXML:						'/app/damtomo/auth/MemberAuthXML.do',															//	会員認証
	damtomo_yahooAssociateXML:					'/app/damtomo/member/regist/YahooAssociateXML.do',												//	Yahoo!会員連動実行
	damtomo_mixi_AuthenticateOpenId:			com.clubdam.path.http + '/app/damtomo/auth/mixi/AuthenticateOpenId.do',							//	mixiのオープンIDを利用したログイン
	damtomo_AssociateOpenIdXML:					'/app/damtomo/member/core/AssociateOpenIdXML.do',												//	オープンIDとの関連付け実行
	damtomo_LoginGateway:						com.clubdam.path.https + '/app/damtomo/auth/Login.do',											//	DAM★ともログインゲートウェイ
	damtomo_memberInfoPage:						com.clubdam.path.https + '/app/damtomo/member/core/MemberInfoPage.do',							//	DAM★とも設定変更ゲートウエイ
	damtomo_showCdmInfoPage:					com.clubdam.path.https + '/app/damtomo/member/regist/ShowCdmInfo.do',							//	DAM★ともCDM情報表示(確認)ページ
	damtomo_supportPage:						com.clubdam.path.http + '/app/damtomo/common/support.do?type=damtomo&source=index&subType=support',//	DAM★ともサポートページ
	damtomo_ncRegistPage:						com.clubdam.path.https + '/app/nc_membership/member/regist.do',									//	CDM会員情報登録(初回登録)
	damtomo_ncRestoreCDMPage:					com.clubdam.path.https + '/app/nc_membership/member/restoreAuth.do',							//	CDM会員情報編集
	//	汎用URL
	getAddressFromZipCodeXML:					'/app/damtomo/search/GetAddressFromZipCodeXML.do'												//	郵便番号住所検索
};

var CommonImage = {
	//	Web会員関連
	close:						'<img class="alpha button_common" src="/includes/images/webmember/app/button_close.png" alt="この画面を閉じる(下の画面へ戻る)" />',
	login:						'<img class="alpha button_common" src="/includes/images/webmember/app/button_login.png" alt="Web会員にログインする" />',
	logout:						'<img class="alpha button_common" src="/includes/images/webmember/app/button_logout.png" alt="ログアウト" />',
	refresh:					'<img class="alpha button_common" src="/includes/images/webmember/app/button_refresh.png" alt="このページをもう一度読み込む" />',
	cancel:						'<img class="alpha" src="/includes/images/webmember/app/button_cancel_100.png" width="100" height="30" alt="キャンセル" />',
	customerpage:				'<img class="alpha button_common" src="/includes/images/webmember/app/button_customerpage.png" alt="お客様情報のページに移動する" />',
	registcredit:				'<img class="alpha button_common" src="/includes/images/webmember/app/button_registcredit.png" alt="クレジットカードを登録する(https)" />',
	contractfixcharge:			'<img class="alpha button_common" src="/includes/images/webmember/app/button_contractfixcharge.png" alt="月額コンテンツを契約" />',
	home:						'<img class="button_common alpha" src="/includes/images/webmember/app/button_home.png" alt="ホームに戻る" />',
	//	@dam関連
	atdam_list:					'<img class="alpha button_common" src="/includes/images/atdam/app/button_favoritelist.png" alt="お気に入りリストを見る" />',
	atdam_editor:				'<img class="alpha button_common" src="/includes/images/atdam/app/button_editlist.png" alt="お気に入りリストを編集する" />',
	//	damstation関連
	mylist_login:				'<img class="alpha button_common" src="/includes/images/damstation/app/button_damstationtop.png" alt="ログインページへ(DAMステーショントップへ)" />',
	mylist_add_off:				'<img class="alpha button_common" src="/includes/images/damstation/app/button_try_addmylist_off.png" alt="この曲をMYリストに追加(追加するリストを選択すると押せるようになります。)" />',
	mylist_add_on:				'<img class="alpha button_common" src="/includes/images/damstation/app/button_try_addmylist_on.png" alt="この曲をMYリストに追加"/>',
	mylist_mydenmoku:			'<img class="alpha button_common" src="/includes/images/damstation/app/button_mydenmoku.png" alt="MYデンモクを見る" />',
	//	ローディング画像
	loading:					'<img src="/includes/images/icon/loading.gif" />',
	loading_damtomo_24:			'<img src="/damtomo/includes/images/loading_damtomo_24_24.gif" />',
	loading_damtomo_16:			'<img src="/damtomo/includes/images/loading_damtomo_16_16.gif" />',
	//	リンクアロー
	linkarrow:					'<img alt="" src="/includes/images/icon/arrow.png" class="alpha" style="width:13px;height:13px;" />',
	//	Yahoo!社様関連
	yahoo_login_small:			'<img height="34" border="0" width="293" alt="Yahoo! JAPAN ID でログイン" src="http://i.yimg.jp/images/login/bbauth/btnMYid.gif"/>',
	yahoo_login_small_https:	'<img height="34" border="0" width="293" alt="Yahoo! JAPAN ID でログイン" src="https://s.yimg.jp/images/login/bbauth/btnMYid.gif"/>',
	yahoo_premium_180:			'<img height="40" border="0" width="180" alt="Yahoo!プレミアムに会員登録" src="http://i.yimg.jp/images/premium/top2/premium_180x40.gif"/>',
	yahoo_premium_180_https:	'<img height="40" border="0" width="180" alt="Yahoo!プレミアムに会員登録" src="https://s.yimg.jp/images/premium/top2/premium_180x40.gif"/>',
	yahoo_premium_386:			'<img height="50" border="0" width="386" alt="Yahoo!プレミアムに会員登録" src="http://i.yimg.jp/images/premium/top2/premium_386x50.gif"/>',
	yahoo_premium_550:			'<img height="60" border="0" width="550" alt="Yahoo!プレミアムに会員登録" src="http://i.yimg.jp/images/premium/top2/premium_550x60.gif"/>',
	yahoo_association_auth:		'<img class="alpha button_common" src="/includes/images/webmember/app/button_yahoo_auth.png" alt="Yahoo! JAPAN IDの連動設定をおこなう" />'
}

var CommonButton ={
	//	共用ボタン(Web会員関連)
	closer_refresh:				'<a href="javascript:WebMember.closeConsole(true);">' + CommonImage.close + '</a>',
	closer_norefresh:			'<a href="javascript:WebMember.closeConsole(false);">' + CommonImage.close + '</a>',
	regist_credit:				'<a href="' + CommonURL.registcredit + '">' + CommonImage.registcredit + '</a>',
	//abolished contract_fixcharge:			'<a href="' + CommonURL.contractfixcharge + '">' + CommonImage.contractfixcharge + '</a>',
	login:						'<a href="javascript:WebMember.showConsole(WebMember.console_type.LOGIN);">' + CommonImage.login + '</a>',
	logout:						'<a href="javascript:WebMember.action(WebMember.action_type.LOGOUT);">' + CommonImage.logout + '</a>',
	cancel_norefresh:			'<a href="javascript:WebMember.closeConsole(false);">' + CommonImage.cancel + '</a>',
	cancel_refresh:				'<a href="javascript:WebMember.closeConsole(true);">' + CommonImage.cancel + '</a>',
	refresh:					'<a href="javascript:WebMember.closeConsole(true);">' + CommonImage.refresh + '</a>',
	customerpage:				'<a href="' + CommonURL.damtomo_mypage + '">' + CommonImage.customerpage + '</a>',
	home:						'<a href="javascript:window.location.replace(\'' + CommonURL.home + '\')">' + CommonImage.home + '</a>',
	//	@dam関連
	atdam_closer_stream:		'<a href="javascript:atDam_StreamWindow.init();AddContents.closeConsole(false);">' + CommonImage.close + '</a>',
	atdam_closer:				'<a href="javascript:AddContents.closeConsole(false);">' + CommonImage.close + '</a>',
	atdam_list:					'<a href="' + CommonURL.atadam_list + '">' + CommonImage.atdam_list + '</a>',
	atdam_editor:				'<a href="' + CommonURL.atdam_editor + '">' + CommonImage.atdam_editor + '</a>',
	atdam_contract:				'<a href="' + CommonURL.atdam_contract + '">' + CommonImage.contractfixcharge + '</a>',
	//	damstation関連
	mylist_closer:				'<a href="javascript:dsMyList.closeConsole();">' + CommonImage.close + '</a>',
	mylist_login:				'<a href="' + CommonURL.damstation + '">' + CommonImage.mylist_login + '</a>',
	mylist_mydenmoku:			'<a href="' + CommonURL.mylist_mydenmoku + '">' + CommonImage.mylist_mydenmoku + '</a>',
	//	Yahoo!社様関連
	yahoo_login_small:			'<a href="APPLICATIONURL">' + CommonImage.yahoo_login_small + '</a>',
	yahoo_login_small_https:	'<a href="APPLICATIONURL">' + CommonImage.yahoo_login_small_https + '</a>',
	yahoo_premium_180:			'<a href="' + CommonURL.yahoo_regsit_premier + '">' + CommonImage.yahoo_premium_180 + '</a>',
	yahoo_premium_180_https:	'<a href="' + CommonURL.yahoo_regsit_premier + '">' + CommonImage.yahoo_premium_180_https + '</a>',
	yahoo_premium_386:			'<a href="' + CommonURL.yahoo_regsit_premier + '">' + CommonImage.yahoo_premium_386 + '</a>',
	yahoo_premium_550:			'<a href="' + CommonURL.yahoo_regsit_premier + '">' + CommonImage.yahoo_premium_550 + '</a>',
	yahoo_association_auth:		'<a href="' + CommonURL.yahoo_association_auth + '">' + CommonImage.yahoo_association_auth + '</a>'
}
var CommonLink = {
	//	共有リンク(Web会員関連)
	mypage:						'<a href="' + CommonURL.damtomo_mypage + '">お客様情報</a>',
	wm_app_logout:				'<a href="javascript:WebMember.showConsole(WebMember.console_type.LOGOUT);">ログアウト</a>',
	wm_app_login:				'<a href="javascript:WebMember.showConsole(WebMember.console_type.LOGIN)">ログイン</a>',
	wm_app_yahoo_associate:		'<a href="javascript:PopupHelper.show(PopupHelper.source_type.ABOUT_YAHOO_ASSOCIATION)">DAM★とも会員と連動</a>',
	about_webmember:			'<a href="' + CommonURL.about + '">DAM★とも会員とは？</a>',
	regist_webmember:			'<a href="' + CommonURL.regist + '">新規登録(無料)</a>'
};

var CommonMap = {};
CommonMap.prefectureCode = {
	'1' : '北海道', '2' : '青森県', '3' : '岩手県', '4' : '宮城県', '5' : '秋田県', '6' : '山形県', '7' : '福島県', '8' : '茨城県', '9' : '栃木県', '10' : '群馬県', '11' : '埼玉県', '12' : '千葉県', '13' : '東京都', '14' : '神奈川県', '15' : '新潟県', '16' : '富山県', '17' : '石川県', '18' : '福井県', '19' : '山梨県', '20' : '長野県', '21' : '岐阜県', '22' : '静岡県', '23' : '愛知県', '24' : '三重県', '25' : '滋賀県', '26' : '京都府', '27' : '大阪府', '28' : '兵庫県', '29' : '奈良県', '30' : '和歌山県', '31' : '鳥取県', '32' : '島根県', '33' : '岡山県', '34' : '広島県', '35' : '山口県', '36' : '徳島県', '37' : '香川県', '38' : '愛媛県', '39' : '高知県', '40' : '福岡県', '41' : '佐賀県', '42' : '長崎県', '43' : '熊本県', '44' : '大分県', '45' : '宮崎県', '46' : '鹿児島県', '47' : '沖縄県'
};
CommonMap.getPrefectureName = function($code){
	var code ='';
	if($code.charAt(0) == '0') code = $code.substr(1,1);
	else code = $code;// < 10 ? '0' + $code : $code ;
	return CommonMap.prefectureCode[code];
};
CommonMap.getPrefectureSelectBox = function(id, name, presetIndex){
	var map = CommonMap.prefectureCode;
	var src = '';
	var modulename = name ? name : 'prefectureCode';
	var moduleid = id ? id : 'PrefectureCodeSelector';
	src += '<select name="' + modulename + '" id="' + moduleid + '" >';
	var value;
	var preset = presetIndex || null;
	var selected;
	for(var i=0;i<47;i++){
		value = (i<10) ? '0'+i : i;
		selected = (i == preset) ? 'selected="selected"' : '';
		src += '<option value="' + value + ' ' + selected + '">' + map[i] + '<option>';
	}
	src += '</select>';
	return src;
}

//	**********************************************************************
//	MYリストへの追加アプリケーション読み込みスクリプト
//	2007/08/14
//	複数のコーナー(/dam および/damstation)をまたぐため、
//	共有ライブラリにてjsリソースのリンク先を記述
//	必要な場合はサーバロジックで呼び出す形式に変更
//	**********************************************************************

addListener(
	window,
	'load',
	function(){
		var id = document.body.id
		if(id == 'KaraokeDAM' || id == 'DAMStation' || id == 'Damtomo') {
			$attach_node(document.body, 'script', {type:'text/javascript', src:'/includes/js/ds_MyList.js'});
		}else if(id == 'Damtomo'){
			$attach_node(document.body, 'script', {type:'text/javascript', src:'/includes/js/newWebMember.js'})
		};
	},
	false
)

function m_open(fileurl){
window.open(fileurl,'subwin','width=400,height=300');
}
