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

var product_design_initialized=false;

function uploading_bandpage_photo(){
  $('div.photo').prepend('<div class="tip"><p class="load_msg">La imagen se está cargando en tu Fanpage</p></div>');
  $('#upload_image').hide();
  $('.upload').hide();
}

function loading_bandpage_photo_move(){
    
  $("div.photo").prepend('<span class="loading"> </span>');
  $('input[type="submit"]').attr('disabled', 'true').val('Guardando ...').css('cursor', 'default');
  $('div.tip').remove();  
  $('#draggable').draggable('destroy').css('cursor', 'default');
  
}

function show_album_info(){
  $('div.info_album').show();
  if (!$("#upload_cover").parent().hasClass('pf_wrap_class')){
    $("#upload_cover").prettyfile({
       html: '<div class="fake_input">Seleccionar archivos</div>',
        phcontclass: "cont_upload_cover"
     });
  }
}


function show_loading_bandpage_album() {
  $("div.info_album").before("<div class='loading'>Cargando canciones ... </div>");
  $(".music_collection div.info").remove();
  $("ul.songs").remove();  
}

function show_loading_bandpage_new_album(){
    $("div.info_album").before("<div class='loading'>Cargando... </div>");
    $(".music_collection div.info").remove();
    $("ul.songs").remove();  
}

function uploading_merchan_product_design(){
  $('div.preview').html('<div class="tip"><p class="load_msg">Tu diseño se está subiendo a nuestro sistema. Puede tardar 1 o 2 minutos pero.. ¡valdrá la pena la espera!</p></div>');
}

function validate_and_submit_product_form_step_1(){ 
  if ($('#product_design_id').val() != '0'){
      $('div.wizzard').before('<div class="big_tip"><p class="load_msg"><strong>Tu diseño</strong> se está integrando en el producto, en pocos minutos verás el resultado final. Fácil ¿no?</p></div>');
      $('#product_form').submit(); //this alone does not execute onsubmit form event
  }
}

function validate_and_submit_product_form_step_2(){       
  color_list = $.map( $('ul.colors > li.active'), function(e){ return $(e).attr('rel'); });  
  $('#selected_colors').val(color_list);
  $('div.wizzard').before('<div class="big_tip"><p class="load_msg">Guardando...</p></div>');
  $('#product_form').submit(); //this alone does not execute onsubmit form event
}

function set_total_product_price(cost_price){ 
  band_profit = formatCurrency($('#band_profit_field').val());
  $('#band_profit_field').val(band_profit);
  base_imponible = parseFloat(cost_price) + parseFloat(band_profit);
  iva = base_imponible * 0.18;
  iva_price = formatCurrency(iva);
  retail_price = formatCurrency(base_imponible + iva);
  $('#iva_field').html( iva_price + " €");
  $('#pvp_field').html( retail_price + " €");
}

function load_product_design_dimensions(){
  $('#design_image').attr('width', $('#product_design_width').val());
  $('#design_image').attr('height', $('#product_design_height').val());
}

function load_product_design_position(){
  $('#design_image').parent('.ui-wrapper').css('top', $('#product_design_top').val() + 'px');
  $('#design_image').parent('.ui-wrapper').css('left', $('#product_design_left').val() + 'px');
}

function save_product_design_dimensions(){
  $('#product_design_width').val($('#design_image').width());
  $('#product_design_height').val($('#design_image').height());
}

function save_product_design_position(){
  $('#product_design_top').val($('#design_image').parent('.ui-wrapper').position().top);
  $('#product_design_left').val($('#design_image').parent('.ui-wrapper').position().left);
}

function reset_product_design_attributes(){
  $('#product_design_id').val("0");
  $('#product_design_width').val("0");
  $('#product_design_height').val("0");
  $('#product_design_top').val("0");
  $('#product_design_left').val("0");
}


function show_color_on_design(id){
  $('li.color').removeClass('visible').addClass('hidden');
  $('#' + id).removeClass('hidden').addClass('visible');
}

function loading_product_design_on_colors(){
  $('div.preview').html('<div class="tip"><p class="load_msg2">Cargando camisetas...</p></div>');
}


function switch_preview(value){
  src = $("#design_image").attr('src');
  
  $("#design_image").attr('src', $("#design_image").attr('rel'));
  $("#design_image").attr('rel', src);
   
  $("#product_design_skip_multiply").val(value ? "1" : "0");
}

function initialize_product_design(force){
  
   if (product_design_initialized || !force)
    return;
     
  if ($('#product_design_width').val()!= 0)
    load_product_design_dimensions();
  
  $('#design_image').resizable({ 
    aspectRatio: true, 
    containment: 'parent',
    stop: function(event, ui) {
      save_product_design_dimensions();
    }
  });
  if ($('#product_design_width').val()!= 0)
    load_product_design_position();
  
   $('#design_image').parent('.ui-wrapper').draggable({ 
      containment: 'parent',
      stop: function(event, ui) {
          save_product_design_position();
      }
   });
   
   product_design_initialized = true;
   
}


function initialize_page(){
  
  $(".clear_input").focus(function() {
  	if( this.value == this.defaultValue ) {
  		this.value = "";
  	}
  }).blur(function() {
  	if( !this.value.length ) {
  		this.value = this.defaultValue;
  	}
  });
  
  // btn pre home herzio.fm
  // set opacity 
  $(".bg_over").css("opacity","0");
  // on mouse over
  $("a.herzio_fm").hover(function () {
    // animate opacity to full
    $(".bg_over").stop().animate({
      opacity: 1
    }, "normal");
  },
  // on mouse out
  function () {
    // animate opacity to nill
    $(".bg_over").stop().animate({
      opacity: 0
    }, "normal");
  });
  
  // rollover fanpage and fanstore

  // on mouse over
  $("#fanpage").hover(function () {
    // animate opacity to full
    $(".example .fanstore_bg").stop().animate({opacity: 0}, "normal");
    $(".example .fanpage_bg").stop().animate({opacity: 1}, "normal");
    $("#fanstore").stop().animate({opacity: 0.5}, "normal");
    $("#fanpage").stop().animate({opacity: 1}, "normal");
    
  });
  
  $("#fanstore").hover(function () {
    // animate opacity to full
    $(".example .fanpage_bg").stop().animate({opacity: 0}, "normal");
    $(".example .fanstore_bg").stop().animate({opacity: 1}, "normal");
    $("#fanpage").stop().animate({opacity: 0.5}, "normal");
    $("#fanstore").stop().animate({opacity: 1}, "normal");
  });
  
  
    // select file pluggin 
  if (!$("#upload_image").parent().hasClass('pf_wrap_class')){
    $("#upload_image").prettyfile({
      html: '<div class="fake_input">Seleccionar archivos</div>',
      phcontclass: "cont_upload_image"
    });
  }
  
  if (!$("#upload_songs").parent().hasClass('wrap_upload_songs')){
    $("#upload_songs").prettyfile({
      html: '<div class="fake_input add_songs">Seleccionar archivos</div>',
      phcontclass: "cont_upload_songs",
      wrapclass: "wrap_upload_songs"
    });
  }
  
  if (!$("#upload_more_songs").parent().hasClass('pf_wrap_class')){
    $("#upload_more_songs").prettyfile({
       html: '<div class="fake_input">Seleccionar archivos</div>',
       phcontclass: "cont_upload_cover"
    });
  }
  
  if (!$("#upload_design").parent().hasClass('pf_wrap_class')){
  $("#upload_design").prettyfile({
        html: '<div class="fake_input">tu_diseño_para_la_cami.jpg</div>',
        phcontclass: "cont_upload_image"
      }); 
  }
  
  if ($('#design_image')[0]){
    src = $('#design_image').attr('src'); //force reload event again
    $('#design_image').attr('src',src);
  
    $('#design_image').load(function(){
      initialize_product_design(true);
    });
  }
  
  $('#help_color').tipsy({
    offset: 10,
    gravity: 'ne', 
    html: true, 
    fade: true, 
    opacity: 1,
    title:function(){
      return help_color(this.getAttribute('original-title'));
    }
    
   });

  help_color = function(title){
    title = '<div class="help_tip"><img src="/images/color_help.png" alt=""></div>';
    return title;
  }
  
}

$(document).ready(function(){
  
  initialize_page();
  
  // Bandpage photo upload move view (edit)
  if ($('#photo_crop_offset')[0]){
   // Make the main photo draggable
    $("#draggable").draggable({ 
      axis: 'y', 
      scroll: true,
      snap: '#wrapper_drag',
      stop: function() {
          $('#photo_crop_offset').val($(this).position().top * -1);
      }
     });
     
     // Fade tip on click
     $("#draggable").mouseup(function(){
       $(".tip").fadeTo("normal", 0.8);
       $(".save_photo").fadeTo("normal", 1);
     }).mousedown(function(){
       $(".tip").fadeTo("normal", 0.2);
       $(".save_photo").fadeTo("normal", 0);
     });
  }
  
});


function formatCurrency(num) {
  num = num.toString().replace(/\$|\,/g,'');
  if(isNaN(num))
  num = "0";
  sign = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  cents = num%100;
  num = Math.floor(num/100).toString();
  if(cents<10)
    cents = "0" + cents;
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+'.'+
    num.substring(num.length-(4*i+3));

   return (((sign)?'':'-') + num + '.' + cents );
}

// helper function for preloading images
$.fn.preload = function() {
    this.each(function(){
        $('<img/>')[0].src = this;
    });
}
