﻿/*
	eval scripts (c) restorer'2006
	code based on protorype library
*/

var js_ScriptFragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';

/*
function js_stripScripts(str)
{
	return str.replace(new RegExp(js_ScriptFragment, 'img'), '');
}
*/

function js_extractScripts(str){
	var matchAll = new RegExp(js_ScriptFragment, 'img');
	var matchOne = new RegExp(js_ScriptFragment, 'im');

	var arr = str.match(matchAll) || [];
	var res = [];

	for (var i = 0; i < arr.length; i++) res.push((arr[i].match(matchOne) || ['', ''])[1]);
	return res;
}

function js_evalScripts(str){
	var arr = js_extractScripts(str);
	for (var i = 0; i < arr.length; i++) eval(arr[i]);
}

function js_updateElement(element){
	var content = element.innerHTML;
	/* element.innerHTML = it_stripScripts(content); */
	setTimeout(function() {js_evalScripts(content)}, 10);
}


var js_postbackElement;

function js_beginRequestHandler(sender, args){
	js_postbackElement = args.get_postBackElement();
}

function js_pageLoadedHandler(sender, args){
	if (typeof(js_postbackElement) === "undefined") return;

	var updatedPanels = args.get_panelsUpdated();
	for (var i = 0; i < updatedPanels.length; i++) js_updateElement(updatedPanels[i]);
}

function js_registerJsEval(){
	Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(js_beginRequestHandler);
	Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(js_pageLoadedHandler);
}