var IMGDIR = 'images/';
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 zoomobj = Array();var zoomadjust;var zoomstatus = 1;
zoomstatus = parseInt(1);
function $(n){
        return document.getElementById(n);
}

 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 msgwidth = 0;
function attachimg(obj, action) {
        if(action == 'load') {
                if(is_ie && is_ie < 7) {
                        var objinfo = fetchOffset(obj);
                        msgwidth = document.body.clientWidth - objinfo['left'] - 20;
                } else {
                        if(!msgwidth) {
                                var re = /postcontent|message/i;
                                var testobj = obj;
                                while((testobj = testobj.parentNode) != null) {
                                        var matches = re.exec(testobj.className);
                                        if(matches != null) {
                                                msgwidth = testobj.clientWidth - 20;
                                                break;
                                        }
                                }
                                if(msgwidth < 1) {
                                        msgwidth = window.screen.width;
                                }
                        }
                }
                if(obj.width > msgwidth) {
                        obj.resized = true;
                        obj.width = msgwidth;
                        obj.style.cursor = 'pointer';
                } else {
                        obj.onclick = null;
                }
        } else if(action == 'mouseover') {
                if(obj.resized) {
                        obj.style.cursor = 'pointer';
                }
        }
}

   function attachimginfo(obj, infoobj, show, event) {
        objinfo = fetchOffset(obj);
        if(show) {
                $(infoobj).style.left = objinfo['left'] + 'px';
                $(infoobj).style.top = obj.offsetHeight < 40 ? (objinfo['top'] + obj.offsetHeight) + 'px' : objinfo['top'] + 'px';
                $(infoobj).style.display = '';
        } else {
                if(is_ie) {
                        $(infoobj).style.display = 'none';
                        return;
                } else {
                        var mousex = document.body.scrollLeft + event.clientX;
                        var mousey = document.documentElement.scrollTop + event.clientY;
                        if(mousex < objinfo['left'] || mousex > objinfo['left'] + objinfo['width'] || mousey < objinfo['top'] || mousey > objinfo['top'] + objinfo['height']) {
                                $(infoobj).style.display = 'none';
                        }
                }
        }
}

   
function zoom(obj, zimg) {
        if(!zoomstatus) {
                window.open(zimg, '', '');
                return;
        }
        if(!zimg) {
                zimg = obj.src;
        }
        if(!$('zoomimglayer_bg')) {
                var de = document.documentElement;
		        var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
		        var ch = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;

   		        if (window.innerHeight && window.scrollMaxY) {	
			       var sh = window.innerHeight + window.scrollMaxY;
		        } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			       var sh = document.body.scrollHeight;
		        } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			       var sh = document.body.offsetHeight;
		        }
				div = document.createElement('div');div.id = 'zoomimglayer_bg';
                div.style.position = 'absolute';
                div.style.left = div.style.top = '0px';
                div.style.width = '100%';
                div.style.height = (sh > ch ? sh : ch) + 'px'; 
				//div.style.height = document.body.scrollHeight + 'px';
                div.style.backgroundColor = '#000';
                div.style.display = 'none';
                div.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=80,finishOpacity=100,style=0)';
                div.style.opacity = 0.8;
                $('container').appendChild(div);
                div = document.createElement('div');
				div.id = 'zoomimglayer';
                div.style.position = 'absolute';
                div.className = 'popupmenu_popup';
                div.style.padding = 0;
                $('container').appendChild(div);
        }
        zoomobj['srcinfo'] = fetchOffset(obj);
        zoomobj['srcobj'] = obj;
        zoomobj['zimg'] = zimg;
        $('zoomimglayer').style.display = '';
		//$('zoomimglayer').style.backgroundColor = '#cccccc'; 
        $('zoomimglayer').style.left = zoomobj['srcinfo']['left'] + 'px';
        $('zoomimglayer').style.top = zoomobj['srcinfo']['top'] + 'px';
        $('zoomimglayer').style.width = zoomobj['srcobj'].width + 'px';
        $('zoomimglayer').style.height = zoomobj['srcobj'].height + 'px';
        $('zoomimglayer').style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=40,finishOpacity=100,style=0)';
        $('zoomimglayer').style.opacity = 0.4;
        $('zoomimglayer').style.zIndex = 999;
        $('zoomimglayer').innerHTML = '<table width="100%" height="100%" cellspacing="0" cellpadding="0"><tr><td align="center" valign="middle"><img src="' + IMGDIR + 'loading.gif"></td></tr></table><div style="position:absolute;top:-100000px;visibility:hidden"><img onload="zoomimgresize(this)" src="' + zoomobj['zimg'] + '"></div>';
}

   var zoomdragstart = new Array();
var zoomclick = 0;
function zoomdrag(e, op) {
        if(op == 1) {
                zoomclick = 1;
                zoomdragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
                zoomdragstart[2] = parseInt($('zoomimglayer').style.left);
                zoomdragstart[3] = parseInt($('zoomimglayer').style.top);
                doane(e);
        } else if(op == 2 && zoomdragstart[0]) {
                zoomclick = 0;
                var zoomdragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
                $('zoomimglayer').style.left = (zoomdragstart[2] + zoomdragnow[0] - zoomdragstart[0]) + 'px';
                $('zoomimglayer').style.top = (zoomdragstart[3] + zoomdragnow[1] - zoomdragstart[1]) + 'px';
                doane(e);
        } else if(op == 3) {
                if(zoomclick) zoomclose();
                zoomdragstart = [];
                doane(e);
        }
        
		//睰
        var de = document.documentElement;
		var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
		var ch = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;

   		if (window.innerHeight && window.scrollMaxY) {	
		    var sh = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		    var sh = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		    var sh = document.body.offsetHeight;
		}
		$("zoomimglayer_bg").style.height = (sh > ch ? sh : ch) + 'px'; 
}

   function zoomST(c) {
	if($('zoomimglayer').style.display == '') {
		$('zoomimglayer').style.left = (parseInt($('zoomimglayer').style.left) + zoomobj['x']) + 'px';
		$('zoomimglayer').style.top = (parseInt($('zoomimglayer').style.top) + zoomobj['y']) + 'px';
		$('zoomimglayer').style.width = (parseInt($('zoomimglayer').style.width) + zoomobj['w']) + 'px';
		$('zoomimglayer').style.height = (parseInt($('zoomimglayer').style.height) + zoomobj['h']) + 'px';
		var opacity = c * 20;
		$('zoomimglayer').style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ',finishOpacity=100,style=0)';
		$('zoomimglayer').style.opacity = opacity / 100;
		c++;
		if(c <= 5) {
			setTimeout('zoomST(' + c + ')', 5);
		} else {
			zoomadjust = 1;
			$('zoomimglayer').style.filter = '';
			$('zoomimglayer_bg').style.display = '';
			$('zoomimglayer').innerHTML = '<table cellspacing="0" cellpadding="0" style="background-color:#ffffff;"><tr><td style="text-align: right"> <a href="' + zoomobj['zimg'] + '" target="_blank">新视窗打开</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onclick="zoomimgadjust(event, 1)">实际大小</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#" onclick="zoomclose()">关闭</a>&nbsp;</td></tr><tr><td align="center" id="zoomimgbox" valign=top><img id="zoomimg" style="cursor: move; margin: 5px;" src="' + zoomobj['zimg'] + '" width="' + $('zoomimglayer').style.width + '" height="' + $('zoomimglayer').style.height + '"></td></tr></table>';
			$('zoomimglayer').style.overflow = 'visible';
			$('zoomimglayer').style.width = $('zoomimglayer').style.height = 'auto';
			if(is_ie){
				$('zoomimglayer').onmousewheel = zoomimgadjust;
			} else {
				$('zoomimglayer').addEventListener("DOMMouseScroll", zoomimgadjust, false);
			}
			$('zoomimgbox').onmousedown = function(event) {try{zoomdrag(event, 1);}catch(e){}};
			$('zoomimgbox').onmousemove = function(event) {try{zoomdrag(event, 2);}catch(e){}};
			$('zoomimgbox').onmouseup = function(event) {try{zoomdrag(event, 3);}catch(e){}};
		}
	}
}

   function zoomimgresize(obj) {
        zoomobj['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;
        zoomobj['x'] = (l - zoomobj['srcinfo']['left']) / 5;
        zoomobj['y'] = (t - zoomobj['srcinfo']['top']) / 5;
        zoomobj['w'] = (w - zoomobj['srcobj'].width) / 5;
        zoomobj['h'] = (h - zoomobj['srcobj'].height) / 5;
        $('zoomimglayer').style.filter = '';
        $('zoomimglayer').innerHTML = '';
        setTimeout('zoomST(1)', 5);
}

   function zoomimgadjust(e, a) {
        if(!a) {
                if(!e) e = window.event;
                if(e.altKey || e.shiftKey || e.ctrlKey) return;
                var l = parseInt($('zoomimglayer').style.left);
                var t = parseInt($('zoomimglayer').style.top);
                if(e.wheelDelta <= 0 || e.detail > 0) {
                        if($('zoomimg').width <= 200 || $('zoomimg').height <= 200) {
                                doane(e);return;
                        }
                        $('zoomimg').width -= zoomobj['zimginfo'][0] / 10;
                        $('zoomimg').height -= zoomobj['zimginfo'][1] / 10;
                        l += zoomobj['zimginfo'][0] / 20;
                        t += zoomobj['zimginfo'][1] / 20;
                } else {
                        if($('zoomimg').width >= zoomobj['zimginfo'][0]) {
                                zoomimgadjust(e, 1);return;
                        }
                        $('zoomimg').width += zoomobj['zimginfo'][0] / 10;
                        $('zoomimg').height += zoomobj['zimginfo'][1] / 10;
                        l -= zoomobj['zimginfo'][0] / 20;
                        t -= zoomobj['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;
                $('zoomimg').width = zoomobj['zimginfo'][0];$('zoomimg').height = zoomobj['zimginfo'][1];
                var l = (document.body.clientWidth - $('zoomimg').clientWidth) / 2;l = l > 0 ? l : 0;
                var t = (clientHeight - $('zoomimg').clientHeight) / 2 + scrollTop;t = t > 0 ? t : 0;
        }
        $('zoomimglayer').style.left = l + 'px';
        $('zoomimglayer').style.top = t + 'px';
        $('zoomimglayer_bg').style.height = t + $('zoomimglayer').clientHeight > $('zoomimglayer_bg').clientHeight ? (t + $('zoomimglayer').clientHeight) + 'px' : $('zoomimglayer_bg').style.height;
        doane(e);
}

   function zoomclose() {
        $('zoomimglayer').innerHTML = '';
        $('zoomimglayer').style.display = 'none';
        $('zoomimglayer_bg').style.display = 'none';
}
function doane(event) {
	e = event ? event : window.event;
	if(is_ie) {
		e.returnvalue = false;
		e.cancelBubble = true;
	} else if(e) {
		e.stopPropagation();
		e.preventDefault();
	}
}
