// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var MixMobi = {

  graph_colors:['#EC3E14', '#ECAF14', '#136E95', '#9A2307', '#9A7007', '#064561', '#F6927A', '#F6D37A', '#69ADCA'],
  
  init_tooltips:function(){
    $("div.help_tip img.trigger").tooltip({ effect: 'fade', position: 'center left', predelay: 100, delay: 750, offset: [0, -20]});
  },
  
  draw_page_chart:function(data, el, display_opts, chart_type){
    layout = display_opts || {width: 150, height: 100, axisFontSize:8, legend:'none', pointSize:0}
    var formatter = new google.visualization.DateFormat({pattern: "MMM d"});
    formatter.format(data, 0);
    if(chart_type == "ColumnChart"){
      var chart = new google.visualization.ColumnChart(el);
    } else {
      var chart = new google.visualization.LineChart(el);
    }
    google.visualization.events.addListener(chart, 'ready', function(e){MixMobi.remove_loading_banner(el);});
    chart.draw(data, layout);   
  },
  
  remove_loading_banner:function(el){
    $(el).children('.loading').remove();
  },
  
  show_video:function(button, production){
    $('#videos li').removeClass('active');
		button.parent().addClass('active');
		$('#video_player').html('');
		$f("video_player", {
			src:"http://www.mixmobi.com/flash/flowplayer/flowplayer.commercial-3.1.5.swf",
			'version': [9, 115],
			'onFail':function(){$('#video_player').addClass('cannot_play').append('<p>You can also view or download a <a href="http://d5filqjk9mzxp.cloudfront.net/MixMobi_fullvideo.mov.mp4" target="_blank"> Quicktime Version</a></p>');}}, { 
			key: '#$86794081ec8c6459dc7',
			'playlist': [{'url':button.attr('alt'), 'scaling':'orig'},{'url':button.attr('href'),'scaling':'fit',autoPlay: false}]
		});
  },
  
  include_color_picker:function(){
    $('.color_picker').ColorPicker({
    	onSubmit: function(hsb, hex, rgb, el) {
    		$(el).val(hex);
    		$(el).ColorPickerHide();
    		$(el).attr('style', 'background-color:#'+hex);
    	},
    	onBeforeShow: function () {
    		$(this).ColorPickerSetColor(this.value);
    	}
    });
  
    $('a.reset_field').click(function(){
      el = $(this).parent().siblings('input.color_picker');
      el.val('');
      el.attr('style', 'background-color:none;');
      return false;
    });
  },
  
  include_editor:function(){
    $('a.reset_field').live('click', function(){
       el = $(this).parent().siblings('input.color_picker');
       el.val('');
       el.attr('style', 'background-color:none;');
       return false;
     });

     $(function() {
   		$("#sortable").sortable({
   		  handle: 'a.reorder',
   		  start: function(event, ui) {ui.item.addClass('drag_active');},
   		  stop: function(event, ui) {ui.item.removeClass('drag_active');},
   		  update: function(event, ui) {
   		    $('input.page_part_order').each(function(index,item){$(this).val(index+1);});
         }
   		});
   	});

   	$('a.toggle').live('click', function(){
   	  if($($(this).attr('rel')).length > 0){
   	    $($(this).attr('rel')).slideToggle(500);
   	  } else {
   	    $(this).closest('.edit_page_part').children('div.toggled').slideToggle(500);
       }
   	  var image = $(this).contents('img');
   	  if(image.attr('src').match(/stop/)){
   	    image.attr('src', '/images/icons/edit.png');
   	  }else {
   	    image.attr('src', '/images/icons/stop.png');
   	  }
   	  return false;
   	});

   	$('a.remove_element').live('click', function(){
   	  if(confirm('Are you sure you want to remove this element?')){
   	    $(this).closest(".edit_page_part").find("input[type=hidden].destroy_nested").val("1");  
     	  $(this).closest(".edit_page_part").slideUp();
   	  }
     	return false;
   	});

   	$('a#add_element').click(function(){
   	  var page_part_type = $(this).prev().val();
   	  if (page_part_type.length < 1) {
   	    alert("Please select an element to add from the selection list before clicking the add (plus) button.");
   	    return false;
   	  }
   	  var new_id = new Date().getTime();  
     	var regexp = new RegExp("new_page_part", "g");
     	var new_element = $(page_parts[page_part_type].replace(regexp, new_id)).css('display', 'none');
   	  $('#sortable').prepend(new_element);
   	  new_element.slideDown();
   	  $('input.page_part_order').each(function(index,item){$(this).val(index+1);});
   	  /*Live event not supported. Re-enable color picker for new elements*/
   	  MixMobi.include_color_picker();
   	  MixMobi.init_tooltips();
   	  var image = new_element.find('a.toggle img');
   	  image.attr('src', '/images/icons/stop.png');
      return false;
   	});

   	$('#save_refresh').click(function(){
   	  $('input#return_to').val('edit');
   	});

   	$('div.element_name input').live('blur', function(){
   	  $(this).closest('div.edit_page_part').find('h3 span.element_name').html($(this).val());
   	});
   	
   	$('.image_type_radio').live('click', function(){
      var parent = $(this).closest('.image_fields');
      var file_layer = parent.children('.image_type_file');
      var url_layer = parent.children('.image_type_url');
      if ($(this).val() == "file"){    
        file_layer.show();  
        url_layer.hide();
        url_layer.find("input").val("");
      }
      if ($(this).val() == "url"){
        url_layer.show();
        file_layer.hide();   
        file_layer.find("input").val(""); 
      }
    });
  }
}
