if(!window.console) {
  window.console = {
    log:   function() {},
    debug: function() {}
  }
}

sucka = function() {
  $('#nav li').hover(function() {
    $(this).addClass('over');
  }, function() {
    $(this).removeClass('over');
  });
}

var page_title = document.title;
updatemmx = function() {
  var mmxkloss = $('#usermmx.inloggad');
  $.ajax({
    type: 'GET',
    url: '/ajax/usermmx.php',
    success: function(midi) {
      mmxkloss.html(midi);
      if($('*', mmxkloss).is('span')) { document.title = "[NYTT] " + page_title; }
    },
    error: function(midi) {
      mmxkloss.html('<p>Uppdaterar...!</p>');
    }
  });
}

function saker(message,destination)
{
  if(confirm("Vill du verkligen "+message+"?"))
  {
    window.location.href = "http://altnet.se/"+destination;
  }
}

function gb_snabbsvar(midi, mmx) {
  alert('Funktionen tyvärr avaktiverad.');
}

function selectImage(iid) {
	if(iid) {
		$('#sImgForm img').css('border','none');
		$('#iNone').css('border','none');
		$('#i'+iid).css('border','2px solid #f00');
		$.ajax({type: "POST", url: "/ajax/settings.php", data: "type=photo&action=change&id="+iid, success: function(msg) { $('#sImgForm .status').html('Du bytte bild till: <img style="height:15px;" src="'+msg+'" alt=""/>');}});
	} else {
		$('#sImgForm img').css('border','none');
		$('#iNone').css('border','1px solid #f00');
		$.ajax({type: "POST", url: "/ajax/settings.php", data:"type=photo&action=remove", success: function(msg) { $('#sImgForm .status').html('Du har valt att inte ha någon bild.');}});
	}
}

function appendHtml(obj, tag, values) {
	var data = '<'+tag;
	if (values != null) {
		data += ' '+values;
	}
	data += '/>';
	$(obj).append(data);
}

function nickAvailable(obj) {
	$.ajax({url:'/ajax/available.php', data:'data='+obj.value+'&type=nick', type:'POST', dataType:'html', success:function(html) { $('#nickcheck').html(html); }});
}

var Msg = {
	activeLayer:'',
	openSend: function(elem, nick) {
		Msg.activeLayer = "sendto"+nick;
		$(elem).parent().append('<div id="'+Msg.activeLayer+'" style="position:absolute; padding:10px; background-color:#ddd; border:1px solid black; width:200px; height:100px;"><form><p style="float:right;"><a href="javascript:Msg.close();">[ X ]</a></p>Till: '+nick+'<br/><textarea name="messtext" style="width:194px; height:50px;"></textarea><input style="float:right;" type="button" value="Skicka" onclick="Msg.send(\''+nick+'\');"/></form></div>');
		$('#'+Msg.activeLayer+' textarea').focus();
	},
	send: function(nick) {
		var data = $('#'+Msg.activeLayer+' form').serialize();
		data += "&nick="+nick;
		$('#'+Msg.activeLayer+' form').html('Skickar...');
		$.ajax({type:'POST', url:'/ajax/message.php', dataType:'html', data:data, success:function(html) { $('#'+Msg.activeLayer+' form').html(html); } });
	},
	close: function() {
		$('#'+Msg.activeLayer).remove();
	}
}


/* CLOSURE FEST 5000 */
$.fn.comment = function(options) {
  var o = $.extend({
    duration: 500
  }, options);

  return this.each(function() {

    $(this).bind('click.comment', function(e) {
      var self   = $(this),
          href   = self.attr('href'),
          target = self.parents('.forum_post');

      $.get(href, function(response) {

        if($('#svar').length) { $('#svar').remove(); }

        var respond = $('#svar', response).css('display', 'none')
            .insertAfter(target).slideDown(o.duration);

        respond.find('form').bind('submit.comment', function() {

          var self   = $(this),
              data   = self.serialize(),
              action = self.attr('action');

          $.post(action, data, function(response) {

            console.log('skickade formuläret och svaret blev ' + response);

            respond.after(response).slideUp(o.duration);
          });

          return false;
        });
      });

      return false;
    });
  });
}

$.extend($.easing, {
  expoOut: function(p, n, firstNum, diff, duration) {
    return (n == duration) ?
      firstNum + diff :
      diff * (-Math.pow(2, -10 * n/duration) + 1) + firstNum;
  }
});

/* Karusell weeeee */
$.fn.carousel = function(options)
{

  var o = $.extend(
  {
    duration:  600,
    easing:    'expoOut',
    nextClass: 'next',
    prevClass: 'previous',
    nextText:  'Framåt',
    prevText:  'Bakåt',
    stepping:  6,
    width:     155
  }, options);

  return this.each(function()
  {
    var self     = $(this),
        slides   = $('ul', this),
        items    = slides.children().length,
        end      = Math.ceil(items / o.stepping) - 1;

    var buttonNext = $('<span/>').addClass(o.nextClass).text(o.nextText),
        buttonPrev = $('<span/>').addClass(o.prevClass).text(o.prevText);

    $.data(self, 'position', 0);

    buttonNext.add(buttonPrev).addClass('button').appendTo(self);

    self.bind('click.carousel', function(e)
    {
      if(e.target == buttonPrev.get(0) || e.target == buttonNext.get(0))
      {
        var position = $.data(self, 'position');

        if(e.target == buttonNext.get(0))
          position = position >= end ? 0   : position + 1;
        else
          position = position === 0  ? end : position - 1;

        $.data(self, 'position', position);

        var offset = position * o.width * o.stepping;

        slides.animate(
          { left: -offset },
          { duration: o.duration, easing: o.easing, queue: false }
        );

        return false;
      }
    });
  });
}

/* Gör om till generisk togglegrej sen... */
$.fn.toggleTarget = function(options) {
  var o = $.extend(
  {
    duration:  400,
    moreText:  '(visa senaste)',
    lessText:  '(dölj senaste)'
  }, options);

  return this.each(function()
  {
    $('h3 + p', this).append('<a href="#toggle">')
    .children('a').text(o.moreText)
    .css('margin-left', '.75em').toggle(function() {
      $(this).text(o.lessText)
      .parent().next().next('ul').slideDown(o.duration);
    }, function() {
      $(this).text(o.moreText)
      .parent().next().next('ul').slideUp(o.duration);
    });
  });
}

$.fn.dropDown = function(options) {
  var o = $.extend({
    delay:    100,
    duration: 400,
    easing:   'expoOut'
  }, options);

  return this.each(function() {
    $('> li', this).bind('mouseenter.dropdown', function() {

      var self = this;

      $.data(self, 'timer', window.setTimeout(function() {
        $('ul', self).animate(
          { opacity: 'show' },
          { duration: o.duration, easing: o.easing }
        );
      }, o.delay));

    })
    .bind('mouseleave.dropdown', function() {
      window.clearTimeout($.data(this, 'timer'));
      $('ul:visible', this).animate(
        { opacity: 'hide' },
        { duration: o.duration, easing: o.easing }
      );
    });
  });
}

$(document).ready(function() {
  $('body').addClass('js');

  $('#nav').dropDown();

  $('div.carousel').carousel({ width: 150, stepping: 5 });

  $('div#forum div.forum').toggleTarget();

  //$('div.forum_post p.action a[href^="svara.php"]').comment();

  if($('#usermmx').is('.inloggad')) {
    var timer = setInterval(updatemmx, 10000);
  }

  $('div.forum_post:nth-child(odd)').addClass('odd');

  if($.browser.msie && $.browser.version < 7) {
    sucka();
  }

});
