/* 
	Javascript library for schulmeister-consulting.at
	Version 0.1
	Author: Michael Quas
	Dependencies: DoJo 1.6
*/

var comboFunctionOpen = 0;
var comboLocationOpen = 0;

function initLanguage(lang) {
	switch (lang) {
		case "de":
			txt_jobSearch = "Suchtext eingeben";
			txt_selFunction = "Funktion auswählen";
			txt_selLocation = "Standort auswählen";
		break;
		case "en":
			txt_jobSearch = "Searchtext";
			txt_selFunction = "select function";
			txt_selLocation = "select location";
		break;
		case "cz":
			txt_jobSearch = "Zadejte hledaný text";
			txt_selFunction = "select function";
			txt_selLocation = "select location";
		break;
		default:
			txt_jobSearch = "Suchtext eingeben";
			txt_selFunction = "Funktion auswählen";
			txt_selLocation = "Standort auswählen";
		break;
	}
}
function initContent() {
	//dojo.byId('uploadForm').style.display = "none";
	if (dijit.byId("srchPosition")) {
		dijit.byId("srchPosition").destroy();
	}
	if (dijit.byId("srchRegion")) {
		dijit.byId("srchRegion").destroy();
	}
	if (dijit.byId("srchText")) {
		dijit.byId("srchText").destroy();
	}
	if (dijit.byId("formBtn")) {
		dijit.byId("formBtn").destroy();
	}
}
function initJobSearchText() {
	dojo.byId('jobSearchText').value = txt_jobSearch;
	dojo.byId('jobFunctionText').innerHTML = txt_selFunction;
	dojo.byId('jobLocationText').innerHTML = txt_selLocation;
}
function clearJobSearchText() {
	if (dojo.byId('jobSearchText').value == txt_jobSearch) {
		dojo.byId('jobSearchText').value = "";
	}
}
function changeJobSearchText() {
	if (dojo.byId('jobSearchText').value == "") {
		dojo.byId('jobSearchText').value = txt_jobSearch;
		dojo.byId('srchtxt').value = "";
	} else {
		dojo.byId('srchtxt').value = dojo.byId('jobSearchText').value;
	}
}
function toggleFunctionCombo(node) {
	clearJobComboBoxes("function");
	if (comboFunctionOpen == 0) {
		var wipeIn = dojo.fx.wipeIn({node: node,duration: 600});
		var fadeIn = dojo.fadeIn({node: node,duration: 600});
		var currentAnimation = dojo.fx.combine([fadeIn, wipeIn ]);
		comboFunctionOpen = 1;
		
	} else {
		var wipeOut = dojo.fx.wipeOut({node: node,duration: 600});
		var fadeOut = dojo.fadeOut({node: node,duration: 600});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
		comboFunctionOpen = 0;
	}
	currentAnimation.play();
}
function toggleLocationCombo(node) {
	var positionID = dojo.byId('positionID').value;
	var lang = dojo.byId('langID').value;
	//alert(lang);
	var xhrArgs = {
		url: "./getLocations.pl?lang=" + lang + "&positionID=" + positionID,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			dojo.html.set(dojo.byId("combo_location"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
	clearJobComboBoxes("location");
	if (comboLocationOpen == 0) {
		var wipeIn = dojo.fx.wipeIn({node: node,duration: 600});
		var fadeIn = dojo.fadeIn({node: node,duration: 600});
		var currentAnimation = dojo.fx.combine([fadeIn, wipeIn ]);
		comboLocationOpen = 1;
		
	} else {
		var wipeOut = dojo.fx.wipeOut({node: node,duration: 600});
		var fadeOut = dojo.fadeOut({node: node,duration: 600});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
		comboLocationOpen = 0;
	}
	currentAnimation.play();
}
function clearJobComboBoxes(toClear) {
	//alert("loc: " + comboLocationOpen + ", Fkt: " + comboFunctionOpen);
	if (comboLocationOpen == 1 && toClear != "location") {
		//alert("clearing location");
		var wipeOut = dojo.fx.wipeOut({node: "combo_location",duration: 600});
		var fadeOut = dojo.fadeOut({node: "combo_location",duration: 600});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
		comboLocationOpen = 0;
		currentAnimation.play();
	}
	if (comboFunctionOpen == 1 && toClear != "function") {
		//alert("clearing function");
		var wipeOut = dojo.fx.wipeOut({node: "combo_funktion",duration: 600});
		var fadeOut = dojo.fadeOut({node: "combo_funktion",duration: 600});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
		comboFunctionOpen = 0;
		currentAnimation.play();
	}
}
function selectFunction(id, title) {
	dojo.byId('job_funktion').innerHTML = title;
	dojo.byId('positionID').value = id;
	toggleFunctionCombo('combo_funktion');
}
function selectLocation(id, title) {
	dojo.byId('job_ort').innerHTML = title;
	dojo.byId('locationID').value = id;
	toggleLocationCombo('combo_location');
}
function setPosition(obj) {
	var id = dijit.byId('srchPosition').attr('value');
	//alert(id);
	dojo.byId('job_pos').value = id;
}
function setLocation(obj) {
	var id = dijit.byId('srchRegion').attr('value');
	//alert(id);
	dojo.byId('job_loc').value = id;
}
function setSrchTxt(obj) {
	var txt = dijit.byId('srchText').get('value');
	//alert(id);
	dojo.byId('job_srch').value = txt;
}
function sendFeedback() {
	//alert('send mail...');
	dojo.style('loader', 'display', 'block');
	var name = dijit.byId('fullname').value;
	var sender = dijit.byId('email').value;
	var msg =  dijit.byId('msg').value;
	
	var myObject = new dojo.rpc.JsonService("http://www.schulmeister-consulting.at/smc.smd");
	var myDeferred = myObject.sendFeedback(
		name, 
		sender,
		msg
	);
	myDeferred.addCallback(response_sendFeedback);
}
function response_sendFeedback(respObj) {
	//alert('back...');
	dojo.style('loader', 'display', 'none');
	if (respObj.errorcode != 0) {
		 myDialog = new dijit.Dialog({
			title: "Fehler",
			content: respObj.errordescr,
			style: "width: 400px"
		});
		myDialog.show();
		//alert("Error " + respObj.errorcode + "\n\n" + respObj.errordescr);
		return false;
	} else {
		myDialog = new dijit.Dialog({
			title: "OK",
			content: 'Vielen Dank!\n\nIhr Feedback wurde erfolgreich versendet.',
			style: "width: 400px"
		});
		myDialog.show();
	}
}
function getEvents(lang) {
	var myObject = new dojo.rpc.JsonService("http://www.schulmeister-consulting.at/smc.smd");
	var myDeferred = myObject.getEvents(lang);
	myDeferred.addCallback(response_getEvents);
}
function response_getEvents(respObj) {
	if (respObj.errorcode != 0) {
		 myDialog = new dijit.Dialog({
			title: "Fehler",
			content: respObj.errordescr,
			style: "width: 400px"
		});
		myDialog.show();
		//alert("Error " + respObj.errorcode + "\n\n" + respObj.errordescr);
		return false;
	} else {
		dojo.html.set(dojo.byId("events"), respObj.html,{ parseContent: true});
	}
}
function showAllEvents(lang) {
	// var myObject = new dojo.rpc.JsonService("http://www.schulmeister-consulting.at/smc.smd");
	// var myDeferred = myObject.getAllEvents(lang);
	// myDeferred.addCallback(response_getAllEvents);
	var xhrArgs = {
		url: "./events2.pl?lang=" + lang,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function response_getAllEvents(respObj) {
	if (respObj.errorcode != 0) {
		 myDialog = new dijit.Dialog({
			title: "Fehler",
			content: respObj.errordescr,
			style: "width: 400px"
		});
		myDialog.show();
		//alert("Error " + respObj.errorcode + "\n\n" + respObj.errordescr);
		return false;
	} else {
		dojo.html.set(dojo.byId("dynContent"), respObj.html,{ parseContent: true});
	}
}
function getJobForm(lang) {
	var xhrArgs = {
		url: "./getPositions.pl?lang=" + lang,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			dojo.html.set(dojo.byId("combo_funktion"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
	var positionID = dojo.byId('positionID').value;
	var xhrArgs = {
		url: "./getLocations.pl?lang=" + lang + "&positionID=" + positionID,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			dojo.html.set(dojo.byId("combo_location"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
	
}
function doSearch(page) {
	var positionID=dojo.byId('positionID').value;
	var locationID=dojo.byId('locationID').value;
	var languageID=dojo.byId('langID').value;
	var search=dojo.byId('srchtxt').value;
	if (! page)
		var page = 1;
	//alert('Pos: ' + positionID + "\nLoc: " + locationID + "\nLang: " + languageID + "\nSearch: " + search);
	var url = "http://www.schulmeister-consulting.at/search.pl?lang=" + languageID + "&pid=" + positionID + "&lid=" + locationID + "&search=" + search + "&p=" + page;
	document.location.href=url;
}
//'$jobID', '$lang', '$positionID', '$locationID', '$languageID', '$searchtext', '$page'
function showJobDetail(jobID, lang, pid, locid, langid, srch, page) {
	var xhrArgs = {
		url: "./getJobDetail.pl?lang=" + lang + "&jobID=" + jobID + "&pid=" + pid + "&locid=" + locid + "&langid=" + langid + "&srch=" + srch + "&page=" + page,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			//alert(data);
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function showJobDetail2(jobID, lang) {
	var xhrArgs = {
		url: "./getJobDetail.pl?lang=" + lang + "&jobID=" + jobID,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			//alert(data);
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function backToSearch(page) {
	initContent();
	var pid 	= dojo.byId('job_pos').value;
	var locid 	= dojo.byId('job_loc').value;
	var search 	= dojo.byId('job_srch').value;
	var langid	= dojo.byId('job_langid').value;
	if (search == "%%")
		search = "";
	var url = "http://www.schulmeister-consulting.at/search2.pl?lang=" + langid + "&pid=" + pid + "&locid=" + locid + "&search=" + search + "&p=" + page;
	var xhrArgs = {
		url: url,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			if(dojo.isIE <= 8){ // only IE6 and below
				//dojo.style('contentArea', 'height', '440px');
				//dojo.style('content_body', 'margin-top', '10px');
			}
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function backToEvents(page) {
	initContent();
	
	var langid	= dojo.byId('langID').value;
	
	var url = "http://www.schulmeister-consulting.at/events2.pl?lang=" + langid + "&p=" + page;
	var xhrArgs = {
		url: url,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function getNewJobs(lang) {
	var xhrArgs = {
		url: "./getnewJobs.pl?lang=" + lang,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			//alert(data);
			dojo.html.set(dojo.byId("newJobs"), data,{ parseContent: true});
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function goHome(lang) {
	var url = "./viewpage.pl?pageID=1&lang=" + lang;
	document.location.href=url;
}
function getNews(id) {
	var lang	= dojo.byId('language').value;
	var xhrArgs = {
		url: "./getNews.pl?lang=" + lang + "&id=" + id,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			//alert(data);
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
			window.scrollTo(1,1);
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function getNewsOverview() {
	var lang	= dojo.byId('language').value;
	var xhrArgs = {
		url: "./getNewsOverview.pl?lang=" + lang,
		handleAs: "text",
		preventCache: false,
		load: function(data) {
			//alert(data);
			dojo.html.set(dojo.byId("dynContent"), data,{ parseContent: true});
			window.scrollTo(1,1);
		},
		error: function(error) {
			targetNode.innerHTML = "An unexpected error occurred: " + error;
		}
	}
	var deferred = dojo.xhrGet(xhrArgs);
}
function toggleBlock(obj) {
	hideBlocks();
	//alert(obj.nextSibling.nextSibling);
	if(dojo.isIE <= 8){ // only IE8 and below
		var block = obj.nextSibling;
	} else {
		var block = obj.nextSibling.nextSibling;
	}
	var vis = block.style.display;
	if ( vis == "none") {
		var wipeOut = dojo.fx.wipeIn({node: block,duration: 200});
		var fadeOut = dojo.fadeIn({node: block,duration: 200});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
	} else {
		var wipeOut = dojo.fx.wipeOut({node: block,duration: 200});
		var fadeOut = dojo.fadeOut({node: block,duration: 200});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
	}
	currentAnimation.play();
	
}
function toggleBlock2(obj) {
	hideBlocks();
	//alert(obj.nextSibling.nextSibling); childNodes[1]
	if(dojo.isIE <= 8){ // only IE8 and below
		var block = obj.parentNode.nextSibling.childNodes[0];
	} else {
		var block = obj.parentNode.nextSibling.nextSibling.childNodes[1];
	}
	// alert(block);
	// block.style.border="dotted 1px #f00";
	// return(false);
	
	
	var vis = block.style.display;
	if ( vis == "none") {
		var wipeOut = dojo.fx.wipeIn({node: block,duration: 200});
		var fadeOut = dojo.fadeIn({node: block,duration: 200});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
	} else {
		var wipeOut = dojo.fx.wipeOut({node: block,duration: 200});
		var fadeOut = dojo.fadeOut({node: block,duration: 200});
		var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
	}
	currentAnimation.play();
	
}
function hideBlocks() {
	var blocks = dojo.query('.toggleBlock')
	for (n=0; n<= blocks.length -1; n++) {
		var curObj = blocks[n];
		var vis = curObj.style.display;
		if ( vis != "none") {
			var wipeOut = dojo.fx.wipeOut({node: curObj,duration: 200});
			var fadeOut = dojo.fadeOut({node: curObj,duration: 200});
			var currentAnimation = dojo.fx.combine([fadeOut, wipeOut]);
			currentAnimation.play();
		}
	}
}
