// 定义常量
var intMaxWidth=100 /*最大宽度*/, intMaxHeight=80 /*最大高度*/, blnForceSize=true /*是否限制大小*/, blnAutoFit=true /*是否自动放大*/;

// 全局变量
var objLoadingMask, objLoadingBar, objLoadingProcess, objLoadingLabel, objLoadingButton, objCID;
var aryImgs=new Array();
var loadedImageCount=0;
var blnHideProcess=false;
var objBigImg;

function loadImg(src,containerID){ //这个函数必须在 container 载入之后使用
  var container, imgDIV;
  var objTemp=new Image();
  
  objTemp.className="albumImage";
  objTemp.style.display="none";
  
  
  container = document.getElementById("marqueedivcontrol1");
  //alert(container);
  objTemp.CID         = containerID;
  objTemp.onload      = img_onload;
  objTemp.index       = aryImgs.length;
  objTemp.containerID = containerID;
  objTemp.src         = src;
  objTemp.height      = 87;
  aryImgs[objTemp.index]=objTemp;
}

html_getRealLeft=function(o){ var l=o.offsetLeft; while(o=o.offsetParent){ l+=o.offsetLeft; } return(l); }

html_getRealTop=function(o){ var t=o.offsetTop; while(o=o.offsetParent){ t+=o.offsetTop; } return(t); }

function img_onerror(){
  aryImgs.splice(this.index,1);
  for(var i=this.index;i<aryImgs.length;i++)aryImgs[i].index--;
  destory(this.parentNode);
  setProcess();
}
/*
  Author: Hutia
*/
function img_onload(){
  var w, h, k1, k2, loadingPercent;
  
  loadedImageCount++;
  this.style.display="";
  w=this.originalWidth=this.width;
  h=this.originalHeight=this.height;
  k1=intMaxWidth/intMaxHeight;
  k2=w/h;
  if((w>intMaxWidth||h>intMaxHeight)&&blnForceSize || (w<intMaxWidth&&h<intMaxHeight&&blnAutoFit)){
    if(k2>k1){w=intMaxWidth;h=w/k2;}else{h=intMaxHeight;w=h*k2;}
    this.style.width=w+"px";
    this.style.height=h+"px";
    this.style.left=parseInt((intMaxWidth-w)/2+1)+"px";
    this.style.top=parseInt((intMaxHeight-h)/2+1)+"px";
  }
  
  setProcess();
}

function img_onmouseout(){
  try{this.filters[0].enabled=true;}catch(e){}
  try{this.style.opacity=0.5;}catch(e){}
}

function img_onmouseover(){
  try{this.filters[0].enabled=false;}catch(e){}
  try{this.style.opacity=1;}catch(e){}
}

function destory(obj){
  obj.parentNode.removeChild(obj);
}

function setProcess(){
  var loadingPercent;
  if(blnHideProcess)return;
  loadingPercent=loadedImageCount/aryImgs.length*100;
  objLoadingLabel.firstChild.nodeValue="Please wait. Images Loading..."+loadingPercent.toFixed(1)+"% ("+loadedImageCount+"\/"+aryImgs.length+")";
  objLoadingProcess.style.width=parseInt(loadingPercent*(objLoadingBar.offsetWidth-4)/100)+"px";
  if(loadingPercent==100)hideLoading();
}

function showLoading(){ //这个函数必须在有 body 之后使用
  objLoadingMask=document.createElement("div");
  objLoadingMask.className="loadingMask";
  document.body.appendChild(objLoadingMask);
  
  objLoadingBar=document.createElement("div");
  objLoadingBar.className="loadingBar";
  objLoadingMask.appendChild(objLoadingBar);
  
  objLoadingProcess=document.createElement("div");
  objLoadingProcess.className="loadingProcess";
  objLoadingBar.appendChild(objLoadingProcess);
  
  objLoadingLabel=document.createElement("div");
  objLoadingLabel.className="loadingLabel";
  objLoadingLabel.innerHTML="Please wait. Images Loading...";
  document.body.appendChild(objLoadingLabel);
  
  objLoadingButton=document.createElement("input");
  objLoadingButton.className="loadingButton";
  objLoadingButton.type="button";
  objLoadingButton.value="Hide Process";
  objLoadingButton.onclick=hideLoading;
  objLoadingLabel.appendChild(objLoadingButton);
  
}
/*
  Author: Hutia
*/
function hideLoading(){
  blnHideProcess=true;
  objLoadingLabel.firstChild.nodeValue="Process Ending...";
  setTimeout(finishLoading,500);
}

function hideLoading_showAllImg(){
  var HTMLContent = "";
  for(var i=0;i<aryImgs.length;i++){
    HTMLContent += "<img src='"+ aryImgs[i].src +"' height='"+ intMaxHeight +"' onclick='ViewPic("+ aryImgs[i].CID +")' style='cursor:pointer;'>&nbsp;";
  }
  document.getElementById("marqueedivcontrol1").innerHTML = HTMLContent;
  //alert(document.getElementById("marqueedivcontrol1").innerHTML);
}

function finishLoading(){
  destory(objLoadingMask);
  destory(objLoadingLabel);
  hideLoading_showAllImg();
}
