window.onload = function() {
	// table hover im IE6
	trHover();
	
	// datepicker initialisieren
	//$$('input.DatePicker').each( function(el){
	//	new DatePicker(el);
	//});
	$$('input.DatePicker').DatePicker();
	
	$$('a.deleteIcon').each( function(el){
		el.addEvent('click', function(){
			deleteLebenslaufEntry(el.getParent().getParent());
		});
	});
	
	// tooltip
	$$('.tooltip').each(function(element,index) {
		var content = element.get('title').split('»');
		element.store('tip:title', content[0]);
		element.store('tip:text', content[1]);
	});
	var abaTooltip = new Tips('.tooltip', {
		className: 'tooltip',
		hideDelay: 0,
		showDelay: 0
	});
	
	// google maps
	if($('map')) {
		loadMaps();
	}
	
	// toggle
	if($('extSearchbox')) {
		//var extSearchToggle = new Fx.Slide('extSearchbox').hide();
		$('extSearch').addEvent('click', function(e){
			searchboxToggle('extSearchbox', '430px');
			//e.stop();
			//extSearchToggle.toggle();
		});
	}
	
	// popup
	popdown();
	
	// jobformular abschicken
	if($('JobContactFormSubmit')) {
		$('JobContactFormSubmit').addEvent('click', function(e) {
			if($defined($('file'+$('currentUploadId').value)) && $('currentUploadId').value <=5) {
				if($('file'+$('currentUploadId').value).value != '') {
					var check = confirm ('Eine oder mehrere Ihrer Dateien wurde noch nicht hochgeladen. Möchten Sie Ihre Bewerbung dennoch abschicken?');
					if(check == true) {
						$('jobContactForm').submit();
					} else {
						return false;
					}
				} else {
					$('jobContactForm').submit();
				}
			} else {
				$('jobContactForm').submit();
			}
		});
	}
	// unternehmensformular abschicken (ohne upload check)
	if($('UnternehmenContactFormSubmit')) {
		$('UnternehmenContactFormSubmit').addEvent('click', function(e) {
			$('jobContactForm').submit();
		});
	}
}


function searchboxToggle(el, height) {
	if($(el).getStyle('height') == '0px') {
		$(el).tween('height', height);
	} else {
		$(el).tween('height', '0px');
	}
}



var pop = null;
function popdown() {
	if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {
	var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
	if (!url) return true;
	w = (w) ? w += 20 : 150;  // 150px*150px is the default size
	h = (h) ? h += 25 : 150;
	var args = 'width='+w+',height='+h+',resizable,scrollbars';
	popdown();
	pop = window.open(url,'',args);
	return (pop) ? false : true;
}
window.onunload = popdown;

function jobSearchOnClick(jobsearch) {
	if(jobsearch.value == "Stichwort (z.B. Kaufmann)") {
		jobsearch.value = '';
		jobsearch.style.color = '#000000';
	}
}
function jobSearchOnBlur(jobsearch) {
	if(jobsearch.value == '') {
		jobsearch.value = 'Stichwort (z.B. Kaufmann)';
		jobsearch.style.color = '#999999';
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
// funktion: startCallback()
// funktion: completeCallback()
//
// beschreibung: funktionen des ajax-uploads (webtoolkit.aim.js)
// 
function startCallback() {
	// make something useful before submit (onStart)
	document.getElementById('status').innerHTML = '<img src="/el/icon_loading.gif" width="16" height="16" /> Wird geladen...';
	return true;
}
function completeCallback(response) {
	// make something useful after (onComplete)
	//document.getElementById('nr').innerHTML = parseInt(document.getElementById('nr').innerHTML) + 1;
	document.getElementById('uploadContainer').innerHTML = response;
	document.getElementById('status').innerHTML = '&nbsp;';
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
// funktion: deleteFile(string fileId)
//
// beschreibung: löscht das verzeichnis "fileId" im ordner der aktuellen session-id
// 
function deleteFile(fileId) {
	var updateFiles = new Request({ url: '/inc/upload.php', method: 'get' }).send('delete=true&fileId='+fileId);
	updateFiles.addEvent('success', function(response, xml) {
		$('uploadContainer').set('html', response);
	});
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
// funktion: createUploadField(element lastUploadElement, int id)
//
// beschreibung: erstellt ein neues datei-upload formularfeld:
//               <input id="file newId" name="file[newId]" onchange="addUploadField(this, newId);" type="file" />
// 
function createUploadField(lastUploadElement, id) {
	newId = id+1;
	if(id < 5) {
		// benötigte elemente erstellen
		var newUploadElementTR = new Element('tr');
		var newUploadElementTH = new Element('th');
		var newUploadElementTHlabel = new Element('label', { 'for': 'file'+newId });
		var newUploadElementTD = new Element('td', {'colspan':'2'});
		var newUploadElementINPUT = new Element('input', {
			'events': {
				'change': function(){
					createUploadField(newUploadElementINPUT, newId);
				}
			},
			'id': 'file'+newId,
			'name': 'file['+newId+']',
			'type': 'file'
		});
		
		// elemente untereinander verschachteln
		newUploadElementTH.injectInside(newUploadElementTR);
		newUploadElementTD.injectInside(newUploadElementTR);
		newUploadElementTHlabel.injectInside(newUploadElementTH);
		newUploadElementTHlabel.set('text', 'Datei '+newId+':');
		newUploadElementINPUT.injectInside(newUploadElementTD);
		
		//$('currentUploadId').set('value', newId);
		
		// neue tr in DOM einfügen
		newUploadElementTR.injectAfter(lastUploadElement.parentNode.parentNode);
	}
}

function checkUploads() {
	if($defined($('file'+$('currentUploadId').value)) && $('currentUploadId').value <=5) {
		if($('file'+$('currentUploadId').value).value != '') {
			var check = confirm ('Eine oder mehrere Ihrer Dateien wurde noch nicht hochgeladen. Möchten Sie Ihre Bewerbung dennoch abschicken?');
			if(check == true) {
				$('jobContactForm').submit();
			}
		} else {
			$('jobContactForm').submit();
		}
	} else {
		$('jobContactForm').submit();
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
// funktion: createLebenslaufEntry(element addLebenslaufTypElement, string currentLebenslaufIDElement)
//
// beschreibung: erstellt ein neues datei-upload formularfeld:
//               <input id="file newId" name="file[newId]" onchange="addUploadField(this, newId);" type="file" />
// '1' => 'Schule',
// '2' => 'Ausbildung',
// '3' => 'Beruf',
// '4' => 'Zeitarbeit'
//

function deleteLebenslaufEntry(LebenslaufEntry) {
	LebenslaufEntry.tween('opacity', '0').get('tween').chain(
		function() { var removedElement = LebenslaufEntry.dispose(); }
	);
}
function createLebenslaufEntry(addLebenslaufTypElement, currentLebenslaufIDElement) {
	newId = parseInt(currentLebenslaufIDElement.value)+1;
	type = addLebenslaufTypElement.value;
	if(type != 0) {
		// benötigte elemente erstellen
		var newLI = new Element('li');
		var newH3 = new Element('h3');
		
		newH3.injectInside(newLI);
		
		// von allen benötigte elemente erstellen
		var newLabelVon = new Element('label', {'for': 'DatumVon'+newId, 'class': 'lebenslaufDatum'});
		var newInputVon = new Element('input', {'id': 'DatumVon'+newId, 'class': 'DatePicker', 'name': 'LebenslaufEintrag['+newId+']['+type+'][DatumVon]', 'type': 'text', 'autocomplete': 'off' });
		new DatePicker(newInputVon);
		var newLabelBis = new Element('label', {'for': 'DatumBis'+newId, 'class': 'lebenslaufDatum'});
		var newInputBis = new Element('input', {'id': 'DatumBis'+newId, 'class': 'DatePicker', 'name': 'LebenslaufEintrag['+newId+']['+type+'][DatumBis]', 'type': 'text', 'autocomplete': 'off' });
		new DatePicker(newInputBis);
		var newLabelEinrichtung = new Element('label', {'for': 'Einrichtung'+newId, 'class': 'lebenslaufText'});
		var newInputEinrichtung = new Element('input', {'id': 'Einrichtung'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Einrichtung]', 'type': 'text', 'maxlength': '50'});
		
		var delLink = new Element('a', {
											'class': 'deleteIcon',
											'title': 'Diesen Eintrag löschen',
											'href': 'javascript:;',
											'html': '<span class="icon"><img src="/el/icon_delete.png" alt="Diesen Eintrag löschen" class="icon_delete" height="16" width="16">&nbsp;</span> <span class="text">Diesen Eintrag löschen</span>',
											'events': {
												'click': function(){
													deleteLebenslaufEntry(this.parentNode.parentNode);
												}
											}
								  });
		// Schule
		if(type == 1) {
			// benötigte elemente erstellen
			var newLabelAbschluss = new Element('label', {'for': 'Abschluss'+newId, 'class': 'lebenslaufCheck'});
			var newInputAbschluss = new Element('input', {'id': 'Abschluss'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Abschluss]', 'type': 'checkbox'});
			
			// elemente untereinander verschachteln
			newH3.set('text', 'Schule:');
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelVon.injectInside(tempDiv);
			newLabelVon.set('text', 'Von');
			newInputVon.injectInside(newLabelVon);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelBis.injectInside(tempDiv);
			newLabelBis.set('text', 'Bis');
			newInputBis.injectInside(newLabelBis);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelEinrichtung.injectInside(tempDiv);
			newLabelEinrichtung.set('text', 'Schultyp*');
			newInputEinrichtung.injectInside(newLabelEinrichtung);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelAbschluss.injectInside(tempDiv);
			newLabelAbschluss.set('text', 'Abschluss');
			newInputAbschluss.injectInside(newLabelAbschluss);
			
			// datepicker
			//MyDatePickerA = new PBBDatePicker($('DatumVon'+newId));
			//MyDatePickerB = new PBBDatePicker($('DatumBis'+newId));
		}
		
		// Ausbildung
		if(type == 2) {
			// benötigte elemente erstellen			
			var newLabelTaetigkeit = new Element('label', {'for': 'Taetigkeit'+newId, 'class': 'lebenslaufText'});
			var newInputTaetigkeit = new Element('input', {'id': 'Taetigkeit'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Taetigkeit]', 'type': 'text', 'maxlength': '50'});
			
			var newLabelAbschluss = new Element('label', {'for': 'Abschluss'+newId, 'class': 'lebenslaufCheck'});
			var newInputAbschluss = new Element('input', {'id': 'Abschluss'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Abschluss]', 'type': 'checkbox'});
			
			// elemente untereinander verschachteln
			newH3.set('text', 'Ausbildung:');
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelVon.injectInside(tempDiv);
			newLabelVon.set('text', 'Von');
			newInputVon.injectInside(newLabelVon);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelBis.injectInside(tempDiv);
			newLabelBis.set('text', 'Bis');
			newInputBis.injectInside(newLabelBis);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelEinrichtung.injectInside(tempDiv);
			newLabelEinrichtung.set('text', 'Firma/Schule*');
			newInputEinrichtung.injectInside(newLabelEinrichtung);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelTaetigkeit.injectInside(tempDiv);
			newLabelTaetigkeit.set('text', 'Ausbildung als*');
			newInputTaetigkeit.injectInside(newLabelTaetigkeit);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelAbschluss.injectInside(tempDiv);
			newLabelAbschluss.set('text', 'Abschluss');
			newInputAbschluss.injectInside(newLabelAbschluss);
		}
		
		// Berufliche Tätigkeit / Arbeitslosigkeit
		if(type == 3) {
			// benötigte elemente erstellen
			var newLabelTaetigkeit = new Element('label', {'for': 'Taetigkeit'+newId, 'class': 'lebenslaufText'});
			var newInputTaetigkeit = new Element('input', {'id': 'Taetigkeit'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Taetigkeit]', 'type': 'text', 'maxlength': '50'});
			
			// elemente untereinander verschachteln
			newH3.set('text', 'Berufliche Tätigkeit / Arbeitslosigkeit:');
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelVon.injectInside(tempDiv);
			newLabelVon.set('text', 'Von');
			newInputVon.injectInside(newLabelVon);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelBis.injectInside(tempDiv);
			newLabelBis.set('text', 'Bis');
			newInputBis.injectInside(newLabelBis);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelEinrichtung.injectInside(tempDiv);
			newLabelEinrichtung.set('text', 'Firma*');
			newInputEinrichtung.injectInside(newLabelEinrichtung);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelTaetigkeit.injectInside(tempDiv);
			newLabelTaetigkeit.set('text', 'Tätigkeit*');
			newInputTaetigkeit.injectInside(newLabelTaetigkeit);
		}
		
		// Zeitarbeit
		if(type == 4) {
			// benötigte elemente erstellen			
			var newLabelTaetigkeit = new Element('label', {'for': 'Taetigkeit'+newId, 'class': 'lebenslaufText'});
			var newInputTaetigkeit = new Element('input', {'id': 'Taetigkeit'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Taetigkeit]', 'type': 'text', 'maxlength': '50'});
			
			var newLabelOrt = new Element('label', {'for': 'Ort'+newId, 'class': 'lebenslaufText'});
			var newInputOrt = new Element('input', {'id': 'Ort'+newId, 'name': 'LebenslaufEintrag['+newId+']['+type+'][Ort]', 'type': 'text', 'maxlength': '50'});
			
			// elemente untereinander verschachteln
			newH3.set('text', 'Zeitarbeit:');
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelVon.injectInside(tempDiv);
			newLabelVon.set('text', 'Von');
			newInputVon.injectInside(newLabelVon);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelBis.injectInside(tempDiv);
			newLabelBis.set('text', 'Bis');
			newInputBis.injectInside(newLabelBis);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelEinrichtung.injectInside(tempDiv);
			newLabelEinrichtung.set('text', 'Firma*');
			newInputEinrichtung.injectInside(newLabelEinrichtung);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelTaetigkeit.injectInside(tempDiv);
			newLabelTaetigkeit.set('text', 'Tätigkeit*');
			newInputTaetigkeit.injectInside(newLabelTaetigkeit);
			
			var tempDiv = new Element('div');
			tempDiv.injectInside(newLI);
			newLabelOrt.injectInside(tempDiv);
			newLabelOrt.set('text', 'Ort*');
			newInputOrt.injectInside(newLabelOrt);
		}
		var newBr = new Element('br', { 'class': 'clear' });
		newBr.injectInside(newLI);
		// ie fix: zusätzliches <br />
		var newBr = new Element('br');
		newBr.injectInside(newLI);
		
		delLink.injectInside(newH3);
		/*
		temp1 = new PBBDatePicker($('DatumVon'+newId));
		temp2 = new PBBDatePicker($('DatumBis'+newId));
		*/
		// neue tr in DOM einfügen
		newLI.injectBefore(addLebenslaufTypElement.parentNode);
	}
	addLebenslaufTypElement.value = 0;
	currentLebenslaufIDElement.value = newId;
}



///////////////////////////////////////////////////////////////////////////////////////////////////////////
// funktion: createLebenslaufEntry(element addLebenslaufTypElement, string currentLebenslaufIDElement)
//
// beschreibung: erstellt ein neues datei-upload formularfeld:
//               <input id="file newId" name="file[newId]" onchange="addUploadField(this, newId);" type="file" />
// '1' => 'Schule',
// '2' => 'Ausbildung',
// '3' => 'Beruf',
// '4' => 'Zeitarbeit'
//
trHover = function() {
	if (document.all&&document.getElementById) {
		if(document.getElementById("jobliste")) {
			if(navRoot = document.getElementById("jobliste").childNodes[1]) {
				for (i=0; i<navRoot.childNodes.length; i++) {
					node = navRoot.childNodes[i];
					//alert(node.nodeName);
					if (node.nodeName=="TR") {
						node.onmouseover=function() {
							this.className+=" over";
						}
						node.onmouseout=function() {
							this.className=this.className.replace(" over", "");
						}
					}
				}
			}
		}
	}
}