function trim(string) {
	return string.replace(/^\s+/, '').replace(/\s+$/, '');
}
function array_search(haystack,needle) {
	for (var i=0; i<haystack.length; i++) {
		if (haystack[i] == needle) {
			return i;
		}
	}
	return -1;
}
function in_array(haystack,needle) {
	return (array_search(haystack,needle) > -1 ? true : false);
}

function deleteFavorite(username) {
	if (confirm('Er du sikker?')) {
        new Ajax.Request('/favorites/',{parameters:'action=remove&query='+username});
        new Effect.Highlight('favorite'+username, {startcolor:'#ff9999', afterFinish:function(){
	        Element.remove('favorite'+username);
        }});
	}
}

function deleteBlacklist(username) {
	if (confirm('Er du sikker?')) {
        new Ajax.Request('/blacklist/',{parameters:'action=remove&query='+username});
        new Effect.Highlight('blacklist'+username, {startcolor:'#ff9999', afterFinish:function(){
	        Element.remove('blacklist'+username);
        }});
	}
}

function deleteAlert(username) {
	if (confirm('Er du sikker?')) {
        new Ajax.Request('/alerts/',{parameters:'action=remove&query='+username});
        new Effect.Highlight('alerts'+username, {startcolor:'#ff9999', afterFinish:function(){
	        Element.remove('alerts'+username);
        }});
	}
}

function toggleCommentAlert(blog_id) {
    new Ajax.Request('/alerts/',{parameters:'action=toggle&query='+blog_id});
}

function deleteVideo(id, hash) {
    if (confirm('Er du sikker på at du vil slette denne video?')) {
	    document.location.href = '/videos/edit.php?action=delete&videoid='+id+'&hash='+hash;
    }
}

Effect.Bar = Class.create();
Object.extend(Object.extend(Effect.Bar.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    var options = Object.extend({
      size:     100,
      value:    100,
      duration: 1.0,
      transition: Effect.Transitions.exponential
    }, arguments[1] || {});
    options.from = 0;
    options.to = 100;
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
    this.originalHeight = parseFloat(this.element.getStyle('height') || '0');
    this.oldStyle = {backgroundImage: this.element.getStyle('background-image')};
    this.element.setStyle({backgroundImage: 'none'});
    this.start(options);
  },
  update: function(position) {
    this.element.innerHTML = Math.round((this.options.value / 100) * position);
    var height = Math.round((this.options.size / 100) * position);
    this.element.setStyle({
                           top: (this.originalTop - height) + 'px',
                           height: (this.originalHeight + height) + 'px'
                         });
  },
  finish: function() {
    this.element.setStyle(this.oldStyle);
  } 
});

Effect.Transitions.exponential = function(pos) {
  return 1-Math.pow(1-pos,5);
}
