var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; 
/** 
* Eval script fragment 
* @return String 
*/ 
String.prototype.evalScript = function() 
{ 
		return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); 
}; 
/** 
* strip script fragment 
* @return String 
*/ 
String.prototype.stripScript = function() 
{ 
		return this.replace(new RegExp(tagScript, 'img'), ''); 
}; 
/** 
* extract script fragment 
* @return String 
*/ 
String.prototype.extractScript = function() 
{ 
		var matchAll = new RegExp(tagScript, 'img'); 
		return (this.match(matchAll) || []); 
}; 
/** 
* Eval scripts 
* @return String 
*/ 
Array.prototype.evalScript = function(extracted) 
{ 
		var s=this.map(function(sr){ 
				 var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]; 
				 if(window.execScript){ 
					  window.execScript(sc); 
				 } 
				else 
			   { 
				   window.setTimeout(sc,0); 
				} 
		}); 
		return true; 
}; 
/** 
* Map array elements 
* @param {Function} fun 
* @return Function 
*/ 
Array.prototype.map = function(fun) 
{ 
		if(typeof fun!=="function"){return false;} 
		var i = 0, l = this.length; 
		for(i=0;i<l;i++) 
		{ 
				fun(this[i]); 
		} 
		return true; 
};  