Array.prototype.locate = function(searchStr) {
  var returnArray = false;
  for (i=0; i<this.length; i++) {
    if (typeof(searchStr) == 'function') {
      if (searchStr.test(this[i])) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    } else {
      if (this[i]===searchStr) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    }
  }
  return returnArray;
};



// Prevents the event(e)'s default action from happening
function preventDefault(e)
{
	e = e || event; 
	if (e.preventDefault) {
		e.preventDefault();
	}
	else {
		e.preventdefault=true;
	}
	return false;
}


function include_dom(script_filename) {
	var html_doc = document.getElementsByTagName('head').item(0);
	var js = document.createElement('script');
	js.setAttribute('language', 'javascript');
	js.setAttribute('type', 'text/javascript');
	js.setAttribute('src', script_filename);
	js.setAttribute('id','includeScript');
	var old = document.getElementById('includeScript');
	if (old) html_doc.removeChild(old);
	html_doc.appendChild(js);
	return false;
}

function UpdateMeta(MetaName,MetaContent)
{
    var match = "meta[name='"+MetaName+"']";
    $metaTag = $(match);
    if ($metaTag.length == 0) {
			$newTag = document.createElement('meta');
			$newTag.setAttribute('name',MetaName);
			$('head').append($newTag);
			$metaTag = $($newTag);
    }
    $metaTag.attr("content",MetaContent);
}


jQuery.fn.exists = function() {
  return ($(this).length > 0);
};
jQuery.fn.flash = function(easing) {
	if (typeof easing == 'undefined')
		easing = 1000;
	$(this).css({'display':'none'}).fadeIn(easing);
};
jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);
};

