var timeoutID;
var timeoutID2;
var p_oldOnLoad=window.onload;
var p_loadPicsFinalArr=new Array();
var p_currImg;
var p_currCnt;
var errorPictureURL = 'http://isvr.net/empty_image.gif';
var result_str = "";
var list_size = 10;

function onLoadWinLoadPictures(newErrorPictureURL){
  if(p_oldOnLoad){
    p_oldOnLoad();
  }
//Firefox problem
//  if (typeof(newErrorPictureURL) != 'undefined' && newErrorPictureURL != '')
//    errorPictureURL = newErrorPictureURL;
  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 || idx >= list_size){
    if(p_loadPicsFinalArr.length==0){
//  question to Andrew - what's meaning of 2 following lines? I commented them to make it work        
//      p_loadPicsArr = p_loadPicsArrDefault;
//      p_loadPicture(0);
      return;
    }
    var pre_slides = "&surls=";
//    result_str = "&slides_count="+p_loadPicsFinalArr.length;
    var scounter = 0;
    for(var i=0;i<p_loadPicsFinalArr.length;i++){
      pre_slides += p_loadPicsFinalArr[i].order;
      if(i<p_loadPicsFinalArr.length-1){
        pre_slides += ",";
      }
      scounter++;
      /*
      var add_slide = "&surl_"+(i+1)+"="+p_loadPicsFinalArr[i].url+"&sdes_"+(i+1)+"="+escape(p_loadPicsFinalArr[i].description);
      var sumslide = pre_slides+add_slide
      if(sumslide.length<1800){
        pre_slides += "&surl_"+(i+1)+"="+p_loadPicsFinalArr[i].url+"&sdes_"+(i+1)+"="+escape(p_loadPicsFinalArr[i].description);
        scounter++;
      }
      */
    }
    result_str = "&slides_count=" + scounter;
    result_str += pre_slides;
    //prompt("bbb",result_str);
    clearTimeout(timeoutID);
    start_sending_result();
    return;
  }
  p_currImg=new Image();
  setOnerrorHandler(p_currImg);
//  prompt("aa",unescape(p_loadPicsArr[idx].url));
  p_currImg.src=unescape(p_loadPicsArr[idx].url);
  p_currCnt=0;
  p_waitPicture(idx);
}

function start_sending_result(){
  timeoutID = setInterval("sendingResult()",10);
}

function sendingResult(){
  if(init_fld_div==true){
    clearInterval(timeoutID);
  }
  init_fld(result_str);
}

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_loadPics);
      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_loadPics.addEventListener('error',function () {this.src = errorPictureURL;},false);
  }
  if(p_currImg.src!=errorPictureURL){
    p_loadPics.src=p_currImg.src;
    p_loadPicsFinalArr.push(p_loadPicsArr[idx]);
  }
  p_loadPicture(idx + 1);
}

function setFL(url,order){
  this.url = url;
  this.order = order;
}
