jQuery(document).ready(function() {
	jQuery('.index-entry:first').show();
	jQuery('.index-entry:first').addClass('entry-hidesel');
  
  jQuery('.expandButt').live('click', function() {
    //no
    if (jQuery('.expandButt.expand').is(":visible")) {
      jQuery('.expandButt.expand').hide();
      jQuery('.expandButt.shrink').css('display', 'block');
      jQuery("#outer-column-container").css('border-left', '0');
      jQuery("#page-container div:nth-child(9)").hide();
    } else {
      jQuery('.expandButt.shrink').hide();
      jQuery('.expandButt.expand').css('display', 'block');
      jQuery("#outer-column-container").css('border-left', '15em solid #FFFFFF');
      jQuery("#page-container div:nth-child(9)").show();
    }
  });
  
  onLoadElements();
});

function onLoadElements() {
  
  jQuery('.addAccLink').live('click', function() { jQuery('#insertAcc').toggle(); });
  jQuery('.addIncLink').live('click', function() { jQuery('#insertInc').toggle(); });
  jQuery('.addCatLink').live('click', function() { jQuery('#insertCat').toggle(); });
    
  jQuery('#expForm input[name=esum]').live('focus', function() {
    if (jQuery('#expForm input[name=esum]').val() == 'Разход сума') { jQuery('#expForm input[name=esum]').val('') }
  });
  jQuery('#expForm input[name=edesc]').live('focus', function() {
    if (jQuery('#expForm input[name=edesc]').val() == 'Описание') { jQuery('#expForm input[name=edesc]').val('')  }
  });
  jQuery('#expForm input[name=equa]').live('focus', function() {
    if (jQuery('#expForm input[name=equa]').val() == 'Количество') { jQuery('#expForm input[name=equa]').val('')  }
  });
  jQuery('#expForm input[name=ecost]').live('focus', function() {
    if (jQuery('#expForm input[name=ecost]').val() == 'Цена') { jQuery('#expForm input[name=ecost]').val('')  }
  });
  jQuery('#expForm input[name=catauto]').live('focus', function() {
    if (jQuery('#expForm input[name=catauto]').val() == 'Категория') { jQuery('#expForm input[name=catauto]').val('')  }
  });
  
  jQuery('#expForm input[name=esum]').live('blur', function() {checkExpForm('second');});
  jQuery('#expForm input[name=edesc]').live('blur', function() {checkExpForm('second');});
  jQuery('#expForm input[name=equa]').live('blur', function() {checkExpForm('second');});
  jQuery('#expForm input[name=ecost]').live('blur', function() {checkExpForm('second');});
  jQuery('#expForm input[name=catauto]').live('blur', function() {checkExpForm('second');});
  jQuery('#expForm select[name=ecat]').live('change', function() {getCatOpts('ecatsub',0);}); 
  jQuery('#expForm select[name=ecatsub]').live('change', function() {getCatOpts('ecatssub',0);}); 
  
  jQuery('#expForm input').change(function() { checkExpForm('second'); });
  
  jQuery('#sumFilter').live('keyup', function() { checkFilter('sum'); });
  jQuery('#catFilter').live('keyup', function() { checkFilter('cat'); });
  jQuery('#accFilter').live('keyup', function() { checkFilter('acc'); });
  jQuery('#dateFilter').live('keyup', function() { checkFilter('date'); });
  jQuery('#descFilter').live('keyup', function() { checkFilter('desc'); });
  //~ jQuery("#dateFilter").live( "CalendarClosed", function(event, ui) { checkFilter('date'); });
  
  jQuery( ".edate" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'] });
  jQuery( "#dateFilter" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'], 
                                           onClose: function(date) {
                                                if(date != "") { checkFilter('date'); } 
                                          }  
                                    });
  checkExpForm('first');
  getCatOpts('ecatsub',0);
  getCatOpts('ecatssub',0);
  
  jQuery('#accTitle').live('click', function () {bigSmallBlocks('acc');});
  jQuery('#incTitle').live('click', function () {bigSmallBlocks('inc');});
  jQuery('#catTitle').live('click', function () {bigSmallBlocks('cat');});
  
  jQuery('#clearFilter').live('click', function () {clearFilter();});
  
  bigSmallBlocks();
  
  jQuery('#expForm input[name=catauto]').autocomplete({
                source: "/wp-budget-actions.php?action=catauto", minLength: 1, select: function(event, ui) {
                  jQuery('#expForm input[name=ecatid]').val(ui.item.id);
                }});
  
  date_is = jQuery.datepicker.formatDate('yy/mm/dd', new Date());
  jQuery('.incDate').val(date_is); 
  jQuery( ".incDate" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'] });
}

function content_ref(dt) {
    acc = jQuery(dt).find('#accRefresh').html();
    inc = jQuery(dt).find('#incRefresh').html();
    cat = jQuery(dt).find('#catRefresh').html();
    exp = jQuery(dt).find('#expRefresh').html();
    exp_notif = jQuery(dt).find('#isNotif').html();
    eform = jQuery(dt).find('#expForm').html();
    pages = jQuery(dt).find('div.expPages').html();
  
    if (jQuery('#accRefresh').html() != acc) { jQuery('#accRefresh').html(acc); }
    if (jQuery('#incRefresh').html() != inc) { jQuery('#incRefresh').html(inc); }
    if (jQuery('#catRefresh').html() != cat) { jQuery('#catRefresh').html(cat); }
    if (jQuery('#expRefresh').html() != exp) { jQuery('#expRefresh').html(exp); }
    if (jQuery('#isNotif').html() != exp_notif) { jQuery('#isNotif').html(exp_notif); }
    if (eform != jQuery('#expForm').html()) { jQuery('#expForm').html(eform); }
    if (jQuery('.expCost.expPages').html(pages) != pages) { jQuery('.expCost.expPages').html(pages); }
    
    checkExpForm('first');
    
    date_is = jQuery.datepicker.formatDate('yy/mm/dd', new Date());
    jQuery('.incDate').val(date_is); 
    jQuery( ".incDate" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'] });
    jQuery('#expForm input[name=catauto]').autocomplete({
              source: "/wp-budget-actions.php?action=catauto", minLength: 1, select: function(event, ui) {
                jQuery('#expForm input[name=ecatid]').val(ui.item.id);
              }});
    
    if (jQuery('.isExpEdit').text() == 'no') {
      getCatOpts('ecatsub');
      getCatOpts('ecatssub');
    }
}

function delAcc(id) {
  if (confirm('Сигурни ли сте че искате да изтриете тази сметка?')) {
    jQuery.get("/wp-budget-actions.php", { del_acc: id, page: pgis() },
     function(data){  content_ref(data); });    
  } else { return false; }
}

function delInc(id) {
  if (confirm('Сигурни ли сте че искате да изтриете този доход?')) {
    jQuery.get("/wp-budget-actions.php", { del_inc: id, page: pgis() },
      function(data){ content_ref(data); });    
  } else { return false; }
}

function delCat(id) {
  if (confirm('Сигурни ли сте че искате да изтриете тази категория?')) {
    jQuery.get("/wp-budget-actions.php", { del_cat: id, page: pgis() },
      function(data){ content_ref(data); });    
  } else { return false; }
}

function delExp(id) {
  if (confirm('Сигурни ли сте че искате да изтриете този разход?')) {
    jQuery.get("/wp-budget-actions.php", { del_exp: id, page: pgis() },
      function(data){ content_ref(data); });    
  } else { return false; }
}

function showTheEntry(id,spd) {
	jQuery('.entry-hidesel').slideUp(spd,  function() {
   						jQuery('.entry-hidesel').removeClass('entry-hidesel');
						jQuery('.entry-'+id).addClass('entry-hidesel');
					  });
	jQuery('.entry-'+id).slideDown(spd);
};

function editAcc(id) {  
  jQuery.get("/wp-budget-actions.php", { edit_acc: id, page: pgis() },
    function(data){ 
      content_ref(data); 
      jQuery('.insertAcc').show();
  });
  return false;
}

function editCat(id) {  
  jQuery.get("/wp-budget-actions.php", { edit_cat: id, page: pgis() },
    function(data){ 
      content_ref(data); 
      jQuery('#insertCat').show();
  });
  return false;
}

function editExp(id) {  
  fsum = jQuery('input#sumFilter[name=sumFilter]').val();
  fcat = jQuery('input#catFilter[name=catFilter]').val();
  facc = jQuery('input#accFilter[name=accFilter]').val();
  fdate = jQuery('input#dateFilter[name=dateFilter]').val();
  fdesc = jQuery('input#descFilter[name=descFilter]').val();
  
  jQuery.get("/wp-budget-actions.php", { edit_exp: id, fsum: fsum, fcat: fcat, facc: facc, fdate: fdate, fdesc: fdesc, page: pgis() },
    function(data){ 
      content_ref(data); 
  });
  return false;
}

function submitAcc() {
  name = jQuery('#formAcc input:text[name=name]').val();
  desc = jQuery('#formAcc input:text[name=desc]').val();
  edit = jQuery('#formAcc input:hidden[name=aedit]').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "add_acc", name: name, desc: desc, aedit: edit, page: pgis() },
    function(data){
      content_ref(data);
      if (name != '') {
        jQuery('.insertAcc').hide();
      } else {
        jQuery('.insertAcc').show();
      }
    }
  );
}

function submitInc() {
  sum = jQuery('#incForm input:text[name=sum]').val();
  desc = jQuery('#incForm input:text[name=desc]').val();
  idate = jQuery('#incForm input:text[name=idate]').val();
  toacc = jQuery('#incForm select[name=toacc] option:selected').val();
  fromacc = jQuery('#incForm select[name=fromacc] option:selected').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "add_inc", sum: sum, desc: desc, toacc: toacc, fromacc: fromacc, idate: idate, page: pgis() },
    function(data){
      content_ref(data);
      if (data.match(/income_inserted/g)) {
        jQuery('.insertInc').hide();
      } else {
        jQuery('.insertInc').show();
      }
    }
  );
}

function submitCat() {
  cname = jQuery('#catForm input[name=cname]').val();
  cdesc = jQuery('#catForm input[name=cdesc]').val();
  editid = jQuery('#catForm input[name=editid]').val();
  cpar = jQuery('#catForm select[name=cpar] option:selected').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "add_cat", cname: cname, cdesc: cdesc, cpar: cpar, editid: editid, page: pgis() },
    function(data){
      content_ref(data);
      if (data.match(/category_inserted/g)) {
        jQuery('.insertCat').hide();
      } else {
        jQuery('.insertCat').show();
      }
    }
  );
}

function submitExp() {
  esum = jQuery('#expForm input[name=esum]').val();
  edesc = jQuery('#expForm input[name=edesc]').val();
  edate = jQuery('#expForm input[name=edate]').val();
  ecost = jQuery('#expForm input[name=ecost]').val();
  equa = jQuery('#expForm input[name=equa]').val();
  eedit = jQuery('#expForm input[name=eedit]').val();
  ecatid = jQuery('#expForm input[name=ecatid]').val();
  ec2 = ecat = jQuery('#expForm select[name=ecat] option:selected').val();
  ec3 = ecatsub = jQuery('#expForm select[name=ecatsub] option:selected').val();
  ec4 = ecatssub = jQuery('#expForm select[name=ecatssub] option:selected').val();
  eacc = jQuery('#expForm select[name=eacc] option:selected').val();
  
  fsum = jQuery('input#sumFilter[name=sumFilter]').val();
  fcat = jQuery('input#catFilter[name=catFilter]').val();
  facc = jQuery('input#accFilter[name=accFilter]').val();
  fdate = jQuery('input#dateFilter[name=accFilter]').val();
  fdesc = jQuery('input#descFilter[name=accFilter]').val();
  
  jQuery.get("/wp-budget-actions.php", 
        { action: "add_exp", ecatid: ecatid, esum: esum, eedit: eedit, edesc: edesc, ecat: ecat, ecatsub: ecatsub, ecatssub: ecatssub, eacc: eacc, edate: edate, ecost: ecost, equa: equa, page: pgis(), fsum: fsum, fcat: fcat, facc: facc, fdate: fdate, fdesc: fdesc },
    function(data){
      content_ref(data);
      checkFilter('submitExp');
      if (ec4 != '') {
        jQuery('#expForm select[name=ecat]').val(ec2);
        getCatOpts('ecatsub',ec3);
        getCatOpts('ecatssub',ec4);
      } else if (ec3 != '') {
        jQuery('#expForm select[name=ecat]').val(ec2);
        getCatOpts('ecatsub',ec3);
        getCatOpts('ecatssub',0);
      } else {
        jQuery('#expForm select[name=ecat]').val(ec2);
        getCatOpts('ecatsub',0);
      }
      esum = jQuery('#expForm input[name=esum]').val('');
      edesc = jQuery('#expForm input[name=edesc]').val('');
      ecost = jQuery('#expForm input[name=ecost]').val('');
      equa = jQuery('#expForm input[name=equa]').val('');
      date_is = jQuery.datepicker.formatDate('yy/mm/dd', new Date());
      jQuery('#expForm input[name=edate]').val(date_is); 
      jQuery('#expForm select[name=ecat] option:selected').val(0);
      jQuery('#expForm select[name=ecatsub] option:selected').val(0);
      jQuery('#expForm select[name=ecatssub] option:selected').val(0);
      checkExpForm('postExp');
    }
  );
  
  //~ checkFilter('second');
}

function checkExpForm(mode) {
  
  esum = parseFloat(jQuery('#expForm input[name=esum]').val());
  edesc = jQuery('#expForm input[name=edesc]').val();
  edate = jQuery('#expForm input[name=edate]').val();
  ecost = parseFloat(jQuery('#expForm input[name=ecost]').val());
  equa = parseFloat(jQuery('#expForm input[name=equa]').val());
  ecat = jQuery('#expForm select[name=ecat] option:selected').val();
  eacc = jQuery('#expForm select[name=eacc] option:selected').val();
  catauto = jQuery('#expForm input[name=catauto]').val();
  
  err = '';
  if (!ecost) { jQuery('#expForm input[name=ecost]').val('Цена'); } 
  if (!equa) { jQuery('#expForm input[name=equa]').val('Количество'); }   
 
  if (equa && ecost) { esum = (equa*ecost); }
  if (!esum) { 
	  jQuery('#expForm input[name=esum]').val('Разход сума'); 
	  err += 'Трябва да има сума и тя да е число! <br/>';
  } else {
	  	  jQuery('#expForm input[name=esum]').val(esum); 
  } 
  if (!edesc) { jQuery('#expForm input[name=edesc]').val('Описание'); } 
  if (!edate) { 
    date_is = jQuery.datepicker.formatDate('yy/mm/dd', new Date());
    jQuery('#expForm input[name=edate]').val(date_is); 
    jQuery( ".edate" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'] });
  } else {
    jQuery( ".edate" ).datepicker({ dateFormat: 'yy/mm/dd', firstDay: 1, dayNamesMin: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'] });
  }
  if (!catauto) { jQuery('#expForm input[name=catauto]').val('Категория'); }
  
  if (err != '') {
	  jQuery('#expButton').hide();
  } else {
	  jQuery('#expButton').show();
  }
}

function getPage(num) {
  fsum = jQuery('input#sumFilter[name=sumFilter]').val();
  fcat = jQuery('input#catFilter[name=catFilter]').val();
  facc = jQuery('input#accFilter[name=accFilter]').val();
  fdate = jQuery('input#dateFilter[name=dateFilter]').val();
  fdesc = jQuery('input#descFilter[name=descFilter]').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "get_page",  fsum: fsum, fcat: fcat, facc: facc, fdate: fdate, fdesc: fdesc, page: num },
    function(data){
      content_ref(data);
    }
  );
  return false;
}

function pgis(){
  var pg = parseInt( jQuery('div.expPages .curPageIs').text() );
  if (!pg) { pg = 1; }
  return pg;
}

function getIPage(num) {
  fsum = jQuery('input#sumFilter[name=sumFilter]').val();
  fcat = jQuery('input#catFilter[name=catFilter]').val();
  facc = jQuery('input#accFilter[name=accFilter]').val();
  fdate = jQuery('input#dateFilter[name=dateFilter]').val();
  fdesc = jQuery('input#descFilter[name=descFilter]').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "get_ipage",  fsum: fsum, fcat: fcat, facc: facc, fdate: fdate, fdesc: fdesc, page: pgis(), ipage: num },
    function(data){
      content_ref(data);
    }
  );
  return false;
}

function ipgis(){
  var pg = parseInt( jQuery('div.expPages .curIPageIs').text() );
  if (!pg) { pg = 1; }
  return pg;
}

function checkFilter(mode) {
  fsum = jQuery('input#sumFilter[name=sumFilter]').val();
  fcat = jQuery('input#catFilter[name=catFilter]').val();
  facc = jQuery('input#accFilter[name=accFilter]').val();
  fdate = jQuery('input#dateFilter[name=dateFilter]').val();
  fdesc = jQuery('input#descFilter[name=descFilter]').val();
  
  jQuery.get("/wp-budget-actions.php", { action: "filter", mode: mode, fsum: fsum, fcat: fcat, facc: facc, fdate: fdate, fdesc: fdesc, page: pgis() },
    function(data){
      content_ref(data);
    }
  );
}

function bigSmallBlocks(block) {
  if (!block) {
    block = getCookie('bigSmallBlocks');
    if (!block) {
      SetCookie('bigSmallBlocks','acc',1);
      block = 'acc';
    }
  } else {
    SetCookie('bigSmallBlocks', block,1);
  }
  
  if (block == 'acc') {
    noblock1 = 'catRefresh';
    noblock2 = 'incRefresh';
  } else if (block == 'cat') {
    noblock1 = 'incRefresh';
    noblock2 = 'accRefresh';
  } else if (block == 'inc') {
    noblock1 = 'catRefresh';
    noblock2 = 'accRefresh';
  } else {  
    noblock1 = 'no1';
    noblock2 = 'no2';
  }
  
  if (block != 'acc') { jQuery('#accWrap').removeClass('big'); jQuery('#accTitle').removeClass('active'); }
  if (block != 'inc') { jQuery('#incWrap').removeClass('big'); jQuery('#incTitle').removeClass('active'); }
  if (block != 'cat') { jQuery('#catWrap').removeClass('big'); jQuery('#catTitle').removeClass('active'); }
  jQuery('#accRefresh').show();
  jQuery('#catRefresh').show();
  jQuery('#incRefresh').show();
  jQuery('.tabRight').removeClass('active');
  jQuery('.tabLeft').removeClass('active');
  
  if (!jQuery('#'+block+'Wrap').hasClass('big')) {
    jQuery('#'+block+'Wrap').addClass('big');
    jQuery('#'+block+'Title').addClass('active');
    jQuery('.tabRight.'+block).addClass('active');
    jQuery('.tabLeft.'+block).addClass('active');
    jQuery('#wrap_one').addClass('big');
    jQuery('#'+noblock2).hide();
    jQuery('#'+noblock1).hide();
  } else {
    jQuery('#'+block+'Wrap').removeClass('big')
    jQuery('#'+block+'Title').removeClass('active')
    SetCookie('bigSmallBlocks', block,-1);
    jQuery('#wrap_one').removeClass('big');
  }
}

function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays < 0 ) nDays=0;
 else if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + (3600000*24*nDays));
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}

function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function clearFilter() {
  jQuery('input#sumFilter[name=sumFilter]').val('');
  jQuery('input#catFilter[name=catFilter]').val('');
  jQuery('input#accFilter[name=accFilter]').val('');
  jQuery('input#dateFilter[name=dateFilter]').val('');
  jQuery('input#descFilter[name=descFilter]').val('');
  
  checkFilter('clear');
}

function getCatOpts(mode,def) {
  if (mode == 'ecatsub') {
    ecat = jQuery('#expForm select[name=ecat] option:selected').val();
  } else if (mode == 'ecatssub') {
    ecat = jQuery('#expForm select[name=ecatsub] option:selected').val();
  }
  if (!parseInt(ecat)) return;
  jQuery.get("/wp-budget-actions.php", { action: "cat_opts", mode: mode, ecat: ecat },
    function(data){
      if (mode == 'ecatsub') {
        jQuery('#expForm select[name=ecatsub]').html(data);
        jQuery('#expForm select[name=ecatssub]').html('');
        if (def) {
          jQuery('#expForm select[name=ecatsub]').val(def);
        }
      } else if (mode == 'ecatssub') {
        jQuery('#expForm select[name=ecatssub]').html(data);
        if (def) {
          jQuery('#expForm select[name=ecatssub]').val(def);
        }
      }
    }
  );
}

function catShow(id) {
	jQuery('.catHide-'+id).toggle();
  jQuery('.parentCat-'+id+' .cName').toggleClass('minus');
}

