var intern = 0;
var url = 'request.php';
var myGlobalHandlers = {
	onCreate: function() {
		Element.show('systemWorking');
	},
	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
		 Element.hide('systemWorking');
		}
	}
};
Ajax.Responders.register(myGlobalHandlers);
function umlaute(text) {
	if (text.length == 0){
		return "";
	}
	text = text.replace(/&auml;/g,"ä");
	text = text.replace(/&Auml;/g,"Ä");
	text = text.replace(/&ouml;/g,"ö");
	text = text.replace(/&Ouml;/g,"Ö");
	text = text.replace(/&uuml;/g,"ü");
	text = text.replace(/&Uuml;/g,"Ü");
	text = text.replace(/&szlig;/g,"ß");
	text = text.replace(/&nbsp;/g," ");
	text = text.replace(/<br \/>/g,"");
	return text;
}
function ersetzen(text) {
	if (text.length == 0){
		return "";
	}
	text = text.replace(/ä/g,"*ae");
	text = text.replace(/Ä/g,"*Ae");
	text = text.replace(/ö/g,"*oe");
	text = text.replace(/Ö/g,"*Oe");
	text = text.replace(/ü/g,"*ue");
	text = text.replace(/Ü/g,"*Ue");
	text = text.replace(/ß/g,"*sz");
	text = text.replace(/&nbsp;/g,"*sp");
	text = text.replace(/\?/g,"*q");
	text = text.replace(/\#/g,"*g");
	text = text.replace(/{\r\n}|{\r}/g,"\n");
	return text;
}
function convert2Array(liste){
	if (liste.length > 0) {
		var e1 = liste.split("};{");
		var result = new Array();
		var count = e1.length;
		for (var i=0;i<count;i++) {
			if (i == 0) {
				e1[i] = e1[i].replace(/{/,"");
			}
			if (i == count-1) {
				e1[i] = e1[i].replace(/}/,"");
			}
			result[i] = new Array();
			var e2 = e1[i].split(";");
			for (var j=0;j<e2.length;j++) {;
				result[i][j] = e2[j];
			}
		}
		return result;
    } else {
        return "";
    }
}
function showAnswer(originalRequest){
	var resp = originalRequest.responseText;
	var aResp = resp.split("|");
	var job = aResp[0];
	switch(job){
		case 'FORMDATA':
			clear_form();
			break;
		case 'LOGIN':
			do_login(aResp[1]);
			break;
		case 'PAGEDATA':
		  //alert(resp);
			do_pagedata(aResp);
			break;
		case 'MESSAGE':
			do_show_message(aResp);
			//alert('Folgende Parameter wurden zurückgegeben:\n\n'+resp);
			break;
		case 'STATUS':
			if (aResp[1] == 'FAIL'){
				alert('Folgender Befehl hat einen Fehler verursacht :\n'+aResp[2]);
			} else {
				//alert('alles klar');
			}
			break;
		case 'INFO':
			alert('Info:'+aResp[1]);
			break;
		case 'CANDIDATESLIST':
			//alert(aResp[1].length);
			updateImageList('c',aResp[1]);
			break;
		case 'CANDIDATEDETAILS':
			//alert(aResp[1].length);
			showImage(aResp);
			break;
		case 'MENUDETAIL':
			//alert(aResp[1].length);
			showDetails(aResp);
			break;
		case 'SAVE_MENULIST':
			updateMenuList('p',aResp[1]);
			break;
		case 'UP_MENULIST':
			//alert(aResp[1].length);
			break;
		case 'DOWN_MENULIST':
			//alert(aResp[1].length);
			break;
		default:
			alert('Fehler:'+resp);
	} // switch
}
function do_show_message(aResp){
	var legend = "Nachricht "+aResp[2]+" von "+aResp[1];
	$('lg103').innerHTML = legend;
	if (Number(aResp[2]) > 1) {
		$('prev').style.display = 'inline';
	} else {
		$('prev').style.display = 'none';
	}
	if (Number(aResp[2]) < Number(aResp[1])) {
		$('next').style.display = 'inline';
	} else {
		$('next').style.display = 'none';
	}
	$('id').value = aResp[3];
	$('lfdnr').value = aResp[2];
	$('r_count').value = aResp[1];
	$('start').value = aResp[4];
	$('stop').value = aResp[5];
	$('message').value = umlaute(aResp[6]);
}
function do_pagedata(aResp){
	$('typ').value = aResp[1];
	$('title').value = umlaute(aResp[3]);
	$('head').value = umlaute(aResp[2]);
	new_page = 'pg102_'+aResp[1];
	if (new_page != curr_page) {
		if (curr_page != '') {
			new Effect.Shrink(curr_page);
		}
		curr_page = new_page;
		new Effect.Grow(curr_page);

	}
	// add values to fields
	switch(aResp[1]){
		case '1':
			$('left_content').value = umlaute(aResp[5]);
			master_id = aResp[6];
			slave_id = aResp[7];
			break;
		case '2':
			$('preamble').value = umlaute(aResp[5]);
			$('text').value = umlaute(aResp[6]);
			$('postamble').value = umlaute(aResp[7]);
			$('image1').value = aResp[8];
			$('image2').value = aResp[9];
			$('image3').value = aResp[10];
			$('image4').value = aResp[11];
			$('image5').value = aResp[12];
			master_id = aResp[13];
			slave_id = aResp[14];
			break;
		case '3':
			$('lg102_3').innerHTML = "Element "+aResp[5]+" von "+aResp[4];
			if (aResp[4] > 1 && aResp[5] < aResp[4]) {
			 	$('next').style.display = 'inline';
			} else {
			 	$('next').style.display = 'none';
			}
			if (aResp[5] > 1) {
			 	$('prev').style.display = 'inline';
			} else {
			 	$('prev').style.display = 'none';
			}
			$('img1').value = aResp[6];
			$('titel').value = umlaute(aResp[7]);
			$('initiale').value = umlaute(aResp[8]);
			$('txt').value = umlaute(aResp[9]);
			$('ex_link').value = umlaute(aResp[10]);
			if (aResp[11] == 1) {
				$('act').checked = true;
			} else {
				$('act').checked = false;
			}
			master_id = aResp[12];
			slave_id = aResp[13];
			if (aResp[3] == 'Glossar') {
				$('lg102_3').innerHTML += ' (Anker'+aResp[13]+')';
				$('initiale').style.display = 'none';
				$('ex_link').style.display = 'inline';
				$('td102_7').innerHTML = 'ext.Link';
			} else {
				$('initiale').style.display = 'inline';
				$('ex_link').style.display = 'none';
				$('td102_7').innerHTML = 'Initiale';
			}
			;
			break;
		case '4':
			$('lg102_4').innerHTML = "Termin "+aResp[5]+" von "+aResp[4];
			if (Number(aResp[4]) > 1) {
  			if (Number(aResp[5]) < Number(aResp[4])) {
  			  //alert(aResp[5]+" < "+aResp[4]);
  			 	$('next1').style.display = 'inline';
  			} else {
  			 	$('next1').style.display = 'none';
  			  //alert(aResp[5]+" > "+aResp[4]);
  			}
			} else {
			  $('next1').style.display = 'none';
			}
			if (Number(aResp[5]) > 1) {
			 	$('prev1').style.display = 'inline';
			} else {
			 	$('prev1').style.display = 'none';
			}
			$('start_d').value = aResp[6];
			$('stop_d').value = aResp[7];
			$('datum').value = aResp[8];
			$('zeit').value = aResp[9];
			$('ende').value = aResp[10];
			$('ttl').value = umlaute(aResp[11]);
			$('descr').value = umlaute(aResp[12]);
			$('preis').value = aResp[13];
			master_id = aResp[14];
			slave_id = aResp[15];
			;
			break;
		case '5':
			$('lg102_5').innerHTML = "Eintrag "+aResp[5]+" von "+aResp[4];
			if (aResp[4] > 1 && aResp[5] < aResp[4]) {
			 	$('next2').style.display = 'inline';
			} else {
			 	$('next2').style.display = 'none';
			}
			if (aResp[5] > 1) {
			 	$('prev2').style.display = 'inline';
			} else {
			 	$('prev2').style.display = 'none';
			}
			$('ls').value = umlaute(aResp[6]);
			$('rs').value = umlaute(aResp[7]);
			master_id = aResp[8];
			slave_id = aResp[9];
			;
			break;
		default:
			;
	} // switch
}
// ************************* page 105 related **************************
function showmenu() {
	// request details from Server
	$('m_level').disabled=true;
	//alert($('mlist').options.length);
	mvalue = $('mlist').options[$('mlist').options.selectedIndex].value;
	if (mvalue > 3000) {
		par01=mvalue - 3000;
		par02=3;
	} else {
		if (mvalue > 2000) {
			par01=mvalue - 2000;
			par02=2;
		} else {
			par01=mvalue - 1000;
			par02=1;
		}
	}
	pars = 'action=menudetail'+'&para01='+par01+'&para02='+par02;
	var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: showAnswer } );
}
function new_menu(){
	// prepare input fields for data entry
	$('m_text').value="";
	$('e_link').value="";
	$('m_level').value="1";
	$('m_level').disabled=false;
	$('m_act').checked = true;
	sel = $('pagelist').options.length -1;
	$('pagelist').options[sel].selected = true;
	$('mlist').options.selectedIndex = -1;
}
function up_menu(){
	// request a up-move
	mvalue = $('mlist').options[$('mlist').options.selectedIndex].value;
	if (mvalue > 3000) {
		par01=mvalue - 3000;
		par02=3;
	} else {
		if (mvalue > 2000) {
			par01=mvalue - 2000;
			par02=2;
		} else {
			par01=mvalue - 1000;
			par02=1;
		}
	}
	pars = 'action=up_menulist'+'&para01='+par01+'&para02='+par02;
	var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: showAnswer } );
}
function down_menu(){
	// request a up-move
	mvalue = $('mlist').options[$('mlist').options.selectedIndex].value;
	if (mvalue > 3000) {
		par01=mvalue - 3000;
		par02=3;
	} else {
		if (mvalue > 2000) {
			par01=mvalue - 2000;
			par02=2;
		} else {
			par01=mvalue - 1000;
			par02=1;
		}
	}
	pars = 'action=down_menulist'+'&para01='+par01+'&para02='+par02;
	var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: showAnswer } );
}
function save_menu(){
	if($('mlist').options.selectedIndex >= 0) {
		mvalue = $('mlist').options[$('mlist').options.selectedIndex].value;
		if (mvalue > 3000) {
			par01=mvalue - 3000;
			par02=3;
		} else {
			if (mvalue > 2000) {
				par01=mvalue - 2000;
				par02=2;
			} else {
				par01=mvalue - 1000;
				par02=1;
			}
		}
	} else {
		par01 = 0;
		if ($('m_level').value != "") {
			par02 = $('m_level').value;
		} else {
			par02 = 0;
		}
	}
	if (par02 > 0) {
		par03 = $('m_text').value;
		par04 = $('e_link').value;
		par05 = $('pagelist').options[$('pagelist').options.selectedIndex].value;
		if ($('m_act').checked == true) {
			par06 = '1';
		} else {
			par06 = '0';
		}
		par07 = $('m_level').value;
		pars = 'action=save_menudetails'+'&para01='+par01+'&para02='+par02+'&para03='+par03+'&para04='+par04+'&para05='+par05+'&para06='+par06+'&para07='+par07;
		var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onComplete: showAnswer } );
	}
}
function showDetails(aResp){
	// prepare input fields with data
	//alert(aResp);
	intern = aResp[3];
	if (aResp[2] != "") {
		sel = $('pagelist').options.length -1;
		$('pagelist').options[sel].selected = true;
		$('pagelist').disabled = true;
	} else {
		for (i=0;i<$('pagelist').options.length;i++){
			if ($('pagelist').options[i].value == aResp[3]) {
				$('pagelist').options[i].selected = true;
			}
		}
		$('pagelist').disabled = false;
	}
	$('m_text').value=aResp[1];
	$('e_link').value=aResp[2];
	$('m_level').value=aResp[5];
	if (aResp[4] == 1) {
		$('m_act').checked = true;
	} else {
		$('m_act').checked = false;
	}
}
function check_ext(value){
	if (value == "") {
		$('pagelist').disabled = false;
		for (i=0;i<$('pagelist').options.length;i++){
			if ($('pagelist').options[i].value == intern) {
				$('pagelist').options[i].selected = true;
			}
		}
	} else {
		sel = $('pagelist').options.length -1;
		$('pagelist').options[sel].selected = true;
		$('pagelist').disabled = true;
	}
}
function updateMenuList(typ,param){
	var elemente = convert2Array(param);
	var laenge = elemente.length;
	if (typ == 'p') {
		var bl = $('mlist');
		if (laenge > 0) {
			bl.options.length = laenge;
			for (var i=0;i<laenge;i++) {
				bl.options[i].value = elemente[i][0];
				bl.options[i].text = umlaute(elemente[i][1]);
			}
		} else {
			bl.options.length = 1;
			bl.options[0].value = 0;
			bl.options[0].text = 'keine Seiten';
		}
	} else {
		var bl = $('candidates');
		if (laenge > 0) {
			bl.options.length = laenge;
			for (var i=0;i<laenge;i++) {
				bl.options[i].value = elemente[i][1];
				bl.options[i].text = umlaute(elemente[i][0]);
			}
		} else {
			bl.options.length = 1;
			bl.options[0].value = 0;
			bl.options[0].text = 'keine Bilder';
		}
	}
}
