/**
 * IfThen
 */
var IfThen = {};

IfThen.Behaviours = {
  first : function() {},
  last : function() {},
  pages : {
    'theorem' : {
        'view' : function() {
            activateTheoremCalc();
        },

        'index' : function() {
            activateTheoremCalc();
        },
        'search' : function() {
            activateTheoremCalc();
        }
    },
    'index' : {
        'index' : function(){
            activateTheoremCalc();
        }
    }  
  }
}

$(document).ready( function(){

  var cntl = $('#cntl').attr('class');
  var actn = $('#actn').attr('class').split(" ")[0];

  IfThen.Behaviours.first.call(this, cntl, actn);
  if(IfThen.Behaviours.pages[cntl] && IfThen.Behaviours.pages[cntl][actn])
    IfThen.Behaviours.pages[cntl][actn].apply();

  IfThen.Behaviours.last.call(this, cntl, actn);

});

function activateTheoremCalc(){
    $('.theory').each(function(){
      var parent_id = $(this).attr('id');
      $('#'+parent_id +'-x').blur(function(i){
          var x = parseFloat($(this).val());
          if(isNaN(x)) $(this).val('x');
         
      });
      //calculate y for x;
      $('#'+parent_id +'-x').keyup(function(i){
          $('#'+parent_id +'-x-copy').text($(this).val());
          var x = parseFloat($(this).val().replace(',','').replace(' ',''));
          var y =  Math.pow(x,x) + x;
          if(isNaN(y)) y = 'y';
          $('#'+parent_id +'-y').text(y);
      });
      //calculate x for y;
      //$('#'+parent_id +'-y').keyup(function(i){
          //var y = parseFloat($(this).val());
          //var x = ummm;

          //$('#'+parent_id +'-x').val(x);
      //});
    });
    
}

function checkTextLeft(e){
        var max = $(e).attr('maxlength');
        var val = $(e).val();
        var cur = 0;
        if(val) cur = val.length;
        var left = max-cur;
        return left;
}