/*
 * Image gallery handler object 
 */
 
ImageGalleryHandler = function (imageObjId, imageTitleId, loadImageURL, viewId)
{
  this._imageObjId = imageObjId;
  this._imageTitleId = imageTitleId;
  this._loadImageURL = loadImageURL;
  this._viewId = viewId;
  
  this._loadedImage = null;
  this._waiting = false;
  this._currentTitle = '';
}

ImageGalleryHandler.prototype = {

    LoadImage : function(imageId) {
      if (!this._waiting)
      {
        this._waiting = true;
        this._loadedImage = new Image();
        $addHandler(this._loadedImage, 'load', Function.createDelegate(this, this.ImageLoaded));
        this._loadedImage.src = this._loadImageURL + '?ImageId=' + imageId + '&ViewId=' + this._viewId;      
      }
    },
    
    LoadImage : function(imageId, imageTitle) {
      if (!this._waiting)
      {
        this._waiting = true;
        this._currentTitle = imageTitle;
        this._loadedImage = new Image();
        $addHandler(this._loadedImage, 'load', Function.createDelegate(this, this.ImageLoaded));
        this._loadedImage.src = this._loadImageURL + '?ImageId=' + imageId + '&ViewId=' + this._viewId;      
      }
    },    
    
    ImageLoaded : function() {
      var imageObj = $get(this._imageObjId);
      imageObj.src = this._loadedImage.src;
      if ((this._imageTitleId != null) && (this._imageTitleId.length > 0))
      {
        var imageTitleObj = $get(this._imageTitleId);   
        imageTitleObj.innerHTML = this._currentTitle;
      }
      this._waiting = false;    
    }
}

/*
 * Image gallery loader object (for member_vehicle images)
 */

VehicleImageGalleryLoader = function (resultId, modalExtId)
{
  this._resultId = resultId;
  this._modalExtId = modalExtId;
  this._vehicleId = 0;
}

VehicleImageGalleryLoader.prototype = {
    LoadVehicleImages : function(vehicleId) {
      resultElement = $get(this._resultId);
	    eval("var ext = Sys.Application._components." + this._modalExtId);
	    ext.hide();
      
      this._vehicleId = vehicleId;
      var wRequest = new Sys.Net.WebRequest();
      wRequest.set_url("Garage.VehicleImages.aspx?MemberVehicleId=" + vehicleId);
      wRequest.set_httpVerb("GET");
      wRequest.add_completed(Function.createDelegate(this, this.OnWebRequestCompleted));
      resultElement.innerHTML = "";
      wRequest.invoke(); 
    },  
    
    OnWebRequestCompleted : function(executor, eventArgs) {
      if(executor.get_responseAvailable()) 
      {
        resultElement = $get(this._resultId);
        resultElement.innerHTML = "";
        if(document.all)
          {
          resultElement.innerHTML+= 
             executor.get_responseData();
             }
        else
          resultElement.innerHTML += 
             executor.get_responseData();
             
	      eval("var ext = Sys.Application._components." + this._modalExtId);
	      ext.show();            
      }
    },
    
    Show : function()
    {
      eval("var ext = Sys.Application._components." + this._modalExtId);
      ext.show();     
    },
    
    Hide : function()
    {
      eval("var ext = Sys.Application._components." + this._modalExtId);
      ext.hide();     
    }    
}