<?php
// *** Safety line ***
//error_reporting(E_ALL);
if (!defined('ADMIN_PAGE')){ exit; }

//TO DO 
// IE - line around pics

echo '<script type="text/javascript" src="include/popup_merge.js"></script>';

echo '<form method="POST" action="" name="saveform" style="display : inline;">';
echo '<div style="position:fixed;top:68px;left:0px;">';
echo '<h1 align=center>'.__('Language editor').'</h1>';
echo '<div style="margin:10px;padding:3px">'.__('This is the language editor of HuMo-gen. It\'s possible to change or edit language items in this editor. If you find language errors in a language, please contact the programmers. They will change this in a next version!').'&nbsp;';
echo __('Translate into the right column. The untranslated items appear first.').'</div>';

echo '<table class="humo standard" style="text-align:center;"><tr class="table_header_large"><td>';
	$language_editor='en';
	if (isset($_GET['language_editor']) AND
		(file_exists(CMS_ROOTPATH.'languages/'.$_GET['language_editor'].'/'.$_GET['language_editor'].'.mo')) ){
		$language_editor=$_GET['language_editor'];
	}
	if (isset($_POST['language_editor']) AND
		(file_exists(CMS_ROOTPATH.'languages/'.$_POST['language_editor'].'/'.$_POST['language_editor'].'.mo')) ){
		$language_editor=$_POST['language_editor'];
	}
	echo ' <input type="hidden" name="language_editor" value="'.$language_editor.'">';
	echo __('Language').': ';
	// *** Language choice ***
	for ($i=0; $i<count($language_select); $i++){
		// *** Get language name ***
		include(CMS_ROOTPATH.'languages/'.$language_select[$i].'/language_data.php');
		echo '<a href="'.CMS_ROOTPATH.'admin/index.php?page=language_editor&amp;language_editor='.$language_select[$i].'" style="border-right:none; background:none;">';
		echo '<img src="'.CMS_ROOTPATH.'languages/'.$language_select[$i].'/flag.gif" title="'.$language["name"].'" alt="'.$language["name"].'"';

		if ($language_editor==$language_select[$i]){
			echo ' style="	border: solid 2px #999999;"';
		}
		else{
			echo ' style="border:none;"';
		}
		echo '></a>';
		echo ' ';
	}

echo '</td>';
echo '<td style="width:50%;text-align:center;border-left:none;">';

	$file = CMS_ROOTPATH.'languages/'.$language_editor.'/'.$language_editor.'.po';
	$message='';

	// here php will place the "saved file xx" message en javascript will put the "saving..." message
	echo '<div id="announce" style="color:red; font-weight:bold; display:inline;">';

	//if (isset($_POST['language_editor']) AND !isset($_POST['prevpage']) AND !isset($_POST['nextpage']) AND !isset($_POST['langsearch']) ){  
	if(isset($_POST['save_button']) AND $_POST['save_button']=="pressed") {	
		$save_array = array();
		for($i=1; $i<count($_SESSION['line_array']); $i++) { 
			if(isset($_POST['txt_name'.$i])) {  // displayed items
				$content = str_replace("\\\\\\","\\",$_POST['txt_name'.$i]);
				$content = str_replace("\\\\","\\",$content);
				$_SESSION['line_array'][$i]['msgstr'] = $content; 
				// store posted lines - these will be written to the file with the msgstr_save function.
				// the other ones will just get copied straight from the array
				$save_array[$i] = msgstr_save($content);
			}
			else { // non displayed items - these will be written to the file with the msgstr_save2 function.
				if(isset($_SESSION['line_array'][$i]['msgstr'])) {
					$save_array[$i] = msgstr_save2($_SESSION['line_array'][$i]['msgstr']);
				}
			}
		}

		$handle_write = @fopen(CMS_ROOTPATH.'languages/'.$language_editor.'/'.$language_editor.".po", "w+");
		if ($handle_write) {
			for($i=0; $i<count($_SESSION['line_array']); $i++) {
				// #~ remarks need \n at end, except for last one:
				if(isset($_SESSION['line_array'][$i]["note"]) AND $i!=(count($_SESSION['line_array'])-1) AND substr($_SESSION['line_array'][$i]["note"],0,2)=="#~") { $_SESSION['line_array'][$i]["note"] .="\n"; }
				// write all types of notes:
				if(isset($_SESSION['line_array'][$i]["note"])) {
					if(strpos($_SESSION['line_array'][$i]["note"],"fuzzy")!==false AND isset($_POST['txt_name'.$i]) AND !isset($_POST['fuz'.$i])) {
						// we have to find: "#, fuzzy" as well as: "#, fuzzy, php-format" as well as: "#, php-format, fuzzy"
						$_SESSION['line_array'][$i]["note"] = str_replace(array("#, fuzzy\n","fuzzy, ",", fuzzy"),array("","",""),$_SESSION['line_array'][$i]["note"]);
					}
					if(strpos($_SESSION['line_array'][$i]["note"],"fuzzy")===false AND isset($_POST['txt_name'.$i]) AND isset($_POST['fuz'.$i])) {
						if(strpos($_SESSION['line_array'][$i]["note"],"#,")!=false) { // there already is another #. entry --> add fuzzy
							$_SESSION['line_array'][$i]["note"] = str_replace("#,","#, fuzzy,",$_SESSION['line_array'][$i]["note"]);
						}
						else {
							$_SESSION['line_array'][$i]["note"] .= "#, fuzzy\n";
						}
					}
					fwrite($handle_write, $_SESSION['line_array'][$i]["note"]);
				}
				// write msgid line:
				if(isset($_SESSION['line_array'][$i]["msgid"])) fwrite($handle_write, "msgid ".$_SESSION['line_array'][$i]["msgid"]);
				// write all msgstr lines:
				if(isset($_SESSION['line_array'][$i]["msgstr"])) {
					if($i==0) { // first msgstr is the description of the po file
						fwrite($handle_write, "msgstr ".$_SESSION['line_array'][$i]["msgstr"]."\n");
					} 
					elseif(isset($_SESSION['line_array'][$i]["msgid"])) { // regular msgstr lines
						fwrite($handle_write, "msgstr ".$save_array[$i]);
					}
					else {  // no msgstr such as after #~ remarks
						fwrite($handle_write,"\n");
					}
				}
			}
			$message= __('Saved').' ';
			$message.=__('Language').': '.$file;
			echo $message;
		}
		else echo "Saving failed!";
		fclose($handle_write);

		// *** Convert .po file into .mo file! ***
		require(CMS_ROOTPATH.'admin/include/po-mo_converter/php-mo.php');
		if (phpmo_convert( $file )){
			//echo 'The .mo file is succesfully saved!';
		}
		else{
			echo '<br>ERROR: the .mo file IS NOT saved!<br>';
		} 
	}

	$line_array = Array();

	$handle = @fopen($file, "r");
	if ($handle) {
		$count=0; $msgid=0; $msgstr=0; $note=0; $line_array= Array();  
		while (($buffer = fgets($handle, 4096)) !== false) {
			if(substr($buffer,0,5)=="msgid") {
				$msgid=1; $msgstr=0; $note=0;
				$line_array[$count]["msgid"] = substr($buffer,6);  
				$line_array[$count]["msgid_empty"] = 0;
			}
			elseif(substr($buffer,0,6)=="msgstr") {
				$msgstr=1; $msgid=0; $note=0; 
				$line_array[$count]["msgstr"] = substr($buffer,7);  
				$line_array[$count]["msgstr_empty"] = 0;
			}
			elseif(substr($buffer,0,1)=="#") { 
				if($note==0) { 
					$note=1; $msgstr=0; $msgid=0; 
					$line_array[$count]["note"] = $buffer;  
				}
				else { 
					$line_array[$count]["note"] .= $buffer;  
				}
/*				if(strpos("fuzzy",$buffer)!==false) {
					$line_array[$count]["fuzzy"] = 1;
				}
				else {
					$line_array[$count]["fuzzy"] = 0;
				}
*/				
			}
			elseif(substr($buffer,0,1)=='"') {
				if($msgid==1) { 
					$line_array[$count]["msgid"] .= $buffer;  
					$line_array[$count]["msgid_empty"] = 1;
				}
				if($msgstr==1) { 
					$line_array[$count]["msgstr"] .= $buffer;  
					$line_array[$count]["msgstr_empty"] = 1;
				}  
			}
			else {
				$count++;
				$note=0; $msgstr=0; $msgid=0;
			}
			$line_array[$count]["nr"] = $count;
		}
		$_SESSION['line_array']=$line_array;
	}
	else {
		echo "Can't open the language file!";
	}

	if (!feof($handle)) {
		echo "Error: unexpected fgets() fail\n";
	}
	fclose($handle);

	echo '</div>';
echo '</td></tr></table><br>';



if(!isset($_SESSION['maxlines'])) { $_SESSION['maxlines'] = 10; } // default
elseif (isset($_POST['maxlines'])) { $_SESSION['maxlines'] = $_POST['maxlines']; } // user input

if(!isset($_SESSION['present_page'])) { $_SESSION['present_page']=0; } // default is first page
if(isset($_POST['prevpage'])) { $_SESSION['present_page']= $_POST['to_prev_page']; } // previous page button pressed
if(isset($_POST['nextpage'])) { $_SESSION['present_page']= $_POST['to_next_page']; } // next page button pressed
if(isset($_POST['langsearch'])) { $_SESSION['present_page']=0; } // after search change start with first page

//if(isset($_POST['maxlines']) AND !isset($_POST['prevpage']) AND !isset($_POST['nextpage']) 
//	AND !isset($_POST['langsearch']) AND $_POST['save_button']) {  $_SESSION['present_page']=0; } // maxlines changed
if(isset($_POST['maxlines']) AND !isset($_POST['prevpage']) AND !isset($_POST['nextpage']) 
	AND !isset($_POST['langsearch']) AND (isset($_POST['save_button']) AND $_POST['save_button']!="pressed")) {  
		$_SESSION['present_page']=0; } // maxlines changed

if(isset($_POST['langsearchtext']) AND isset($_POST['langsearch'])) { $_SESSION['langsearchtext'] = $_POST['langsearchtext']; }
 
$search_lines=0; $firstkey=0;
if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="") { 
	//$search_lines=0;
	foreach($_SESSION['line_array'] as $key => $value) {
		if($key==0) { $firstkey=1; continue; } // description of po file
		if((isset($value["msgid"]) AND stripos($value["msgid"],$_SESSION['langsearchtext'])!==FALSE) OR
			(isset($value["msgstr"]) AND stripos($value["msgstr"],$_SESSION['langsearchtext'])!==FALSE))	{
			$search_lines++;
		}
	}
}	

echo '<table class="humo" border="" cellspacing="0" width="98%" style="border-width:0px;margin-left:auto;margin-right:auto">';

// Page nr
echo '<tr class="table_header_large"><td style="text-align:center;color:red;font-weight:bold">';
echo 'Page:&nbsp;';
echo ($_SESSION['present_page']+1);

// Next page button
echo '</td><td style="width:135px;text-align:center">';
if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="") $count_lines = $search_lines;
else $count_lines = count($_SESSION['line_array']);
if(($_SESSION['present_page']+1)*$_SESSION['maxlines'] < $count_lines) { // only show next page button if not last page
	echo ' <input style="font-size:100%" type="submit" name="nextpage" value="'.__('Next page').'">';
	echo '<input type="hidden" name="to_next_page" value="'.($_SESSION['present_page']+1).'">';
}

// Previous page button
echo '</td><td style="width:135px;text-align:center">';
if($_SESSION['present_page']>0) { // only show prev page button if not first page
	echo ' <input style="font-size:100%" type="submit" name="prevpage" value="'.__('Previous page').'">';
	echo '<input type="hidden" name="to_prev_page" value="'.($_SESSION['present_page']-1).'">';
}

// Max items per page choice
echo '</td><td style="text-align:center">';  
echo __('Max items per page: ');
echo '<select size="1" name="maxlines" style="width:50px" onChange="this.form.submit();">';
$selected=""; if($_SESSION['maxlines']==10) $selected = " SELECTED ";
echo '<option value="10" '.$selected.'>'.'10'.'</option>';
$selected=""; if($_SESSION['maxlines']==20) $selected = " SELECTED ";
echo '<option value="20" '.$selected.'>'.'20'.'</option>';
$selected=""; if($_SESSION['maxlines']==30) $selected = " SELECTED ";
echo '<option value="30" '.$selected.'>'.'30'.'</option>';
$selected=""; if($_SESSION['maxlines']==50) $selected = " SELECTED ";
echo '<option value="50" '.$selected.'>'.'50'.'</option>';
$selected=""; if($_SESSION['maxlines']==100) $selected = " SELECTED ";
echo '<option value="100" '.$selected.'>'.'100'.'</option>';
$selected=""; if($_SESSION['maxlines']==200) $selected = " SELECTED ";
echo '<option value="200" '.$selected.'>'.'200'.'</option>';
$selected=""; if($_SESSION['maxlines']==300) $selected = " SELECTED ";
echo '<option value="300" '.$selected.'>'.'300'.'</option>';
$selected=""; if($_SESSION['maxlines']==400) $selected = " SELECTED ";
echo '<option value="400" '.$selected.'>'.'400'.'</option>';
echo '</select>';

// Items found
echo '</td><td style="text-align:center">';   
echo __('Total items found: ').$count_lines;

// Search box
echo '</td><td style="text-align:center">';
echo '<input style="font-size:100%" type="submit" name="langsearch" value="'.__('Search').'">';
$langsearchtext = ""; 
if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="") {
	$langsearchtext = $_SESSION['langsearchtext'];
}
echo '<input type="text" style="width:200px;background-color:#d8f0f8" name="langsearchtext" value="'.$langsearchtext.'">';

// Save  button
echo '</td><td style="width:150px;text-align:center">';
if (@is_writable($file)) {
	$num = count($_SESSION['line_array']);
	echo ' <input style="font-weight:bold;font-size:130%" type="button" onClick="doit('.$num.');" name="save_language" value="'.__('Save').'">';
	echo ' <input type="hidden" name="save_button" value="">'; // will be set by javascript to flag save buton pressed
}
else{
	echo '<b>'.__('FILE IS NOT WRITABLE!').'</b>';
}
echo '</td></tr></table>';

echo '<table class="humo" border="1" cellspacing="0" width="98%" style="margin-left:auto;margin-right:auto">';
echo '<tr class="table_header_large"><th style="border-right:none;width:48.5%">'.__('Template').'</th>';
echo '<th style="font-size:85%;width:4%">'.__('Fuzzy').'</th>';
echo '<th style="border-left:none;width:47.5%">';

include(CMS_ROOTPATH.'languages/'.$language_editor.'/language_data.php');
echo '&nbsp;&nbsp;&nbsp;'.__('Translation into').' '.$language["name"];
echo '</th></tr>';
echo '</table>';
	
display_po_table();
echo '</div></form>';

//******** FUNCTION display_po_table() DISPLAYS THE PO-LIKE TABLE: LEFT THE TEMPLATE VALUES AND RIGHT THE TRANSLATION *********
//******** (this is a table within the language editor table, so it can scroll under the header **********************

function display_po_table() {  

	echo '<div style="height:450px;overflow:auto">';
	echo '<table class="humo" border="1" cellspacing="0" width="98%" style="margin-left:auto;margin-right:auto">';
	$count = 0; $loop_count=0; $found=false;
	foreach($_SESSION['line_array'] as $key => $value) { // non-translated items
		if($key==0) { continue; } // description of po file
		if(isset($value["msgstr"]) AND str_replace("\n","",$value["msgstr"]) =='""') {
			if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="" 
			AND stripos($value["msgid"],$_SESSION['langsearchtext'])===FALSE 
			AND stripos($value["msgstr"],$_SESSION['langsearchtext'])===FALSE) { continue; }

			if($count < $_SESSION['present_page']*$_SESSION['maxlines']) { $count++; continue; }
			$loop_count++; if($loop_count > $_SESSION['maxlines']) break;

			if(isset($value["note"])) {$mytext=notes($value["note"]); }
			else $mytext="";
			echo '<tr><td style="width:2%"><a onmouseover="popup(\''.popclean($mytext).'\',300);" href="#" style="border-right:none;background:none">';
			echo '<img style="border:0px;background:none" src="'.CMS_ROOTPATH.'images/reports.gif" alt="references"></a></td>';
			echo '<td style="vertical-align:top;padding:2px;width:47%">'.msgid_display($value["msgid"]).'</td>';
			echo '<td style="width:4%"></td>';
			echo '<td style="width:47%;">';
			echo '<textarea name="txt_name'.$key.'" style="display:none;visibility:none"></textarea>';
			echo '<div contentEditable="true" id="text_msgstr'.$key.'" style="padding:2px;border:1px solid #999999;background-color:white;width:100%;height:100%;min-height:20px;font:12px Verdana, tahoma, arial, sans-serif;line-height:160%;">';
			echo '</div></td></tr>';
			$found=true;
		}
	}
	foreach($_SESSION['line_array'] as $key => $value) { // translated items
		if($key==0) { continue; } // description of po file
		if(isset($value["note"]) AND strpos($value["note"],"fuzzy")!==false AND isset($value["msgstr"]) AND str_replace("\n","",$value["msgstr"])!='""' AND isset($value["msgid"])) { 
			if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="" 
			AND stripos($value["msgid"],$_SESSION['langsearchtext'])===FALSE 
			AND stripos($value["msgstr"],$_SESSION['langsearchtext'])===FALSE) { continue; }
			if($count < $_SESSION['present_page']*$_SESSION['maxlines']) { $count++; continue; }
			$loop_count++; if($loop_count > $_SESSION['maxlines']) break;

			$mytext=notes($value["note"]); 
			echo '<tr><td style="width:2%"><a onmouseover="popup(\''.popclean($mytext).'\',300);" href="#">';
			echo '<img style="border:0px;background:none" src="'.CMS_ROOTPATH.'images/reports.gif" alt="references"></a></td>';
			echo '<td style="padding:2px;width:47%">'.msgid_display($value["msgid"]).'</td>';
			echo '<td style="text-align:center;width:4%"><input type="checkbox" value="fuzzie" name="fuz'.$value["nr"].'" checked></td>';
			echo '<td style="background-color:white;width:47%;">';
			echo '<textarea name="txt_name'.$key.'" style="display:none;visibility:none"></textarea>';
			if(strpos($mytext,"fuzzy")!==false) { $bkcolor = "background-color:yellow;"; } else { $bkcolor=""; }
			echo '<div contentEditable="true" id="text_msgstr'.$key.'" style="'.$bkcolor.'padding:2px;border:1px solid #999999;width:100%;height:100%;font:12px Verdana, tahoma, arial, sans-serif;line-height:160%;">';
			echo msgstr_display($value["msgstr"]);
			echo '</div></td></tr>';
			$found=true;
		}
	}	
	foreach($_SESSION['line_array'] as $key => $value) { // translated items
		if($key==0) { continue; } // description of po file
		if((!isset($value["note"]) OR strpos($value["note"],"fuzzy")===false) AND isset($value["msgstr"]) AND str_replace("\n","",$value["msgstr"])!='""' AND isset($value["msgid"])) { 
			if(isset($_SESSION['langsearchtext']) AND $_SESSION['langsearchtext']!="" 
			AND stripos($value["msgid"],$_SESSION['langsearchtext'])===FALSE 
			AND stripos($value["msgstr"],$_SESSION['langsearchtext'])===FALSE) { continue; }
			if($count < $_SESSION['present_page']*$_SESSION['maxlines']) { $count++; continue; }
			$loop_count++; if($loop_count > $_SESSION['maxlines']) break;	
			
			if(isset($value["note"])) {$mytext=notes($value["note"]); }
			else $mytext="";
			echo '<tr><td style="width:2%"><a onmouseover="popup(\''.popclean($mytext).'\',300);" href="#">';
			echo '<img style="border:0px;background:none" src="'.CMS_ROOTPATH.'images/reports.gif" alt="references"></a></td>';
			echo '<td style="padding:2px;width:47%">'.msgid_display($value["msgid"]).'</td>';
			echo '<td style="text-align:center;width:4%"><input type="checkbox" value="fuzzie" name="fuz'.$value["nr"].'"></td>';
			echo '<td style="background-color:white;width:47%;">';
			echo '<textarea name="txt_name'.$key.'" style="display:none;visibility:none"></textarea>';
			if(strpos($mytext,"fuzzy")!==false) { $bkcolor = "background-color:yellow;"; } else { $bkcolor=""; }
			echo '<div contentEditable="true" id="text_msgstr'.$key.'" style="'.$bkcolor.'padding:2px;border:1px solid #999999;width:100%;height:100%;font:12px Verdana, tahoma, arial, sans-serif;line-height:160%;">';
			echo msgstr_display($value["msgstr"]);
			echo '</div></td></tr>';
			$found=true;
		}
	}
	if($found===false) {
		echo '<tr><td colspan="3"><span style="color:red">'.__('No results found').'</span></td></tr>';
	}
	echo '</table>';
	echo '<br><br><br>';
	echo '</div>';
}

//**** SOME FORMAT FUNCTIONS: ****

function notes($input) {
	// formats the po notes for the reference/notes popup
	$output = "<u>References/Notes</u>:<br>".str_replace(array("# ","#: ","#~ "),array("","&#187; ",""),$input);
	return $output;
}

function popclean($input) {
	// formats the text for the reference/notes popup
	$output = str_replace(array("\r\n","\n\r","\r","\n"),"<br>",htmlentities(addslashes($input),ENT_QUOTES));
	return $output;
}

function msgid_display($string) {
	// formats the msgid for display in the table
 	$string = str_replace('\"','^^',$string);
	$string = str_replace('"','',$string);
	$string = str_replace('^^','\"',$string);
	$string = htmlspecialchars($string);
	$string = str_replace('\n','\n<br>',$string);  
	return $string;
}

function msgstr_display($string) {
	// formats the msgid and msgstr for display in the table
 	$string = str_replace('\"','^^',$string);
	$string = str_replace('"','',$string);
	$string = str_replace('^^','\"',$string);
	$string = str_replace("\'","'",$string);
	$string = substr($string,0,-1);
	$string = htmlspecialchars($string);
 	if(substr($string,0,1)==" ") { 
 	 	$string = "&nbsp;".ltrim($string," "); 
 	}
 	if(substr($string,-1)==" ") { 
 	 	$string = rtrim($string," ")."&nbsp;"; 
 	}
	$string = str_replace('\n','\n<br>',$string);  
	return $string;
}

function msgstr_save($string) {
	// formats the displayed msgstr text for saving in .po file (text that is displayed)
	$string = strip_tags($string);
	if($string AND $string != "<br>") {  
		$string = htmlspecialchars_decode($string); 
		if(get_magic_quotes_gpc() == 1) {
			$find = array("\\'","\\`");
			$replace = array("'","`");
			$string = str_replace($find,$replace,$string); // but leave \"
		}		
		else $string = str_replace('"','\"',$string);  // we want the " with backslash since msgstr afterwards gets " around it!
		$find = array("\\n<br>","\r\n","&nbsp;","&#32;",'\\\\"');
		$replace = array("\\n","\"\r\""," "," ",'\\"');
		if(substr($string,-4)=="<br>") $string = substr($string,0,-4);
		$string = "\"".str_replace($find,$replace,$string)."\"\n\n";
	}
	else {
		$string = "\"\"\n\n";
	}
	return $string;
}

function msgstr_save2($string) {
	// formats the non displayed msgstr text for saving in .po file 
	if($string AND $string != "<br>") {  
		$find = array("\\n<br>","\r\n","&nbsp;","&#32;",'\\\\"');
		$replace = array("\\n","\"\r\""," "," ",'\\"');
		$string = str_replace($find,$replace,$string)."\n";
	}
	else {
		$string = "\"\"\n\n";
	}
	return $string;
}

// NOTE (Y.B.)
// This is a javascript workaround.
// This javascript takes the content of the writable divs (msgstr entries) and places them 
// in the parallel hidden textareas so they can be collected by $_POST
// The reason we don't just use textareas is that in FF and IE they don't dynamically stretch to the height of the table cell.
// Their height has to be set explicitly and since we have dynamic text that doesn't work.
// (Chrome is the exception. It automatically expands the textareas. 10 points for Chrome). 
// If one day IE and FF join up with Chrome, we can re-write this script with plain textareas.
?>
<script type="text/javascript">

	function notice() {
		document.getElementById("announce").innerHTML = "<?php echo __('Saving')."...."; ?> ";
	}

	function saveLanguage(num) { 
		for(var i = 1; i<num; i++) { 
			var div_content = "";
			if(document.getElementById('text_msgstr'+i)) {
				div_content = document.getElementById('text_msgstr'+i).innerHTML; 
			}
			var textareaname = "txt_name" + i;
			if(eval('document.forms["saveform"].' + textareaname)) { 
			//if(document.getElementById(textareaname)) {
				var longstring = eval('document.forms["saveform"].' + textareaname); 
				//var longstring = document.getElementById(textareaname);
				longstring.value = div_content; 
			}
		}
		document.forms["saveform"].save_button.value = "pressed";
		document.forms["saveform"].submit();
	}
	function doit(num) {
		notice();
		saveLanguage(num);
	}
	
</script>
<?php

?>