Помогите оптимизировать
От: Shaienn  
Дата: 05.02.09 19:54
Оценка:
Добрый день, такая прога:
url=]http://artsec.ru/temp/indexs.html[/url]

Смысл в сравнении слов обычного текста со словами в словаре, при совпадении генерация ссылки. По ссылке получаем все предложения, в которых содержится выбранное переведенное слово.

Проблема вот в чем, при малом словаре еще нормально, а при увеличении очень тормозить начинает, может поможете с оптимизацией...


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
</head>
<body>
<div onClick="process()">Конвертировать</div>
<table width="100%" border="0" cellspacing="0" cellpadding="50">
  <tr>
    <td align="justify" width="50%"><div id="rus" style="height:400px; overflow:auto"><div id="rutext">Вступление. Сам термин «анализ видообразования» изначально ассоциировался с теми методами анализа, которые давали ответы на вопросы, касающиеся общего числа и формы наличия данного металла в исследуемом образце. Эта информация служит не только для удовлетворения «чисто академического интереса», поскольку она стала значительно более полезной с развитием медицины, экологии и даже геологии. Металлы редко присутствуют в природе в нативной форме или в качестве свободных катионов. Обычно они встречаются в форме связей, в больших молекулах, сформированных в результате различных био- и/или геохимических процессах [1]. Необходимо отметить, что и качество, и количество встречающихся форм любого металла несут информацию, крайне необходимую, чтобы понять его (металла) биологическую доступность для живущих организмов, так же как и циклы его циркуляции в окружающей среде. Результаты относительно роли данного элемента в том или другом процессе, основанном исключительно на определении абсолютного числа его составляющих, были признаны неполными (по многим показателям), и даже (в крайних случаях) вводящими в заблуждение. Ниже приведены некоторые примеры областей, которые процесс анализа видообразования обеспечивает важным исследовательским механизмом. Экологическая  оценка риска
Проверка компонентов окружающей среды (воздуха, воды, почвы) на наличие органометаллических соединений антропогенного происхождения (например, тетраэтилсвинец)  стало одной из главных сфер применения аналитики видообразования. Видообразование необходимо для надежной оценки того влияния, которое могут оказать на окружающую среду уже существующие или будущие сооружения и заводы. Это необходимо, потому что большинство органометаллических производных соединений обнаруживает  значительно большую токсичность, чем соответствующие металлы в форме свободных …

Экотоксикология

Аналитика видообразования применяется в этой сфере, для идентификации естественных способов детоксификации, через микроорганизмы и растения, в зонах, загрязненных тяжелыми металлами. Особую роль этом процессе приписывается металло-тенонеиновой группе протеинов, способных     быть связующими для многих металлов [2]. Другие важные области применения в области экотоксикологии – это изучение феномена природной биометиляции  ртути и образование арсено-бетаина и арсено-сахаров в организмах морских животных. 

Пищевая индустрия
 
Известно, что металлы играют важную роль в процессах метаболизма живых организмов. Их дефицит ведет к значительным изменениям в биохимических процессах в то же время, их избыток может привести к отравлению. Некоторые металлы являются незаменимыми компонентами пищи (например, кальций, магний, железо, селений, цинк, медь), однако, потребление пищи содержащей чрезвычайно большое количество этих металлов может привести к серьезным последствиям и сбоям в работе организма. Еще одна трудность - разнообразная биологическая доступность микроэлементов, в зависимости от их соответствующих химических форм и их встречаемости в пище. Это главная причина, по которой некоторую морскую пищу можно употреблять даже в большом количестве, и она безопасна для здоровья, несмотря на очевидное «смертельное» содержание мышьяка. Было доказано, что почти весь мышьяк в морской пище встречается в форме довольно безвредного арсенобетана. Однако этот факт не позволяет выпускать из внимания контроль за такой пищей. 
Анализ видообразования может служить в этой области не только как средство контроля над качеством пищи и количеством вредных металлов в ней, но также оценивать качество упаковочных материалов. Могут высвобождаться некоторые виды полимеров, для их стабилизации используются паразитические органо-металлические соединения. Также, изучения видообразования металлов требуют некоторые проблемы, возникающие при хранении пищи.   Например, обнаружили, что существует позитивная корреляция между содержанием свободных ионов меди и селения в молоке и жирах и уровнем гниения этих пищевых продуктов.
</div></div></td>
    <td align="justify" width="50%"><div id="eng" style="height:400px; overflow:auto"><div id="entext">Introduction. The very term "speciation analysis" was initially associated with, generally, those methods of analysis which answered questions regarding the amount and forms of presence of a given metal in the investigated sample. This information does not serve to satisfy "purely academic interest" only, but it has become gradually more valuable with developments in the field of medicine, ecology, even geology. Metals are rarely present in the environment in a native form or as free cations. Usually they occur in a bonded form, in larger molecules, formed as a result of different bio- and/or geochemical processes [1]. It is worth stressing that both quantity and quality of forms of occurrence of any given metal carry information, extremely important to understanding its bioaccessability for living organisms, as well as the cycles of its circulation in the environment. Conclusions on a role of a given element in these or other processes, based exclusively upon the determinations of its total contents, have been (in many cases) proven insufficient, and even (in some extreme cases) misleading. Some examples of fields in which speciation analysis provides an important research tool are given below.     Ecological Risk Assessment Checking the elements of the natural environment (air, waters, soils) for the presence of organometallic compounds of anthropogenic origin (e.g., tetraethyllead) has been one of the major fields utilising speciation analytics. Speciation is required for a reliable evaluation of an environmental impact of existing or planned constructions or plants, due to the fact that the majority of organometallic derivatives reveal significantly higher toxicity than the corresponding metals in the form of free

    Ecotoxicology Speciation analytics is employed here for identification of natural ways of detoxification, via microorganisms and plants, of areas polluted with heavy metals. A particular role in these processes is ascribed to metal-thioneines - a group of proteins, capable of bonding many metals [2]. Other important fields remaining within the scope of ecotoxycologists are studies on phenomena of natural biomethylation of mercury and fo rma t io n of arsenobetaine and arsenosugars in organisms of marine animals.

    Food industry It is known that metals play important roles in metabolisms of living organisms. Their deficiency leads to signi f i c ant changes in biochemical processes while, at the same time, their excess may cause poisoning. Some metal s constitute irreplaceable components of food (e.g., calcium, magnesium, iron, selenium, zinc, copper) while consumption of food containing excessive amounts of these metals may lead to serious consequences and malfunctioning of the organism. An additional complication is a diversified bioaccessability of microelements, depending on the respective chemical forms of their occurrence in food. This is a chief reason, for example, that some seafood may be consumed safely, even in quantity, despite its apparently "lethal" arsenic contents. It has been proven that practically all arsenic present in seafood occurs in the form of quite harmless arsenobetaine. This fact does not permit skipping proper control of such food. Speciation analytics may serve in this field not only as a tool of control of the quantity and quality of harmful metals present in food, but also for the assessment of packing materials. Some types of polymers may release, undesired organometallic compounds used as their stabilizers. Also, some problems of food storage may include speciation studies of metals. For example, it has been found that positive correlation exists between the contents of free ions of copper and selenium in milk and fats and the rate of spoilage of these food products.
</div></div></td>
  </tr>
</table>
<script type="text/javascript">
var shortStrRus = new Array("термин","Вступление","ассоциирова","Анализ","изначально","метод","вопрос");
var shortStrEng = new Array("term","introduction","associated","analysis","initial","method","question");
function analysis(i)
{
var long = document.getElementById("entext").textContent;
var main = "";
for (j = 0; long.length != 0; j++) 
{
                n = 0;
                z = 0;
                r = 0;
                x = 0;
                var re = /\. /;
                                                        while (long.substr(0,r+1).match(re) == null)
                                                        {
                                                        z=long.substr(0,r+1);
                                                        r=r+1;
                                                        if (long.length == r){break;}
                                                        } 
                var longString = long.substr(0, r);
                var re = new RegExp(shortStrEng[i],"i");
                if (longString.match(re))
                {
                while (longString.match(re) != null)
                {
                      var temp = longString.substr(longString.match(re).index)
                      var spc = / /;
                      if (temp.match(spc)){while (temp.charAt(x).match(spc) == null){x++;}}else{x=shortStrEng[i].length;}
                main = main.concat(longString.substr(0,longString.match(re).index));
main = main.concat("<font color='#FF0000'>"+longString.substr(longString.match(re).index, x)+"</font>");
                longString = longString.substr(longString.match(re).index+x);
                x = 0;        
                }
                main = main.concat(longString+"<br><br>");
                }
                var long = long.substring(r+1);
}

var link = document.getElementById("entext");
var button = document.createElement("analized");
button.innerHTML = main;
link.parentNode.replaceChild(button,link);
}
function process()
{
var long = document.getElementById("rutext").textContent;
var main = "";
j = 0;
n = 1;
x = 0;
                for (j = 0; long.length != 0; j++) 
                {
                z = 0;
                i = 0;
                r = 0;
                var re = / /;
                                                        while (long.substr(0,r+1).match(re) == null)
                                                        {
                                                        r=r+1;
                                                        if (long.length == r){break;}
                                                        } 
                var longString = long.substr(0, r);
                var long = long.substring(r+1);
                
                        for (i = 0; i < shortStrRus.length; i++) 
                        {
                        var re = new RegExp(shortStrRus[i],"i");
                        var result = longString.match(re);
                                if (result) 
                                {
                                z = 1;
                                main = main.concat("<a href='#' onClick='analysis("+i+")'>"+longString+"</a> ");
                                var div = document.getElementById("rutext");
                                var re = /[\[\]\(\)]/;
                                        
                                        for (i = 0; i < longString.length; i++){
                                        n = longString.charAt(i);
                                        if (longString.charAt(i).match(re) != null)
                                        {
                                        longString = longString.substring(0, i).concat("\\"+longString.substring(i));
                                        i=i+1;
                                        }}
                                var re = new RegExp(longString);
                                div.firstChild.nodeValue = div.firstChild.nodeValue.replace(re, "");
                                } 
                                else 
                                {}
                        }
                    
                                if (z == 0){    
                                        main = main.concat(""+longString+" ");
                                        var div = document.getElementById("rutext");
                                        var re = /[\[\]\(\)]/;
                                        
                                        for (x = 0; x < longString.length; x++){
                                        n = longString.charAt(x);
                                        if (longString.charAt(x).match(re) != null)
                                        {
                                        longString = longString.substring(0, x).concat("\\"+longString.substring(x));
                                        x=x+1;
                                        }}
                                        
                                        var re = new RegExp(longString);                        
                                        div.firstChild.nodeValue = div.firstChild.nodeValue.replace(re, "");
                                        }            
                }
var link = document.getElementById("rutext");
var button = document.createElement("full");
button.innerHTML = main;
link.parentNode.replaceChild(button,link);
}
</script>
</body>
</html>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.