/**
  developed for singlethreaded picture loading.
  see PR 1032 and E:\TrendSW\PropertyMinder\html\templates\realtor\RealtorHome\Client-Listings.wmi
    for the details
  pictures must in such form:
    <img name="picture_url_xxURL" src='http://isvr.net/pict_loading.gif' name="$i.pic_url" .../>
    xxURL - actual picture URL  
                 
*/
var timeoutID;
var p_oldOnLoad=window.onload;
var p_loadPicsArr=new Array();
var p_currImg;
var p_currCnt;
var errorPictureURL = 'http://isvr.net/empty_image.gif';
function onLoadWinLoadPictures(newErrorPictureURL){
  if(p_oldOnLoad)
    p_oldOnLoad();
//Firefox problem
//  if (typeof(newErrorPictureURL) != 'undefined' && newErrorPictureURL != '')
//    errorPictureURL = newErrorPictureURL;
  var allImages=document.getElementsByTagName('img');
  for(var i=0;i<allImages.length;i++){
    if(allImages[i].name){
      if(allImages[i].name.indexOf('picture_url_')==0){
        p_loadPicsArr[p_loadPicsArr.length]=allImages[i];
      }
    }
  }
  p_loadPicture(0);
}

//if want to change, don't forget about safari special case, see below
function setOnerrorHandler(img) {
  img.onerror = function() {
    this.src = errorPictureURL;
  }
}

function p_loadPicture(idx){
  if(p_loadPicsArr.length<=idx)
    return;
  p_currImg=new Image();
  setOnerrorHandler(p_currImg);
  p_currImg.src=p_loadPicsArr[idx].name.substr(12);
  p_currCnt=0;
  p_waitPicture(idx);
}

function p_waitPicture(idx){
  if(p_loadPicsArr.length<=idx)
    return;
  if(p_currImg.complete)
    p_doLoadPicture(idx);
  else{
    p_currCnt++;
    if(p_currCnt<100)
      timeoutID = setTimeout("p_waitPicture("+idx+")",100);
    else {
      setOnerrorHandler(p_loadPicsArr[idx]);
      p_doLoadPicture(idx);
    }
  }
}

function p_doLoadPicture(idx){
  var user_agent = navigator.userAgent.toLowerCase();
  if (user_agent.indexOf("safari") != -1 || user_agent.indexOf("firefox") != -1) {
    //Safari special case
    p_loadPicsArr[idx].addEventListener('error',function () {this.src = errorPictureURL;},false);
  }
  p_loadPicsArr[idx].src=p_currImg.src;
  p_loadPicture(idx+1);
}

function resetPictLoading(){
  clearTimeout(timeoutID);
  p_loadPicsArr=new Array();
}

//window.onload=onLoadWinLoadPictures;
