
function sortActivities(id_select)
{
  
  var funcAZ = function(el_1,el_2){
      if(el_1['name']>el_2['name']) return 1;
      if(el_1['name']<el_2['name']) return -1;
      if(el_1['name']==el_2['name']) return 0;
  }
  var funcZA = function(el_1,el_2){
      if(el_1['name']<el_2['name']) return 1;
      if(el_1['name']>el_2['name']) return -1;
      if(el_1['name']==el_2['name']) return 0;
  }
  var funcMostToVal = function(el_1,el_2){
      var el_int_1 = parseInt(el_1['avgMinute']);
      var el_int_2 = parseInt(el_2['avgMinute']);
      if(el_int_1>el_int_2) return 1;
      if(el_int_1<el_int_2) return -1;
      if(el_int_1==el_int_2) return 0;
  }
  var funcToMostVal = function(el_1,el_2){
      var el_int_1 = parseInt(el_1['avgMinute']);
      var el_int_2 = parseInt(el_2['avgMinute']);
      if(el_int_1<el_int_2) return 1;
      if(el_int_1>el_int_2) return -1;
      if(el_int_1==el_int_2) return 0;
  }
  
  
  var funcCopyArray = function(in_array)
  {
    var out_array = new Array();
    var i = 0;
    for(var key in in_array)
      out_array[key] = in_array[key];
    return out_array;
  }

  //var fieldName = document.getElementById(id_select).options[document.getElementById(id_select).selectedIndex].getAttribute('field_sort');
  //var orderSort = document.getElementById(id_select).options[document.getElementById(id_select).selectedIndex].getAttribute('order_sort');
  
  if(id_select == 'favourite_select') {
    sClassSelect = 'FavouriteActSelect';
  } else {  
    sClassSelect = 'MoreActSelect';
  }
  
  oElement = $('div.'+sClassSelect).getSelectedElement(); 
  
  fieldName = oElement.attr('field_sort'); 
  orderSort = oElement.attr('order_sort'); 
  
  if(fieldName=='name')
  {
    if(orderSort=='0')
      var funcSort = funcZA;
      else var funcSort = funcAZ;
  }else
  {
    if(orderSort=='0')
      var funcSort = funcToMostVal;
      else var funcSort = funcMostToVal;
  }

  if(id_select=='favourite_select'&&activities['favourite']!==undefined)
  {
    var sortedArray = funcCopyArray(activities['favourite']);
    sortedArray = sortedArray.sort(funcSort);
    var cloneElement = null;
    var existElement = null;
    var arrayLength = sortedArray.length;
    for(var i=0;i<arrayLength;i++)
    {
      if(sortedArray[i]!==undefined)
      {
        existElement = document.getElementById('container_activity_'+sortedArray[i]['id']);
        cloneElement = existElement.cloneNode(true);
        document.getElementById('container_favourite_activities').removeChild(existElement);
        document.getElementById('container_favourite_activities').appendChild(cloneElement);
      }
    }
    
  } else if(id_select=='more_select'&&activities['more']!==undefined) {
  
    var sortedArray = funcCopyArray(activities['more']);
    
    sortedArray = sortedArray.sort(funcSort);
    
    var cloneElement = null;
    var existElement = null;
    
    var arrayLength = sortedArray.length;
    
    for(var i=0;i<arrayLength;i++) {
    
      if(sortedArray[i]!==undefined) {
        
        existElement = document.getElementById('container_activity_'+sortedArray[i]['id']);
        cloneElement = existElement.cloneNode(true);
        
        document.getElementById('container_more_activities').appendChild(cloneElement);
        document.getElementById('container_more_activities').removeChild(existElement);
        
        existSeparator = document.getElementById('container_separator_activity_'+sortedArray[i]['id']);
        cloneSeparator = existSeparator.cloneNode(true);
        
        document.getElementById('container_more_activities').appendChild(cloneSeparator);
        document.getElementById('container_more_activities').removeChild(existSeparator);
        
        
      }
      
    }
    
  }
}

function roundN(number,digit)
  {
      k = Math.pow(10,digit);
      number = number * k;
      number = Math.round(number);
      number = number/k;
      return number;
  }

function recalculateActivitiesData()
{

  var outText = '';
  var tempValue = 0;
  var _min = 0;
  var _max = 0;
  var spaces = new Array(); 
  spaces[0] = 'favourite';
  spaces[1] = 'more';
  
  for(var i=0;i<=spaces.length;i++) {
  
    var space = spaces[i];
    
      if(activities[space]!==undefined) {
      
        for(var key in activities[space]) {

            //Set current weight and units
          sWeight = objActivitiesCalorie.getCurrentWeight();
          sUnit = objActivitiesCalorie.getCurrentUnit();
          
          if(sWeight > 1) {
            sUnit += 's';
          } 
          
          sWeight = objActivitiesCalorie.processNumberValue(sWeight);
          $('#container_activity_'+key+' span.yourWeight').text(sWeight+' '+sUnit);

            //Get calories and time
          if(objActivitiesCalorie.currentMode=='weight'){
          
            if(activities[space][key]['singleMinute']!==undefined) {
            
              tempValue = Math.round(activities[space][key]['singleMinute']*objActivitiesCalorie.getRatio());
              //outText = activities[space][key]['name']+": <span class='timeActivity'>"+tempValue +"</span> minutes = <span class='caloriesActivity'>"+objActivitiesCalorie.getCurrentCalorieTime()+'</span> Calories';
              
              //$('#container_activity_'+key+' span.timeActivity').text(tempValue);
              
              $('#container_activity_'+key+' span.timeActivity').text(objActivitiesCalorie.processNumberValue(tempValue.toString()));
              
              sMinutesCaption = ' minute';
              if(tempValue > 1) {
                sMinutesCaption += 's';
              }
                            
              $('#container_activity_'+key+' span.minutesCaption').text(sMinutesCaption);
              
              $('#container_activity_'+key+' span.caloriesActivity').text(objActivitiesCalorie.getCurrentCalorieTime());
              
            } else {
            
              _min = Math.round(activities[space][key]['minMinute']*objActivitiesCalorie.getRatio());
              _max = Math.round(activities[space][key]['maxMinute']*objActivitiesCalorie.getRatio());
              //outText = activities[space][key]['name']+": <span class='timeActivity'>"+_min+"</span> - <span class='timeActivity'>"+_max+"</span> minutes = <span class='caloriesActivity'>"+objActivitiesCalorie.getCurrentCalorieTime()+'</span> Calories';
              
              //$('#container_activity_'+key+' span.timeActivity').text(_min+"-"+_max);
              
              $('#container_activity_'+key+' span.timeActivity').text(objActivitiesCalorie.processNumberValue(_min.toString())+"-"+objActivitiesCalorie.processNumberValue(_max.toString()));
              
              $('#container_activity_'+key+' span.caloriesActivity').text(objActivitiesCalorie.getCurrentCalorieTime());

            }
            
          } else {
          
           if(activities[space][key]['singleMinute']!==undefined) {
              tempValue = objActivitiesCalorie.defaultCalorie/activities[space][key]['singleMinute'];
              _min = Math.round(objActivitiesCalorie.currentDefaultCalorieTime*tempValue*objActivitiesCalorie.getRatio());
              //outText =activities[space][key]['name']+": <span class='caloriesActivity'>"+_min +"</span> calories = <span class='timeActivity'>"+objActivitiesCalorie.getCurrentCalorieTime()+'</span> minutes';

              $('#container_activity_'+key+' span.caloriesActivity').text(objActivitiesCalorie.processNumberValue(_min.toString()));
              //$('#container_activity_'+key+' span.caloriesActivity').text(_min);
              
              sTime = objActivitiesCalorie.getCurrentCalorieTime();
              $('#container_activity_'+key+' span.timeActivity').text(sTime);
              
              sMinutesCaption = ' minute';
              if(sTime > 1) {
                sMinutesCaption += 's';
              }
                            
              $('#container_activity_'+key+' span.minutesCaption').text(sMinutesCaption);
              
            } else {
            
              tempValue =objActivitiesCalorie.defaultCalorie/activities[space][key]['minMinute'];
              _max = Math.round(objActivitiesCalorie.currentDefaultCalorieTime*tempValue*objActivitiesCalorie.getRatio());
              tempValue =objActivitiesCalorie.defaultCalorie/activities[space][key]['maxMinute'];
              _min = Math.round(objActivitiesCalorie.currentDefaultCalorieTime*tempValue*objActivitiesCalorie.getRatio());
              
              //outText = activities[space][key]['name']+": <span class='caloriesActivity'>"+_min+"</span> - <span class='caloriesActivity'>"+_max+"</span> calories = <span class='timeActivity'>"+objActivitiesCalorie.getCurrentCalorieTime()+'</span> minutes';
              
              $('#container_activity_'+key+' span.caloriesActivity').text(objActivitiesCalorie.processNumberValue(_min.toString())+"-"+objActivitiesCalorie.processNumberValue(_max.toString()));

              sTime = objActivitiesCalorie.getCurrentCalorieTime();
              
              $('#container_activity_'+key+' span.timeActivity').text(sTime);
              
              sMinutesCaption = ' minute';
              if(sTime > 1) {
                sMinutesCaption += 's';
              }
                            
              $('#container_activity_'+key+' span.minutesCaption').text(sMinutesCaption);
              
              
            }
          }
          //document.getElementById('container_activity_'+key).innerHTML = outText;
        }
      }
  }
  
 //if(objActivitiesCalorie.currentMode=='weight')
  /* $(".timeActivity")
   .css( {backgroundColor:'f25'});*/
  
  //$(".timeActivity, .caloriesActivity, .yourWeight").highlightFade({color:'rgb(222,233,248)', speed:2500}); 
    
   var interval = 0;
   var step = 40;
   var it = 50;
   
   var r = 222;
   var g = 233;
   var b = 248;
   
   
   var currentColor = r.toString(16)+''+g.toString(16)+''+b.toString(16);
   
   /*if(objActivitiesCalorie.currentMode=='weight')
     $(".timeActivity").css( {backgroundColor:currentColor.toString(16)});
     
   if(objActivitiesCalorie.currentMode=='time')
     $(".caloriesActivity").css( {backgroundColor:currentColor.toString(16)});*/
     
  $(".timeActivity, .caloriesActivity, .yourWeight").css( {backgroundColor:currentColor.toString(16)});   

   var stAr = new Array(222,233,248);
   var edAr = new Array(255,255,255);
   
   var t = setInterval(
   
     function() {
     
   	   var curColor = getCurrentColor(stAr,edAr,i++,15);

       $(".timeActivity, .caloriesActivity, .yourWeight").css( {backgroundColor:curColor});
       
   	   /*if(objActivitiesCalorie.currentMode=='weight')
   	   	  $(".timeActivity").css( {backgroundColor:curColor});
          
   	   if(objActivitiesCalorie.currentMode=='time')
   	   	 $(".caloriesActivity").css( {backgroundColor:curColor});*/
         
   	   if(i == 14) {
       
   	   	/* if(objActivitiesCalorie.currentMode=='weight')
		   $(".timeActivity").css( {backgroundColor:'fff'});
           
		 if(objActivitiesCalorie.currentMode=='time')
		   $(".caloriesActivity").css( {backgroundColor:'fff'});*/
         
         $(".timeActivity, .caloriesActivity, .yourWeight").css( {backgroundColor:curColor});  
           
   	   	 clearInterval(t);
   	   }
   	 }
       
   ,50); 
  
  $('body').css('cursor', 'default');
  $('#recalculate_button ul, #recalculate_button ul li').css('cursor', 'pointer'); 
} 


function getCurrentColor(rgbStart,rgdEnd,stepNumber,stepAmount)
{
	//var step = 40;
   var it = 50;
   var r = rgbStart[0];
   var g = rgbStart[1];
   var b = rgbStart[2];
   var newr=0;
   var newg=0;
   var newb=0;
   
   var currentColor = r.toString(16)+''+g.toString(16)+''+b.toString(16);
   var rStep = Math.round((255-r)/stepAmount);
   var gStep = Math.round((255-g)/stepAmount);
   var bStep = Math.round((255-b)/stepAmount);
   newr=r+rStep*(stepNumber+1);
   if(newr<=255)
   		 r=newr;
   newg=g+gStep*(stepNumber+1);
   if(newg<=255)
   		 g=newg;
   newb=b+bStep*(stepNumber+1);
   if(newb<=255)
   		 b=newb; 
   		
   		var currentColor = r.toString(16)+''+g.toString(16)+''+b.toString(16);
   		return currentColor;
   //document.write(currentColor+'<br>');
}

function moveActiv(id)
{
  
  var inArray = function(in_massiv,value)
  {
    for(var i=0;i<in_massiv.length;i++)
      if(in_massiv[i] == value) return i;
    return false;
  }
  
  var funcMoveSpanImg = function(id,order)
  {
    order = parseInt(order);
    var imaga_up = document.getElementById('image_activity_up_'+id);
    var imaga_down = document.getElementById('image_activity_down_'+id);
    //var imaga_container = 
    if(order==0)
    {
      imaga_up.style.display='';
      imaga_down.style.display='none';
      document.getElementById('thumb_'+id).parentNode.style.display='none';
    }else
    {
      imaga_up.style.display='none';
      imaga_down.style.display='';
      document.getElementById('thumb_'+id).parentNode.style.display='';
    }
  }
  
  
        var objFavSpace = document.getElementById('container_favourite_activities');
        var objMoreSpace = document.getElementById('container_more_activities');
        var objActivity = document.getElementById('container_activity_'+id);
        var currentSpace = objActivity.parentNode.id;
        
        if(currentSpace=='container_favourite_activities')
        {
          $('#'+objActivity.id).hide(2000,function(id,func){
            return function(){
              func(id,0);
            $('#'+objActivity.id).appendTo('#'+objMoreSpace.id).show(2000,function(){
              //document.getElementById('more_select').onchange();
            
            });
            
           }
           
          }(id,funcMoveSpanImg));
          //objMoreSpace.appendChild(objActivity);
          //$('#'+objActivity.id).show(2000);//animate({opacity:"show"},2000);
          activities['more'][id] = activities['favourite'][id];
          delete activities['favourite'][id];
          //document.getElementById('more_select').onchange();
          //funcMoveSpanImg(id,0);
        }else
        {
          $('#'+objActivity.id).hide(2000,function(id,func){
            return function(){
            func(id,1);
            
            $('#'+objActivity.id).appendTo('#'+objFavSpace.id).show(2000,function(){
              //document.getElementById('favourite_select').onchange();
              
            });
            var mesgCont = document.getElementById('container_favourite_activities').getElementsByTagName('div');
		        if(mesgCont[0].innerHTML=='You have not selected any favorites - you can choose some below')
		        	mesgCont[0].parentNode.removeChild(mesgCont[0]);
          }
        }(id,funcMoveSpanImg));
          //$('#'+objActivity.id).hide(2000).appendTo('#'+objFavSpace.id).show(2000);//animate({opacity:"hide"},2000);
          //objFavSpace.appendChild(objActivity);    
         // $('#'+objActivity.id).show(2000);//animate({opacity:"show"},2000);      
          activities['favourite'][id] = activities['more'][id];
          delete activities['more'][id];
          //document.getElementById('favourite_select').onchange();
          //funcMoveSpanImg(id,1);
        }
        
        ////////
        if (window.XMLHttpRequest)
      {
        var objXML = new XMLHttpRequest();
      }
      else
      {
        var objXML = new ActiveXObject("Microsoft.XMLHTTP");
      }
      file= "activities.htm";
        objXML.open("POST",file,false);
        if (currentSpace=='container_favourite_activities')
        var text = 'id='+id+'&actionN=0'; else var text = 'id='+id+'&actionN=1';
        objXML.send(text);
        var answer = objXML.responseText;
}

