jQuery(document).ready(function () {
  (function ($) {
    var title_msg = "Include some descriptive keywords in the title, this helps people in finding your content";
    var tag_val = "separate tags by comma";
    var tag_msg = "tag your slideshow with keywords, use as many tags as possible";

    // title behaviour
    $("#slideshow_title_field").live( "click", function () {
      $(this).parents("table").find("#suggestionAlert")
        .html(title_msg).show();
    }).live("mouseover", function () {
      $(this).parents("table").find("#suggestionAlert")
        .html(title_msg).show();
    }).live("mouseout", function() {
      $(this).parents("table").find("#suggestionAlert")
        .hide();
    });
    
    // tag behavour
    $("#slideshow_tag_text_field").live( "click", function () {
      $(this).parents("table").find("#suggestionAlertTag")
        .html(tag_msg).show();
      if ($(this).val() == tag_val) {
        $(this).val("");
      }
    }).live("blur", function () {
      if ($(this).val() == "") {
        $(this).val(tag_val);
      }
    }).live("mouseover", function () {
      $(this).parents("table").find("#suggestionAlertTag")
        .html(tag_msg).show();
    }).live("mouseout", function () {
      $(this).parents("table").find("#suggestionAlertTag")
        .hide();
    });

  })(jQuery);
});


function toggle_checkbox(index){
 $('contest_list'+index).disabled=!$('contest_list'+index).disabled;
}

CallBacks.upload_file_start = function(file, position, queuelength) {
  
  var li = $(file.id);
  li.addClassName("uploadStarted");


  var post_params = swfu.settings.post_params;

  var s3_key = "" + generate_s3_key(file.name, "b");
  file_keys[file.id] = s3_key; // actual key
  post_params.key = s3_key;   // the key value passed to s3
  swfu.setPostParams(post_params);           // try using setFileParams !

  // VIDEO start
  if ( video_check_extension( file.name ) ) {
    if ( slideshare_object.video ) {
      if ( slideshare_object.dev ) { log( 'DEBUG: s3_key: ', s3_key ); }
      swfu.setUploadURL( upload_target );
      return true;
    } else {
      return false;
    }
  // VIDEO end
  } else {
    if ( slideshare_object.dev ) { log( 'DEBUG: s3_key: ', s3_key ); }
    swfu.setUploadURL( upload_target );
  }    

  return true;
};

CallBacks.upload_file_complete = function(file) {
  pageTracker._trackEvent('upload','bulk','completed');
  //Logging 2 lines
  file._endTime = new Date().getTime();	// set the end time of upload
  Folder.add(file);	// add the file to the folder
  var params = {
    file_id      : file.id,
    filename     : file.name,
    ppt_location : upload_target + '/' + file_keys[file.id]
  };

  new Ajax.Request(
    upload_complete_request,
    {
      method    : 'post',
      parameters: params
    } 
  );

  li = $(file.id);
  li.removeClassName("uploadStarted");
//  li.addClassName("uploadCompleted");

  count++;

  //add the Form to the list.
  CallBacks.formList.push('form_' + file.id);

  var u_effect = function() {
    var h = get_post_upload_form_html(file);
    var lii = li;

    var pri_opt_str = "'"+$F('ss_private_type')+"'";
    h = h.replace(new RegExp(pri_opt_str, ""), pri_opt_str + " selected");

    return  {
      run: function() {
	new Effect.Opacity(lii, {
	  duration:0.7, 
	  from:1.0, 
	  to:0.0, 
          afterFinish: function() {lii.update(h);new Effect.Opacity(lii, {duration:1.4, from:0.0, to:1.0, afterFinish: function() {lii.setStyle({opacity:1});setFields();}});}
	});
      }
    }
  }();
  u_effect.run();
  $('settingsBox').show();
  if (!slideshare_object.dev) {
    ss_event_log("bulkupload_swfu_event_upload_success", 0 , 1, [file_keys[file.id], file.name, file.id].join("|"));
  }
}


CallBacks.cancel_publish = function(file_id, file_name) {
  new Ajax.Request('/uploads/deleteupload?update_here=' + file_id + '&filename=' + escape(file_name) + '&deletepss='+ file_id , {asynchronous:true, evalScripts:true});
  CallBacks.formList = CallBacks.formList.without('form_' + file_id);
  lit = $(file_id);
  lit.update('<div class="head">Deleting...</div>');
  lit.removeClassName('uploadCompleted'); 
  lit.addClassName('uploadProgress');
  //Logging (1 line)
  Folder.remove(file_id);	
  if (CallBacks.formList.length == 0) {
    $(swfu.movieName + 'PublishBtn').hide();
  }
  lit.innerHTML='';
  if (!slideshare_object.dev) {
    ss_event_log("bulkupload_swfu_event_upload_cancel", 0 , 1, "na");
  }
};

swfu = null;
Event.observe(window, 'load', function() {

  swfu_settings = {
    // Backend Settings
    upload_url: upload_target, // Relative to the SWF file
    flash_url : "/javascripts/swfu6/swfupload.swf",	// Relative to this file

    // Flash Settings
    swfupload_loaded_handler: CallBacks.flash_loaded,

    post_params: {  // needed for upload to s3
      key : "${filename}",
      success_action_status : 201,
      AWSAccessKeyId : aws_access_id,
      acl : "public-read",
      policy : upload_policy,
      signature : upload_signature
    },
    
    http_success : [201], // needed for upload to s3

    // File Upload Settings
    file_post_name : 'file',  // needed for upload to s3
    file_size_limit : "100 MB",
    file_types : upload_extensions,
    file_types_description : "PowerPoint (PPT / PPS / POT), PDF, OpenOffice ODP",
    file_queue_limit : "0",
    file_upload_limit : "0",
    begin_upload_on_queue : true,
    
    // Event Handler Settings
    file_queued_handler : CallBacks.upload_file_queued,
    file_cancelled_handler : CallBacks.upload_file_cancel,
    upload_start_handler : CallBacks.upload_file_start,
    upload_progress_handler : CallBacks.upload_progress,
    upload_error_handler : CallBacks.upload_error,
    upload_success_handler : CallBacks.upload_file_complete,
    upload_complete_handler : CallBacks.upload_queue_complete, 
    dialog_cancelled_handler: CallBacks.upload_cancel,
    //file_complete_handler : CallBacks.upload_file_complete,
    //file_progress_handler : CallBacks.upload_progress,
    //queue_complete_handler : CallBacks.upload_queue_complete,
    //error_handler : CallBacks.upload_error,
    
    //button settings, added for swfupload 2.2 compatible with flash 10
    button_placeholder_id : "element_id", 
    button_image_url : "/images/bulkUpload.png",
    button_width: 193,
    button_height: 43,
    button_text : "",
    button_text_left_padding :10,
    button_text_top_padding :3, 
    button_action : SWFUpload.BUTTON_ACTION.SELECT_FILES,
    button_disable : false, 
    //button_cursor : SWFUpload.CURSOR.HAND, 
    //button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT, 

    // UI Settings
    ui_container_id : "UploadFileList",
    degraded_container_id : "divDegraded",

    // Debug Settings
    debug: false
  };

  // VIDEO start
  if ( slideshare_object.video ) {
    swfu_settings.file_types += slideshare_object.video_flash_extensions;
  }
  // VIDEO end

  if ( slideshare_object.dev ) {
    swfu_settings.debug = true;
  }

  swfu = new SWFUpload( swfu_settings );
  
  //Logging (4 lines)
  Folder.swfu.session = session_id;
  Folder.swfu.userAgent = navigator.userAgent;
  Folder.swfu.pageLoadTime = new Date().getTime();
  Folder.regenOldUploads();	// regenearte previously pending uploads.

});