﻿/*##############   (c) delphi-HR Systems GmbH, Hamburg, Germany   ##################################

	Hella extern

#########################################################################################*/


function popUpWin(fileURL,title,xSize,ySize)
{
	WinName = window.open(fileURL,title,'resizable=no,location=0,directories=0,status=yes,menubar=0,scrollbars=1,toolbar=0,width='+xSize+',height='+ySize);
	WinName.focus();
}

function objEventHandler( _obj, _event, _handler ) {	
	if ( _obj.addEventListener ) {
		_obj.addEventListener( _event , _handler, false);
	} else {
		_onevent = 'on' + _event;
		if ( _obj.attachEvent ){     // IE
			_obj.attachEvent(_onevent, _handler);
		}	
	}
}

/* ################################################
	Funktion um Dropdowns zu füllen
################################################# */
function fillSelect ( obj, labels ) {
	obj.options.length = 1;
	obj.disabled = 1;
	for (i = 0; i < labels.length; i++) {
		var x = labels[i].attributes.item(0).nodeValue;
		var y = labels[i].attributes.item(1).nodeValue;

		var moption = document.createElement("option");
		moption.text = y;
		moption.value = x;
		try {
			obj.add(moption, null); // standards compliant; doesn't work in IE
		}
		catch(ex) {
			obj.add(moption); // IE only
		}		
	} 
	if (labels.length) obj.disabled = 0;
}

/* ################################################
	Funktionen um Selectbutton auf der Initiativseite zu ändern
################################################# */

function disableSelect () {
	var submit = document.getElementById( 'submit' );
	//alert(submit.style.a:hover.textDecoration);
	submit.style.color = '#777777';
	//submit.style.textDecoration = 'none';
	submit.disabled = 1;
}

function enableSelect () {
	var submit = document.getElementById( 'submit' );
	submit.style.color = '#0537B4';
	//submit.style.textDecoration = 'underline';
	submit.disabled = 0;
}


/* ################################################
################################################# */
function initAjax () {
	var obj = document.getElementById( 'loc_nr' );
	objEventHandler( obj, "change", ajax_fill_cat );
	if (obj.selectedIndex) {
		ajax_fill_cat();
	} else {
		var obj = document.getElementById( 'job_nr' );
		obj.disabled = 1;
		disableSelect ()	
	}
	var obj = document.getElementById( 'job_nr' );
	objEventHandler( obj, "change", ajax_check_job );
	if (!obj.selectedIndex) {
		disableSelect ()	
	}
}

function ajax_check_job () {
	var obj = document.getElementById( 'job_nr' );
	disableSelect ()	
	if ( obj.selectedIndex ) {
		enableSelect ();
	}
}

function ajax_fill_cat (  ) {
	var loc_nr = document.getElementById('loc_nr').value;
	var lang_nr = document.getElementById('lang_nr').value;

	var job_nr = document.getElementById( 'job_nr' );
	job_nr.options.length = 1;
	var saveBackground = job_nr.style.backgroundColor;
	
	if ( loc_nr == "") {
		job_nr.disabled = 1;
		disableSelect ()	
		return;
	}

	var req = getRequest();
	req.onreadystatechange = function () {   
		switch(req.readyState) {
			case 4:
				if ( req.status == 200 ) {
					var job_nr = document.getElementById( 'job_nr' );
					var valueListNode = req.responseXML;
					if (valueListNode == null) {
						alert('kein gültiges XML!' + req.responseText );
					}
					var labels = valueListNode.documentElement.getElementsByTagName('category');
					fillSelect ( job_nr, labels );
				} else {    
					alert("Fehler:" + req.status); 
				}
				break;
			default:
				return false;
				break;     
			}
			return true;
		};

	try {
		req.open("GET", window.ajaxpl + 'ajax.pl?type=cat;loc_nr=' + loc_nr + ';lang_nr=' +lang_nr, true);
	}
	catch ( open ){
		alert(open);
	}
	req.send(null);
		
}
 

/* ################################################
################################################# */
function getRequest () {
	 var req = null;

	try{
		req = new XMLHttpRequest();
	}
	catch (ms){
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (nonms){
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (failed){
				req = null;
			}
		}  
	}

	if (req == null)
		  alert("Error creating request object!");
	return req;
}




 