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

var ukNodeCost=new Array();
ukNodeCost[0]=0;
ukNodeCost[1]=15;ukNodeCost[2]=28;ukNodeCost[3]=39;ukNodeCost[4]=50;ukNodeCost[5]=60;ukNodeCost[6]=66;
for (i=7;i<=13;i++)
{
  ukNodeCost[i]=i*10;
}
ukNodeCost[14]=133;
for (i=15;i<=99;i++)
{
  ukNodeCost[i]=i*9;
}
for (i=100;i<=999;i++)
{
  ukNodeCost[i]=i*8.5;
}

var usNodeCost=new Array();
usNodeCost[0]=0;
usNodeCost[1]=20;usNodeCost[2]=38;usNodeCost[3]=54;usNodeCost[4]=68;usNodeCost[5]=80;usNodeCost[6]=90;
for (i=7;i<=13;i++)
{
  usNodeCost[i]=i*14;
}
usNodeCost[14]=189;
for (i=15;i<=99;i++)
{
  usNodeCost[i]=i*13;
}
for (i=100;i<=999;i++)
{
  usNodeCost[i]=i*12;
}

var ukStorageCost=new Array();
ukStorageCost[0]=0;
for (i=1;i<=999;i++)
{
  ukStorageCost[i]=i*7.5;
}

var usStorageCost=new Array();
usStorageCost[0]=0;
for (i=1;i<=999;i++)
{
  usStorageCost[i]=i*10;
}

var ukFusionCost=new Array();
ukFusionCost[0]=0;
for (i=1;i<=999;i++)
{
  ukFusionCost[i]=i*30;
}

var usFusionCost=new Array();
usFusionCost[0]=0;
for (i=1;i<=999;i++)
{
  usFusionCost[i]=i*50;
}

$(document).ready(function(){

  if(betaUser > 0) {
    for (i=0;i<=999;i++)
    {
      ukNodeCost[i]=i*10;
      usNodeCost[i]=i*10;
    }
  }

  $("#noscript").hide();

  $('#user_coupon_code').change(function () {
    if ($('#user_coupon_code').val() == "") {
      $('#coupon-result').html('');
    } else {
      $('#coupon-result').html('<img src="/images/blue_bar.gif" />');
      $('#coupon-result').load('/coupons/' + $('#user_coupon_code').val());
    }
  });


  if ($('.page-content .left .virtual-machine-details #upgrade_schedule_temporary_true').is(":checked")){
    $('.page-content .left .virtual-machine-details #period-field').show();
    $('.page-content .left .virtual-machine-details #period-title').show();
  };

  $('.page-content .left .virtual-machine-details #upgrade_schedule_temporary_true').click(function (){
    $('.page-content .left .virtual-machine-details #period-field').slideDown("slow");
    $('.page-content .left .virtual-machine-details #period-title').slideDown("slow");
  });
	
  $('.page-content .left .virtual-machine-details #upgrade_schedule_temporary_false').click(function (){
    $('.page-content .left .virtual-machine-details #period-field').slideUp("slow");
    $('.page-content .left .virtual-machine-details #period-title').slideUp("slow");
  });
	

  $('#header .login-link a.login').click(function () {
    if ($("div#login-wrap").is(":hidden")) {
      $("div#login-wrap").slideDown("slow");
    } else {
      $("div#login-wrap").slideUp("slow");
    }
    return false;
  });


    $('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_type_external').click(function() {
        cost = parseInt($('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_quantity').val());
        if(isNaN(cost) || cost == "" || $('.page-content .left .upgrade-item-details .vps-form input:radio:checked').val() == 'internal' )
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(0);
        else
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(cost);
    });
	
    $('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_type_internal').click(function() {
        cost = parseInt($('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_quantity').val());
        if(isNaN(cost) || cost == "" || $('.page-content .left .upgrade-item-details .vps-form input:radio:checked').val() == 'internal' )
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(0);
        else
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(cost);
    });

    $('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_quantity').blur(function(){
        cost =parseInt( $('.page-content .left .upgrade-item-details .vps-form #ip_address_assignment_quantity').val());
        if(isNaN(cost) || cost == "" || $('.page-content .left .upgrade-item-details .vps-form input:radio:checked').val() != 'external' )
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(0);
        else
            $('.page-content .left .upgrade-item-details .vps-form #cost').text(cost);
    });

  $('a[rel=fade_display_info]').click(function() {
    return(false);
  });

	$('a.grey-robot').click(function() {
    return(false);
  });
	
  $('a[rel=fade_display_info]').mouseover(function() {
    var id = $(this).attr('href');
    $(id).fadeIn("100");
  });
  $('a[rel=fade_display_info]').mouseout(function() {
    var id = $(this).attr('href');
    $(id).fadeOut("100");
  });

  $('A[rel="external"]').click( function() {
    window.open( $(this).attr('href') );
    return false;
  });
  $('.login-form a[rel=reqpassword]').click(function(){
    if ($("div#login-wrap .reqpass").is(":hidden")) {
      $("div#login-wrap .reqpass").fadeIn();
    } else {
      $("div#login-wrap .reqpass").fadeOut();
    }  
    return false;
  });
  
  
  $("#flasher").animate({"top": "+=50px"},"slow");
  $("#flasher").animate({opacity: 1.0}, 3000).animate({"top": "-=50px"},"slow");
  
  /* Slider on the signup and upgrade page */
  	
  function fadeInHandleText() {
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').fadeIn(10)
  };
  function removeClasses(){
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-1")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-4")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-6")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-10")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-14")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("nodes-18")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("right-arrow")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').removeClass("centre-arrow")
  };

  selected_signup_slices = parseInt($('#content .page-content .upgrade-signup .slider-wrap #slider input').val());
  if (selected_signup_slices > 0)
  {
    assigned_signup_slices = selected_signup_slices
  }
  else
  {
    assigned_signup_slices = 6
  };
  $('#content .page-content .upgrade-signup .slider-wrap #slider').addClass( "active");
  $('#content .page-content .upgrade-signup .slider-wrap #slider input').css("display","none");
  $('#content .page-content .upgrade-signup .slider-wrap #slider input').val(assigned_signup_slices);
  $('#content .page-content .upgrade-signup .cpu p').text(Math.round(assigned_signup_slices*6)/10+"GHz");
  $('#content .page-content .upgrade-signup .ram p').text((assigned_signup_slices*376)+"MB");
  $('#content .page-content .upgrade-signup .storage p').text((assigned_signup_slices*10)+"GB");
  $('#content .page-content .upgrade-signup .bandwidth p').text((assigned_signup_slices*250)+"GB");
  $('#content .page-content .upgrade-signup #daily-nodes .bandwidth p').text((assigned_signup_slices*10)+"GB");
  $('#content .page-content .upgrade-signup #storage-nodes .storage p').text((assigned_signup_slices*25)+"GB");
  $('#content .page-content .upgrade-signup #fusion-nodes .storage p').text((assigned_signup_slices*2)+"GB");
	
  $('#content .page-content .upgrade-signup .price p.cost').text("$"+(usNodeCost[assigned_signup_slices+existingSlices] - usNodeCost[existingSlices]));
  $('#content .page-content .upgrade-signup .price p.saving').text("$"+(usNodeCost[assigned_signup_slices]/assigned_signup_slices)+" per node");
  $('.GBR #content .page-content .upgrade-signup .price p.cost').text("£"+(ukNodeCost[assigned_signup_slices+existingSlices] - ukNodeCost[existingSlices]));
  $('.GBR #content .page-content .upgrade-signup .price p.saving').text("£"+(ukNodeCost[assigned_signup_slices]/assigned_signup_slices)+" per node");

  $('#content .page-content .upgrade-signup #storage-nodes .price p.cost').text("$"+(usStorageCost[assigned_signup_slices]));
  $('.GBR #content .page-content .upgrade-signup #storage-nodes .price p.cost').text("£"+(ukStorageCost[assigned_signup_slices]));
	
  $('#content .page-content .upgrade-signup #fusion-nodes .price p.cost').text("$"+(usFusionCost[assigned_signup_slices]));
  $('.GBR #content .page-content .upgrade-signup #storage-nodes .price p.cost').text("£"+(ukFusionCost[assigned_signup_slices]));
	
  $('#content .page-content .upgrade-signup #daily-nodes .price p.cost').text("$"+assigned_signup_slices);
  $('.GBR #content .page-content .upgrade-signup #daily-nodes .price p.cost').text("£"+assigned_signup_slices);
	
  for (var y = 0; y <= assigned_signup_slices; y++)
  {
    $("#content .page-content .upgrade-signup .slider-wrap #node-"+y).addClass("active");
  }
  if (assigned_signup_slices == 6){
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').text("Most Popular")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("centre-arrow")
    $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("nodes-6")
    fadeInHandleText()
  };
  $('#content .page-content .upgrade-signup .slider-wrap #slider .ui-slider-handle').mousedown(function () {$(this).addClass("active");});
  $('#content .page-content .upgrade-signup .slider-wrap #slider .ui-slider-handle').mouseup(function () {$(this).removeClass("active");});
  $('#content .page-content .upgrade-signup .slider-wrap #slider.ui-slider-signup').slider({
    min: 1,
    max: 18,
    startValue: assigned_signup_slices,
    animate: true,
    slide:function(e,ui){
      var t = jQuery(this);
      var x = jQuery(t).slider( "value" );
      var xx = x + existingSlices;
      jQuery(t).find('input').val(x);
      for (var y = 0; y <= x; y++)
      {
        $("#content .page-content .upgrade-signup .slider-wrap #node-"+y).addClass("active");
      }
      for (var y = x+1; y <= 18; y++)
      {
        $("#content .page-content .upgrade-signup .slider-wrap #node-"+y).removeClass("active");
      }
      $('#content .page-content .upgrade-signup .cpu p').text(Math.round(x*6)/10+"GHz");
      $('#content .page-content .upgrade-signup .ram p').text((x*376)+"MB");
      $('#content .page-content .upgrade-signup .storage p').text((x*10)+"GB");
      $('#content .page-content .upgrade-signup .bandwidth p').text((x*250)+"GB");
      $('#content .page-content .upgrade-signup #daily-nodes .bandwidth p').text((x*10)+"GB");
			
      $('#content .page-content .upgrade-signup #storage-nodes .storage p').text((x*25)+"GB");
			
      $('#content .page-content .upgrade-signup #fusion-nodes .storage p').text((x*2)+"GB");
			
      if (x == 1){
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').text("Small Stuff")
        removeClasses()
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("nodes-1")
        fadeInHandleText()
      } else if (x == 6){
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').text("Most Popular")
        removeClasses()
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("centre-arrow")
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("nodes-6")
        fadeInHandleText()
      } else if(x == 18){
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').text("Extreme stuff")
        removeClasses()
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("right-arrow")
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').addClass("nodes-18")
        fadeInHandleText()
      } else {
        $('#content .page-content .upgrade-signup .slider-wrap #slider .handle-text').fadeOut(10,function(){
          removeClasses()
        });
      };
      $('#content .page-content .upgrade-signup .price p.cost').text("$"+(usNodeCost[xx] - usNodeCost[existingSlices]));
      $('#content .page-content .upgrade-signup .price p.saving').text("$"+(usNodeCost[x]/x)+" per node");
      $('.GBR #content .page-content .upgrade-signup .price p.cost').text("£"+(ukNodeCost[xx] - ukNodeCost[existingSlices]));
      $('.GBR #content .page-content .upgrade-signup .price p.saving').text("£"+(ukNodeCost[x]/x)+" per node");
		
      $('#content .page-content .upgrade-signup #storage-nodes .price p.cost').text("$"+(usStorageCost[x]));
      $('.GBR #content .page-content .upgrade-signup #storage-nodes .price p.cost').text("£"+(ukStorageCost[x]));
		
      $('#content .page-content .upgrade-signup #fusion-nodes .price p.cost').text("$"+(usFusionCost[x]));
      $('.GBR #content .page-content .upgrade-signup #fusion-nodes .price p.cost').text("£"+(ukFusionCost[x]));
		
      $('#content .page-content .upgrade-signup #daily-nodes .price p.cost').text("$"+(x));
      $('.GBR #content .page-content .upgrade-signup #daily-nodes .price p.cost').text("£"+(x));
    }
  } );

/* VPS create or edit slider */  
  
  existing_vm_slices = parseInt($('#content .page-content .vps-form .form .assigned-slices').text());
  new_vm_slices = parseInt($('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').val());
  assignable_slices = parseInt($('#content .page-content .vps-form .form .assignable-slices').text());

  existing_vm_storage_nodes = parseInt($('#content .page-content .vps-form .form .assigned-storage-nodes').text());
  new_vm_storage_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val());
  assignable_storage_nodes = parseInt($('#content .page-content .vps-form .form .assignable-storage-nodes').text());

  existing_vm_fusion_nodes = parseInt($('#content .page-content .vps-form .form .assigned-fusion-nodes').text());
  new_vm_fusion_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val());
  assignable_fusion_nodes = parseInt($('#content .page-content .vps-form .form .assignable-fusion-nodes').text());

  existing_vm_daily_nodes = parseInt($('#content .page-content .vps-form .form .assigned-daily-nodes').text());
  new_vm_daily_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').val());
  assignable_daily_nodes = parseInt($('#content .page-content .vps-form .form .assignable-daily-nodes').text());

  cloud_id = parseInt($('#content .page-content .vps-form .form .cloud-id').text());

  if ( (new_vm_slices || existing_vm_slices) == 0)
  {
    assigned_slices = 0
  }
  else {
    if (new_vm_slices != existing_vm_slices)
    {
      assigned_slices = new_vm_slices;
    }
    else
    {
      if (existing_vm_slices == 0)
      {
        assigned_slices = 0;
      }
      else
      {
        assigned_slices = existing_vm_slices;
      };
    };
  };

  if ( (new_vm_storage_nodes || existing_vm_storage_nodes) == 0)
  {
    assigned_storage_nodes = 0
  }
  else {
    if (new_vm_storage_nodes != existing_vm_storage_nodes)
    {
      assigned_storage_nodes = new_vm_storage_nodes;
    }
    else
    {
      if (existing_vm_storage_nodes == 0)
      {
        assigned_storage_nodes = 0;
      }
      else
      {
        assigned_storage_nodes = existing_vm_storage_nodes;
      };
    };
  };

  if ( (new_vm_fusion_nodes || existing_vm_fusion_nodes) == 0)
  {
    assigned_fusion_nodes = 0
  }
  else {
    if (new_vm_fusion_nodes != existing_vm_fusion_nodes)
    {
      assigned_fusion_nodes = new_vm_fusion_nodes;
    }
    else
    {
      if (existing_vm_fusion_nodes == 0)
      {
        assigned_fusion_nodes = 0;
      }
      else
      {
        assigned_fusion_nodes = existing_vm_fusion_nodes;
      };
    };
  };

  if ( (new_vm_daily_nodes || existing_vm_daily_nodes) == 0)
  {
    assigned_daily_nodes = 0
  }
  else {
    if (new_vm_daily_nodes != existing_vm_daily_nodes)
    {
      assigned_daily_nodes = new_vm_daily_nodes;
    }
    else
    {
      if (existing_vm_daily_nodes == 0)
      {
        assigned_daily_nodes = 0;
      }
      else
      {
        assigned_daily_nodes = existing_vm_daily_nodes;
      };
    };
  };

  ram_size = 376;
  cpu_speed = 6;

  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider').addClass( "active");
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider').addClass( "active");
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider').addClass( "active");
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider').addClass( "active");

  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider').css("width", ((667/18)*18)+"px");
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider').css("width", ((667/18)*18)+"px");
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider.ui-slider-signup.new-vps').css("width", ((667/18)*(assignable_fusion_nodes + 1))+"px");
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider.ui-slider-signup.edit-vps').css("width", ((667/18)*(assignable_fusion_nodes))+"px");
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider').css("width", ((667/18)*18)+"px");

  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').css("display","none");
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').css("display","none");
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').css("display","none");
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').css("display","none");
	
  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').val(assigned_slices);
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val(assigned_storage_nodes);
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val(assigned_fusion_nodes);
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').val(assigned_daily_nodes);
	
  $('#content .page-content .vps-form .cpu p').text(Math.round((assigned_slices+assigned_daily_nodes)*cpu_speed)/10+"GHz");
  $('#content .page-content .vps-form .ram p').text(((assigned_slices+assigned_daily_nodes)*ram_size)+"MB");
  if (assigned_fusion_nodes > 0) {
    total_storage = (assigned_fusion_nodes * 2)
  } else {
    total_storage = ((assigned_slices+assigned_daily_nodes)*10)+(assigned_storage_nodes * 25)
  }
  
  $('#content .page-content .vps-form .storage p').text(total_storage+"GB");
  $('#content .page-content .vps-form .bandwidth p').text(((assigned_slices*250)+(assigned_daily_nodes*10))+"GB");
  $('#content .page-content .vps-form .price p').text(assigned_slices+assigned_daily_nodes);
  $('.GBR #content .page-content .vps-form .price p').text(assigned_slices+assigned_daily_nodes);
  $('#content .page-content .vps-form .nodes-available span.info').text(assignable_slices-1);
	
  for (var y = 0; y <= assigned_slices; y++)
  {
    $("#content .page-content .vps-form .slider-wrap #vps-nodes #node-"+(y+1)).addClass("active");
  }

  for (var y = 0; y <= assigned_storage_nodes; y++)
  {
    $("#content .page-content .vps-form .slider-wrap #storage-nodes #node-"+(y+1)).addClass("active");
  }

  for (var y = 0; y <= assigned_fusion_nodes; y++)
  {
    $("#content .page-content .vps-form .slider-wrap #fusion-nodes .edit-fusion-vps #node-"+(y)).addClass("active");
    $("#content .page-content .vps-form .slider-wrap #fusion-nodes .new-fusion-vps #node-"+(y+1)).addClass("active");
  }

  for (var y = 0; y <= assigned_daily_nodes; y++)
  {
    $("#content .page-content .vps-form .slider-wrap #daily-nodes #node-"+(y+1)).addClass("active");
  }
	
  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider .ui-slider-handle').mousedown(function () {$(this).addClass("active");});
  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider .ui-slider-handle').mouseup(function () {$(this).removeClass("active");});
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider .ui-slider-handle').mousedown(function () {$(this).addClass("active");});
  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider .ui-slider-handle').mouseup(function () {$(this).removeClass("active");});
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider .ui-slider-handle').mousedown(function () {$(this).addClass("active");});
  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider .ui-slider-handle').mouseup(function () {$(this).removeClass("active");});
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider .ui-slider-handle').mousedown(function () {$(this).addClass("active");});
  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider .ui-slider-handle').mouseup(function () {$(this).removeClass("active");});

  var assigned_slices_start = 0;

  $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider.ui-slider-signup').slider({
    min: 0,
    max: 17,
    startValue: assigned_slices,
    animate: true,
    slide:function(e,ui){
      var t = jQuery(this);
      var curr_daily_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').val());
      var x = jQuery(t).slider( "value" );
      var curr_storage_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val());
      var curr_fusion_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val());
      jQuery(t).find('input').val(x);
      for (var y = 0; y <= x; y++)
      {
        $("#content .page-content .vps-form .slider-wrap #vps-nodes #node-"+(y+1)).addClass("active");
      }
      for (var y = x+1; y <= 18; y++)
      {
        $("#content .page-content .slider-wrap #vps-nodes #node-"+(y+1)).removeClass("active");
      }
      $('#content .page-content .vps-form .cpu p').text(Math.round((x+curr_daily_nodes)*cpu_speed)/10+"GHz");
      $('#content .page-content .vps-form .ram p').text(((x+curr_daily_nodes)*ram_size)+"MB");

      if (curr_fusion_nodes > 0) {
        curr_total_storage_x = curr_fusion_nodes * 2
      } else {
        curr_total_storage_x = ((x+curr_daily_nodes)*10)+(curr_storage_nodes*25)
      }

      $('#content .page-content .vps-form .storage p').text(curr_total_storage_x+"GB");
      $('#content .page-content .vps-form .bandwidth p').text(((x*250)+(curr_daily_nodes*10))+"GB");
      $('#content .page-content .vps-form .price p').text(x+curr_daily_nodes);
      $('.GBR #content .page-content .vps-form .price p').text(x+curr_daily_nodes);
      $('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').val(x);
      $('#content .page-content .vps-form .nodes-available span.info').text(assignable_slices < x ? 0 : (assignable_slices-x));
    },
    stop: function(event, ui) {
      var t = jQuery(this);
      var x = jQuery(t).slider( "value" );
      var xx = x - assignable_slices + existingSlices;

      if(assignable_slices < x) {
        cost =  $('body.GBR').size() == 1 ? "£"+(ukNodeCost[xx] - ukNodeCost[existingSlices]) : "$"+(usNodeCost[xx] - usNodeCost[existingSlices])
        nodes_requested_window(assignable_slices, x-assignable_slices, cost+"/month", "monthly");
      }
    }
  } );

  $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider.ui-slider-signup').slider({
    min: 0,
    max: 17,
    startValue: assigned_daily_nodes,
    animate: true,
    slide:function(ed,uid){
      var td = jQuery(this);
      var curr_slices = parseInt($('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').val());
      var xd = jQuery(td).slider( "value" );
      var curr_storage_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val());
      var curr_fusion_nodes = parseInt($('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val());
      jQuery(td).find('input').val(xd);
      for (var yd = 0; yd <= xd; yd++)
      {
        $("#content .page-content .vps-form .slider-wrap #daily-nodes #node-"+(yd+1)).addClass("active");
      }
      for (var yd = xd+1; yd <= 18; yd++)
      {
        $("#content .page-content .slider-wrap #daily-nodes #node-"+(yd+1)).removeClass("active");
      }

      if (curr_fusion_nodes > 0) {
        curr_total_storage_xd = curr_fusion_nodes * 2
      } else {
        curr_total_storage_xd = ((xd+curr_slices)*10)+(curr_storage_nodes*25)
      }
	
      $('#content .page-content .vps-form .cpu p').text(Math.round((xd+curr_slices)*cpu_speed)/10+"GHz");
      $('#content .page-content .vps-form .ram p').text(((xd+curr_slices)*ram_size)+"MB");
      $('#content .page-content .vps-form .storage p').text(curr_total_storage_xd+"GB");
      $('#content .page-content .vps-form .bandwidth p').text(((xd*10)+(curr_slices*250))+"GB");
      $('#content .page-content .vps-form .price p').text(xd+curr_slices);
      $('.GBR #content .page-content .vps-form .price p').text(xd+curr_slices);
      $('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').val(xd);
      $('#content .page-content .vps-form .nodes-available span.info').text(assignable_daily_nodes < xd ? 0 : (assignable_daily_nodes-xd));
    },
    stop: function(event, ui) {
      var t = jQuery(this);
      var x = jQuery(t).slider( "value" );
      var xx = x-assignable_daily_nodes;

      if(assignable_daily_nodes < x) {
        cost =  $('body.GBR').size() == 1 ? "£"+xx : "$"+xx
        nodes_requested_window(assignable_daily_nodes, x-assignable_daily_nodes, cost+"/day", "daily");
      }
    }
  } );

  $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider.ui-slider-signup').slider({
    min: 0,
    max: 17,
    startValue: assigned_storage_nodes,
    animate: true,
    slide:function(es,uis){
      $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val(0);
      $('#content .page-content .vps-form .storage h4').removeClass('purple');
      $('#content .page-content .vps-form .storage h4').text('Storage');

      reset_template_selector();

      for (var yfs = 1; yfs <= 18; yfs++)
      {
        $("#content .page-content .slider-wrap #fusion-nodes #node-"+(yfs)).removeClass("active");
      }
      $('#content .page-content .slider-wrap #fusion-nodes li.grey-node').addClass("active");
      $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider .ui-slider-handle').css('left','0pt');

      var ts = jQuery(this);
      var xs = jQuery(ts).slider( "value" );
      var curr_slices = parseInt($('#content .page-content .vps-form .slider-wrap #vps-nodes #slider input').val()) + parseInt($('#content .page-content .vps-form .slider-wrap #daily-nodes #slider input').val());
      jQuery(ts).find('input').val(xs);

      for (var ys = 0; ys <= xs; ys++)
      {
        $("#content .page-content .vps-form .slider-wrap #storage-nodes #node-"+(ys+1)).addClass("active");
      }
      for (var ys = xs+1; ys <= 18; ys++)
      {
        $("#content .page-content .slider-wrap #storage-nodes #node-"+(ys+1)).removeClass("active");
      }

      $('#content .page-content .vps-form .template-selector #javascript_cloud_id .fusion').attr("disabled","disabled");
      curr_total_storage_xs = (curr_slices*10)+(xs*25);

      $('#content .page-content .vps-form .storage p').text(curr_total_storage_xs+"GB");
      $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val(xs);
      $('#content .page-content .vps-form .nodes-available span.info').text(assignable_storage_nodes < xs ? 0 : (assignable_storage_nodes-xs));
    },
    stop: function(event, ui) {
      var t = jQuery(this);
      var x = jQuery(t).slider( "value" );
      var xx = x - assignable_storage_nodes + existingSlices;

      if(assignable_storage_nodes < x) {
        cost =  $('body.GBR').size() == 1 ? "£"+(ukStorageCost[xx] - ukStorageCost[existingSlices]) : "$"+(usStorageCost[xx] - usStorageCost[existingSlices])
        nodes_requested_window(assignable_storage_nodes, x-assignable_storage_nodes, cost+"/month", "monthly");
      }
    }
  } );

  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider.ui-slider-signup.new-vps').slider({
    min: 0,
    max: assignable_fusion_nodes,
    startValue: assigned_fusion_nodes,
    animate: true,
    slide:function(ef,uif){
      $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider input').val(0);
      $("select.templateSelectorSource option").attr('selected', '');
      for (var ysf = 1; ysf <= 18; ysf++)
      {
        $("#content .page-content .slider-wrap #storage-nodes #node-"+(ysf)).removeClass("active");
      }
      $('#content .page-content .slider-wrap #storage-nodes li.grey-node').addClass("active");
      $('#content .page-content .vps-form .slider-wrap #storage-nodes #slider .ui-slider-handle').css('left','0pt');

      reset_template_selector();

      var tf = jQuery(this);
      var xf = jQuery(tf).slider( "value" );
      jQuery(tf).find('input').val(xf);

      for (var yf = 0; yf <= xf; yf++)
      {
        $("#content .page-content .vps-form .slider-wrap #fusion-nodes #node-"+(yf+1)).addClass("active");
      }
      for (var yf = xf+1; yf <= 18; yf++)
      {
        $("#content .page-content .slider-wrap #fusion-nodes #node-"+(yf+1)).removeClass("active");
      }

      if (xf > 0) {
        $('#content .page-content .vps-form .storage h4').addClass('purple');
        $('#content .page-content .vps-form .storage h4').text('Fusion IO');
        $('#content .page-content .vps-form .template-selector option.regular').attr("disabled","disabled");
        $('#content .page-content .vps-form .template-selector option.fusion').removeAttr("disabled");
      } else {
        $('#content .page-content .vps-form .storage h4').removeClass('purple');
        $('#content .page-content .vps-form .storage h4').text('Storage');
        $('#content .page-content .vps-form .template-selector option.fusion').attr("disabled","disabled");
        $('#content .page-content .vps-form .template-selector option.regular').removeAttr("disabled");
      }

      $('#content .page-content .vps-form .storage p').text((xf * 2)+"GB");
      $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val(xf);
    }
  } );

  $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider.ui-slider-signup.edit-vps').slider({
    min: 1,
    max: assignable_fusion_nodes,
    startValue: assigned_fusion_nodes,
    animate: true,
    slide:function(ef,uif){
      var tf = jQuery(this);
      var xf = jQuery(tf).slider( "value" );
      jQuery(tf).find('input').val(xf);

      for (var yf = 1; yf <= xf; yf++)
      {
        $("#content .page-content .vps-form .slider-wrap #fusion-nodes #node-"+(yf)).addClass("active");
      }
      for (var yf = xf+1; yf <= assignable_fusion_nodes; yf++)
      {
        $("#content .page-content .slider-wrap #fusion-nodes #node-"+(yf)).removeClass("active");
      }

      $('#content .page-content .vps-form .storage p').text((xf * 2)+"GB");
      $('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val(xf);
    }
  } );

  $(document).ready(function() {
    if(parseInt($('#content .page-content .vps-form .slider-wrap #fusion-nodes #slider input').val()) > 0) {
      $('#content .page-content .vps-form .storage h4').addClass('purple');
      $('#content .page-content .vps-form .storage h4').text('Fusion IO');
    }
  });

  $('#content .page-content .vps-form input#virtual_machine_storage_nodes_required').change(function() {
    $('#content .page-content .vps-form input#virtual_machine_fusion_nodes_required').val(0);
    reset_template_selector();
  });

  $('#content .page-content .vps-form input#virtual_machine_fusion_nodes_required').change(function() {
    $('#content .page-content .vps-form input#virtual_machine_storage_nodes_required').val(0);
    reset_template_selector();
  });

  function nodes_requested_window(nodes_available, nodes_requested, cost, type) {
    jQuery.facebox("<div class=\"facebox-image\"><img src=\"/images/icons/robot-white.jpg\" alt=\"Confirmation\"></div><p class=\"facebox-text\">You've requested "+(nodes_available+nodes_requested)+" nodes, and currently have "+nodes_available+" nodes pre-purchased - if you click \"save\" we will add "+nodes_requested+" "+type+" nodes at "+cost+" to accomodate this upgrade.</p>");
  }

  function reset_template_selector() {
    $("select.templateSelectorSource.cluster_group option").attr('selected', '');
    // $("select.templateSelectorSource.cluster option").attr('selected', '');
    $("select.templateSelectorSource.os option").attr('selected', '');
    // $("select#templateSelectorLive option").attr('selected', '');

    $("option.least-used-cloud").remove();
    var selected_clouds = $("select.templateSelectorSource.cluster option");
    selected_clouds.each(function() {
      $("select#cloudSelectorHolding").append(this);
    });

    // clear current selection
    var selected_templates = $("select#templateSelectorLive option");
    selected_templates.each(function() {
      $("select#templateSelectorHolding").append(this);
      $("div#template-info").html('<p><i>Individual template info will appear here when the template is selected</i></p>');
    });
  }

  $('.domain-notes').editable('/domains/update_notes_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain[notes]',
    id : 'domain[id]',
    width : 214
  });

  function domain_error(error) {
    $("#flash-error p").text(error);
    $("#domain-flasher").animate({"top": "+=50px"},"slow");
    $("#domain-flasher").animate({opacity: 1.0}, 6000).animate({"top": "-=50px"},"slow");
  }

  $('.domain-record-ttl').editable('/domain_records/update_ttl_by_id',{
    indicator : 'Saving...',
    data   : " {'900':'15 Minutes','3600':'1 Hour','86400':'1 Day','604800':'1 Week'}",
    type   : 'select',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[ttl]',
    id : 'domain_record[id]',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });

  $('.domain-record-host').editable('/domain_records/update_host_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[host]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });

  $('.domain-record-data').editable('/domain_records/update_data_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[data]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.domain-record-service').editable('/domain_records/update_service_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[service]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.domain-record-protocol').editable('/domain_records/update_protocol_by_id',{
    indicator : 'Saving...',
    data   : " {'_tcp':'TCP','_udp':'UDP','_tls':'TLS'}",
    type   : 'select',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[protocol]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.domain-record-priority').editable('/domain_records/update_priority_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[priority]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.domain-record-weight').editable('/domain_records/update_weight_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[weight]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.domain-record-port').editable('/domain_records/update_port_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[port]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });

  $('.dns-template-record-failover-data').click(function() {
    edit_ips('', $(this).attr('id'), $(this).text(), 'dns_template_record');
  });

  $('.domain-record-failover-data').click(function() {
    edit_ips($(this).attr('id').split(',')[0],$(this).attr('id').split(',')[1], $(this).text(), 'domain_record');
  });

  function edit_ips(domain_id, record_id, ips, name) {
    ips_array = ips.split(";")
    ips_input = ""
    for(i=0; i<ips_array.length; i++) {
      ips_input += "IP "+(i+1)+": <input name=\""+name+"[data][]\" type=\"text\" value=\""+ips_array[i]+"\" /><br />";
    }
    while(i<5) {
      ips_input += "IP "+(i+1)+": <input name=\""+name+"[data][]\" type=\"text\" /><br />";
      i++;
    }
    form_url = domain_id != "" ? "/domains/"+domain_id+"/records/"+record_id : "/dns_template_records/"+record_id
    jQuery.facebox("<div class=\"facebox-image\"><img src=\"/images/icons/robot-white.jpg\" alt=\"IPs\"></div><p class=\"facebox-text\" style=\"text-align: center;\">Please enter IPs</p><div style=\"text-align: center;\"><form action=\""+form_url+"\" method=\"post\"><input type=\"hidden\" name=\"_method\" value=\"put\" />"+ips_input+"<input type='submit' value='Save' style='margin-top: 10px;' /></form></div>");
  }

  $('.domain-record-mx-priority').editable('/domain_records/update_mx_priority_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'domain_record[mx_priority]',
    id : 'domain_record[id]',
    width : '85%',
    onerror: function(settings, original, xhr) {
      domain_error(xhr.responseText);
      original.reset();
    }
  });
  $('.ip-list-notes').editable('/ip_address_assignments/update',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'ip_address[notes]',
    id : '[ip_address_id]',
    width : 160
  });

  $('.scc-pin').editable('/server_command_center/set_scc_pin',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'POST',
    name : 'user[pin]',
    id : 'user[id]',
    width : 75
  });

  $('.dns-template-record-ttl').editable('/dns_template_records/update_ttl_by_id',{
    indicator : 'Saving...',
    data   : " {'900':'15 Minutes','3600':'1 Hour','86400':'1 Day','604800':'1 Week'}",
    type   : 'select',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[ttl]',
    id : 'dns_template_record[id]'
  });

  $('.dns-template-record-host').editable('/dns_template_records/update_host_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[host]',
    id : 'dns_template_record[id]',
    width : '85%'
  });

  $('.dns-template-record-data').editable('/dns_template_records/update_data_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[data]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-mx-priority').editable('/dns_template_records/update_mx_priority_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[mx_priority]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-service').editable('/dns_template_records/update_service_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[service]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-protocol').editable('/dns_template_records/update_protocol_by_id',{
    indicator : 'Saving...',
    data   : " {'_tcp':'TCP','_udp':'UDP','_tls':'TLS'}",
    type   : 'select',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[protocol]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-priority').editable('/dns_template_records/update_priority_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[priority]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-weight').editable('/dns_template_records/update_weight_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[weight]',
    id : 'dns_template_record[id]',
    width : '85%'
  });
  $('.dns-template-record-port').editable('/dns_template_records/update_port_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'dns_template_record[port]',
    id : 'dns_template_record[id]',
    width : '85%'
  });

  $('.cloud-group-name').editable('/cloud_groups/update_label_by_id',{
    indicator : 'Saving...',
    onblur : 'submit',
    method : 'PUT',
    name : 'cloud_group[label]',
    id : 'cloud_group[id]',
    width : 214
  });

  $('.generate a.gen').click(function () {

    chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    pass = "";
    for(x=0;x<8;x++)
    {
      i = Math.floor(Math.random() * 62);
      pass += chars.charAt(i);
    }
    $("#password span").text(pass);
    $('#user_password').val(pass);
    $('#user_password_confirmation').val(pass);
    return false;
  });

  $("#close_warning_link").click(function() {
    $.ajax({
        type: "GET",
        url: "close_warn/",
        success: function(){
            $('#wrap #content .page-content .right .warn_nodes').css("display", "none");
         }
        });
        return false;
      });

  $('.add-domain a.keygen').click(function () {

    chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    key = "";
    for(x=0;x<35;x++)
    {
      i = Math.floor(Math.random() * 62);
      key += chars.charAt(i);
    }
    $("#domain-box span.key").text(key);
    $('#affiliate_domain_key').val(key);

    numbers = "1234567890";
    filenum = "";
    for(x=0;x<5;x++)
    {
      i = Math.floor(Math.random() * 10);
      filenum += numbers.charAt(i);
    }
    $("#domain-box span.filenum").text("vpsnet-" + filenum + ".html");
    $('#affiliate_domain_file_name').val("vpsnet-" + filenum + ".html");
    return false;
  });

});