
//Check all radio/check buttons script- by javascriptkit.com
//Visit JavaScript Kit (http://javascriptkit.com) for script
//Credit must stay intact for use  

function checkall(conreteform,checkname,thestate) {
	 //alert ( "document."+formname+".length" );
   for (i=0;i< conreteform.length;i++) {
    if(conreteform.elements[i].name==checkname) conreteform.elements[i].checked = thestate;
   }
 }

function wid_formtextlenght_get(formstring, maximalzuzaehlen){
	var letterSum=0;
	var maxpossible=1;
	var position=1;
	var positionRight=0;
	
	var varmaximalzuzaehlen=maximalzuzaehlen+500;

	for (position=1;position<=varmaximalzuzaehlen;position++){ 
		x=position-1;	
		var substr=formstring.substring(x,position);
		var letterCount=0
		switch (substr){
			//case "Ö":
			//case "Ä":
			//case "Ü":
			//case "ö":
			//case "ä":
			//case "ü":
			//	letterCount=6;
			//	break;
			//case "'":
			//case "ß":
			//	letterCount=7;
			//break;
			//case "&":
			//	letterCount=5;
			//break;
			case "":
				letterCount=0;
			break;
			default: 
				letterCount=1;
		}
		letterSum += letterCount;
		if(maximalzuzaehlen<=letterSum){
			if(0 == positionRight ){
				positionRight=position;
			}

			if( (maximalzuzaehlen+100) <= (letterSum) ){
				break;
			}

		}
	}
	
	result = new Array(letterSum,positionRight, position);
	return result;
}

//Checker Rest Zeichen
function widFrmChckRstZch(clickobjFeld, maxAnz){
	var feld=document.getElementById(clickobjFeld);
	var anz=document.getElementById(clickobjFeld + '_Cnt');
	
	if(feld){
		//alert(feld);
		
		result1 = wid_formtextlenght_get( feld.value, maxAnz );
		//alert(result1);
		aktfeldAnzahl = result1[0];
		//alert(aktfeldAnzahl);
		richtigeposition = result1[1];
		
		restZeiche=maxAnz-aktfeldAnzahl;
		if(restZeiche<0){
			anz.style.backgroundColor ="red";
			anz.style.color ="black";
			anz.style.fontWeight ="bold";
			anz.style.fontSize ="large";
		}else{
			anz.style.backgroundColor ="";
			anz.style.color ="";
			anz.style.fontWeight ="";
			anz.style.fontSize ="";
		}
		anz.value=restZeiche;
		
	}
	
	//man koennte hier dann eigentlich verkuerzen, aber das macht ja eh schon die Datenbank
	// oder man fuegt ein Trennzeichen ein, damit es der user sieht
	
}



//20070622 diese Funktion wird wahrscheinlich bald veraltet sein
// denn bald nicht mehr benutzt
function text_limitlength_warning(clickobjects__withl_ength )
{
	//beispiel param "id_for_field;30::id_for_field1;35"
	
	 /* var Satz = "Wer nicht vom rechten Weg abkommt bleibt auf der Strecke";
	 	var Woerter = Satz.split(" ");
 	 	document.write("Ein Satz mit " + Woerter.length + " W&ouml;rtern.<br>");
 	 	document.write("Das 5. Wort ist " + Woerter[4]);*/

	//alert(clickobjects__withl_ength);
	params=clickobjects__withl_ength.split("::");
	
	for (xc=0;xc<params.length;xc++)
	{
		var parstringEiner=params[xc];
			
		parstringEinerArray = parstringEiner.split(";");
		var clickobj = parstringEinerArray[0];
	  var length = parstringEinerArray[1];
	  var FeldName = parstringEinerArray[2];

		//alert(clickobj + " " + length);
	
		var letterSum=0;
		var maxpossible=1;
		
	
		var obj=document.getElementById(clickobj);
		var maxlength=length;
		for (y=1;y<=269;y++){ /*trjebas tule jenoz jedyn alert cinic a so ton wokomikny substring pokazac dac potom widzis cehodla ja pola 1 zapocinal sym*/
		x=y-1;					/*sym tohodla 270 cinil, dokelz hdyz tam hisce zeichne po tym 255-tym prindzeja to tola dike dosaha zo so warnunka praji*/
		var substr=obj.value.substring(x,y);
		var letterCount=0
			switch (substr){
				//case "ö":
				//letterCount=6;
				//break;
				//case "ä":
				//letterCount=6;
				//break;
				//case "ü":
				//letterCount=6;
				//break;
				//case "ß":
				//letterCount=7;
				//break;
				//case "Ö":
				//letterCount=6;
				//break;
				//case "Ä":
				//letterCount=6;
				//break;
				//case "Ü":
				//letterCount=6;
				//break;
				//case "&":
				//letterCount=5;
				//break;
				//case "'":
				//letterCount=7;
				//break;
				case "":
				letterCount=0;
				break;
				default: letterCount=1;
			}
		letterSum += letterCount
		if (letterSum<=maxlength){
			  maxpossible=y /* sym tohodla cinil zo ton tam wotreznyl hdzez hisce cu wjele "html zeichne" njejsu */
			}
		}
		if (y==270){
			if (letterSum>maxlength){
				//window.alert("Ihre Beschreibung enthält mehr als die möglichen "+maxlength+" html-Zeichen (Erklärung Unten).");
	
				var dec=window.confirm("Feld ["+FeldName+"] :Sie haben mehr als die erlaubten "+maxlength+" Zeichen (im HTML Format zaehlt ein Umlaut oder "
						+ "Sonderzeichen ca. 5-fach).\n Möchten Sie automatisch kürzen lassen (ok) oder selbst korigieren (abbrechen) ?"); 
						//ab dem " + maxpossible + "-en 
				if (dec)
				{ 
					obj.value=obj.value.substring(0, maxpossible);
				}else{
					/* tute jonu alert a potom confirm sym ja tohodla cinil, dokelz hdyz ja to wsitko do jednoho nuc cinil sym 
							je pola mje zmylk byl (dokelz najskerje cu wjele caichne do tajkeho woknjeska njesmedza) */
						
					//window.alert('focus');
					obj.focus();
					//document.getElementById(clickobj).focus();		
					return false;
				}
			}
		}
	}

	return true;

}

// 
function linkZusAttr_Do(id, 
		ZusatzAttributKuerzel, 
		ZusatzAttributBeschr, Attribute, StdWertAuswahl)
{
	//alert (id);

	//die Werte hier aus Attribute heraus befuellen
	/*
		var StdWert=new Array();
		Attribute['AuswahlArt'] = "checkbox"; 
		Attribute['AuswahlAnzahlMax'] = "50"; 
		Attribute['AuswahlAnzahlDefault'] = "1"; 
		Attribute['Anzeigen'] = "1"; 
		Attribute['istPflicht'] = "0"; 
		Attribute['AuswahlWert_Default'] = "unbekannt"; 
	*/

	var StdAttr=new Array();

	StdAttr[0] = new Array();
	StdAttr[0]["was"] = "AuswahlArt"; StdAttr[0]["wert"] = "checkbox,Checkbox;auswahlliste,Auswahlliste;radiobuttons,Radiobuttons";
	StdAttr[0]["select"] = Attribute['AuswahlArt'];
	StdAttr[0]["bez"] = "AuswahlArt: "; 

	StdAttr[1] = new Array();
	StdAttr[1]["was"] = "AuswahlAnzahlMax"; StdAttr[1]["wert"] = Attribute['AuswahlAnzahlMax']; //1 bis 50
	StdAttr[1]["bez"] = "AuswahlAnzahlMax: " ;

	StdAttr[2] = new Array();
	StdAttr[2]["was"] = "AuswahlAnzahlDefault"; StdAttr[2]["wert"] = Attribute['AuswahlAnzahlDefault']; 
	StdAttr[2]["bez"] = "AuswahlAnzahlDefault: " ;

	StdAttr[3] = new Array();
	StdAttr[3]["was"] = "Anzeigen"; StdAttr[3]["wert"] = "1,ja;0,nein";
	StdAttr[3]["select"] = Attribute['Anzeigen'];
	StdAttr[3]["bez"] = "spaeter auch Anzeigen: " ;

	StdAttr[4] = new Array();
	StdAttr[4]["was"] = "istPflicht"; StdAttr[4]["wert"] = "0,nein;1,ja"; 
	StdAttr[4]["select"] = Attribute['istPflicht'] ;
	StdAttr[4]["bez"] = "ist dieses Attribut Pflicht: " ; 

	StdAttr[5] = new Array();
	StdAttr[5]["was"] = "AuswahlWert_Default"; StdAttr[5]["wert"] = Attribute['AuswahlWert_Default']; 
	StdAttr[5]["bez"] = "AuswahlWert_Default: " ;
	
	
	

	var fs = document.getElementById("fieldsetid" + id);

	fs.appendChild(document.createElement("br"));
	fs.appendChild(document.createTextNode(" "));
	fs.appendChild(document.createElement("br"));

	fs.appendChild(document.createTextNode("Kuerzel fuer  das neue Zusatzattribut: "));
	var input = document.createElement("input");
	input.setAttribute("type","text");
	input.setAttribute("name","linkZusAttr_IDXTIKL1111_Attribut");
	input.setAttribute("value",ZusatzAttributKuerzel);
	// document.Zusatzattribut_Hinzufuegen.linkZusatzAttribut_.value
	fs.appendChild(input);
	fs.appendChild(document.createTextNode(" kann nur beim Anlegen geaendert werden, spaeter nicht mehr "));
	fs.appendChild(document.createElement("br"));

	var attribname = "linkZusAttr_IDXTIKL1111_KuerzelBeschreibung";
	fs.appendChild(document.createTextNode(" Beschreibung: "));
	var input = document.createElement("input");
	input.setAttribute("type","text");
	input.setAttribute("name",attribname);
	input.setAttribute("size","60");
	input.setAttribute("value",ZusatzAttributBeschr);
	//input.setAttribute("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
	//document.Zusatzattribut_Hinzufuegen.linkZusatzAttribut_.value
	fs.appendChild(input);						
	fs.appendChild(document.createTextNode(" Beschreibung dieses Kuerzels, kann spaeter geandert werden "));

	for (var i=0;i<StdAttr.length;i++)
	{	  	
		var string111 = StdAttr[i]["wert"];
		var Ergebnis = string111.search(/[;,]/);

		if(Ergebnis == -1)
		{
			var attribname = "linkZusAttr_IDXTIKL1111_" + StdAttr[i]["was"];
			fs.appendChild(document.createElement("br"));
			fs.appendChild(document.createTextNode(StdAttr[i]["bez"]));
			var input = document.createElement("input");
			input.setAttribute("type","text");
			input.setAttribute("name",attribname);
			input.setAttribute("value",StdAttr[i]["wert"]);
			//input.setStdAttr("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
			fs.appendChild(input);						
		}else
		{
			var attribname = "linkZusAttr_IDXTIKL1111_" + StdAttr[i]["was"];
			fs.appendChild(document.createElement("br"));
			fs.appendChild(document.createTextNode(StdAttr[i]["bez"]));
			var select = document.createElement("select");
			select.setAttribute("name",attribname);

			var options111 = string111.split(";");								
			for (var j=0;j<options111.length;j++)
			{
				var option1 = document.createElement("option");
				select.appendChild(option1);
				var options222 = options111[j].split(",");
				option1.setAttribute("value",options222[0]);
				if( StdAttr[i]["select"] == options222[0] )
				{
					option1.selected = true;
				}
				option1.appendChild(document.createTextNode( options222[1] ));

			}

			fs.appendChild(select);						

		}
 }

 linkZusAttr_NEU111_AuswahlWertPre(id, 0, StdWertAuswahl);

}

function linkZusAttr_NEU111_AuswahlWertPre(id, IndexAuswahlWert, StdWertAuswahl )
{

	var fs = document.getElementById("fieldsetid"+id);
	
	for (var i=0;i<StdWertAuswahl.length;i++)
	{	  	
		var attribname = "linkZusAttr_IDXTIKL1111_AuswahlWert_kuerz[]"  ; 
		fs.appendChild(document.createElement("br"));
		fs.appendChild(document.createTextNode(" Attributskuerzel  : "));
		var input = document.createElement("input");
		input.setAttribute("type","text");
		input.setAttribute("name",attribname);
		input.setAttribute("value",StdWertAuswahl[i]["key"]);
		
		//input.setAttribute("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
		fs.appendChild(input);						
	
		var attribname = "linkZusAttr_IDXTIKL1111_AuswahlWert_Bez[]"  ; 
		//fs.appendChild(document.createElement("br"));
		fs.appendChild(document.createTextNode(" Attributsbezeichnung : "));
		var input = document.createElement("input");
		input.setAttribute("type","text");
		input.setAttribute("name",attribname);
		input.setAttribute("value",StdWertAuswahl[i]["val"]);
		//input.setAttribute("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
		fs.appendChild(input);						
	}	

	if(0<StdWertAuswahl.length)
	{
		var IndexAuswahlWert = 1 ;
		//var newindex  = index + 1;
	
		var href11 = document.createElement("a");
		href11.setAttribute("href","javascript:linkZusAttr_NEU111_AuswahlWert(\""+id+"\", " + IndexAuswahlWert + ")");
		href11.setAttribute("id","loeschendeslinks_AuswahlWert_"+id + "_" +IndexAuswahlWert);
		var href11Text = document.createTextNode(" weiteren Wert fuer Zusatzattribut ");
		href11.appendChild(href11Text);
		fs.appendChild(href11);		
	}else{
		linkZusAttr_NEU111_AuswahlWert(id ,0);
	}
	
}


function linkZusAttr_NEU111_AuswahlWert(id, IndexAuswahlWert )
{

	var fs = document.getElementById("fieldsetid" + id);
	
	if (0 < IndexAuswahlWert )
	{
		var Knoten = document.getElementById("loeschendeslinks_AuswahlWert_"+ id + "_" + IndexAuswahlWert);
		var Parent = Knoten.parentNode;
		Parent.removeChild(Knoten);

	}


	var attribname = "linkZusAttr_IDXTIKL1111_AuswahlWert_kuerz[]"  ; 
	fs.appendChild(document.createElement("br"));
	fs.appendChild(document.createTextNode(" Attributskuerzel " + IndexAuswahlWert + " : "));
	var input = document.createElement("input");
	input.setAttribute("type","text");
	input.setAttribute("name",attribname);
	//input.setAttribute("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
	fs.appendChild(input);						

	var attribname = "linkZusAttr_IDXTIKL1111_AuswahlWert_Bez[]"  ; 
	//fs.appendChild(document.createElement("br"));
	fs.appendChild(document.createTextNode(" Attributsbezeichnung " + IndexAuswahlWert + " : "));
	var input = document.createElement("input");
	input.setAttribute("type","text");
	input.setAttribute("name",attribname);
	//input.setAttribute("onBlur","linkZusAttr_AuswahlAnzahlMax(fs )");
	fs.appendChild(input);						


	IndexAuswahlWert = IndexAuswahlWert + 1 ;
	//var newindex  = index + 1;

	var href11 = document.createElement("a");
	href11.setAttribute("href","javascript:linkZusAttr_NEU111_AuswahlWert(\""+id+"\", " + IndexAuswahlWert + ")");
	href11.setAttribute("id","loeschendeslinks_AuswahlWert_"+id + "_" +IndexAuswahlWert);
	var href11Text = document.createTextNode(" weiteren Wert fuer Zusatzattribut ");
	href11.appendChild(href11Text);
	fs.appendChild(href11);					

}

//"Zusatzattribs_111112"
function Start_NeuerZusatzAttribut(id, CatID)
{
	//alert(id);
	
	var Knoten = document.getElementById("Start_NeuerZusatzAttribut_IDForDisable");
	var Parent = Knoten.parentNode;
	Parent.removeChild(Knoten);

	var StdWert=new Array();
	StdWert['AuswahlArt'] = "checkbox"; 
	StdWert['AuswahlAnzahlMax'] = "50"; 
	StdWert['AuswahlAnzahlDefault'] = "1"; 
	StdWert['Anzeigen'] = "1"; 
	StdWert['istPflicht'] = "0"; 
	StdWert['AuswahlWert_Default'] = "unbekannt"; 

	StdWertAuswahl = new Array();
		
	Start_ZusatzAttribut(id, CatID, "","",StdWert, StdWertAuswahl)
}

function Start_ZusatzAttribut(id, 
										CatID, 
										ZusatzAttributKuerzel, 
										ZusatzAttributBeschr, 
										Attribute,
										StdWertAuswahl)
{
	var fieldset_id= "fieldsetid" + id;
	var form_id= "form_" + id;
	
	var cont1 = document.getElementById(id);
	var cont = cont1.parentNode; 
	var f = document.createElement("form");
	f.setAttribute("action",".");
	f.setAttribute("method","POST");
	f.setAttribute("id", form_id );
	f.setAttribute("name","Zusatzattribut_Hinzufuegen");					
	var fs = document.createElement("fieldset");
	fs.setAttribute("id", fieldset_id );
	var legend = document.createElement("legend");
	legend.appendChild(document.createTextNode("Zusatzatribute"));
	fs.appendChild(legend);
	f.appendChild(fs);
	cont.appendChild(f);
	
	var input = document.createElement("input");
	input.setAttribute("type","hidden");
	input.setAttribute("name","DO_ZUSATZ_ATTRIBS_FOR_CATS");
	input.setAttribute("value","1");
	fs.appendChild(input);
	
	var input = document.createElement("input");
	input.setAttribute("type","hidden");
	input.setAttribute("name","CatID");
	input.setAttribute("value", CatID);
	fs.appendChild(input);

	var input = document.createElement("input");
	input.setAttribute("id","submitNEU1111");
	input.setAttribute("type","submit");
	input.setAttribute("value","abschicken");
	fs.appendChild(input);

	fs.appendChild(document.createElement("hr"));
		
	linkZusAttr_Do( id, 
	   ZusatzAttributKuerzel, 
		ZusatzAttributBeschr, Attribute, StdWertAuswahl);
	
}

/* 
	hier vielen Dank an Torsten Anacker 
   http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/
*/
function bbcode_insert(aTag, eTag, formName ,formElementName) {


	//'eingabe'
	//alert(formName);	
  //var input = document.forms[formName].elements[formElement];
  var input = document.forms[formName].elements[formElementName];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
  	//alert('ie 0');	
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
  	//alert('gecko 1');	
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
  	//alert('else 2');	
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


/* parameters are transfered through $_SESSION infos */
var ajax_wid2_addLink;
function wid2_addLink(){
	ajax_wid2_addLink = new sack();
	ajax_wid2_addLink.requestFile = wid_root + "mod_ajax/add_link.php";
	ajax_wid2_addLink.runAJAX();
	ajax_wid2_addLink.onCompletion = function() { wid2_addLink_ForResponse(); }; 
}

function wid2_addLink_ForResponse(){
	el = document.getElementById('id_LinkPruefResultat');
	el.innerHTML = ajax_wid2_addLink.response;
}

