
  /* +-----------------------------------------------------------------------+
     | Javascript - Noname Media Regexp Tester
     +-----------------------------------------------------------------------+
     | Copyright (c) Firma Noname Media, www.nonamemedia.de
     | Developed by Andi Heinkelein, 30-Mar-2007
     +-----------------------------------------------------------------------+ */

	/* +------------------------- Script Config -----------------------------+ */
	
	
	
	/* +------------------------ Function/Class -----------------------------+ */
	
	function makeRegexpTest() {
	
		//Teste den regulären Ausdruck
		try {
		
			var flags = "";
			flags += document.forms['form'].elements['case_sensetiv'].checked == false ? "i" : "";
			
			var pattern = new RegExp(document.forms['form'].elements['regexp'].value, flags);
// 			alert(pattern);
			
		}
		catch(e) {
		
			alert("Rexexp Muster ist nicht korrekt!");
			var error = 1;
		}
		
		if (!error) {
		
			var text = document.forms['form'].elements['text'].value;
			
			var matchResult = text.match(pattern);
				
			if (matchResult && matchResult.length > 0) {
			
				var searchResult = matchResult[0];
				var highlightedString = text.replace(pattern, "[[span class=\"searchHighlighter\"]]" + matchResult[0] + "[[/span]]");
				highlightedString = htmlEncode(highlightedString);
				highlightedString = highlightedString.replace(/\[\[/g, "<");
				highlightedString = highlightedString.replace(/\]\]/g, ">");
	
// 				alert(highlightedString);
					
				document.getElementById("regexpTester").style.display = "block";
				document.getElementById("regexpResult").innerHTML = highlightedString;
				
				//Klammerungen
				if (matchResult.length > 1) {
				
					var blockString = "";
					for (var i = 1; i < matchResult.length; i++) {
					
						blockString += "<h5>" + i + ". Klammer</h5>" + htmlEncode(matchResult[i]);
					}
				}
				else {
				
					var blockString = "keine Klammern definiert";
				}
				
				document.getElementById("regexpBlocks").innerHTML = blockString;
			}
			else {
			
				//keine Ergenisse
				document.getElementById("regexpTester").style.display = "none";
				document.getElementById("regexpResult").innerHTML = "";
			}
		}
		
		
	}
	
	/* +--------------------------- Events ----------------------------------+ */
	
	
	