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; 
};
