cghub.executeMethods.resizeEnd = function(model, field, id, data, params) {
//	console.log('cghub.executeMethods.resizeEnd called!');

  setTimeout(function(){
//		console.log(model, field, id, data, params);

    cghub.executeMethods.resizeEndSpecified[model][field](id, data, params);

  }, 1000);
};

cghub.executeMethods.resizeEndSpecified = {};

cghub.executeMethods.resizeEndSpecified.CurrentChallenge = {
  'image': function(id, data, params) {
    $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));

    $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));

    if (typeof data.thumbnail != 'undefined' && data.thumbnail != null) {
      $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail).show();
    }

    self.parent.tb_remove();
  }
};

cghub.executeMethods.resizeEndSpecified.BlogPost = {
  'image': function(id, data, params) {

    //self.parent.console.info(id, data, params);

    $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));
    $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));

    if (typeof data.thumbnail != 'undefined' && data.thumbnail != null) {
      $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail).show();
    }

    self.parent.tb_remove();
  }
};


cghub.executeMethods.resizeEndSpecified.ChallengesUser = {
  'last_image': function(id, data, params) {

    //self.parent.console.info(id, data, params);

    $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));
    $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));

    if (typeof data.thumbnail != 'undefined' && data.thumbnail != null) {
      $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail).show();
    }

    self.parent.tb_remove();
  }
};

cghub.executeMethods.resizeEndSpecified.Editorpick = {
  'image': function(id, data, params) {
    if (typeof params.additionalInfo != 'undefined' && params.additionalInfo != null && params.additionalInfo != 'additionalInfo') { //@see EditorpicksController::replace

      var additionalInfo = JSON.parse(unescape(params.additionalInfo));

      $.ajax({
        'url':'/editorpicks/replaceStep3/'+additionalInfo.editorpickId+'/',
        'type':'POST',
        'cache':false,
        'data':{
          'thumb':data.versionsHidden.thumb,
          'large':data.versionsHidden.large,
          'crop_x':data.outDimensions.thumb.crop.x,
          'crop_y':data.outDimensions.thumb.crop.y,
          'crop_width':data.outDimensions.thumb.crop.width,
          'crop_height':data.outDimensions.thumb.crop.height,
          'additionalInfo':params.additionalInfo
        },
        'success':function(response) {

          //self.parent.tb_remove();
          self.parent.cghub.redirect('/editorpicks/');
        }
      });

    } else { //@see EditorpicksController::index
      $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));
      $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));
      if (typeof data.thumbnail != 'undefined' && data.thumbnail != null) {
        $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail).show();
      }
      self.parent.tb_remove();
    }
  }
};


cghub.executeMethods.resizeEndSpecified.EditorpickArchive = {
  'image': function(id, data, params) {
    $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));

    $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));

    if (typeof data.thumbnail != 'undefined' && data.thumbnail != null) {
      $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail).show();
    }

    self.parent.tb_remove();
  }
};

cghub.executeMethods.resizeEndSpecified.Group = {
  'avatar': function(id, data, params) {
    var responseFunction = function(response){
      response = JSON.parse(response);

      $(self.parent.document).find('img[longdesc="group_avatar_large"]').attr('src', response.group.avatar.large).show();
      $(self.parent.document).find('img[longdesc="group_avatar_thumb"]').attr('src', response.group.avatar.thumb).show();

      cghub.ajaxResponse(response);

      cghub.executeMethods.tb_remove(false);
    };

    $.ajax({
      'url':'/groups/uploadImageOrAvatar/avatar/'+id+'/large:'+data.large+'/thumb:'+data.thumb+'/',
      'type':'GET',
      'cache':false,
      'success':responseFunction
    });
  },

  'image': function(id, data, params) {
    var responseFunction = function(response){
      response = JSON.parse(response);

      $(self.parent.document).find('img[longdesc="group_image"]').attr('src', response.group.image.large).show();

      cghub.ajaxResponse(response);

      cghub.executeMethods.tb_remove(false);
    };

    $.ajax({
      'url':'/groups/uploadImageOrAvatar/image/'+id+'/large:'+data.large+'/',
      'type':'GET',
      'cache':false,
      'success':responseFunction
    });
  }
};

cghub.executeMethods.resizeEndSpecified.GroupImage = {
  'image': function(id, data, params) {
//		console.info(id, data, params);

    var versionsHiddenId = params.versionsHiddenId;
    var versionsHidden = data.versionsHidden;
    versionsHidden = escape(JSON.stringify(versionsHidden));

    $(self.parent.document).find('#'+versionsHiddenId).val(versionsHidden);

    $(self.parent.document).find('#thumbnailImage').attr('src', data.thumbnail);

    cghub.executeMethods.tb_remove(false);
  }
};

cghub.executeMethods.resizeEndSpecified.Image = {
  'image': function(id, data, params) {
    //console.info(id, data, params);

    $(self.parent.document).find('#'+params.versionsHiddenId).val(escape(JSON.stringify(data.versionsHidden)));
    $(self.parent.document).find('#'+params.outDimensionsId).val(escape(JSON.stringify(data.outDimensions)));
    $(self.parent.document).find('#'+params.linkedToVersionInfo).val(escape(JSON.stringify(data.linkedToVersionInfo)));

    if (typeof params.thumbImageId != 'undefined') {
      $(self.parent.document).find('#'+params.thumbImageId).attr('src', data.thumbnail);
    } else {
      $(self.parent.document).find('#thumbnailImage').attr('src', data.thumbnail);
    }

    cghub.executeMethods.tb_remove(false);
  }
};

cghub.executeMethods.resizeEndSpecified.Script = {
  'image': function(id, data, params) {
//		console.info(id, data, params);

    var versionsHiddenId = params.versionsHiddenId;
    var versionsHidden = data.versionsHidden;
    versionsHidden = escape(JSON.stringify(versionsHidden));

    $(self.parent.document).find('#'+versionsHiddenId).val(versionsHidden);

    $(self.parent.document).find('#thumbnailImage').attr('src', data.thumbnail);

    cghub.executeMethods.tb_remove(false);
  }
};

cghub.executeMethods.resizeEndSpecified.SplashImage = {
  'image': function(id, data, params) {

//		console.info(id, data, params);
//		alert(JSON.stringify(data));

    $.ajax({
      'type': 'POST',
      'url': '/splash_images/versionsEnd/'+id+'/',
      'data': {
        'data[SplashImage][outDimensions]': JSON.stringify(data.outDimensions),
        'data[SplashImage][largeVersionFile]': data.versionsHidden.large
      },
//			'dataType': 'json',
      'cache': false,
      'success': function(response) {
        cghub.executeMethods.tb_remove(false);
      }
    });
  }
}

cghub.executeMethods.resizeEndSpecified.Profile = {
	'avatar': function(id, data, params) {
		//		self.parent.console.info(id, data, params);
		var responseFunction = function(response){
			//			self.parent.console.warn(response);
			var host = document.location.protocol+'//'+document.location.host;

			var cookie = {
				'id':id,
				'avatarUrl':{
					'thumb':response.profile.avatar.thumb,  //'/profiles/avatar/'+response.id+'/thumb/',
					'large':response.profile.avatar.large //'/profiles/avatar/'+response.id+'/large/'
				}
			};
			cookie = escape(JSON.stringify(cookie));
			createCookie('liveAvatarUrl', cookie, 7);

			$(self.parent.document).find('#avatar_for_change,#avatarImg').attr('src', response.profile.avatar.large);

			self.parent.cghub.user.id = response.id;
			self.parent.cghub.user.avatarUrl = {
				'thumb':'/profiles/avatar/'+response.id+'/thumb/?call=ajax',
				'large':'/profiles/avatar/'+response.id+'/large/?call=ajax'
			};

			cghub.user.liveAvatarUrl();

			cghub.ajaxResponse(response);


//			$(self.parent.document).find('#avatarImg').attr('src', '/img/no_avatar100.gif');
//			self.parent.cghub.user.id = id;
//			self.parent.cghub.user.avatarUrl = {'thumb':'/img/no_avatar.gif','large':'/img/no_avatar100.gif'};



			cghub.executeMethods.tb_remove(false);
		};

		$.ajax({
			'url':'/profiles/upload/avatar/'+id+'/large:'+data.large+'/thumb:'+data.thumb+'/?call=ajax',
			'type':'GET',
			'cache':false,
			'dataType': "json",
			'success':function(response){
				responseFunction(response);
			}
		});
	},
	'photo': function(id, data, params) {
	    var responseFunction = function(response) {
			$(self.parent.document).find('#photo_for_change,#photoImg').attr('src', response.profile.photo.large);

			cghub.ajaxResponse(response);

			$(self.parent.document).find('#AvatarPhotoSelector').show().children(':first').removeClass('on').next().addClass('on');
	        $(self.parent.document).find('#photoImg').show().addClass('on');
	        $(self.parent.document).find('#avatarImg').hide().removeClass('on');

			cghub.executeMethods.tb_remove(false);
		};

		$.ajax({
			'url':'/profiles/upload/photo/'+id+'/large:'+data.large+'/?call=ajax',
			'type':'GET',
			'cache':false,
			'dataType': "json",
			'success':responseFunction
		});
	},
	'company_image_big': function(id, data, params) {
		var responseFunction = function(response){
			cghub.ajaxResponse(response);

			$(self.parent.document).find('#company_image_big_for_change').attr('src', response.profile.company_image_big.large).show();

			cghub.executeMethods.tb_remove(false);
		};

		$.ajax({
			'url':'/profiles/upload/company_image_big/'+id+'/large:'+data.large+'/?call=ajax',
			'type':'GET',
			'cache':false,
			'dataType': "json",
			'success':responseFunction
		});
	},
	'profile_image': function(id, data, params) {
		var responseFunction = function(response){
			cghub.ajaxResponse(response);

			$(self.parent.document).find('#profile_image_for_change').attr('src', response.profile.profile_image.large).show();

			cghub.executeMethods.tb_remove(false);
		};

		$.ajax({
			'url':'/profiles/upload/profile_image/'+id+'/large:'+data.large+'/?call=ajax',
			'type':'GET',
			'cache':false,
			'dataType': "json",
			'success':responseFunction
		});
	}
};

