﻿// JavaScript Document

function $(id) {
	return document.getElementById(id);
}

function fetchOffset(obj) {
	var left_offset = obj.offsetLeft;
	var top_offset = obj.offsetTop;
	while((obj = obj.offsetParent) != null) {
		left_offset += obj.offsetLeft;
		top_offset += obj.offsetTop;
	}
	return { 'left' : left_offset, 'top' : top_offset };
}
var lang = new Array();
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
var viewobj = Array();var viewadjust;var viewstatus = 1;
	viewobj['srcinfo']=['left','top'];
	viewobj['srcinfo']['left'] = 0;
	viewobj['srcinfo']['top'] = 0;

function view(obj, zimg) {
	if(!viewstatus) {
		window.open(zimg, '', '');
		return;
	}
	if(!zimg) {
		zimg = obj.src;
	}
	if(!$('viewimglayer_bg')) {
		div = document.createElement('div');div.id = 'viewimglayer_bg';
		div.style.position = 'absolute';
		div.style.left = div.style.top = '0px';
		div.style.width = '100%';
		div.style.height = document.body.scrollHeight + 'px';
		div.style.backgroundColor = '#000';
		div.style.display = 'none';
		div.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=60,finishOpacity=100,style=0)';
		div.style.opacity = 0.6;
		$('append_new').appendChild(div);
		div = document.createElement('div');div.id = 'viewimglayer';
		div.style.position = 'absolute';
		div.className = 'popupmenu_popup';
		div.style.padding = 0;
		$('append_new').appendChild(div);
	}
//	viewobj['srcinfo'] = fetchOffset(obj);
//	viewobj['srcinfo']=['left','top'];
//	viewobj['srcinfo']['left'] = 0;
//	viewobj['srcinfo']['top'] = 600;
	viewobj['srcobj'] = obj;
	viewobj['zimg'] = zimg;
	$('viewimglayer').style.display = '';
	$('viewimglayer').style.left = viewobj['srcinfo']['left'] + 'px';
	$('viewimglayer').style.top = viewobj['srcinfo']['top'] + 'px';
	$('viewimglayer').style.width = viewobj['srcobj'].width + 'px';
	$('viewimglayer').style.height = viewobj['srcobj'].height + 'px';
	$('viewimglayer').style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=40,finishOpacity=100,style=0)";
	$('viewimglayer').style.opacity = 0.4;
	$('viewimglayer').style.zIndex = 999;
	$('viewimglayer').innerHTML = '<table width="100%" height="100%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"><tr><td align="center" valign="middle"><img src="../images/sourceimages/loading.gif"></td></tr></table><div style="position:absolute;top:-100000px;visibility:hidden"><img onload="viewimgresize(this)" src="' + viewobj['zimg'] + '"></div>';
}

var viewdragstart = new Array();
var viewclick = 0;
function viewdrag(e, op) {
	if(op == 1) {
		viewclick = 1;
		viewdragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
		viewdragstart[2] = parseInt($('viewimglayer').style.left);
		viewdragstart[3] = parseInt($('viewimglayer').style.top);
		doane(e);
	} /*else if(op == 2 && viewdragstart[0]) {
		viewclick = 0;
		var viewdragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
		$('viewimglayer').style.left = (viewdragstart[2] + viewdragnow[0] - viewdragstart[0]) + 'px';
		$('viewimglayer').style.top = (viewdragstart[3] + viewdragnow[1] - viewdragstart[1]) + 'px';
		doane(e);
	}*/ else if(op == 3) {
		if(viewclick) viewclose();
		viewdragstart = [];
		doane(e);
	}
}

function viewST(c) {
	if($('viewimglayer').style.display == '') {
		$('viewimglayer').style.left = (parseInt($('viewimglayer').style.left) + viewobj['x']) + 'px';
		$('viewimglayer').style.top = (parseInt($('viewimglayer').style.top) + viewobj['y']) + 'px';
		$('viewimglayer').style.width = (parseInt($('viewimglayer').style.width) + viewobj['w']) + 'px';
		$('viewimglayer').style.height = (parseInt($('viewimglayer').style.height) + viewobj['h']) + 'px';
		var opacity = c * 20;
		$('viewimglayer').style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ',finishOpacity=100,style=0)';
		$('viewimglayer').style.opacity = opacity / 100;
		c++;
		if(c <= 5) {
			setTimeout('viewST(' + c + ')', 5);
		} else {
			viewadjust = 1;
			$('viewimglayer').style.filter = '';
			$('viewimglayer_bg').style.display = '';
			$('viewimglayer').innerHTML = '<table cellspacing="0" cellpadding="5" border="0" bgcolor="#FFFFFF"><tr><td style="text-align: right"><a href="###" onclick="viewclose()"><img id="closeBtn" style="vertical-align: middle;" src="images/sourceimages/1x1dot.gif" title="關閉" border="0" width="30px" height="30px" /></a>&nbsp;</td></tr><tr><td align="center" id="viewimgbox"><img id="viewimg" title="關閉" style="cursor: pointer; margin: 5px;" src="' + viewobj['zimg'] + '" width="' + $('viewimglayer').style.width + '" height="' + $('viewimglayer').style.height + '"></td></tr></table>';
			$('viewimglayer').style.overflow = 'visible';
			$('viewimglayer').style.width = $('viewimglayer').style.height = 'auto';
			if(is_ie){
				$('closeBtn').style.background="none";
				$('closeBtn').style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/sourceimages/close.png, sizingMethod=image)';
			}else{
			$('closeBtn').style.background="url(images/sourceimages/close.png)";
			}
/*			if(is_ie){
				$('viewimglayer').onmousewheel = viewimgadjust;
			} else {
				$('viewimglayer').addEventListener("DOMMouseScroll", viewimgadjust, false);
			}*/
			$('viewimgbox').onmousedown = function(event) {try{viewdrag(event, 1);}catch(e){}};
//			$('viewimgbox').onmousemove = function(event) {try{viewdrag(event, 2);}catch(e){}};
			$('viewimgbox').onmouseup = function(event) {try{viewdrag(event, 3);}catch(e){}};
		}
	}
}

function viewimgresize(obj) {
	viewobj['zimginfo'] = [obj.width, obj.height];
	var r = obj.width / obj.height;
	var w = document.body.clientWidth * 0.95;
	w = obj.width > w ? w : obj.width;
	var h = w / r;
	var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
	var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
	if(h > clientHeight) {
		h = clientHeight;
		w = h * r;
	}
	var l = (document.body.clientWidth - w) / 2;
	var t = h < clientHeight ? (clientHeight - h) / 2 : 0;
	t += + scrollTop;
	viewobj['x'] = (l - viewobj['srcinfo']['left']) / 5;
	viewobj['y'] = (t - viewobj['srcinfo']['top']) / 5;
	viewobj['w'] = (w - viewobj['srcobj'].width) / 5;
	viewobj['h'] = (h - viewobj['srcobj'].height) / 5;
	$('viewimglayer').style.filter = '';
	$('viewimglayer').innerHTML = '';
	setTimeout('viewST(1)', 5);
}
/*
function viewimgadjust(e, a) {
	if(!a) {
		if(!e) e = window.event;
		if(e.altKey || e.shiftKey || e.ctrlKey) return;
		var l = parseInt($('viewimglayer').style.left);
		var t = parseInt($('viewimglayer').style.top);
		if(e.wheelDelta <= 0 || e.detail > 0) {
			if($('viewimg').width <= 200 || $('viewimg').height <= 200) {
				doane(e);return;
			}
			$('viewimg').width -= viewobj['zimginfo'][0] / 10;
			$('viewimg').height -= viewobj['zimginfo'][1] / 10;
			l += viewobj['zimginfo'][0] / 20;
			t += viewobj['zimginfo'][1] / 20;
		} else {
			if($('viewimg').width >= viewobj['zimginfo'][0]) {
				viewimgadjust(e, 1);return;
			}
			$('viewimg').width += viewobj['zimginfo'][0] / 10;
			$('viewimg').height += viewobj['zimginfo'][1] / 10;
			l -= viewobj['zimginfo'][0] / 20;
			t -= viewobj['zimginfo'][1] / 20;
		}
	} else {
		var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
		var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
		$('viewimg').width = viewobj['zimginfo'][0];$('viewimg').height = viewobj['zimginfo'][1];
		var l = (document.body.clientWidth - $('viewimg').clientWidth) / 2;l = l > 0 ? l : 0;
		var t = (clientHeight - $('viewimg').clientHeight) / 2 + scrollTop;t = t > 0 ? t : 0;
	}
	$('viewimglayer').style.left = l + 'px';
	$('viewimglayer').style.top = t + 'px';
	$('viewimglayer_bg').style.height = t + $('viewimglayer').clientHeight > $('viewimglayer_bg').clientHeight ? (t + $('viewimglayer').clientHeight) + 'px' : $('viewimglayer_bg').style.height;
	doane(e);
}*/

function viewclose() {
	$('viewimglayer').innerHTML = '';
	$('viewimglayer').style.display = 'none';
	$('viewimglayer_bg').style.display = 'none';
}
