﻿//*//////////////////////////////////////////////////////////

//自動調整圖片大小，超過限制則自動按比例縮小。
//例子：
// <IMG onload="imgAutoSize(this,50,50)">  限定顯示 寬度 和 高度。
// <IMG onload="imgAutoSize(this,50,-1)">  限定顯示 寬度，不限 高度。
// <IMG onload="imgAutoSize(this,50,50,1)">  限制 寬度 和 高度，當圖片尺寸大於限定顯示尺寸時，自動添加超鏈結。
function imgAutoSize(ImgObject,MaxWidth,MaxHeight,isBlock)
{
	//if(ImgObject.height>maxSize||ImgObject.width>maxSize)ImgObject.style.zoom=maxSize/(ImgObject.height>ImgObject.width?ImgObject.height:ImgObject.width);
	
	// 獲取第 4 個參數（可選參數），顯示鏈結 0:[默認]不添加鏈結，1:當圖片有縮小時自動添加超鏈結，2:總是添加超鏈結。
	var ShowLink= arguments.length>3 ? arguments[3] : 0;
	// 獲取第 5 個參數（可選參數），鏈結目標 _blank _self _parent _top 或[視窗名]
	var LinkTarget= arguments.length>4 ? arguments[4] : "_blank";

	var obj;
	if(typeof(ImgObject)=="string")
	{
		if(ImgObject.indexOf(".")<0) obj=document.getElementById(ImgObject);
		else obj=eval(ImgObject);	
	}
	else if(typeof(ImgObject)=="object")
	{
		obj=ImgObject;
	}
	else return;
	
	obj.style.display = 'none';
	
	var img=new Image();
	img.src=obj.src;	
	//alert(obj);
	var overSize=false;
	var r,rw=1,rh=1;
    if (img.width>MaxWidth && MaxWidth>=0)
    {
        rw=MaxWidth/img.width;
		overSize|=true;
    }
    if (img.height>MaxHeight && MaxHeight>=0)
    {
        rh=MaxHeight/img.height;
		overSize|=true;
    }
    if(rw<rh) r=rw;
    else r=rh;
    obj.height = img.height*r;
    obj.width = img.width*r;
	obj.style.display = isBlock?'block':'inline';

        
	if(ShowLink==2 || (ShowLink==1 && overSize))
	{
		var oNewNode = document.createElement("a");
		oNewNode.href = obj.src;
		oNewNode.target = LinkTarget;
		oNewNode.title = "圖片已縮小，點擊查看原圖";
		obj.applyElement(oNewNode);
	}
}

//////////////////////////////////////////////////////////*/



//在指定ImgObject顯示圖片，並且自動調整圖片大小
// ImgObject： 顯示物件 或者 物件ID
//例子：
//  <a id="lnk01" href="#"><IMG id="img01" alt="" src="" align=right></a>
//  <INPUT type="file" id="UploadFile1" runat="server"
//         onpropertychange="if(event.propertyName=='value'){imgShow(img01,100,100,this.value);}">
//  <INPUT type="file" id="UploadFile2" runat="server"
//         onpropertychange="if(event.propertyName=='value'){imgShow('img01',100,100,this.value);}">
//  <INPUT type="file" id="UploadFile3" runat="server"
//         onpropertychange="if(event.propertyName=='value'){imgShow('lnk01.childNodes[0]',100,100,this.value);}">
function imgShow(ImgObject,MaxWidth,MaxHeight,ImgSrc)
{
	//alert(ImgObject);
	//alert(ImgSrc);
	var o;
	if(typeof(ImgObject)=="string")
	{
		//alert("string "+ImgObject.indexOf("."));
		if(ImgObject.indexOf(".")<0) o=document.getElementById(ImgObject);
		else o=eval(ImgObject); //alert(eval(ImgObject)); //
	}
	else if(typeof(ImgObject)=="object")
	{
		//alert("object");
		o=ImgObject;
	}
	else return;
	//var o=document.getElementById(ImgObject);
	o.src=ImgSrc;

	var img=new Image();
	img.src=ImgSrc;
	var rate;
    if (img.width>MaxWidth)
    {
        rate=MaxWidth/img.width;
        o.height=img.height*rate;
        o.width=MaxWidth;
    }
    if (img.height>MaxHeight)
    {
        rate=MaxHeight/img.height;
        o.width=img.width*rate;
        o.height=MaxHeight;
    }
	
	//setTimeout("imgAutoSize('"+ImgObject+"',"+MaxWidth+","+MaxHeight+");alert('[string] "+ImgObject+","+MaxWidth+","+MaxHeight+"');",500);
}
