var DisabledLinkHref = 'javascript:void(0)';
var DisabledLinkTarget = '';
var LinkArray = new Array;
var imageid = 'bild';
var type;
var oEditor;
var parentid;

var Coloreditor_id;
var Texteditor_id;
var Filebrowser_id;


/*
valid 1 = schon offen
	  0 = nicht offen
*/
var valid = 0;

function BrowseServer(refimageid,name,id)
{
	imageid = refimageid;
	
	var finder = new CKFinder() ;
	finder.BasePath = '/library/ckfinder/' ;
	finder.StartupPath = name+':/'+id;
	finder.StartupFolderExpanded = true ;
	finder.RememberLastFolder = false;
	finder.SelectFunction = SetFileField ;
	finder.Popup('1024','950') ;
}

function SetFileField( fileUrl )
{
	document.getElementById('imgpathhidden_'+imageid).value = fileUrl;
	document.getElementById(imageid).src = fileUrl;
}

var imageid2 = '';
function BrowseServer2(refimageid,name,id)
{
	imageid2 = refimageid;
	
	var finder = new CKFinder() ;
	finder.BasePath = '/library/ckfinder/' ;
	finder.StartupPath = name+':/'+id;
	finder.StartupFolderExpanded = true ;
	finder.RememberLastFolder = false;
	finder.SelectFunction = SetFileField2 ;
	finder.Popup() ;
}

function SetFileField2( fileUrl )
{
	document.getElementById(imageid2).value = fileUrl;
}


function DisabledLink(i,h,t)
{
	this.index = i;
	this.href = h;
	this.target = t;
} 
/*
refid = zu ändernde ID
reftype 1 = Text
		2 = Bild
refparentid = übergeordnete Tag id des Bildes

*/
function edit(refid,reftype,refparentid)
{
	// prüfen, ob CKFinder schon offen ist.
	// currentckfinderwindow siehe library/ckfinder/ckfinder.js Zeilen 16 und 122
	isopenckfinder = (currentckfinderwindow && currentckfinderwindow.open && !currentckfinderwindow.closed && currentckfinderwindow.location);
	if(isopenckfinder==null)
		isopenckfinder = false;
	isopenfckeditor = (document.getElementById('edittext').style.display=='block');
	if(!isopenckfinder&&!isopenfckeditor&&(valid==0))
	{
		var inhalt;
		var edit_window;
		var links;
		var linkslenght;
		var i = 0;
		type = reftype;
		Texteditor_id = refid;
		
		//window.scrollTo(0,0);
		document.getElementById('seite').style.zindex="1";
		/* auskommentiert THO
		wenn CKFinder-Fenster durch als Fenster geschlossen wurde (kein Bild gewählt) waren sonst keine Links mehr aktiv)
		for(i=0;i<document.links.length;i++)
		{
			a = document.links[i].href;
			b = document.links[i].target;
			LinkArray[i] = new DisabledLink(i,a,b);
			document.links[i].href = DisabledLinkHref;
			document.links[i].target = DisabledLinkTarget;
		}
		*/
		//document.getElementById('seite').style.filter="alpha(opacity=20)";
		//document.getElementById('seite').style.MozOpacity="0.2";
			
		if (type == 1)
		{	
			inhaltselement = document.getElementById(Texteditor_id);
			inhalt = inhaltselement.innerHTML;
			oEditor = FCKeditorAPI.GetInstance('input');
			oEditor.Focus();
			oEditor.SetHTML(inhalt);
		
			//editorpos = findPos(inhaltselement);
			//document.getElementById('edittext').style.left = editorpos[0]+10;
			//document.getElementById('edittext').style.top = editorpos[1]+10;
			document.getElementById('edittext').style.zindex="2";
			document.getElementById('edittext').style.display="block";
			
			//document.getElementById('edittext').style.filter="alpha(opacity=100)";
			//document.getElementById('edittext').style.MozOpacity="1";
		}
		if(type == 2)
		{
			parentid = refparentid;
			var foldername = document.getElementById('foldername').value;
			var userid = document.getElementById('userid').value;
			BrowseServer(refid, foldername, userid);
		}
	}
	else
	{
		alert("Bitte erst den offenen Editor schließen!");
	}
}

function save()
{
	var links;
	var i = 0;
	
	
	//document.getElementById('seite').style.filter="alpha(opacity=100)";
	//document.getElementById('seite').style.MozOpacity="1";
	
	for(i=0;i<LinkArray.length;i++)
	{
		document.links[LinkArray[i].index].href = LinkArray[i].href;
		document.links[LinkArray[i].index].target = LinkArray[i].target;
	}
	if (type == 1)
	{
		inhalt = oEditor.GetHTML();
		document.getElementById(Texteditor_id+"_input").value = inhalt;
		document.getElementById(Texteditor_id).innerHTML = inhalt;
		document.getElementById('edittext').style.zindex="1";
		document.getElementById('edittext').style.display="none";
		var changeduntilnow = document.getElementById('fieldschanged').value;
		if(changeduntilnow.length>0)
			changeduntilnow = changeduntilnow + '#';
		 changeduntilnow = changeduntilnow + Texteditor_id;
		document.getElementById('fieldschanged').value = changeduntilnow;
	}
	if(type == 2)
	{
		document.getElementById('editimage').style.zindex="1";
		document.getElementById('editimage').style.display="none";
		
		var parent = document.getElementById(parentid);
		tochange = parent.firstChild;
		tochange.src = document.getElementById('bild').value;
		document.getElementById('logo_input').value = document.getElementById('bild').value
	}
	//valid=0;	
}

function changecolor(refid)
{
	// prüfen, ob CKFinder schon offen ist.
	// currentckfinderwindow siehe library/ckfinder/ckfinder.js Zeilen 16 und 122
	isopenckfinder = (currentckfinderwindow && currentckfinderwindow.open && !currentckfinderwindow.closed && currentckfinderwindow.location);
	if(isopenckfinder==null)
		isopenckfinder = false;
	isopenfckeditor = (document.getElementById('edittext').style.display=='block');
	if(!isopenckfinder&&!isopenfckeditor&&(valid==0))
	{
		valid = 1;
		Coloreditor_id = refid;
		/*for(i=0;i<document.links.length;i++)
		{
			a = document.links[i].href;
			b = document.links[i].target;
			LinkArray[i] = new DisabledLink(i,a,b);
			document.links[i].href = DisabledLinkHref;
			document.links[i].target = DisabledLinkTarget;
		}*/
		//window.scrollTo(0,0);
		document.getElementById('seite').style.zindex="1";
		
		//editorpos = findPos(document.getElementById(refid));
		//document.getElementById('editbgcolor').style.left = editorpos[0]+10;
		//document.getElementById('editbgcolor').style.top = editorpos[1]+10;
		document.getElementById('editbgcolor').style.zindex="2";
		document.getElementById('editbgcolor').style.display="block";
	}
	else
	{
		alert("Bitte erst den offenen Editor schließen!");
	}
}

function EditAddress()
{
	// prüfen, ob CKFinder schon offen ist.
	// currentckfinderwindow siehe library/ckfinder/ckfinder.js Zeilen 16 und 122
	isopenckfinder = (currentckfinderwindow && currentckfinderwindow.open && !currentckfinderwindow.closed && currentckfinderwindow.location);
	if(isopenckfinder==null)
		isopenckfinder = false;
	isopenfckeditor = (document.getElementById('edittext').style.display=='block');
	if(!isopenckfinder&&!isopenfckeditor&&(valid==0))
	{
		valid = 1;
		//var editorpos = findPos(document.getElementById('address')); 
		//document.getElementById('adresseditor').style.left = editorpos[0]+300; 
		//document.getElementById('adresseditor').style.top = editorpos[1]+10;
		document.getElementById('adresseditor').style.display = 'block';
	}
	else
	{
		alert("Bitte erst den offenen Editor schließen!");
	}
}

function dx (d) {
  max = 255;
  if (d > max)
    return "null";
  if (d <= -1)
    return  "null";
  var z = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
    "A", "B", "C", "D", "E", "F");
  var x = "";
  if (d == 0)
    return "00";
  var i = 1, v = d, r = 0;
  while (v > 15) {
    v = Math.floor(v / 16);
    i++;
  }
  v = d;
  for (j=i; j >= 1; j--) {
    x = x + z[Math.floor(v / Math.pow(16,j-1))];
    v = v - (Math.floor(v / Math.pow(16,j-1)) * Math.pow(16,j-1));
  }
  if (d <= 15)
    x = "0" + x;
  return x;
}

function Neu () {
  document.getElementById('editbgcolor').style.zindex="1";
  document.getElementById('editbgcolor').style.display="none";
  if(document.Auswahl.HR.value == "") document.Auswahl.HR.value = "238";
  if(document.Auswahl.HG.value == "") document.Auswahl.HG.value = "238";
  if(document.Auswahl.HB.value == "") document.Auswahl.HB.value = "238";
  var hr = eval(document.Auswahl.HR.value);
  var hg = eval(document.Auswahl.HG.value);
  var hb = eval(document.Auswahl.HB.value);
  var hrx = dx(hr);
  if (hrx == "null") {
    alert("Rotwert Hintergrund ungueltig!");
    return;
  }
  var hgx = dx(hg);
  if (hgx == "null") {
    alert("Gruenwert Hintergrund ungueltig!");
    return;
  }
  var hbx = dx(hb);
  if (hbx == "null") {
    alert("Blauwert Hintergrund ungueltig!");
    return;
    }
  var HString = "#" + hrx + hgx + hbx;
  var HSet = hrx + hgx + hbx;
  document.Auswahl.HHex.value = HString;
  /* parent.frames[1].document.bgColor = HSet; */
  document.getElementById(Coloreditor_id).style.backgroundColor = HString;
  document.getElementById(Coloreditor_id+"_bg").value = HString;
  /*parent.Anzeige.document.open();
  parent.Anzeige.document.write(s);
  parent.Anzeige.document.close();*/
  /* return(true); */
  for(i=0;i<LinkArray.length;i++)
  {
	document.links[LinkArray[i].index].href = LinkArray[i].href;
	document.links[LinkArray[i].index].target = LinkArray[i].target;
  }
  valid = 0;
}
function Farb (Feld, R, G, B) {
  if (Feld == "V") {
    document.Auswahl.VR.value = R;
    document.Auswahl.VG.value = G;
    document.Auswahl.VB.value = B;
  }
  if (Feld == "H") {
    document.Auswahl.HR.value = R;
    document.Auswahl.HG.value = G;
    document.Auswahl.HB.value = B;
  }
  /* return(true); */
}

function layout_choice(layoutid)
{
	if(layoutid == "")
	{
		return false;
	}
	else
	{
		document.getElementById('layoutid').value=layoutid;
		return true;
	}
}

function TransferContent(source)
{
	if(document.getElementById('chiffretype-1').checked)
		return;
	var headline = document.getElementById('Fest'+source.id);
	if(headline!=null) {
   		headline.style.display = (source.value.length>0?'block':'none');
	}
	var target = document.getElementById('ziel'+source.id);
	if(target!=null) {
		target.style.display = (source.value.length>0?'block':'none');
		// Sonderloesungen fuer Spezialfelder
		if(source.id=='Vorname')
		{
			if(source.value.length==0)
				document.getElementById('zielAnsprechpartner').style.display = (document.getElementById('Nachname').value.length>0?'block':'none');
			else
				document.getElementById('zielAnsprechpartner').style.display = 'block';
		}
		if(source.id=='Nachname')
		{
			if(source.value.length==0)
				document.getElementById('zielAnsprechpartner').style.display = (document.getElementById('Vorname').value.length>0?'block':'none');				
			else
				document.getElementById('zielAnsprechpartner').style.display = 'block';
		}
		var newtext = '';
		if(source.id=='countrycode')
			newtext = source.options[source.selectedIndex].text;
		else
			newtext = source.value.replace(new RegExp( "\\n", "g" ), "<br>");
		if((source.id=='Referenznummer')&&(newtext.length>0))
			newtext = 'Referenznummer '+newtext;
		if((source.id=='phonenrINTL')||(source.id=='phonenrAREA')||(source.id=='phonenr'))
		{
			phoneall = document.getElementById('phonenrAREA').value + document.getElementById('phonenr').value;
			document.getElementById('zielTelefonnummer').style.display = ((phoneall.replace('0', '').length>0)?'block':'none');
		}
		if(source.id=='phonenrINTL')
			newtext = '+'+newtext;
		if(source.id=='phonenrAREA')
		{
			if(newtext.substring(0,1)=='0')
				newtext = newtext.substring(1);
			newtext = '(0)'+newtext;
		};
		if((source.id=='faxnrINTL')||(source.id=='faxnrAREA')||(source.id=='faxnr'))
		{
			phoneall = document.getElementById('faxnrAREA').value + document.getElementById('faxnr').value;
			document.getElementById('zielFax').style.display = ((phoneall.replace('0', '').length>0)?'block':'none');
		}
		if(source.id=='faxnrINTL')
			newtext = '+'+newtext;
		if(source.id=='faxnrAREA')
		{
			if(newtext.substring(0,1)=='0')
				newtext = newtext.substring(1);
			newtext = '(0)'+newtext;
		};
		if((source.id=='Homepage')&&(newtext.length>7)&&(newtext.substring(0, 7)!='http://'))
			newtext = 'http://' + newtext;

		// Ende Sonderloesungen
		target.innerHTML = newtext;
		// Email und Website: auch href setzen zum Verlinken
		if(source.id=='Email')
			target.href = 'mailto:'+newtext;
		if(source.id=='Homepage')
			target.href = newtext;
	};
}

function charCounter(charInputSrcName, maxCharCount, outputTargetName) {   
  
   // Zugriffsvariablen festlegen   
   var charInputSrc = document.getElementById(charInputSrcName);   
   var outputTargetSrc = document.getElementById(outputTargetName);   
  
   if (charInputSrc != null) {   
      // Länge des Feldinhaltes prüfen   
      if (charInputSrc.value.length <= maxCharCount) {   
         // Anzahl Restzeichen berechnen und Zeichenanzeige aktualisieren   
         charsToGo = maxCharCount - charInputSrc.value.length;   
         outputTargetSrc.innerHTML = '(' + charsToGo + '&nbsp;Zeichen)';   
      }   
      else  
         // Eingegebenes Zeichen wieder abschneiden   
         charInputSrc.value = charInputSrc.value.substring(0, maxCharCount);   
         charsToGo = maxCharCount - charInputSrc.value.length;   
      }   
}   

function counterOutput(charInputSrcName, maxCharCount, outputTargetName)   
{   
   // Zugriffsvariablen festlegen   
   var charInputSrc = document.getElementById(charInputSrcName);   
  
   // globale Variable prüfen   
   if (charsToGo == null) {   
      // Ausgabewert berechnen   
      charsCount = maxCharCount - charInputSrc.value.length; }   
   else  
      // Ausgabefeld initialisieren   
      charsCount = charsToGo;   
         document.write('<span name=\"'  
            + outputTargetName + '\" id=\"' + outputTargetName +'\">('  
            + charsCount + '&nbsp;Zeichen)</span>')   
} 

function ToggleColorButtons()
{
	var imgs = document.getElementsByTagName('img');
	for(var i=0; i<imgs.length; i++)
	{
		if(imgs[i].className=='editbg')
		{
			imgs[i].style.display = (imgs[i].style.display=='none'?'block':'none');
		}
	}
}

/* *************************************************************
 * Author: THO
 ***************************************************************/

function TextAnzeigeChiffreChanged(source)
{
	var tmp = document.getElementById('zielChiffrenr');
	if(tmp!=null)
		tmp.style.display = (source.value==1?'block':'none');
	document.getElementById('zielFirmenname').style.display = (source.value==1?'none':'block');
	document.getElementById('zielAnsprechpartner').style.display = (source.value==1?'none':'block');
	document.getElementById('zielStrasseHausnummer').style.display = (source.value==1?'none':'block');
	document.getElementById('zielPLZOrt').style.display = (source.value==1?'none':'block');
	document.getElementById('zielcountrycode').style.display = (source.value==1?'none':'block');
	document.getElementById('zielTelefonnummer').style.display = (source.value==1?'none':'block');
	document.getElementById('zielFax').style.display = (source.value==1?'none':'block');
	document.getElementById('zielEmailDIV').style.display = (source.value==1?'none':'block');
	document.getElementById('zielHomepageDIV').style.display = (source.value==1?'none':'block');
}

function LayoutAnzeigeChiffreChanged(source)
{
	var tmp = document.getElementById('zielChiffrenr');
	if(tmp!=null)
		tmp.style.display = (source.value==1?'block':'none');
	document.getElementById('address').style.display = (source.value==1?'none':'block');
}

function TransferAllStyles()
{
	// Felder, die nur bei Aenderung gespeichert werden
	var changeduntilnow = document.getElementById('fieldschanged').value;
	if(changeduntilnow.length>0)
	{
		var textfields = changeduntilnow.split('#');
		for(var i=0; i<textfields.length; i++)
		{
			var source = document.getElementById(textfields[i]);
			var target = document.getElementById(textfields[i]+'_input');
			if((source!=null)&&(target!=null))
				target.value = source.innerHTML;
		}
	};
	// Felder, die immer gespeichert werden
	var allwaysfields = new Array('adtitle', 'referencenumber', 'excerciseheadline', 'qualificationheadline', 'webeetheadline', 'contactheadline');
	for(var i=0; i<allwaysfields.length; i++)
	{
		var source = document.getElementById(allwaysfields[i]);
		var target = document.getElementById(allwaysfields[i]+'_input');
		if((source!=null)&&(target!=null))
			target.value = source.innerHTML;
	}
	// Farbfelder
	var colorfields = new Array('left_top', 'left_middle', 'left_bottom', 'logo_div', 'middle_middle', 'middle_bottom', 'right_top', 'right_middle', 'right_bottom');
	for(var i=0; i<colorfields.length; i++)
	{
		var source = document.getElementById(colorfields[i]);
		var target = document.getElementById(colorfields[i]+'_bg');
		if((source!=null)&&(target!=null))
			target.value = source.style.backgroundColor;
	}
}

function CheckIndizierung()
{
	var errortext = '';
	if(document.getElementById('joblocation_municipality').value.length==0)
		errortext = errortext + 'Arbeitsort fehlt. ';
	if(document.getElementById('joblocation_plz').value.length==0)
		errortext = errortext + 'Postleitzahl fehlt. ';
	var selidx = document.getElementById('joblocation_country').selectedIndex;
	if(document.getElementById('joblocation_country').options[selidx].text == 'KEIN/UNBEKANNT')
		errortext = errortext + 'Kein Land angegeben. ';
	if(!document.getElementById('SocialInsurance-0').checked && !document.getElementById('SocialInsurance-1').checked)
		errortext = errortext + 'Angabe zur Sozialversicherungspflicht fehlt. ';
	if(document.getElementById('DrivingLicence-1').checked 
	    || document.getElementById('DrivingLicence-2').checked
	    || document.getElementById('DrivingLicence-3').checked
	    || document.getElementById('DrivingLicence-4').checked
	    )
	    {
			if(!document.getElementById('Vehicle-0').checked && !document.getElementById('Vehicle-1').checked)
				errortext = errortext + 'Angabe zum eigenen Fahrzeug fehlt. ';
	    }
	    else {
			if(document.getElementById('Vehicle-1').checked)
				errortext = errortext + 'Geben Sie an, welcher Fahrzeugtyp vorhanden sein muss. ';
	    }
    if(errortext.length > 1)
		errortext = 'Bitte alle Pflichtfelder eingeben: '+errortext;
	if(!IsNumeric(document.getElementById('Salary').value)&&(document.getElementById('Salary').value.length>0))
		errortext = 'Gehaltsangabe muss eine Zahl sein. ' + errortext;
	return errortext;
}
