/**
 * @projectDescription 查找对象中的所有img并按照一定比例缩放.
 * @author ice deng
 */

var ZoomImg=Class.create();
ZoomImg.prototype={
	initialize:function(){
		this.maxWidth=0;//图片的最大宽度.
		if(isNumber(arguments[0]))
			this.maxWidth=arguments[0];

		this.maxHeight=0;//图片的最大高度.
		if(isNumber(arguments[1]))
			this.maxHeight= arguments[1];

		this.zoomMethod=0;//图片的缩放方式：0:按照规定的高宽缩放;1"只按照图片的宽缩放.
		if(isNumber(arguments[2]))
			this.zoomMethod= arguments[2];

		this.parents="body";//需要处理的对象,默认为body.
		if(!isNull(arguments[3]))
			this.parents=arguments[3];

		this.type=0;//处理的对象的类型,0:为ID或对象,1:为className就是使用此class的所有对象.
		if(isNumber(arguments[4]))
			this.type= arguments[4];

		this.errorImgUrl="/images/err_photo.gif";
		if(!isNull(arguments[5]))
			this.errorImgUrl=arguments[5];
	},
	findObj:function(){
		var imgs = new Array();
		try{
			if(this.parents.toLowerCase() == "body"){
				imgs = document.getElementsByTagName("img");		
			}else{
				if(this.type == 0){
					imgs = $(this.parents).getElementsByTagName("img");
				}else{
					var par = document.getElementsByClassName(this.parents);
					for(var j = 0;j < par.length;j++){
						var tmpimgs = $(par[j]).getElementsByTagName("img");
						for(var k = 0;k<tmpimgs.length;k++){
							imgs.push(tmpimgs[k]);
						}
					}
				}
			}
		}catch(e){alerts(e);}
		return imgs;
	},
	run:function(){
		try{
			var imgs= new Array(); 
			imgs=this.findObj();
			var len=imgs.length;
			for(var i=0;i<len;i++){
				if(this.zoomMethod == 0){
					var mW=this.maxWidth;
					var mH=this.maxHeight;
					imgs[i].onload=function(){
						imgload(this,mW,mH);
					}
				}else{
					var mW=this.maxWidth;
					imgs[i].onload=function(){
						imgload_w(this,mW);
					}
				}
				var errorUrl=this.errorImgUrl;
				imgs[i].onerror=function(){
					this.src= errorUrl;
				}
			}
		}catch(e){alerts(e)}
	},
	runCheckError:function(){
		try{
			var imgs= new Array(); 
			imgs=this.findObj();
			var len=imgs.length;
			for(var i=0;i<len;i++){
				var errorUrl=this.errorImgUrl;
				imgs[i].onerror=function(){
					this.src= errorUrl;
				}
			}
		}catch(e){alerts(e);}
	}	
}
