/*@cc_on _d=document;eval('var document=_d')@*/
var db = document.documentElement||document.body,IPosX,IPosY,LoadCnt,BgA = 0,Domain,White = new Image(),BaseBG = new Image(),backButton = new Image(),nextButton = new Image(),backButtonR = new Image(),nextButtonR = new Image(),ImageArr = new Array(),LoactionCheck,PhotoData,photoCategory;

function exScriptsLoad(){
	Domain = $('domainhref').href;
	LoactionCheck = new String(window.location);
	if(LoactionCheck.indexOf("/photo/index.html") !== -1){
//		$('entry').style.display = 'none';
//		var ele = document.createElement('P');
		var filename = '',arr = new Array(Domain,'/app/mb3loader.php?cts=photo&date=',SendTimeStomp());
/*		ele.id = 'loadingmessage';
		ele.innerHTML = '読み込み中です。<br />そのまま少々お待ちください。';
		$('centerbox').appendChild(ele);
*/
		arr = arr.join('');
		sendRequest('POST',arr,filename,true,photoDataStock,'sort');
	}
	MakeWaiter();
	if(photoCategory) photoCategory();
}

function setKeys(str){
	var bkn = new Array(),arr = str.split("\t"),arrL = arr.length,makekey,olkey,arrK = new Array(),arrays;
	for(var i=0;i<arrL;i++){
		makekey = arr[i].match(/(\w+)=(.*)/);
		olkey = RegExp.$1;
		bkn[olkey] = RegExp.$2;
		arrK.push(RegExp.$1);
	}
	arrays = new Array(bkn,arrK);
	return arrays;
}

function photoDataStock(XMLhttpObject){
	var arr,txt = XMLhttpObject.responseText,AL;
	arr = txt.split('\n');
//	arr = arr.reverse();
	AL = arr.length;
	for(var i=0;i<AL;i++){
		if(!arr[i].match(/^id=/)){
			arr[i] = undefined;
		}
	}
	arr = arr.join('\n');
	arr = arr.replace(/^\n/g,'');
	arr = arr.replace(/\n{2,}/g,'');
	arr = arr.split('\n');
//	arr = arr.reverse();
	for(var i=0;i<AL;i++){
		arr[i] = setKeys(arr[i]);
	}
	PhotoData = arr;
	imageViewer();
}

function MakeWaiter(){
	if(!$('waiter')){
		var d = document,ele = d.createElement('DIV'),eles = ele.style,arr = new Array('<p><span class="searching">Wait...</span></p>'),ele2,dw;
		ele.id = 'waiter';
		eles.position = ABFX;
		if(MOSC == 1){
			eles.backgroundColor ='#000';
			if(IE7 > 0)eles.filter = 'alpha(opacity=60)';
			eles.width = (IE7 == 0)? '100px':eles.width
		}else{
			if(undefined !== window.opera && "function" === typeof window.opera.version){
				eles.backgroundColor ='#000';
				eles.opacity = 0.6
			}else{
				eles.backgroundColor = (NN7 == 1)? 'rgb(0,0,0)':'rgba(0,0,0,0.6)';
			}
		}

		eles.visibility = 'hidden';
		ele.innerHTML =arr.join('');
		d.body.appendChild(ele);

		if(MOSC == 1 && IE7 == 0){
			ele = d.createElement('IFRAME');
			eles = ele.style;
			ele.id = 'dwaiter';
			eles.position = ABFX;
			eles.width = '200px';
			eles.backgroundColor = '#000';
			eles.zIndex = 117;
			eles.visibility = 'hidden';
			d.body.appendChild(ele);
		}
	}else{
		$('waiter').style.visibility = 'visible'
	}
}

window.onunload = function(){
	if($('basefield'))  document.body.removeChild($('basefield'));
	if($('menufield')) document.body.removeChild($('menufield'));
	if($('ntimage')) document.body.removeChild($('ntimage'));
	if($('largeimg_title')) document.body.removeChild($('largeimg_title'));
	if($('largeimg_comment')) document.body.removeChild($('largeimg_comment'));
	if($('waiter')) document.body.removeChild($('waiter'));
	if($('dwaiter')) document.body.removeChild($('dwaiter'));
}

function setCenterring(x,y){
	var d = document,IPosX,IPosY,PosArray,ws = $('waiter').style,arr = new Array(x,'px'),clientWidth = d.documentElement.clientWidth||d.body.clientWidth,clientHeight = d.documentElement.clientHeight||d.body.clientHeight,scrollTop = d.documentElement.scrollTop||d.body.scrollTop,scrollLeft = d.documentElement.scrollLeft||d.body.scrollLeft,scrollHeight = d.documentElement.scrollHeight||d.body.scrollHeight;
	ws.width = (x == '100%')? x:arr.join('');
	arr[0] = y;
	ws.height = arr.join('');

	if(MOSC == 1 && IE7 == 0){
		var dw = $('dwaiter').style;
		arr = new Array(x,'px')
		dw.width = (x == '100%')? x:arr.join('');
		arr = new Array(y,'px')
		dw.height = arr.join('');

		IPosX = (x == '100%')? x:scrollLeft + clientWidth / 2 - x / 2;
		IPosY = scrollTop + clientHeight / 2 - y;
		arr[0] = IPosX;
		dw.left = (x == '100%')? '0px':arr.join('');
		arr[0] = IPosY;
		dw.top = arr.join('');
		dw.visibility = 'visible';
//		window.status = IPosY + ' ' + dw.top;

	}else{
		var cstyle = $('waiter').currentStyle || document.defaultView.getComputedStyle($('waiter'), '');
		if(cstyle.position == 'absolute'){
			IPosX = (x == '100%')? x:scrollLeft + clientWidth / 2 - x / 2;
			IPosY = scrollTop + clientHeight / 2 - y;
		}else{
			IPosX = (x == '100%')? 0:scrollLeft + clientWidth / 2 - x / 2;
			IPosY = clientHeight / 2 - y
		}
	}
	arr[0] = IPosX;
	ws.left = (x == '100%')? '0px':arr.join('');
	arr[0] = IPosY;
	ws.top = arr.join('');
	ws.visibility = 'visible';
}

function imageViewer(){
	var LocationStr = new String(window.location),d = document,ele = document.getElementsByTagName("A"),eleL = ele.length,arr = new Array("javascript:displayLargeImage('",
	"",
	"',",
	'',
	")"),
	j = 0,k = 0,str,parr,dm = Domain.replace(/http:\/\//,'');
	for(var i=0;i<eleL;i++){
		if(ele[i].href.match(/detail_([0-9]+)\.html/)){
			parr = new Array(dm,'/images_usr/defbox/photo/',PhotoData[k][0]['image1']);
			arr[1] = parr.join('');
			arr[3] = k;
			ele[i].href = arr.join('');
			ele[i].title = PhotoData[k][0]['title'];
			ImageArr[k] = i;
			k++;
		}else if(ele[i].href.match(/\.(jpeg|jpg|gif|png)$/i)){
			arr[1] = new String(ele[i].href);
			arr[1] = arr[1].replace(/http:\/\//,'');
			arr[3] = j;
			ele[i].href = arr.join('');
			ImageArr[j] = i;
			j++;
		}
	}

	arr = new Array(Domain,'/images/default/img_common/');
	arr = arr.join('');
	ImgDir = new Array(arr,'white.png');
	White.src = ImgDir.join('');
	ImgDir[1] = 'largelogo.png';
	BaseBG.src = ImgDir.join('');
	ImgDir[1] = 'backbutton_d.png';
	backButton.src = ImgDir.join('');
	ImgDir[1] = 'nextbutton_d.png';
	nextButton.src = ImgDir.join('')
	ImgDir[1] = 'backButton_r.png';
	backButtonR.src = ImgDir.join('');
	ImgDir[1] = 'nextbutton_r.png';
	nextButtonR.src = ImgDir.join('');
//	$('centerbox').removeChild($('loadingmessage'));
//	$('entry').style.display = 'block';
}

function waiterClose(){
	$('waiter').style.visibility = 'hidden';
	if(MOSC == 1 && IE7 == 0) $('dwaiter').style.visibility = 'hidden';
}

function ImageHide(e){
	$('basefield').style.display = 'none';
	$('menufield').style.display = 'none';
	waiterClose();
	document.body.removeChild($('ntimage'));
	if($('largeimg_title')) document.body.removeChild($('largeimg_title'));
	if($('largeimg_comment')) document.body.removeChild($('largeimg_comment'));
	$('soundplayer').style.visibility = 'visible';
}

displayLargeImage = function(iurl,num){
	var d = document,Nimg = d.createElement('DIV'),Ns = Nimg.style,arr,nextImg = num + 1,prevImg = num - 1,ele = d.getElementsByTagName('A'),prevTag,nextTag,str = new Array('http://',iurl),comm,comS,comV;
	$('soundplayer').style.visibility = 'hidden';
	str = str.join('');
	if(NN7 == 1){
		window.open(str,"_blank");
	}else{
		IPosX = db.clientWidth / 2 + db.scrollLeft;
		IPosY = db.clientHeight / 2 + db.scrollTop;
		LoadCnt = 150;

		if(ele[ImageArr[prevImg]]){
			prevTag = new String(ele[ImageArr[prevImg]].href);
			prevTag = new Array('<a class="nextlink" href="',prevTag,'"><img src="',backButton.src,'"  alt="Back" title="一つ前の画像" onmouseover="EzRollOver(this)" onmouseout="EzRollOut(this)" /></span>');
			prevTag = prevTag.join('')
		}

		if(ele[ImageArr[nextImg]]){
			nextTag = new String(ele[ImageArr[nextImg]].href);
			nextTag = new Array('<a class="nextlink" href="',nextTag,'"><img src="',nextButton.src,'"  alt="Next" title="次の画像" onmouseover="EzRollOver(this)" onmouseout="EzRollOut(this)" /></a>');
			nextTag = nextTag.join('')
		}

		if(!$('basefield')){
			var BaseField = d.createElement('DIV'),BFs = BaseField.style,MenuField = d.createElement('DIV'),MFs = MenuField.style;
			BaseField.id = 'basefield';
			BFs.position = ABFX;
			BFs.zIndex = 100;
			BFs.cursor = 'pointer';
			BFs.top = '0px';
			BFs.left = '0px';
			BFs.backgroundRepeat = 'no-repeat';
			var BFsBG = new Array('url(',BaseBG.src,')');
			BFs.backgroundImage = BFsBG.join('');
			BFs.width = '100%';
			d.body.appendChild(BaseField);

			MenuField.id = 'menufield';
			MFs.position = ABFX;
			MFs.zIndex = 101;
			MFs.top = '0px';
			MFs.left = '0px';
			MFs.backgroundColor = 'transparent';
			MFs.width = '100%';
			d.body.appendChild(MenuField);
		}
		if(MOSC == 1 && IE7 == 0 ){
			var ie6bp = db.scrollTop + db.clientHeight * 0.6;
			ie6bp += 'px';
			$('basefield').style.backgroundPosition = 'center ' + ie6bp;
			$('basefield').style.height = db.scrollHeight + 'px'
		}else{
			$('basefield').style.backgroundPosition = 'center 85%';
			$('basefield').style.height = '100%';
		}
		$('basefield').innerHTML = '&nbsp;';
		$('basefield').style.display = 'block';
		arr = new Array(prevTag,nextTag);
		$('menufield').innerHTML = arr.join('');
		$('menufield').style.display = 'block';

		if($('ntimage')) document.body.removeChild($('ntimage'));

		Nimg.id = 'ntimage';
		Ns.position = 'absolute';
		Ns.zIndex = 120;
		Ns.cursor = 'pointer';
		Ns.visibility = 'hidden';
		Ns.clip = 'rect(0px,0px,0px,0px)';
		Ns.border = '10px solid #fff';
		arr = new Array('url(',str,')');
		Ns.backgroundImage = arr.join('');
		Ns.backgroundRepeat = 'no-repeat';
		arr = new Array('<img id="white" src="',str,'" />');
		Nimg.innerHTML = arr.join('');
		d.body.appendChild(Nimg);

		if(ele[ImageArr[num]].title){
			if($('largeimg_title')) document.body.removeChild($('largeimg_title'));

			comm = d.createElement('DIV');
			comm.id = 'largeimg_title';
			comS = comm.style;
			comS.position = 'absolute';
			comS.fontSize = '5em';
			arr = new Array(db.clientWidth,'px');
			comS.width = arr.join('');
			comS.left = '0px';
			arr = new Array(db.clientHeight / 2 - 120 + db.scrollTop,'px');
			comS.top = arr.join('');
			comV = ele[ImageArr[num]].title;
//			comV = ele[ImageArr[num]].title.replace(/ {2}/g,'<br />');
			comm.innerHTML = comV;
			d.body.appendChild(comm);
		}
		if(PhotoData[num][0]['comment']){
			if($('largeimg_comment')) document.body.removeChild($('largeimg_comment'));
			comm = d.createElement('DIV');
			comm.id = 'largeimg_comment';
			comS = comm.style;
			comS.position = 'absolute';
			comS.fontSize = '3em';
			arr = new Array(db.clientWidth,'px');
			comS.width = arr.join('');
			comS.left = '0px';
			arr = new Array(db.clientHeight / 2 + db.scrollTop,'px');
			comS.top = arr.join('');
			comV = PhotoData[num][0]['comment'];
//			comV = PhotoData[num][0]['comment'].replace(/ {2}/g,'<br />');
			comm.innerHTML = comV;
			comS.visibility = 'hidden';
			d.body.appendChild(comm);
		}

		if(MOSC == 1){
			$('basefield').style.filter = 'alpha(opacity=75)';
			$('basefield').setAttribute("onclick",new Function("ImageHide();"));
			$('white').style.filter = 'alpha(opacity=100)';

			if(typeof db.style.outline != 'undefined'){
				$('basefield').setAttribute('onclick',"ImageHide();");
				$('ntimage').setAttribute('onclick',"ImageHide();");
				if($('largeimg_title')) $('largeimg_title').setAttribute('onclick',"ImageHide();");
				if($('largeimg_comment')) $('largeimg_comment').setAttribute('onclick',"ImageHide();");
			}else{
				$('basefield').setAttribute("onclick",new Function("ImageHide();"));
				$('ntimage').setAttribute("onclick",new Function("ImageHide();"));
				if($('largeimg_title')) $('largeimg_title').setAttribute("onclick",new Function("ImageHide();"));
				if($('largeimg_comment')) $('largeimg_comment').setAttribute("onclick",new Function("ImageHide();"));
		}
			if(IE7 == 0){
				arr = new Array(db.scrollTop,'px');
				$('menufield').style.top = arr.join('');
			}
		}else{
			$('basefield').style.opacity = 0;
			$('basefield').setAttribute('onclick',"ImageHide();");
			$('ntimage').setAttribute('onclick',"ImageHide();");
			if($('largeimg_title')) $('largeimg_title').setAttribute('onclick',"ImageHide();");
			if($('largeimg_comment')) $('largeimg_comment').setAttribute('onclick',"ImageHide();");
			$('white').style.opacity = 1;
			BgA = 0;
		}

//		arr = new Array('<p><img src="',Domain,'/images/default/img_common/waiter.gif"  /><br /><span class="waitstr1">画像を読み込み中です...</span><br /><span class="waitstr2">Now Loading...</span></p>');
		setCenterring(200,40);

		$('waiter').innerHTML ='<p><span class="waitstr1">画像を読み込み中です...</span><br /><span class="waitstr2">Now Loading...</span></p>';
		boxAnimation($('basefield'),0,0.7,500,0);
	}
}


/*** Piro氏[http://piro.sakura.ne.jp/]のコードを参考にしています ***/
function boxAnimation(aElement, aStart, aEnd,Dur,MODE){
	var d = document,delta = aEnd - aStart,duration  = Dur,startTime =(new Date()).getTime(),IEalpha = 100,arr,timer;
	timer = setInterval(function() {
		var Nt = (new Date()).getTime(),progress = Math.min(1,(Nt - startTime) / duration),clipping = (progress == 1)? aEnd:aStart + (delta * Math.sin((progress * 90) * Math.PI / 180 )),Clipper,IfIE = MOSC;
		if(MODE == 1){
			if(!$('white')) return;
			Wt = $('white').style,Clipper = new Array('rect(0px,',clipping + 20,'px,',clipping + 20,'px,0px)');
				if(IfIE == 1){
					 IEalpha = 100 - progress * 100;
					 arr = new Array('alpha(opacity=',IEalpha,')');
					Wt.filter = arr.join('');
					if($('largeimg_title')){
						$('largeimg_title').style.filter = arr.join('');
					}
				}else{
					Wt.opacity = 1 - progress;
					if($('largeimg_title')){
						$('largeimg_title').style.opacity = 1 - progress;
					}
				}
				try{
					void(0);
					$('ntimage').style.clip = Clipper.join('');
				}catch(e){
					waiterClose();
					clearInterval(timer);
				}
			if(progress == 1){
				waiterClose();
				if($('largeimg_title')){
					arr = new Array(54 + db.scrollTop,'px');
					$('largeimg_title').style.top =arr.join('');
					$('largeimg_title').style.fontSize = '3em';
					if(MOSC == 1){
						$('largeimg_title').style.filter = 'alpha(enabled=0)';
					}else{
						$('largeimg_title').style.opacity = 1;
					}
				}
				if($('largeimg_comment')){
					var lcbounds,lcy;
					lcbounds = $('ntimage').getBoundingClientRect();
					arr = new Array(lcbounds.top + $('white').height + db.scrollTop + 60 + 'px');
					$('largeimg_comment').style.top = arr.join('');
					 $('largeimg_comment').style.visibility = 'visible';
				}
				clearInterval(timer);
			}
		}else if(MODE == 2){
			if(IfIE == 1){
				 IEalpha = clipping * 100;
				 arr = new Array('alpha(opacity=',IEalpha,')');
				aElement.style.filter = arr.join('');
			}else{
				aElement.style.opacity = 1 - progress;
			}
			window.status = aElement.style.opacity
			if(progress == 1){
				tableX(tableID[1]);
				clearInterval(timer);
			}

		}else if(MODE == 3){
			arr = new Array(clipping,'px');
			aElement.style.left = arr.join('');
			if(progress == 1){
				if(db.clientWidth < 950){
					$('footer').style.width = '950px';
				}
				tableID[0] = aElement.id;
				clearInterval(timer);
			}
		}else{
			if(!$('white')) return;
			if(progress == 1){
				var Ns = $('ntimage').style,Wt = d.images['white'],NW = Wt.width,NH = Wt.height,ClipSize;
				if(Wt.complete){
					waiterClose();
					arr = (undefined !== window.defaultstatus)? new Array(d.body.scrollTop + 100,'px'):new Array(db.scrollTop + 100,'px');
					Ns.top = arr.join('');
					Ns.left = IPosX - NW / 2 + 'px';
					Wt.width = NW;
					Wt.height = NH;
					Wt.src = White.src;
					Ns.visibility = 'visible';
					ClipSize = (NW > NH)? NW:NH;
					clearInterval(timer);
					boxAnimation($('ntimage'),0,ClipSize,500,1);
				}
			}else{
				if(IfIE == 0){
					aElement.style.opacity = clipping;
				}
			}
		}
	}, 10);
}