// === in_array
Array.prototype.in_array = function(needle){
	for(var i=0; i<this.length; i++)if(needle===this[i])return true; return false;
}

//=== implode
function implode (glue, pieces) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Waldo Malqui Silva
    // +   improved by: Itsacon (http://www.itsacon.net/)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    var i = "", retVal="", tGlue="";
    if (arguments.length === 1) {
        pieces = glue; glue = "";
    }
    if (typeof(pieces) === "object") {
        if (pieces instanceof Array) {
            return pieces.join(glue);
        } else {
            for (i in pieces) {
                retVal += tGlue + pieces[i]; tGlue = glue;
            }
            return retVal;
        }
    } else {
        return pieces;
    }
}

//=== str_replace
// http://hendi.name/2006/04/08/str_replace-fur-javascript/
function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}
