var popIFrame = Class.create();
popIFrame.prototype={
	initialize: function() {	
		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName('a');
		for (var i=0; i<anchors.length; i++){
			var anchor = anchors[i];
			var relAttribute = String(anchor.getAttribute('rel'));
			if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('pif'))){
				anchor.onclick = function () {myIFrame.start(this); return false;}
			}
		}
		var objBody=document.getElementsByTagName("body").item(0);
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','PIF_overlay');
		objOverlay.style.display = 'none';
		objOverlay.style.backgroundImage='url(/misc/lb/overlay.png)';
		objOverlay.style.position='absolute';
		objOverlay.style.top=0+document.body.scrollTop;
		objOverlay.style.left=0;
		objOverlay.style.width=getINNERWIDTH()+'px';
		objOverlay.style.height=parseInt(getINNERHEIGHT()*2)+'px';
		if(document.all){
			objOverlay.style.filter='alpha(style=0, opacity=75)';
		}
		objOverlay.onclick = function() { myIFrame.end(); return false; }
		objBody.appendChild(objOverlay);

		var objPopIFrame = document.createElement("div");
		objPopIFrame.setAttribute('id','popiframe');
		objPopIFrame.setAttribute('align','center');
		objPopIFrame.style.display = 'none';
		objPopIFrame.style.position='absolute';
		objPopIFrame.style.top=0;
		objPopIFrame.style.left=0;
		objPopIFrame.style.height=Math.round(getINNERHEIGHT()*0.7)+'px';
		objPopIFrame.style.background='#FFF';
		objPopIFrame.style.border='1px solid #666666';
		objBody.appendChild(objPopIFrame);
		
		var objTopBox=document.createElement("div");
		objTopBox.setAttribute('id','PIF_top');
		objTopBox.style.background='#FFF';
		objTopBox.innerHTML='<table border="0" cellpadding="0" cellspacing="0" style="width:100%;"><tbody style="font-size:12px;"><tr><td id="PIF_tdL"></td><td id="PIF_tdR" align="right"></td></tr></tbody></table>';
		objPopIFrame.appendChild(objTopBox);
		var objTdL=document.getElementById('PIF_tdL');
		var objTdR=document.getElementById('PIF_tdR');
		
		var objTitleBox=document.createElement("div");
		objTitleBox.setAttribute('id','PIF_title');
		objTitleBox.style.background='#FFF';
		objTitleBox.style.padding='5px';
		objTitleBox.style.fontSize='14px';
		objTitleBox.style.fontWeight='bold';
		objTitleBox.innerHTML='TEST DOCUMENT';
		objTdL.appendChild(objTitleBox);


		var objDocumentFrame=document.createElement("iframe");
		objDocumentFrame.setAttribute('id','documentframe');
		objDocumentFrame.setAttribute('name','PIF_frame');
		objDocumentFrame.setAttribute('frameborder','0');
		objDocumentFrame.setAttribute('marginwidth','0');
		objDocumentFrame.setAttribute('marginheight','0');
		objDocumentFrame.setAttribute('vspace','0');
		objDocumentFrame.setAttribute('hspace','0');
		objDocumentFrame.setAttribute('target','_top');
		objDocumentFrame.src='/include/dummy.html';
		objDocumentFrame.style.width='95%';
		objDocumentFrame.style.height='95%';
		objDocumentFrame.style.border='1px solid #CCCCCC';
		objPopIFrame.appendChild(objDocumentFrame);

		var objBottomBox=document.createElement("div");
		objBottomBox.setAttribute('id','PIF_bottom');
		objBottomBox.style.background='#FFF';
		objBottomBox.style.padding='5px';
		objBottomBox.style.fontSize='12px';
		objBottomBox.style.textAlign='right';
		objPopIFrame.appendChild(objBottomBox);

		var objShrinkLink=document.createElement("a");
		objShrinkLink.setAttribute('id','PIF_shrink_link');
		objShrinkLink.setAttribute('href','#');
		objShrinkLink.onclick = function() { myIFrame.shrink(); return false; }
		objTdR.appendChild(objShrinkLink);

		var objShrinkBtn=document.createElement("img");
		objShrinkBtn.setAttribute('border','0');
		objShrinkBtn.src='/I/btn_shrink.png';
		objShrinkLink.appendChild(objShrinkBtn);

		var objExpandLink=document.createElement("a");
		objExpandLink.setAttribute('id','PIF_expand_link');
		objExpandLink.setAttribute('href','#');
		objExpandLink.onclick = function() { myIFrame.expand(); return false; }
		objTdR.appendChild(objExpandLink);

		var objExpandBtn=document.createElement("img");
		objExpandBtn.setAttribute('border','0');
		objExpandBtn.src='/I/btn_expand.png';
		objExpandLink.appendChild(objExpandBtn);

		var objCloseLink=document.createElement("a");
		objCloseLink.setAttribute('id','PIF_close_link');
		objCloseLink.setAttribute('href','#');
		objCloseLink.onclick = function() { myIFrame.end(); return false; }
		objTdR.appendChild(objCloseLink);

		var objCloseBtn=document.createElement("img");
		objCloseBtn.setAttribute('border','0');
		objCloseBtn.src='/I/btn_close.png';
		objCloseLink.appendChild(objCloseBtn);

	},
	start: function(anchor){
		this.shrink();
		var LinkDocument=anchor.getAttribute('href');
		var DocumentTitle=anchor.getAttribute('title');
		var objDocumentFrame=document.getElementById('documentframe');
		var objPopIFrame=document.getElementById('popiframe');
		var overlay=document.getElementById('PIF_overlay');
		overlay.style.top=0+document.body.scrollTop;
		document.getElementById('PIF_title').innerHTML=DocumentTitle;
		objDocumentFrame.src=LinkDocument;
		Element.show('popiframe','PIF_overlay');
	},
	expand: function(){
		var objPopIFrame=document.getElementById('popiframe');
		var objDocumentFrame=document.getElementById('documentframe');
		var objShrinkLink=document.getElementById('PIF_shrink_link');
		var objExpandLink=document.getElementById('PIF_expand_link');
		objExpandLink.style.display='none';
		objShrinkLink.style.display='inline';
		objPopIFrame.style.width=(getINNERWIDTH()-20)+'px';
		objPopIFrame.style.height=getINNERHEIGHT();
		objPopIFrame.style.left='0px';
		objPopIFrame.style.top=document.body.scrollTop+'px';
	},
	shrink:function(){
		var objDocumentFrame=document.getElementById('documentframe');
		var objPopIFrame=document.getElementById('popiframe');
		var overlay=document.getElementById('PIF_overlay');
		var objShrinkLink=document.getElementById('PIF_shrink_link');
		var objExpandLink=document.getElementById('PIF_expand_link');
		objExpandLink.style.display='inline';
		objShrinkLink.style.display='none';
		objPopIFrame.style.width='670px';
		objPopIFrame.style.height=Math.round(getINNERHEIGHT()*0.7);
		objPopIFrame.style.left=Math.round(getINNERWIDTH()*0.5-parseInt(objPopIFrame.style.width)*0.5+document.body.scrollLeft)+'px';
		objPopIFrame.style.top=Math.round(getINNERHEIGHT()*0.5-parseInt(objPopIFrame.style.height)*0.5+document.body.scrollTop)+'px';
	},
	end: function() {
		var objDocumentFrame=document.getElementById('documentframe');
		var objPopIFrame=document.getElementById('popiframe');
		var objOverlay=document.getElementById('PIF_overlay');
		objDocumentFrame.src='/include/dummy.html';
		Element.hide(objPopIFrame,objOverlay);
	}
}
function initPopIFrame() { myIFrame = new popIFrame(); }
Event.observe(window, 'load', initPopIFrame, false);


function getINNERWIDTH(){
	if(window.opera)
		return window.innerWidth          //o6,o7用
	else if(document.all)
		return document.body.clientWidth  //e4,e5,e6用
	else if(document.layers)
		return window.innerWidth          //n4用
	else if(document.getElementById)
		return  window.innerWidth         //n6,n7,m1,s1用
	return null
}
function getINNERHEIGHT(){
	if(window.opera)
		return window.innerHeight          //o6,o7用
	else if(document.all)
		return document.body.clientHeight  //e4,e5,e6用
	else if(document.layers)
		return window.innerHeight          //n4用
	else if(document.getElementById)
		return  window.innerHeight         //n6,n7,m1,s1用
	return null
}
function getCookies(){
	if(!(navigator.cookieEnabled)){
//		return false;
	}
	var myCOOKIE={};
	var obj={};
	var subObj={};
	var str=document.cookie;
	if(str.length>0){
		var cookies=str.split(";");
		for(i=0;i<cookies.length;i++){
			cookies[i]=cookies[i].trim();
			var values=cookies[i].split("=");
			var key=values[0];
			var data=values[1];
			if(values[0].match(/\[([^\]]+)\]/)){
				var keys=values[0].match(/^([^\[]+)/);
				var key=keys[0].trim();
				var keys=values[0].match(/\[[^\]]+\]/g);
				for(x=keys.length-1;x>=0;x--){
					var subkey=keys[x].replace(/^\[([^\]]+)\]$/,'$1');
					obj[subkey]=data;
					data=obj;
					obj={};
				}
			}
			if(myCOOKIE[key]){
			
				for(var x in data){
					if(myCOOKIE[key][x]){
						for(var y in data[x]){
							if(myCOOKIE[key][x][y]){
								for(var z in data[x][y]){
									myCOOKIE[x][y][z]=data[x][y][z];
								}
							}else{
								myCOOKIE[key][x][y]=data[x][y];
							}
						}
					}else{
						myCOOKIE[key][x]=data[x];
					}
				}
			}else{
				myCOOKIE[key]=data;
			}
		}
	}else{
		return false;
	}
	return myCOOKIE;
}
function numberformat(val){
	val=val*1;
	var strRev=new Array();
	strRev = String(val).split("");
	strRev = strRev.reverse();
	strRev = strRev.join("");
	strRev = String(strRev).replace(/(\d{3})(?=\d)(?!\d*\.)/g , "$1,");
	strRev = String(strRev).split("");
	strRev = strRev.reverse();
	strRev = strRev.join("");
	return strRev

}
function stripQuery(){
	if(location.search.length>0){
		var query=location.search.replace(/^\?/,'');
		var queries=query.split("&");
		for(i=0;i<queries.length;i++){
			var param=queries[i].split("=",2);
			myQuery[param[0]]=param[1];
		}
		return myQuery;
	}
}
//add string TRIM function
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, '');
}

////
// XMLHttpRequestオブジェクト生成
//
// @sample oj=createHttpRequest()
// @return XMLHttpRequestオブジェクト
//
function createHttpRequest()
{
	if(window.ActiveXObject){
		 //Win e4,e5,e6用
		try {
		  return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
		  try {
		    return new ActiveXObject("Microsoft.XMLHTTP") ;
		  } catch (e2) {
		    return null ;
 		  }
 		}
	} else if(window.XMLHttpRequest){
		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3用
		return new XMLHttpRequest() ;
	} else {
		return null ;
	}
}

////
// 送信関数
//
// @sample sendRequest(onloaded,'&p=1','POST','./about2.php',true,true)
// @param callback 受信時に起動する関数名
// @param data	 送信するデータ
// @param method "POST" or "GET"
// @param urlリクエストするファイルのURL
// @param async	非同期ならtrue 同期ならfalse
// @param sload	スーパーロード trueで強制、省略またはfalseでデフォルト
//
function sendRequest(callback,data,method,url,async,sload)
{
	//XMLHttpRequestオブジェクト生成
	var oj = createHttpRequest()
	if( oj == null ) return null
	
	//強制ロードの設定
	var sload = (!!sendRequest.arguments[5])?sload:false;
	if(sload)url=url+"?t="+(new Date()).getTime()
	//ブラウザ判定
	var ua = navigator.userAgent
	var safari	= ua.indexOf("Safari")!=-1
	var konqueror = ua.indexOf("Konqueror")!=-1
	var mozes	 = ((a=navigator.userAgent.split("Gecko/")[1] )
			?a.split(" ")[0]:0) >= 20011128 
	
	//受信処理
	//operaはonreadystatechangeに多重レスバグがあるのでonloadが安全
	//Moz,FireFoxはoj.readyState==3でも受信するので通常はonloadが安全
	//Win ieではonloadは動作しない
	//Konquerorはonloadが不安定
	//参考http://jsgt.org/ajax/ref/test/response/responsetext/try1.php
	if(window.opera || safari || mozes){
		oj.onload = function () { callback(oj) }
	} else {
	
		oj.onreadystatechange =function () 
		{
			if ( oj.readyState == 4 ){
				callback(oj)
			}
		}
		
	}
	
	//エンコード
	if(method == 'GET') {
		url = url + encodeURI(data)
	}
	
	//open メソッド
	oj.open( method , url , async )
	
	if(method == 'POST') {
		//このメソッドがWin Opera8でエラーになったので分岐
		if(!window.opera)
			oj.setRequestHeader('Content-Type', 
				'application/x-www-form-urlencoded')
	} 
	
	//send メソッド
	oj.send(data)
}