
var baseUrl = '';
var validPostnumber = false;
var companyReceivedMail;
var companySentMail;
var searchReq;
var searchrender;
var adminLanguageCtlData;

var infobox = new InfoboxClass();
var center = new CenterClass();
var ajaxtools = new AjaxTools();
var job = new JobClass();
var tooltip = new ToolTipClass();

/**
 * For multibrowser compability. Checks if IE is running and if it matches
 * a certain version.
// * @return boolea
 */
function isIE8()
{
	return false;
}

function isIE7()
{
	return false;
}

function isIE6()
{
	return false;
}

function isIE()
{
	return false;
}

function getIEVersion()
{
	return '';
}

// Prototypeclass to add isInt to string-objects
String.prototype.isInt = function()
{
	return !isNaN(this);
}

//Prototypeclass to add an easy charCode-call to string-objects
String.prototype.charCode = function()
{
	return String.fromCharCode(this);
}

String.prototype.stripWhiteSpace = function()
{
    return this.replace(/\s+/g,'');
};

function toSendApplication()
{
    var toggles = document.getElementsByName('attachedFiles');
    var attaches = new Array();

    if(!$('filesPresent')) {
        return true;
    }

    for(var cnt = 0; cnt < toggles.length; cnt++) {
        if(toggles[cnt].checked == true) {
            attaches[attaches.length] = toggles[cnt].id;
        }
    }

    if(attaches.length == 0) {
        if(!confirm('Et ole liittänyt tiedostoja anomukseen. Haluatko lähettää anomuksen kuitenkin?')) {
            return false;
        }
    }
    
    var ret = postAndWaitForResponse('/job/setAttaches/', 'attaches=' + attaches.join(','));

    if(ret != '1') {
        alert('PROBLEM_WHEN_ATTACHING_FILES');
        return false;
    }

    return true;
}

function onlyNumbers(evt)
{
	var key;
	if(window.event) {
		key = window.event.keyCode;
	} else {
		key = evt.which;
	}
	
	// Disallow space
	if(key == 32) {
		return false;
	}
		
	// Allow control characters
	switch(key) {
		case null:
		case 0:
		case 8:
		case 9:
		case 13:
		case 27:
			return true;
	}

	// Check if the value is an integer.
	return key.charCode().isInt();
}

function findPosX(obj)
{
  var curleft = 0;
  try {
	  if(obj.offsetParent)
	      while(1) 
	      {
	        curleft += obj.offsetLeft;
	        if(!obj.offsetParent)
	          break;
	        obj = obj.offsetParent;
	      }
	  else if(obj.x)
	      curleft += obj.x;
  }
  catch(e) {  }
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  try {
	  if(obj.offsetParent)
	      while(1)
	      {
	        curtop += obj.offsetTop;
	        if(!obj.offsetParent)
	          break;
	        obj = obj.offsetParent;
	      }
	  else if(obj.y)
	      curtop += obj.y;
  }
  catch(e) { }
  return curtop;
}


function $(id, what)
{
    if(id.substr(0, 1) == '!') {
        return document.getElementsByName(id.substr(1));
    } else {
        return document.getElementById(id);
    }
}

function html_entity_decode(src)
{
	// Replace < & > with entity-versions
	src = src.replace(/</g,"&lt;");
	src = src.replace(/>/g,"&gt;");
	
	/* Create a textarea, insert HTML into it and
	 * pull out raw text.
	 */
	var taOB = document.createElement("textarea");
	taOB.innerHTML = src;	
	var dst = taOB.value;	
	taOB = null;
	
	// Return decoded data.
	return dst;
}

/**
 * Encodes a textstring to be sent via post and/or get.
 * 
 * @param str string
 * @return string
 */
function htmlspecialchars(str) 
{
	str = str.replace(/&/g, '%26');
	str = str.replace(/"/g, '%22');
	str = str.replace(/\'/g, '%27');
	str = str.replace(/</g, '%3C');
	str = str.replace(/>/g, '%3E');
	return str;
}

String.prototype.convertToHtmlSpecialChars = function() {
	var ret = this;
	ret = ret.replace(/&/g, '%26');
	ret = ret.replace(/"/g, '%22');
	ret = ret.replace(/\'/g, '%27');
	ret = ret.replace(/</g, '%3C');
	ret = ret.replace(/>/g, '%3E');
	return ret;
};

Array.prototype.inArray = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return i;
		}
	}
	return -1;
};

function toArray(srcArr) {
	var retArr = [];
	for(var i = 0, len = srcArr.length; i < len; i++)
	{
		retArr[retArr.length] = srcArr[i];
	}
	return retArr;
}

//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license
if(!Array.prototype.forEach) {
	Array.prototype.forEach = function(fun /*, thisp*/)
	{
		var len = this.length;
		
		if(typeof fun != "function") {
			throw new TypeError();
		}

		var thisp = arguments[1];
		for(var i = 0; i < len; i++) {
			if (i in this) {
				fun.call(thisp, this[i], i, this);
			}
		}
	};
}

function pauseApplication()
{

    if(!confirm('Tulet nyt pysäyttämään hakemuksesi!')) {
        return false;
    }

    displayWait('...');
    postAndWaitForResponse('/job/pauseapplication/', '');
    removeWait();
    return true;
}

/**
 * Displays the tooltip div with 'text' displayed
 * and attached close to parent.
 * @param parent Parent div
 * @param text Text to be displayed
 * @return
 */
function displayToolTip(parent, text)
{
	var div = $('toolTipDiv');
	
	// Setup the DIV. Special treatment for IE6.
	if(!isIE()) {
		div.style.display = 'table-cell';
	} else {
		if(isIE6()) {
			div.style.position = 'absolute';
		}
		div.style.display = 'block';
		/*div.style.width = '500px';
		div.style.height = '1px';
		div.style.position = 'absolute';*/
	}
	
	var yPos = findPosY(parent);
	
	div.innerHTML = text;

	// Compensate for Scrolling in non-IE6 browsers.
	if(!isIE6()) {
		yPos -= document.documentElement.scrollTop;
	}
	
	yPos -= div.offsetHeight;
	
	var leftPos = (findPosX(parent) + 50);
	var topPos  = yPos;
	
	// Adjust the left-margin for IE6 & 7-browsers.
	if(isIE6()) {
		leftPos = findPosX(parent);
	} else if(isIE7()){
		leftPos -= 25;
	}

	div.style.left = (leftPos + 'px');
	div.style.top = (topPos + 'px');
}

function getOnlineStatus()
{
	var online;
	var request;

	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	if(request) {
		request.open('POST', '/coremodule/checkonline/', false);
	  	request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send('');

		online = request.responseText;
	}

        return online;
}

function logged_out()
{
	if(getOnlineStatus() == 0) {
		document.location.href = '/coremodule/noaccess/';
		return 1;
	}
	return 0;
}

function loadXMLDoc(url, parser, offline_allowed) {
	if(!offline_allowed && logged_out()) {
		return;
	}
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch (ex) {
			req = false;
		}
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				req = false;
			}
		}
	}


	if(req) {
		req.onreadystatechange = parser;
		req.open("GET", url, true);
		req.send(null);
	}
}

function loadAndWaitForXML(url, parser, offline_allowed)
{
    var XML = getResponseXML(url, offline_allowed);
    parser(XML);
}

function getXmlDoc(url, data, parser) {
	if(logged_out()) {
		return;
	}
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch (ex) {
			req = false;
		}
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {Tac
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				req = false;
			}
		}
	}

	if(req) {
		req.onreadystatechange = parser;
		req.open('POST', url, true);
	  req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		req.send(data);
	}
}


function postAndWaitForResponse(url, data, offline_allowed) {
	if(!offline_allowed && logged_out()) {
		return null;
	}
	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	if(request) {
		request.open('POST', url, false);
	  request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send(data);

		return request.responseText;
	}

        return null;
}

function postAndParseResult(url, data, offline_allowed)
{
	var data = postAndWaitForResponse(url, data, offline_allowed);
	if(data != '') {
		data = JSON.parse(data);
	}
	return data;
}

function postAndCallback(url, data, callback, offline_allowed) {
	if(!offline_allowed && logged_out()) {
		return null;
	}
	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	if(request) {
		request.open('POST', url, true);
                request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send(data);
                request.onreadystatechange = function() {
                    if(request.readyState == 4) {
                        callback(request.responseText);
                    }
                };
                
		return null;
	}

        return null;
}

function getElement(id) {
	return document.getElementById(id);
}

function relogin()
{
	var username = document.getElementById('email').value;
	var password = document.getElementById('pass').value;
	var dest = document.getElementById('DEST').value;

	var url = '/coremodule/login/username:' + escape(username);
	url += '/password:' + hex_md5(password) + '/';

	displayWait('');
	var response = postAndWaitForResponse(url, '', true);
	removeWait();

	if(response >= 1 && response <= 3) {
		if(dest == '') {
			if (response == '1') {
				document.location = baseUrl + '/cv/edit/'
			} else if (response == '2') {
				document.location = baseUrl + '/center/'
			} else if (response == '3') {
				document.location = baseUrl + '/mnadmin/'
			}
		} else {
			document.location = baseUrl + dest;
		}
		document.getElementById('ERROR_BOX').style.display = 'none';
	} else {
		document.getElementById('ERROR_MSG').innerHTML = unescape(response);
		document.getElementById('ERROR_BOX').style.display = 'block';
	}
	return;
}

function login(applyToPosID)
{
	var password = document.getElementById('password').value;
	var username = document.getElementById('username').value;
	var keep = (document.getElementById('password-keep-yes').checked == true ? '1' : '0');
	
	if(password != '') {
		password = hex_md5(password);
	}
	
	var args = 'username=' + escape(username) + '&password=' + password + '&keep=' + escape(keep);	
	if(applyToPosID != null) {
		args += ('&apply=' + applyToPosID);
	}
	
	displayWait('Kirjautuu sisään...');
	var response = postAndWaitForResponse('/coremodule/login/', args, true);
	removeWait();
	
	// For the new application process.
	if(applyToPosID != null) {
		if(response != '1') {
			alert(response);
		} else {
			document.location = baseUrl + '/job/apply/' + applyToPosID + '/';
		}
		return;
	}
	
	if (response == '1') {
		var systemUpdate = postAndWaitForResponse('/coremodule/systemUpdate/', '');
		document.location = baseUrl + '/cv/edit/page:11/' + (systemUpdate == '0' ? '' : 'update:1/');
	} else if (response == '2') {
		var systemUpdate = postAndWaitForResponse('/coremodule/systemUpdate/', '');
		document.location = baseUrl + '/center/' + (systemUpdate == '0' ? '' : 'update:1/');
	} else if (response == '3') {
		document.location = baseUrl + '/mnadmin/';
	} else if (response == '4') {
		document.location = baseUrl + '/mnadmin/language/';
	} else {
		if(response.split(';').length == 2) {
			var data = response.split(';');
			if(data[0] == 'apply') {
				//document.location = baseUrl + '/cv/edit/page:11/apply:' + data[1] + '/';
				document.location = '/job/apply/' + data[1] + '/';
			}
			return;
		}
		alert(unescape(response));
	}
}

function getResponseText(url, offline_allowed) {
	if(!offline_allowed && logged_out()) {
		return;
	}
	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	if(request) {
		request.open('GET', url, false);
		request.send(null);

		return request.responseText;
	}
}

function getResponseXML(url, offline_allowed) {
	if(!offline_allowed && logged_out()) {
		return;
	}
	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	if(request) {
		request.open('GET', url, false);
		request.send(null);

		return request.responseXML;
	}
}

function submitOnEnter(formId, event)
{
    var formOb = $(formId);
    var keyCode = null;
    if(window.event) {
        keyCode = window.event.keyCode;
    } else if(event) {
        keyCode = event.which;
    }
    if(keyCode == 13) {
        formOb.submit();
        return false;
    }
    return true;
}

function doOnEnter(func, code) {
	if(code == 13) {
		func();
	}
}

function hideMessageBox()
{
    $('message-box-bg').style.display = 'none';
    $('message-box').style.display = 'none';
}

function displayMessageBox(message)
{
    var scroll = document.documentElement.scrollTop;
    $('message-box').style.top = ((scroll + 20) + 'px');
    $('message-box').style.display = 'block';
    $('message-box-bg').style.display = 'block';
    $('message-box-text').innerHTML = message;
}

function loadMessageBox(message)
{
    var txt = getResponseText('/info/message/id:' + message + '/', true);
    displayMessageBox(txt);
}

function loadHelpPage(hlp)
{
    var txt = getResponseText('/info/help/id:' + hlp + '/', true);
    displayMessageBox(txt);
}

function displayWait(message) {
    if(isIE6() == true) {
	var wait = getElement('wait');
	wait.style.display = 'block';
	getElement('waitMessage').innerHTML = message;
    } else {
	//var waitBg = getElement('wait-bg');
        var waitBox = getElement('wait-box');
	//waitBg.style.display = 'block';
        waitBox.style.display = 'block';
	getElement('waitMessage').innerHTML = message;
    }
}

function removeWait() {
	setTimeout('disableWait()', 250);
}

function disableWait() {
    if(isIE6() == true) {
	var wait = getElement('wait');
	wait.style.display = 'none';
	getElement('waitMessage').innerHTML = '';
    } else {
        var waitBox = getElement('wait-box');
        waitBox.style.display = 'none';
	getElement('waitMessage').innerHTML = '';
    }
}

function doPositionSearch (company) {
	var bspace = document.getElementById('positionsearch');
	var data = getResponseText('/job/search/search:' + escape(document.getElementById('search').value) +  '/', true);
	bspace.innerHTML = unescape(data);
}

var validUsername = false;
var validPostnumber = false;
var username = '';

function getPostAdress() {
	var postnumber = document.getElementById('POS').value;
	var COU = document.getElementById('COU');

	if (postnumber.length >= 4) {
		loadXMLDoc('/coremodule/register/action:postnumber/country:' + escape(COU.value) + '/number:' + postnumber + '/', postnumberParser);
	} else {
		document.getElementById('PAD').value = '';
	}
	return true;
}


function postnumberParser () {
	var postnumber = document.getElementById('POS').value;
	if (req.readyState == 4) {
		if (req.status == 200) {
			if (req.responseText == '') {
				validPostnumber = false;

				//document.getElementById('PAD').readOnly = 'readonly';
				document.getElementById('PAD').value = '';

				if (postnumber.length == 4) {
					document.getElementById('PAD').style.color = '#888888';
				} else if (postnumber.length == 5) {
					document.getElementById('PAD').readOnly = '';
					document.getElementById('PAD').style.color = '#000000';
				}
			} else {
				validPostnumber = true;
				document.getElementById('PAD').value = unescape(req.responseText);
			}
		}
	}
}


function nextstep () {
	if (validUsername) {
		loadXMLDoc('/module:coremodule/method:register/action:usernamereservation/username:' + username + '/', nextstepHandler);
	} else {
		document.getElementById('regusernamebutton').innerHTML = 'Ugyldig brukernavn!';
	}
}

function nextstepHandler () {

	if (req.readyState == 4) {
		if (req.status == 200) {
			id = req.responseText;
			if (id == -1) {
				document.getElementById('regusernamebutton').innerHTML = 'For kort brukernavn!';
			} else if (id == -2) {
				document.getElementById('regusernamebutton').innerHTML = 'Brukernavnet er tatt i bruk!';
			} else {
				username = document.getElementById('USR').value;
				document.getElementById('USR').disabled = 'disabled';
				document.getElementById('regform').style.display = 'block';
				document.getElementById('step1completed').style.display = 'none';
				document.getElementById('container-USR').style.display = 'none';
			}
		}
	}
}


function logon () {
	var SEC = document.getElementById('SEC');
	var EPO = document.getElementById('EPO');
	var USR = document.getElementById('USR');

	document.getElementById('error-step3').style.display = 'none';

	if (SEC.value && EPO.value) {
		url  = '/module:coremodule/method:register/action:userverify/'
		url += 'USR:' + escape(USR.value) + '/';
		url += 'SEC:' + escape(SEC.value) + '/';
		url += 'EPO:' + escape(EPO.value) + '/';
		loadXMLDoc(url, logonParser, true);
	} else {
		document.getElementById('error-step3').style.display = 'block';
		document.getElementById('error-step3').innerHTML = 'BOTH_FIELDS_MUST_BE_COMPLETED';
	}
}

function logonParser () {
	if (req.readyState == 4) {
		if (req.status == 200) {
			if (req.responseText != '1') {
				document.getElementById('error-step3').style.display = 'block';
				document.getElementById('error-step3').innerHTML = req.responseText;
			} else {
				document.location = '/';
			}
		}
	}
}

function textCtl (id) {
	elem = document.getElementById(id);

	if (!TextCtlMap.get(true, id)) {
		TextCtlMap.set(id, elem.value);
	}

	if (elem.className == '' && elem.value == TextCtlMap.get(true, id)) {
		elem.className = 'active';
		elem.value = '';
	} else if (elem.value == '') {
		elem.className = '';
		elem.value = TextCtlMap.get(true, id);
	}
}

var TextCtlMap = {
	set : function(addr, data) {
		this[addr] = data;
	},
	get : function(addr) {
		return this[addr];
	}
}

function numOnly (event) {
	var keynum

	if(event.keyCode == 9) {
		return true;
	}

	if(window.event) {
		keynum = event.keyCode;
	} else if (event.which) {
		keynum = event.which
	}

	return ((keynum >= 48 && keynum <= 57) || keynum == 8);
}

function trim (str) {
	if (str && str != '') {
		while (str.substring (0, 1) == ' ') {
			str = str.substring(1, str.length);
		}

		while (str.substring(str.length - 1, str.length) == ' ') {
			str = str.substring(0, str.length - 1);
		}
	}

	return str;
}


/** job */

function openURL(id, url)
{
    window.open(
        url,
        id,
        'left=50,top=50,width=1024,height=768,toolbar=1,resizable=1,status=1,menubar=1,scrolling=1')
}

function applyForPosition(id) {
	document.location = '/job/apply/' + id + '/';
	/*window.open(
			'/job/applyform/pid:' + id + '/',
			'apply_' + id, 
			'left=50,top=50,width=710,height=450,toolbar=0,resizable=0,status=0,menubar=0,scrolling=1');*/
}

function openWindow (url, name) {
	window.open(url, name, 'left=50,top=50,width=480,height=600,toolbar=0,resizable=0,status=0,menubar=0,scrolling=1');
}

function openJob (id, returnto) {
	displayWait('Lataa tiedon');

	loadXMLDoc('/job/openjob/id:' + id + '/returnto:' + returnto + '/', function () {
		if (req.readyState == 4 && req.status == 200) {		removeWait();
			menuItem(3, false, true);
			
			document.getElementById('jobDataContainer').innerHTML = req.responseText;
						
			/*document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);

			if (document.getElementById('editor')) {
				tinyMCE.execCommand('mceAddControl', false, 'editor');
			}
			
			infobox.addButton('Hae virkaa', 'applyForPosition(' + id + ');');*/
		}
	}, true);
}

function openJobParser () {
	if (req.readyState == 4) {
		var wait = document.getElementById('wait');
		wait.style.display = 'none';
		document.getElementById('menuItemWorkspace02').innerHTML = unescape(req.responseText);
	}
}

function getMenuItemForX(x) {
	return pages[x - 1];
}

function switchSubHelpPage(sub, nr)
{
	var currPage = document.getElementById('currPage');
	var currSub = document.getElementById('currSub');
	var currPageNr = currPage ? currPage.innerHTML : '';
	var currSubNr = currSub ? currSub.innerHTML : '';
	//if (currPageNr == '' || currSubNr == '') return true;
	if(currSubNr != sub) {
		currPageNr = '';
		if(currSubNr != '') {
			var pageDiv;
			for(var i = 1; (pageDiv = document.getElementById(currSubNr + '-helppage-' + i)) != null; i++) {
				pageDiv.style.display = 'none';
			}
			document.getElementById('subpage-' + currSubNr).style.display = 'none';
		}
		var subDiv = document.getElementById('subpage-' + sub);
		if(subDiv == null) {
			var tmpDiv = document.getElementById('currPage');
			if(tmpDiv != null) {
				tmpDiv.innerHTML = '0';
			}
			tmpDiv = document.getElementById('currSub');
			if(tmpDiv != null) {
				tmpDiv.innerHTML = '0';
			}
			tmpDiv = document.getElementById('maxPage');
			if(tmpDiv != null) {
				tmpDiv.innerHTML = '0';
			}
			tmpDiv = document.getElementById('maxPage');
			if(tmpDiv != null) {
				document.getElementById('txtCurrPage').innerHTML = '0 / 0';
			}
			return false;
		}
		if(currSub != null) {
			currSub.innerHTML = sub;
		}
		if(subDiv != null) {
			subDiv.style.display = 'block';
		}
		if(document.getElementById('subMaxPage-' + sub) != null) {
			document.getElementById('maxPage').innerHTML = '' + document.getElementById('subMaxPage-' + sub).innerHTML;
		}
	}
	var helpDiv = document.getElementById(sub + '-helppage-' + nr);
	if(helpDiv == null) {
		return false;
	}
	if(currPageNr != '') {
		document.getElementById(sub + '-helppage-' + currPageNr).style.display = 'none';
	}
	helpDiv.style.display = 'block';
	document.getElementById('txtCurrPage').innerHTML =
		(nr + ' / ' +
		 document.getElementById('maxPage').innerHTML);
	currPage.innerHTML = nr;
}

function helpRight()
{
	var currPage = document.getElementById('currPage').innerHTML;
	var currSub = document.getElementById('currSub').innerHTML;
	if(currSub == '' || currSub == '0') {
		return;
	}
	if(switchSubHelpPage(currSub, parseInt(currPage) + 1) == false) {
		switchSubHelpPage(currSub, 1);
	}
}

function helpLeft()
{
	var currPage = document.getElementById('currPage').innerHTML;
	var currSub = document.getElementById('currSub').innerHTML;
	if(currSub == '' || currSub == '0') {
		return;
	}
	if(parseInt(currPage) == 1) {
		currPage = (parseInt(document.getElementById('maxPage').innerHTML) + 1);
	}
	switchSubHelpPage(parseInt(currSub), parseInt(currPage) - 1);
}

function helpPage(id)
{
	var foundHelpDiv = false;
	var subpage0 = document.getElementById('subpage-0');
	var helppage0 = document.getElementById('0-helppage-0');
	if(switchSubHelpPage(id, 1) == false) {
		if(subpage0 != null) {
			subpage0.style.display = 'block';
		}
		if(helppage0 != null) {
			helppage0.style.display = 'block';
		}
		return;
	}
	if(subpage0 != null) {
		document.getElementById('subpage-0').style.display = 'none';
	}
	if(helppage0 != null) {
		document.getElementById('0-helppage-0').style.display = 'none';
	}
}

function oneMenuItem(id, callbackHook) {
    var currButt = $('topButton-' + id);
    var currClass = 'main-button-blank-sel';
    var otherClass = 'main-button-blank';
    for(var cnt = 1; cnt <= 6; cnt++) {
        var otherButt = $('topButton-' + cnt);
        if(otherButt == null) {
            continue;
        }
        otherButt.className = otherClass;
    }
    if(callbackHook != null) {
        callbackHook();
    }
    currButt.className = currClass;
    menuItem(id, false, true);
}

function menuItem(id,nohelp,nobuttons,callBackHook) {
	var save = document.getElementById('saveWhenChange');
	if(save && save.value == '1') {
		var x = document.getElementById('ws-navigator-x1');
		if(x != null) {
			savePage(getMenuItemForX(x.innerHTML));
		}
	}
	
	if(nohelp == null) {
		setTimeout('helpPage(' + id + ')', 0);
	}

	if (document.getElementById('ws-navigator-x1')) {
		for (var i = 0; i < pages.length; i++) {
			if (pages[i] == id) {
				document.getElementById('ws-navigator-x1').innerHTML = (i + 1);
				document.getElementById('ws-navigator-x2').innerHTML = (i + 1);
			}
		}
	}

	if (id < 10) {
		id = '0' + id;
	}
	for (i = 1; i <= 19; i++) {
		var num = i;

		if (i < 10) {
			num = '0' + num;
		}

		if(document.getElementById('nextPrevButtons') != null) {
			updateNextPrev(id);
		}
		
		var menuItem = document.getElementById('menuItem' + num);	

		if((menuItem != null) || (nobuttons == true)) {
			if(num == id) {
				if(menuItem != null) {
					menuItem.className = 'menuItemSelected';
				}
				document.getElementById('menuItemWorkspace' + num).style.display = 'block';
			} else if (document.getElementById('menuItemWorkspace' + num)){
				if(menuItem != null) {
					menuItem.className = 'menuItem';
				}
				document.getElementById('menuItemWorkspace' + num).style.display = 'none';
			}
		}
	}
	
	for (i = 1; i <= 19; i++) {
		var num = i;

		if (i < 10) {
			num = '0' + num;
		}

		if(document.getElementById('nextPrevButtons') != null) {
			updateNextPrev(id);
		}

		var menuItemHorizontal = document.getElementById('menuItemHorizontal' + num);	

		if(menuItemHorizontal != null) {
			if(num == id) {
				menuItemHorizontal.className = 'menuItemSelectedHorizontal';
				document.getElementById('menuItemWorkspace' + num).style.display = 'block';
			} else if (document.getElementById('menuItemWorkspace' + num)){
				menuItemHorizontal.className = 'menuItemHorizontal';
				document.getElementById('menuItemWorkspace' + num).style.display = 'none';
			}
		}
	}
	/*	document.getElementById('menuItem' + id).style.color = 'black';*/
	
	if(callBackHook != null) {
		callBackHook(id,nohelp,nobuttons);
	}
	/*
	if(id == 13 || id == 14){
		document.getElementById('btnGroup_top').style.display = 'none';
		document.getElementById('btnGroup_bottom').style.display = 'none';
	}else{
		document.getElementById('btnGroup_top').style.display = 'block';
		document.getElementById('btnGroup_bottom').style.display = 'block';
	}
	*/
}

function getSelectedMenuItem()
{
	var item;
	for(var i = 1; i <= 19; i++) {
		var num = i;

		if (i < 10) {
			num = '0' + num;
		}
		
		item = document.getElementById('menuItemWorkspace' + num);
		
		if(item.style.display == 'block') {
			return i;
		}
	}
	
	return -1;
}

function doSearchFor(data, select) {
	document.getElementById('searchfield').value = data;
	document.getElementById(select).style.display = 'none';
	doSearch('resultset');
}

function companyLoadData () {
	displayWait('Lataa tiedon');

	loadXMLDoc('/company/load/action:area1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			var response = req.responseXML.documentElement;

			document.getElementById('NAM').value = unescape(response.getAttribute('NAM'));
			document.getElementById('PHO').value = unescape(response.getAttribute('PHO'));
			document.getElementById('COU').value = unescape(response.getAttribute('COU'));
			document.getElementById('WEB').value = unescape(response.getAttribute('WEB'));
			document.getElementById('EMA').value = unescape(response.getAttribute('EMA'));
			document.getElementById('ORG').value = unescape(response.getAttribute('ORG'));
			document.getElementById('PRO').innerHTML = unescape(response.getAttribute('PRO'));
			document.getElementById('STA').innerHTML = unescape(response.getAttribute('STA'));
			document.getElementById('TX1').innerHTML = unescape(response.getAttribute('TX1'));
			document.getElementById('TX2').innerHTML = unescape(response.getAttribute('TX2'));

			//menuItem(1);
			/*
			//tinyMCE.execCommand('mceAddControl', false, 'PRO');
			menuItem(2);
			//tinyMCE.execCommand('mceAddControl', false, 'STA');
			menuItem(3);
			//tinyMCE.execCommand('mceAddControl', false, 'TX1');
			//tinyMCE.execCommand('mceAddControl', false, 'TX2');
			menuItem(1);*/

			// menuitem(...) are there to force tinyMCE to view the controls (visible, not hidden).

			if (document.getElementById('CON').innerHTML == '') {
				loadXMLDoc('/company/load/action:area2/', function () {
					if (req.readyState == 4 && req.status == 200) {
							var response = req.responseXML.documentElement;

							var poc = response.getElementsByTagName("poc");
							var out = '';
							out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
							out += '<tr class="header">';
							out += '<td class="left">Nimi</th>';
							out += '<td>Sähköposti</th>';
							out += '<td>Puhelin</th>';
							out += '<td class="right">Matkapuhelin</th>';
							out += '</tr>';

							if (poc && poc.length > 0) {
								out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
								for (i = 0; i < poc.length; i++) {
									var row = poc[i];
									var phone = row.getAttribute('PHO') > 0 ? row.getAttribute('PHO') : '&nbsp;';
									var mobile = row.getAttribute('MOB') > 0 ? row.getAttribute('MOB') : '&nbsp;';

									out += '<tr>';
									out += '<td class="left">' + unescape(row.getAttribute('NAM')) + '</td>' ;
									out += '<td>' + unescape(row.getAttribute('EMA')) + '</td>' ;
									out += '<td>' + phone + '</td>' ;
									out += '<td>' + mobile + '</td>' ;
									out += '</tr>';
									out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
								}
							} else {
								out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
								out += '<tr><td colspan="4" style="text-align: center;">Ei rivejä</td></tr>';
							}

							out += '</table>';
							document.getElementById('CON').innerHTML = '<div style="padding: 10px;">' + out + '</div>';
						}
				});
			}
		}
	});
}

function loadArticle(id)
{
	var msg = document.getElementById('MSG');
	displayWait('Lataa tiedon');
	loadXMLDoc('/article/id:' + id + '/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			msg.innerHTML = unescape(req.responseText);
		}
	}, true);
}

function companySave () {
	tinyMCE.triggerSave();

	var which;
	if(document.getElementById('menuItemWorkspace01').style.display == 'block') {
		which = 1;
	} else if(document.getElementById('menuItemWorkspace02').style.display == 'block') {
		which = 2;
	} else if(document.getElementById('menuItemWorkspace03').style.display == 'block') {
		which = 3;
	}

	var ORG = null;
	var NAM = null;
	var COU = null;
	var PRO = null;
	var EMA = null;
	var PHO = null;
	var WEB = null;
	var STA = null;

	if(which == 1) {
		ORG = document.getElementById('ORG');
		if (trim(ORG.value) == '') {
			alert('Organisaation numero puuttuu');
			return;
		}

		NAM = document.getElementById('NAM');
		if (trim(NAM.value) == '') {
			alert('Nimi puuttuu');
			return;
		}
		COU = document.getElementById('COU');
		if (trim(COU.value) == '') {
			alert('Maa puuttuu');
			return;
		}

		PRO = document.getElementById('PRO');
		if (trim(PRO.value) == '') {
			alert('Profiili puuttuu');
			return;
		}
	}

	if(which == 2) {
		EMA = document.getElementById('EMA');
		if (trim(EMA.value) == '') {
			alert('Sähköpostiosoite puuttuu');
			return;
		}

		PHO = document.getElementById('PHO');
		if (trim(PHO.value) == '') {
			alert('Puhelinnumero puuttuu');
			return;
		}

		WEB = document.getElementById('WEB');
		if (trim(WEB.value) == '') {
			alert('Nettisivu puuttuu');
			return;
		}

		STA = document.getElementById('STA');
		if (trim(STA.value) == '') {
			alert('Henkilöstöosasto puuttuu');
			return;
		}
	}

	var TX1 = document.getElementById('TX1');
	var TX2 = document.getElementById('TX2');

	var data = '';
	if(ORG != null) {
		data += 'ORG=' + escape(ORG.value) + '&';
	}
	if(NAM != null) {
		data += 'NAM=' + escape(NAM.value) + '&';
	}
	if(COU != null) {
		data += 'COU=' + escape(COU.value) + '&';
	}
	if(PRO != null) {
		data += 'PRO=' + escape(PRO.value) + '&';
	}
	if(EMA != null) {
		data += 'EMA=' + escape(EMA.value) + '&';
	}
	if(PHO != null) {
		data += 'PHO=' + escape(PHO.value) + '&';
	}
	if(WEB != null) {
		data += 'WEB=' + escape(WEB.value) + '&';
	}
	if(STA != null) {
		data += 'STA=' + escape(STA.value) + '&';
	}
	if(TX1 != null) {
		data += 'TX1=' + escape(TX1.value) + '&';
	}
	if(TX2 != null) {
		data += 'TX2=' + escape(TX2.value) + '&';
	}

	displayWait('Tallentaa');
	getXmlDoc('/company/save/', data, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			if (req.responseText != '') {
				alert(unescape(req.responseText));
			}
		}
	});
}

// @deprecated ?
//function loadGeneral() {
//        displayWait('Lataa tiedon: Henkilötiedot');
//	//loadLanguage();
//        return;
//}



function saveGeneral() {
    	var GEN = document.getElementById('GEN');
	var UTD = document.getElementById('UTD');
	var FA1 = document.getElementById('FA1');
	var FA2 = document.getElementById('FA2');
	var SUR = document.getElementById('SUR');
	var AD1 = document.getElementById('AD1');
	var AD2 = document.getElementById('AD2');
	var POS = document.getElementById('POS');
	var PAD = document.getElementById('PAD');
	var YEA = document.getElementById('YEA');
	var MON = document.getElementById('MON');
	var DAY = document.getElementById('DAY');
	var MOB = document.getElementById('MOB');
	var PHO = document.getElementById('PHO');
	var FOR = document.getElementById('FOR');
	var EXP = document.getElementById('EXP');
	var COU = document.getElementById('COU');
	var CNTY = document.getElementById('CNTY');

	if(postAndWaitForResponse('/coremodule/checkonline/', '') == 0) {
		alert('Et ole ollut aktiivina vähään aikaan tai olet sisäänkirjautunut toisen tietokoneen kautta.');
		return;
	}

	if (trim(FOR.value) == '') {
                alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}

	if (trim(SUR.value) == '') {
		alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}

	if (trim(AD1.value) == '') {
		alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}

	if(trim(POS.value) == '') {
		alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}
	if(trim(PAD.value) == '') {
		alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}

	if (DAY.value > 30 && (MON.value == 2 || MON.value == 4 || MON.value == 6 || MON.value == 9 || MON.value == 11)) {
		alert('Päivämäärän jonka kirjoitit ei ole olemassa');
		return;
	}

	if (DAY.value > 28 && MON.value == 2 && (DAY.value > 29 || YEA.value % 4 != 0)) {
		alert('Päivämäärän jonka kirjoitit ei ole olemassa');
		return;
	}

	/*if (trim(EXP.value) < 0) {
		alert('Työkokemus-kenttää ei saa jättää tyhjäksi!');
		return;
	}*/

	if (MOB.value == '' && PHO.value == '') { 		alert('Seuraavat alueet ovat pakollisia:\n- Etunimi\n- Sukunimi\n- Osoite\n- Postinumero\n- Postitoimipaikka\n- Maa\n- Sukupuoli\n- Puhelin tai Kännykkä\n- Syntymäaika\n- Työkokemus\n- Koulutustaso');
		return;
	}

	url = '/cv/saveGeneral/';
	url += 'FOR:' + escape(FOR.value) + '/';
	url += 'SUR:' + escape(SUR.value) + '/';
	url += 'AD1:' + escape(AD1.value) + '/';
	url += 'AD2:' + escape((AD2.value ? AD2.value : '')) + '/';
	url += 'POS:' + POS.value.stripWhiteSpace() + '/';
	url += 'PAD:' + escape(PAD.value) + '/';
	url += 'YEA:' + escape(YEA.value) + '/';
	url += 'MON:' + escape(MON.value) + '/';
	url += 'DAY:' + escape(DAY.value) + '/';
	url += 'PHO:' + escape((PHO.value ? PHO.value : '')) + '/';
	url += 'MOB:' + escape(MOB.value) + '/';
	url += 'GEN:' + escape(GEN.value) + '/';
	url += 'UTD:' + escape(UTD.value) + '/';
	url += 'COU:' + escape(COU.value) + '/';
	url += 'FA1:' + escape(FA1.value) + '/';
	url += 'FA2:' + escape(FA2.value) + '/';
	url += 'EXP:' + escape(EXP.value) + '/';
	url += 'CNTY:' + escape(CNTY.value) + '/';
		
//	var preferedJobtypes = new Array();
	var licenses = new Array();
	var checkBoxes = document.getElementsByTagName('input');
	for(var cnt = 0; cnt < checkBoxes.length; cnt++) {
		if((checkBoxes[cnt].name == 'drivers_license') && (checkBoxes[cnt].checked == true)) {
			licenses[licenses.length] = checkBoxes[cnt].id;
		}
//		if((checkBoxes[cnt].name == 'prefered_jobtype') && (checkBoxes[cnt].checked == true)) {
//			preferedJobtypes[preferedJobtypes.length] = checkBoxes[cnt].id;
//		}
	}
//
//	if(preferedJobtypes.length > 0) {
//		url += 'PREFERED_JOBTYPES:' + preferedJobtypes.join(',') + '/';
//	}
//
	if(licenses.length > 0) {
		url += 'DRV:' + licenses.join(',') + '/';
	}
	
	displayWait('Tallentaa');
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();

			if (req.responseText) {
				alert(unescape(req.responseText));
			} else {
				loadPercentage ();
			}
		}
	});
}


function getPostAdressForUser() {
	var postnumber = document.getElementById('POS').value;

	displayWait('Lataa tiedon');

	loadXMLDoc('/coremodule/register/action:postnumber/number:' + postnumber + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			alert(req.responseText);
			document.getElementById('PAD').value = req.responseText;
			loadLanguage();
		}
	});
	loadLanguage();
}

function listFaqs() {
	displayWait('Lataa tiedon: Usein kysyttyä');

	loadXMLDoc('/cv/listFAQ/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var elem = document.getElementById('faqList');
			var edu = req.responseXML.documentElement.getElementsByTagName("faq");
			var out = '';

			out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
			out += '<tr class="header">';
			out += '<td>Titteli</th>' ;
			out += '<td class="right" style="width: 60px;">EXTRA</th>' ;
			out += '</tr>';

			if (edu && edu.length > 0) {
				out += '<tr><td class="spacer" colspan="2" style="padding:0px;"></td></tr>';
				for (i = 0; i < edu.length; i++) {
					var row = edu[i];
					out += '<tr>';
					out += '<td onclick="javascript:editFAQ(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">' + unescape(row.getAttribute('question')) + '</td>' ;
					out += '<td style="text-align: center;"><a href="javascript:publishFAQ(' + row.getAttribute('id') + ', ' + (row.getAttribute('published') == '1' ? '0' : '1') + ');">' + (row.getAttribute('published') == '1' ? 'Näkyvä' : 'Kätketty') + '</a></td>' ;
					out += '</tr>';
					out += '<tr><td class="spacer" colspan="2" style="padding:0px;"></td></tr>';
				}
			} else {
				out += '<tr><td class="spacer" colspan="2" style="padding:0px;"></td></tr>';
				out += '<tr><td colspan="2" style="text-align: center;">Ei rivejä</td></tr>';
			}

			out += '</table>';
			elem.innerHTML = out;
			removeWait();
			loadWebsites();
		}
	});
}

// @deprecated ?
//function listFiles() {
//	displayWait('Lataa tiedon: Omat tiedostot');
//
//	loadAndWaitForXML('/cv/listFiles/', function (responseXML) {
//                var elem = document.getElementById('filesList');
//                var edu = responseXML.documentElement.getElementsByTagName("file");
//                var out = '';
//
//                out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
//                out += '<tr class="header">';
//                out += '<td>Titteli</th>' ;
//                out += '<td>Vapaa tila</th>' ;
//                out += '<td class="right">Yhteys</th>' ;
//                out += '</tr>';
//
//                if (edu && edu.length > 0) {
//                        out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//                        for (i = 0; i < edu.length; i++) {
//                                var row = edu[i];
//                                out += '<tr onclick="javascript:editFile(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">';
//                                out += '<td>' + unescape(row.getAttribute('title')) + '</td>' ;
//                                out += '<td>' + unescape(row.getAttribute('realm')) + '</td>' ;
//                                out += '<td class="right">' + unescape(row.getAttribute('assoc')) + '</td>' ;
//                                out += '</tr>';
//                        out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//                        }
//                } else {
//                        out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//                        out += '<tr><td colspan="3" style="text-align: center;">Ei rivejä</td></tr>';
//                }
//
//                out += '</table>';
//                elem.innerHTML = out;
//	}, true);
//        return;
//}

//function listFormalEducation() {
//	displayWait('Lataa tiedon: Koulutukset');
//
//	loadXMLDoc('/cv/listFormalEducation/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			var elem = document.getElementById('educationList');
//			var edu = req.responseXML.documentElement.getElementsByTagName("education")
//			var out = '';
//
//			out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
//			out += '<tr class="header">';
//			out += '<td>Titteli</td>' ;
//			out += '<td>Koulu</td>' ;
//			out += '<td style="width: 60px; text-align: center;">--</td>' ;
//			out += '<td class="right" style="width: 60px; text-align: center;">--</td>' ;
//			out += '</tr>';
//
//			if (edu && edu.length > 0) {
//				out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				for (i = 0; i < edu.length; i++) {
//					var row = edu[i];
//					out += '<tr onclick="javascript:editEducation(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">';
//					out += '<td>' + unescape(row.getAttribute('title')) + '</td>' ;
//					out += '<td>' + unescape(row.getAttribute('university')) + '</td>' ;
//					out += '<td style="width: 60px; text-align: center;">' + unescape(row.getAttribute('from')) + '</td>' ;
//					out += '<td class="right" style="width: 60px; text-align: center;">' + unescape(row.getAttribute('to')) + '</td>' ;
//					out += '</tr>';
//					out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				}
//			} else {
//				out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				out += '<tr><td colspan="4" style="text-align: center;">Ei rivejä</td></tr>';
//			}
//
//			out += '</table>';
//			elem.innerHTML = out;
//
//			listFormalPapers();
//		}
//	});
//}

// @deprecated ?
//function listFormalPapers() {
//	displayWait('Lataa tiedon: Julkaistut teokset');
//
//	loadXMLDoc('/cv/listFormalPapers/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			var elem = document.getElementById('papersList');
//			var edu = req.responseXML.documentElement.getElementsByTagName("paper")
//			var out = '';
//
//			out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
//			out += '<tr class="header">';
//			out += '<td>Titteli</th>' ;
//			out += '<td>Julkaisija</th>' ;
//			out += '<td class="right" style="width: 60px; text-align: center;">Vuosi</th>' ;
//			out += '</tr>';
//
//			if (edu && edu.length > 0) {
//				out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				for (i = 0; i < edu.length; i++) {
//					var row = edu[i];
//					out += '<tr onclick="javascript:editPaper(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">';
//					out += '<td>' + unescape(row.getAttribute('title')) + '</td>' ;
//					out += '<td>' + unescape(row.getAttribute('university')) + '</td>' ;
//					out += '<td class="right" style="width: 60px; text-align: center;">' + unescape(row.getAttribute('year')) + '</td>' ;
//					out += '</tr>';
//					out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				}
//			} else {
//				out += '<tr><td class="spacer" colspan="4" style="padding:0px;"></td></tr>';
//				out += '<tr><td colspan="4" style="text-align: center;">Ei rivejä</td></tr>';
//			}
//
//			out += '</table>';
//			elem.innerHTML = out;
//			//listFormalCourse();
//                        listCourses();
//		}
//	});
//}

//function listFormalCourse() {
//	displayWait('Lataa tiedon: Kurssit');
//
//	loadXMLDoc('/cv/listFormalCourse/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			var elem = document.getElementById('courseList');
//			var edu = req.responseXML.documentElement.getElementsByTagName("course")
//			var out = '';
//
//			out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
//			out += '<tr class="header">';
//			out += '<td>Titteli</td>' ;
//			out += '<td>Yritys</td>' ;
//			out += '<td class="right" style="width: 60px; text-align: center;">Vuosi</td>' ;
//			out += '</tr>';
//
//			if (edu && edu.length > 0) {
//				out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//				for (i = 0; i < edu.length; i++) {
//					var row = edu[i];
//					out += '<tr onclick="javascript:editCourse(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">';
//					out += '<td>' + unescape(row.getAttribute('title')) + '</td>' ;
//					out += '<td>' + unescape(row.getAttribute('university')) + '</td>' ;
//					out += '<td class="right" style="width: 60px; text-align: center;">' + unescape(row.getAttribute('year')) + '</td>' ;
//					out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//					out += '</tr>';
//				}
//			} else {
//				out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//				out += '<tr><td colspan="3" style="text-align: center;">Ei rivejä</td></tr>';
//			}
//
//			out += '</table>';
//			elem.innerHTML = out;
//			listFormalCerts();
//		}
//	});
//}

// @deprecated?
//function listFormalCerts() {
//	displayWait('Lataa tiedon: Sertifikaatiot');
//
//	loadXMLDoc('/cv/listFormalCerts/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			var elem = document.getElementById('certsList');
//			var edu = req.responseXML.documentElement.getElementsByTagName("cert")
//			var out = '';
//
//			out += '<table border="0" cellpadding="2" cellspacing="0" class="cv-table">';
//			out += '<tr class="header">';
//			out += '<td>Titteli</td>' ;
//			out += '<td>Yritys</td>' ;
//			out += '<td style="width: 60px; text-align: center;">Vuosi</td>';
//			out += '</tr>';
//
//			if (edu && edu.length > 0) {
//				out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//				for (i = 0; i < edu.length; i++) {
//					var row = edu[i];
//					out += '<tr onclick="javascript:editCert(' + unescape(row.getAttribute('id')) + ');" style="cursor:pointer;">';
//					out += '<td>' + unescape(row.getAttribute('title')) + '</td>' ;
//					out += '<td>' + unescape(row.getAttribute('university')) + '</td>' ;
//					out += '<td class="right" style="width: 60px; text-align: center;">' + unescape(row.getAttribute('year')) + '</td>' ;
//					out += '</tr>';
//					out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//				}
//			} else {
//				out += '<tr><td class="spacer" colspan="3" style="padding:0px;"></td></tr>';
//				out += '<tr><td colspan="3" style="text-align: center;">Ei rivejä</td></tr>';
//			}
//
//			out += '</table>';
//			elem.innerHTML = out;
//
//			listJobs();
//		}
//	});
//}

// @deprecated ?
//function deleteFile () {
//	if (confirm('Oletko varma?')) {
//		displayWait('Poistaa');
//		loadXMLDoc('/cv/deleteFile/id:' + document.getElementById('pk').value + '/', function () {
//			if (req.readyState == 4 && req.status == 200) {
//				removeWait();
//				if (req.responseText != '') {
//					alert(unescape(req.responseText));
//				} else {
//					listFiles();
//					closeProfileInfo();
//				}
//			}
//		});
//	}
//}
//
//function downloadFile(id)
//{
//	window.open('/cv/downloadFile/id:' + id + '/', 'cvDownload' + id,
//			    'width=1,height=1,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
//}

// @deprecated ?
//function editFile (id) {
//	displayWait('Lataa tiedon');
//
//	loadXMLDoc('/cv/editFile/id:' + id + '/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			removeWait();
//			infobox.setData(unescape(req.responseText));
//			infobox.setTitle('Omat tiedostot');
//			infobox.setSave(saveFile);
//			if (id > 0) {
//				infobox.setDelete(deleteFile);
//			}
//			infobox.show();
//
//			tinyMCE.execCommand('mceAddControl', false, 'editor');
//			/*document.getElementById('URL').focus();
//			document.getElementById('TIT').focus();*/
//
//			if($('flashPlayer')) {
//				var so = new SWFObject("/Template/MyNetwork/flashmp3/playerSingle.swf", "mymovie", "192", "67", "7", "#FFFFFF");
//				so.addVariable("autoPlay", "no");
//				so.addVariable("soundPath", '/cv/downloadFile/id:' + $('flashPlayer').innerHTML + '/');
//				so.write("flashPlayer");
//			}
//		}
//	});
//}

// @deprecated ?
//function newFile () {
//	editFile(0);
//}

// @deprecated ?
//function saveFile () {
//	tinyMCE.triggerSave();
//
//	//displayWait('Tallentaa');
//	var form	= document.getElementById('uploadform');
//	form.submit();
//
//	//closeProfileInfo();
//	//listFiles();
//}

// @deprecated ?
//function deleteCert () {
//	if (confirm('Oletko varma?')) {
//		displayWait('Poistaa');
//		loadXMLDoc('/cv/deleteCert/id:' + document.getElementById('pk').value + '/', function () {
//			if (req.readyState == 4 && req.status == 200) {
//				removeWait();
//				if (req.responseText != '') {
//					alert(unescape(req.responseText));
//				} else {
//					listFormalCerts();
//					closeProfileInfo();
//				}
//			}
//		});
//	}
//}

// @deprecated ?
//function editCert (id) {
//	displayWait('Lataa tiedon');
//
//	loadXMLDoc('/cv/editCert/id:' + id + '/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			removeWait();
//
//			infobox.setData(unescape(req.responseText));
//			infobox.setTitle('Sertifikaatiot');
//			infobox.setSave(saveCert);
//			if (id > 0) {
//				infobox.setDelete(deleteCert);
//			}
//			infobox.show();
//
//			tinyMCE.execCommand('mceAddControl', false, 'editor');
//
//			document.getElementById('step3certTitle').focus();
//			document.getElementById('step3certUniversity').focus();
//		}
//	});
//}
//
//function newCert () {
//	editCert(0);
//}
//
//function saveCert () {
//	tinyMCE.triggerSave();
//
//	var id			= escape(document.getElementById('pk').value);
//	var year		= escape(document.getElementById('step3certYear').value);
//	var uni			= escape(document.getElementById('step3certUniversity').value);
//	var type		= escape(document.getElementById('step3certType').value);
//	var title		= escape(document.getElementById('step3certTitle').value);
//	var text		= escape(document.getElementById('editor').value);
//
//	var data = 'year=' + year + '&';
//	data += 'uni=' + uni + '&';
//	data += 'type=' + type + '&';
//	data += 'title=' + title + '&';
//	data += 'text=' + text + '&';
//
//	displayWait('Tallentaa');
//	data = postAndWaitForResponse('/cv/saveCert/id:' + id + '/', 	data);
//	removeWait();
//
//	if (data != '') {
//		alert(unescape(data));
//	} else {
//		listFormalCerts();
//		closeProfileInfo();
//	}
//
//}

// @deprecated ?
//function deleteCourse () {
//	if (confirm('Oletko varma?')) {
//		displayWait('Poistaa');
//		loadXMLDoc('/cv/deleteCourse/id:' + document.getElementById('pk').value + '/', function () {
//			if (req.readyState == 4 && req.status == 200) {
//				removeWait();
//				if (req.responseText != '') {
//					alert(unescape(req.responseText));
//				} else {
//					listFormalCourse();
//					closeProfileInfo();
//				}
//			}
//		});
//	}
//}
//
//function editCourse (id) {
//	displayWait('Lataa tiedon');
//
//	loadXMLDoc('/cv/editCourse/id:' + id + '/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			removeWait();
//
//			infobox.setData(unescape(req.responseText));
//			infobox.setTitle('Kurssit');
//			infobox.setSave(saveCourse);
//			if (id > 0) {
//				infobox.setDelete(deleteCourse);
//			}
//			infobox.show();
//
//			tinyMCE.execCommand('mceAddControl', false, 'editor');
//
//			document.getElementById('step3courseTitle').focus();
//			document.getElementById('step3courseUniversity').focus();
//		}
//	});
//}
//
//function newCourse () {
//	editCourse(0);
//}
//
//function saveCourse () {
//	tinyMCE.triggerSave();
//
//	var id			= escape(document.getElementById('pk').value);
//	var year		= escape(document.getElementById('step3courseYear').value);
//	var uni			= escape(document.getElementById('step3courseUniversity').value);
//	var town		= escape(document.getElementById('step3coursePlace').value);
//	var title		= escape(document.getElementById('step3courseTitle').value);
//	var text		= escape(document.getElementById('editor').value);
//
//	var data = 'year=' + year + '&';
//	data += 'uni=' + uni + '&';
//	data += 'town=' + town + '&';
//	data += 'title=' + title + '&';
//	data += 'text=' + text + '&';
//
//	displayWait('Tallentaa');
//	data = postAndWaitForResponse('/cv/saveCourse/id:' + id + '/', 	data);
//	removeWait();
//
//	if (data != '') {
//		alert(unescape(data));
//	} else {
//		listFormalCourse();
//		closeProfileInfo();
//	}
//}

// @deprecated ?
//function deleteEducation () {
//	if (confirm('Oletko varma?')) {
//		displayWait('Poistaa');
//		loadXMLDoc('/cv/deleteEducation/id:' + document.getElementById('pk').value + '/', function () {
//			if (req.readyState == 4 && req.status == 200) {
//				removeWait();
//				if (req.responseText != '') {
//					alert(unescape(req.responseText));
//				} else {
//					listFormalEducation();
//					closeProfileInfo();
//				}
//			}
//		});
//	}
//}
//
//function editEducation (id) {
//	displayWait('Lataa tiedon');
//
//	loadXMLDoc('/cv/editEducation/id:' + id + '/', function () {
//		if (req.readyState == 4 && req.status == 200) {
//			removeWait();
//
//			infobox.setData(unescape(req.responseText));
//			infobox.setTitle('Koulutukset');
//			infobox.setSave(saveEducation);
//			if (id > 0) {
//				infobox.setDelete(deleteEducation);
//			}
//			infobox.show();
//
//			tinyMCE.execCommand('mceAddControl', false, 'editor');
//
//			document.getElementById('step3eduTitle').focus();
//			document.getElementById('step3eduUniversity').focus();
//		}
//	});
//}
//
//function newEducation () {
//	editEducation(0);
//}
//
//function saveEducation () {
//	tinyMCE.triggerSave();
//
//	var id			= escape(document.getElementById('pk').value);
//	var from		= escape(document.getElementById('step3eduFrom').value);
//	var to			= escape(document.getElementById('step3eduTo').value);
//	var uni			= escape(document.getElementById('step3eduUniversity').value);
//	var town		= escape(document.getElementById('step3eduPlace').value);
//	var credits		= escape(document.getElementById('step3eduCredits').value);
//	var title		= escape(document.getElementById('step3eduTitle').value);
//	var level		= escape(document.getElementById('step3eduLevel').value);
//	var text		= escape(document.getElementById('editor').value);
//	var country		= escape(document.getElementById('country').value);
//
//	var data = 'from=' + from + '&';
//	data += 'to=' + to + '&';
//	data += 'uni=' + uni + '&';
//	data += 'town=' + town + '&';
//	if(level > 10103) {
//		data += 'credits=' + credits + '&';
//	}
//	data += 'title=' + title + '&';
//	data += 'level=' + level + '&';
//	data += 'text=' + text + '&';
//	data += 'cou=' + country + '&';
//
//	displayWait('Tallentaa');
//	data = postAndWaitForResponse('/cv/saveEducation/id:' + id + '/', 	data);
//	removeWait();
//
//	if (data != '') {
//		alert(unescape(data));
//	} else {
//		listFormalEducation();
//		closeProfileInfo();
//	}
//}

function deleteExperience () {
	if (confirm('Oletko varma?')) {
		displayWait('Poistaa');
		loadXMLDoc('/cv/deleteJob/id:' + document.getElementById('pk').value + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				if (req.responseText != '') {
					alert(unescape(req.responseText));
				} else {
					listJobs();
					closeProfileInfo();
				}
			}
		});
	}
}

function editExperience (id) {
	displayWait('Lataa tiedon');

	loadXMLDoc('/cv/editJob/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();

			infobox.setData(unescape(req.responseText));
			infobox.setTitle('Työpaikat');
			infobox.setSave(saveExperience);
			if (id > 0) {
				infobox.setDelete(deleteExperience);
			}
			infobox.show();

			tinyMCE.execCommand('mceAddControl', false, 'editor');

			document.getElementById('position').focus();
			document.getElementById('company').focus();

		}
	});
}

function newExperience() {
	editExperience(0);
}

function saveExperience () {
	tinyMCE.triggerSave();

	var id					= document.getElementById('pk').value;
	var yearFrom		= document.getElementById('yearFrom').value;
	var yearTo			= document.getElementById('yearTo').value;
	var company			= document.getElementById('company').value;
	var position		= document.getElementById('position').value;
	var town				= document.getElementById('town').value;
	var country			= document.getElementById('country').value;
	var staff				= document.getElementById('staff').value;
	var budget				= document.getElementById('budget').value;
	var description	= document.getElementById('editor').value;

	var data = '';
	data += 'id=' + escape(id) + "&";
	data += 'yearFrom=' + escape(yearFrom) + "&";
	data += 'yearTo=' + escape(yearTo) + "&";
	data += 'company=' + escape(company) + "&";
	data += 'position=' + escape(position) + "&";
	data += 'town=' + escape(town) + "&";
	data += 'country=' + escape(country) + "&";
	data += 'staff=' + escape(staff) + "&";
	data += 'budget=' + escape(budget) + "&";
	data += 'description=' + escape(description);


	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/cv/saveJob/id:' + id + '/', 	data);
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		listJobs();
		closeProfileInfo();
	}
}

// @deprecated?
//function saveProfileText(sort, msg, sortIsId)
//{
//	var title;
//	var text;
//	var data;
//	var res;
//
//	tinyMCE.triggerSave();
//
//	if(sortIsId == true) {
//		text = escape(cleanTinyMCEtext(document.getElementById(sort).value));
//		title = '';
//	} else {
//		title = document.getElementById('info_type_title_' + sort).value;
//		text = escape(cleanTinyMCEtext(document.getElementById('info_type_text_' + sort).value));
//	}
//
//	if(title != -1 && text == '') {
//		return;
//	}
//
//	data = 'text=' + text + '&sort=' + sort + '&title=' + title;
//
//	if(msg == true) {
//		displayWait('Tallentaa');
//	}
//
//	res = postAndWaitForResponse('/cv/saveProfileText/', data);
//
//	if(msg == true) {
//		removeWait();
//	}
//
//	if (res != '') {
//		alert(unescape(res));
//	} else {
//		loadPercentage ();
//	}
//}

function saveProfileWord(sort)
{
	var word;
	var data;
	var res;

	word = document.getElementById('word_' + sort).value;

	data = 'word=' + word + '&sort=' + sort;

	res = postAndWaitForResponse('/cv/saveProfileWord/', data);

	if (res != '') {
		alert(unescape(res));
	} else {
		loadPercentage ();
	}
}

function saveAboutMe () {
	tinyMCE.triggerSave();

	var text1 = escape(document.getElementById('info_type_text_1').value);
	var title1 = document.getElementById('info_type_title_1').value;
	var text2 = escape(document.getElementById('info_type_text_2').value);
	var title2 = document.getElementById('info_type_title_2').value;
	var word1 = document.getElementById('word_1').value;
	var word2 = document.getElementById('word_2').value;
	var word3 = document.getElementById('word_3').value;
	var word4 = document.getElementById('word_4').value;
	var word5 = document.getElementById('word_5').value;

	if(title1 != -1 && text1 == '') {
		alert("Om du har valt en titel f�r f�ltet inte vara tomt.");
		return;
	}

	if(title2 != -1 && text2 == '') {
		alert("Om du har valt en titel f�r f�ltet inte vara tomt.");
		return;
	}

	var data = 'text1=' + text1 + '&title1=' + title1 + '&' +
		       'text2=' + text2 + '&title2=' + title2 + '&' +
			   'word1=' + word1 + '&word2=' + word2 + '&word3=' + word3 + '&word4=' + word4 + '&word5=' + word5;

	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/cv/saveAboutMe/', data);
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		loadPercentage ();
	}
}

function cleanTinyMCEtext(text)
{
	text = text.replace(/\n/g, '');
	text = text.replace(/\r/g, '');
	return text;
}


function saveExtended () {
	tinyMCE.triggerSave();

	var data  = 'text1=' + escape(cleanTinyMCEtext(document.getElementById('text1').value)) + '&';
	data += 'text2=' + escape(cleanTinyMCEtext(document.getElementById('text2').value)) + '&';
	data += 'text3=' + escape(cleanTinyMCEtext(document.getElementById('text3').value)) + '&';
	data += 'text4=' + escape(cleanTinyMCEtext(document.getElementById('text4').value)) + '&';
	data += 'text5=' + escape(cleanTinyMCEtext(document.getElementById('text5').value));

	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/cv/saveExtended/', 	data);
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		loadPercentage ();
	}
}

function deleteFAQ () {
	if (confirm('Oletko varma?')) {
		displayWait('Poistaa');
		loadXMLDoc('/cv/deleteFAQ/id:' + document.getElementById('pk').value + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				if (req.responseText != '') {
					alert(unescape(req.responseText));
				} else {
					listFaqs();
					closeProfileInfo();
				}
			}
		});
	}
}

function editFAQ (id) {
	displayWait('Lataa tiedon');

	loadXMLDoc('/cv/editFAQ/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			infobox.setData(unescape(req.responseText));
			infobox.setTitle('Usein kysyttyä');
			infobox.setSave(saveFAQ);
			if (id > 0) {
				infobox.setDelete(deleteFAQ);
			}
			infobox.show();

			tinyMCE.execCommand('mceAddControl', false, 'editor');
//			document.getElementById('editor').focus();
			document.getElementById('question').focus();
		}
	});
}

function newFAQ() {
	editFAQ(0);
}

function publishFAQ (id, state) {
	displayWait('Lataa tiedon');
	loadXMLDoc('/cv/publishFAQ/id:' + id + '/state:' + state + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			listFaqs();
		}
	});
}

function saveFAQ () {
	tinyMCE.triggerSave();

	var id				= escape(document.getElementById('pk').value);
	var question	= document.getElementById('question').value;
	var answer		= document.getElementById('editor').value;

	if (trim(question) == '') {
		alert('Kysymykset ovat pakollisia!');
		return;
	}

	if (trim(answer) == '') {
		alert('Vastaukset ovat pakollisia!');
		return;
	}

	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/cv/saveFAQ/id:' + id + '/', 	'question=' + escape(question) + '&' + 'answer=' + escape(answer));
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		listFaqs();
		closeProfileInfo();
	}
}


function deletePaper () {
	if (confirm('Oletko varma?')) {
		displayWait('Poistaa');
		loadXMLDoc('/cv/deletePaper/id:' + document.getElementById('pk').value + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				if (req.responseText != '') {
					alert(unescape(req.responseText));
				} else {
					listFormalPapers();
					closeProfileInfo();
				}
			}
		});
	}
}

function editPaper(id) {
	displayWait('Lataa tiedon');

	loadXMLDoc('/cv/editPaper/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			infobox.setData(unescape(req.responseText));
			infobox.setTitle('Julkaistut teokset');
			infobox.setSave(savePaper);
			if (id > 0) {
				infobox.setDelete(deletePaper);
			}
			infobox.show();

			tinyMCE.execCommand('mceAddControl', false, 'editor');

			document.getElementById('step3paperUniversity').focus();
			document.getElementById('step3paperTitle').focus();
		}
	});
}

function newPaper() {
	editPaper(0);
}

function savePaper () {
	tinyMCE.triggerSave();

	var id			= document.getElementById('pk').value;
	var year		= document.getElementById('step3paperYear').value;
	var uni			= document.getElementById('step3paperUniversity').value;
	var town		= document.getElementById('step3paperPlace').value;
	var title		= document.getElementById('step3paperTitle').value;
	var text		= document.getElementById('editor').value;

	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/cv/savePaper/id:' + id + '/', 'year=' + year + '&' + 'uni=' + escape(uni) + '&' + 'town=' + escape(town) + '&' + 'title=' + escape(title) + '&' + 'text=' + escape(text));
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		listFormalPapers();
		closeProfileInfo();
	}
}

function saveParser () {
	if (req.readyState == 4) {
		if (req.status == 200) {
			tinyMCE.execCommand('mceRemoveControl', false, 'text');
			document.getElementById('cv-content').innerHTML = unescape(req.responseText);
			tinyMCE.execCommand('mceAddControl', false, 'text');
			//step3Xlist(document.getElementById('stepid').value)
		}
	}
}

// @deprecated
function doSearch(target) {
	var search = document.getElementById('searchfield');
	if (trim(search.value) == '') {
		alert('Sinun täytyy etsiä jotain!');
		return;
	}
		displayWait('Lataa tiedon');

	loadXMLDoc('/center/search/search:' + escape(search.value.replace('/', ' ')) + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			var rows = req.responseXML.documentElement.getElementsByTagName("search");

			var out = '';
			var which_col = 0;

			if(rows && rows.length > 0) {
				for(i = 0; i < rows.length; i++) {
					if(which_col == 0) {
						col = 'g';
						which_col = 1;
					} else {
						col = 'g';
						which_col = 0;
					}
					out += '<div style="font-size: 10px; padding-bottom: 3px; margin-top: 5px; height: 155px; background-image: url(/Template/MyNetwork/search_frame_' + col + '.png); width: 758px; overflow: auto;">\n';
					out += '	<div style="padding-top: 5px;">\n';
					if(rows[i].getAttribute('KNO') == '1') {
						out += '		<div style="float: left; margin-left: 5px; width: 35px;">&nbsp;</div>\n';
						out += '		<div style="float: left; width: 175px;">\n';
						out += '			<a href="javascript:viewProfile(' + rows[i].getAttribute('id') + ')"><b>' + unescape(rows[i].getAttribute('USR')) + '</b></a>\n';
						out += '		</div>\n';
					} else {
						out += '		<div style="float: left; margin-left: 5px; width: 35px;"><input onclick="javascript:checkToggled();" type="checkbox" id="' + rows[i].getAttribute('id') + '" /></div>\n';
						out += '		<div style="float: left; width: 175px;"><a href="javascript:viewProfile(' + rows[i].getAttribute('id') + ')">' + unescape(rows[i].getAttribute('USR')) + '</a></div>\n';
					}
					out += '		<div style="float: left; width: 430px;">' + unescape(rows[i].getAttribute('COU')) + '</div>\n';
					out += '		<div style="float: left;">Relevanssi: ' + unescape(rows[i].getAttribute('REL')) + '%</div>\n';
					out += '	</div>\n';
					out += '	<div style="clear: both;"></div>\n';
					out += '	<div style="padding-top: 5px; margin-left: 40px; float: left; text-align: left; width: 214px;">\n';
					out += '		<div>';
					out += '			<b>Koulutustaso:</b><br />\n';
					out += '			' + unescape(rows[i].getAttribute('EDU')) + '<br />\n';
					out += '		</div>';
					out += '		<div>';
					out += '			<b>Ensisijainen ainevalinta:</b><br />\n';
					out += '			' + unescape(rows[i].getAttribute('SUB')) + '<br />\n';
					out += '		</div>';
					out += '		<div>';
					out += '			<b>Henkilöstövastuu:</b><br />\n';
					out += '			' + unescape(rows[i].getAttribute('STA')) + '<br />\n';
					out += '		</div>';
					out += '		<div>';
					out += '			<b>Taloudellinen vastuu:</b><br />\n';
					out += '			' + unescape(rows[i].getAttribute('BUD')) + '<br />\n';
					out += '		</div>';
					out += '	</div>\n';
					var title = rows[i].getAttribute('ATI1');
					var text = unescape(rows[i].getAttribute('ATE1'));
					if(text != null) {
						var nl = new Array();
						var pos;
						var text_tmp = text;
						var nl_sz = 0;
						var cur = 0;
						while((pos = text_tmp.indexOf('<br />')) != -1) {
							nl[nl.length] = (cur + pos);
							nl_sz += 70;
							cur += pos;
							text_tmp = text_tmp.substr(0, pos);
						}
						if(nl.length > 6) {
							text = (text.substr(nl[5] - 1));
						} else if(text.length + nl_sz > 400) {
							text = (text.substr(0, 400 - nl_sz) + '...');
						}
					}
					if(title != null && text != null) {
						out += '	<div style="margin-top: 3px; float: left; width: 400px; height: 95px; background-image: url(/Template/MyNetwork/search_frame_small_w.png);">\n';
						out += '		<div style="margin: 5px;">';
						out += '			<div style="font-size: 10px;"><b>' + unescape(title) + '</b></div>';
						out += '			' + text + '\n';
						out += '		</div>';
						out += '	</div>\n';
					}
					out += '	<div style="clear: both;"></div>\n';
					var cnt = 0;
					for(j = 1; j <= 5; j++) {
						if(rows[i].getAttribute('AW' + j) == null) {
							continue;
						}
						cnt++;
					}
					if(cnt > 0) {
						var width = (645 / cnt);
						out += '	<div style="height: 5px;">&nbsp;</div>\n';
						out += '	<div style="font-weight: bold; margin-left: 40px; float: left; width: 50px;">Minä olen:</div>';
						for(j = 1; j <= 5; j++) {
							var tmp = rows[i].getAttribute('AW' + j);
							if(tmp == null) {
								continue;
							}
							out += '	<div style="float: left; text-align: center; width: ' + width + 'px;">\n';
							out += '		' + unescape(tmp) + '<br />\n';
							out += '	</div>\n';
						}
					}
					out += '</div>\n';
				}
			}

			document.getElementById('menuItem01').innerHTML = '&nbsp;&nbsp;Hae (' + rows.length + ')';


		document.getElementById(target).innerHTML = out;
		}
	});
}

function saveComp2Answer() {
	var answer = '';
	for(var i = 1; i <= 8; i++) {
		var digit = document.getElementById('digit-' + i).value;
		if((answer == '') && (digit == 0)) {
			continue;
		}
		answer += ('' + digit);
		if(i == 3) {
			answer += '.';
		}
	}
	var ret = postAndWaitForResponse('/coremodule/comp2/answer:' + answer + '/', '');
	alert(unescape(ret));
}

function loadJobs (doUpdateFolders) {
	displayWait('Lataa tiedon: Avoimet virat');
	loadXMLDoc('/center/loadjobs/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var out = '';
			out += '<table border="0" cellpadding="0" cellspacing="0" class="subpage-table">';
			out += '<tr class="header">';
			out += '<td>&nbsp;</td>' ;
			out += '<td>Titteli</td>' ;
			out += '<td>Paikka</td>' ;
			//out += '<td>Julkaistu</td>' ;
			out += '<td>Viimeinen hakupäivä</td>' ;
			out += '<td>Yhteyshenkilö</td>' ;
			out += '<td>Status</td>' ;
			out += '</tr>';

			var rows = req.responseXML.documentElement.getElementsByTagName("job");

			if (rows && rows.length > 0) {
				for (i = 0; i < rows.length; i++) {
					out += '<tr class="normal">';
					out += '<td class="left" width="25"><a class="subpage-preview-button" href="javascript:editJob(' + rows[i].getAttribute('id') + ');"></a></td>' ;
					out += '<td><div style="overflow: hidden; width: 150px;">' + unescape(rows[i].getAttribute('TIT')) + '</div></td>' ;
					out += '<td><div style="overflow: hidden; width: 100px;">' + unescape(rows[i].getAttribute('TOW')) + ', ' + unescape(rows[i].getAttribute('COU')) + '</div></td>' ;
					//out += '<td>' + unescape(rows[i].getAttribute('PUB')) + '</td>' ;
					out += '<td>' + unescape(rows[i].getAttribute('END')) + '</td>' ;
					out += '<td>' + unescape(rows[i].getAttribute('POC')) + '</td>' ;
					out += '<td class="right">' + (rows[i].getAttribute('CPL') == 1 ? 'Päätetty' : 'Avattu') + '</td>' ;
					out += '</tr>';
					out += '<tr><td colspan="6" class="spacer"></td></tr>';
				}
			} else {
				out += '<tr><td colspan="5">Ei rivejä</td></tr>';
			}

			out += '</table>';
			document.getElementById('jobsResultset').innerHTML = out;
			
			if(doUpdateFolders == true) {
				updateFolders(true);
			}
		}
	});
}

function companyFilterInbox () {
	var m = document.getElementById('filterMailbox');
	var s = document.getElementById('filterSender');

	var out = ''
	out += '<table border="0" cellpadding="0" cellspacing="0" class="defaultTable" style="width: 732px;">';

	var unread = 0;
	var num = 0;
	var rows = companyReceivedMail;
	if (rows && rows.length > 0) {
		for (i = 0; i < rows.length; i++) {
			var ok = true;

			if (m.value != '' && (rows[i].getAttribute('MAI')) != m.value) {
				ok = false;
			}

			if (s.value != '' && (rows[i].getAttribute('FRO')) != s.value) {
				ok = false;
			}

			if (ok) {
				num++;
				out += '<tr><td colspan="5" class="spacer"></td></tr>';
				out += '<tr>';
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('MAI')) + '</td>' ;
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('FRO')) + '</td>' ;
				out += '<td>' + unescape(rows[i].getAttribute('SUB')) + '</td>' ;
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('DAT')) + '</td>' ;
				out += '<td class="px60" style="padding: 0px;"><a class="px60" href="javascript:viewMessage(' + rows[i].getAttribute('id') + ');">Lue</a></td>' ;
				out += '</tr>';

				if (rows[i].getAttribute('STA') == 0) {
					unread++;
				}
			}
		}
	} else {
		out += '<tr><td colspan="5" class="spacer"></td></tr>';
		out += '<tr><td colspan="5" style="text-align: center;">Ei rivejä</td></tr>';
	}

	if (rows && rows.length > 0 && num == 0) {
		out += '<tr><td colspan="5" class="spacer"></td></tr>';
		out += '<tr><td colspan="5" style="text-align: center;">Ei rivejä</td></tr>';
	}

	//document.getElementById('menuItem05').innerHTML = 'Viestit (' + unread + ')';
	
	out += '</table>';

	document.getElementById('innerInbox').innerHTML = out;
}

function companyFilterOutbox () {
	var m = document.getElementById('filterOutMailbox');
	var s = document.getElementById('filterOutSender');


	var out = ''
	out += '<table border="0" cellpadding="0" cellspacing="0" class="defaultTable" style="width: 732px;">';

	var unread = 0;
	var num = 0;
	var rows = companySentMail;
	if (rows && rows.length > 0) {
		for (i = 0; i < rows.length; i++) {
			var ok = true;

			if (m.value != '' && (rows[i].getAttribute('MAI')) != m.value) {
				ok = false;
			}

			if (s.value != '' && (rows[i].getAttribute('TO')) != s.value) {
				ok = false;
			}

			if (ok) {
				num++;
				out += '<tr><td colspan="5" class="spacer"></td></tr>';
				out += '<tr>';
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('TO')) + '</td>' ;
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('MAI')) + '</td>' ;
				out += '<td>' + unescape(rows[i].getAttribute('SUB')) + '</td>' ;
				out += '<td style="width: 125px;">' + unescape(rows[i].getAttribute('DAT')) + '</td>' ;
				out += '<td class="px60" style="padding: 0px;"><a class="px60" href="javascript:viewMessage(' + rows[i].getAttribute('id') + ');">Lue</a></td>' ;
				out += '</tr>';

				if (rows[i].getAttribute('STA') == 0) {
					unread++;
				}
			}
		}
	} else {
		out += '<tr><td colspan="5" class="spacer"></td></tr>';
		out += '<tr><td colspan="5" style="text-align: center;">Ei rivejä</td></tr>';
	}

	if (rows && rows.length > 0 && num == 0) {
		out += '<tr><td colspan="5" class="spacer"></td></tr>';
		out += '<tr><td colspan="5" style="text-align: center;">Ei rivejä</td></tr>';
	}

	//document.getElementById('menuItem05').innerHTML = 'Viestit (' + unread + ')';
	out += '</table>';

	document.getElementById('innerOutbox').innerHTML = out;
}

function tryLoadMessages(activeReqFid)
{	
	if(activeRecruitmendFolderID == null) {
		return;
	}
	var isFolded = getMenu().getItemAt(activeRecruitmendFolderID).getFolded();
	if(isFolded == true) {
		setTimeout(tryLoadMessages, 100);
		return;
	}
	loadMessages();	
}			

function showChoiceFor (field) {
	document.getElementById(field).style.display = 'block';
}

function excelUserExport(lang)
{
	window.open('/mnadmin/user/action:export/lang:' + lang + '/', 'export' + lang, 'width=1,height=1,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
}

function openProjectReport(id)
{
	window.open('/center/projectreport/id:' + id + '/',
				'profile' + id,
				'width=700,height=705,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
}

function addProjectComment()
{
	document.getElementById('project-comment').style.display = 'block';
	document.getElementById('project-shade').style.display = 'block';
}

function closeProjectComment()
{
	document.getElementById('project-comment').style.display = 'none';
	document.getElementById('project-shade').style.display = 'none';
}

function openProjectFileUpload(pid)
{
	document.getElementById('iframe-project-fileupload').src = '/center/fileuploadform/pid:' + pid + '/';
	document.getElementById('project-fileupload').style.display = 'block';
	document.getElementById('project-shade').style.display = 'block';
}

function reloadFileList(pid)
{
	displayWait('RELOADING_FILES');
	loadXMLDoc('/center/loadfilelist/pid:' + pid + '/', function () {
		removeWait();
		var div = document.getElementById('report-file-container');
		div.innerHTML = '';
		var elems = req.responseXML.getElementsByTagName('file');
		for(var i = 0; i < elems.length; i++) {
			div.innerHTML += 
				'<div style="width: 250px; float: left;">' + elems[i].getAttribute('name') + '</div>' +
				'<div style="width: 250px; float: left;">' + elems[i].getAttribute('assocname') + '</div>' +
				'<div style="width: 70px; float: left; text-align: center;"><a href="/center/downloadCompanyFile/fid:' + elems[i].getAttribute('id') + '/" class="recruit-links">Lataa</a></div>' +
				'<div style="width: 70px; float: left; text-align: center;"><a href="javascript:deleteCompanyFile(' + elems[i].getAttribute('id') + ');" class="recruit-links">Poista</a></div>' +
				'<div style="clear: both;"></div>' +
				'<div style="width: 475px; margin-bottom: 3px;"><i>' + elems[i].getAttribute('description') + '</i></div>';
		}
	});
}

function testFunction()
{
	alert('hello');
}

function deleteCompanyFile(fid)
{
	displayWait('Poista tiedosto');
	postAndWaitForResponse('/center/deleteCompanyFile/fid:' + fid + '/');
	removeWait();
	document.location.reload();
}

function saveProjectComment(id)
{
//	tinyMCE.triggerSave();
	var editor = tinyMCE.getInstanceById('project-comment-text');
	var comment = editor.getContent();
	displayWait('Tallentaa');
	var data = postAndWaitForResponse('/center/commentproject/pid:' + id + '/',
			                          'comment=' + htmlspecialchars(comment));
	removeWait();
	if(data == '1') {
		document.location.reload();
	} else {
		alert(data);
	}
}

function viewProfile (id) {
	window.open('/user/view/id:' + id + '/include:0/', 
			'profile' + id,
			'width=700,height=650,menubar=no,location=no,resizable=no,scrollbars=no,status=no');

	/*
	var elem = document.getElementById('menuItemWorkspace02');

	if (document.getElementById('tinytext')) {
		tinyMCE.execCommand('mceRemoveControl', false, 'tinytext');
	}

	displayWait('Lataa tiedon');
	loadXMLDoc('/user/view/id:' + id + '/include:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);

			//document.getElementById('menuItemWorkspace02').innerHTML = unescape(req.responseText);

			//menuItem(2);

			if (document.getElementById('tinytext')) {
				tinyMCE.execCommand('mceAddControl', false, 'tinytext');
			}
		}
	});
*/
}

function viewSelectedProfiles()
{
	var req_id = new Array();
	var tags = document.getElementById('dataresult').getElementsByTagName('input');
	for(var i = 0; i < tags.length; i++) {
		if(tags[i].type != 'checkbox' && tags[i].id != 'toggleall') {
			continue;
		}
		if(tags[i].checked == false) {
			continue;
		}
		req_id[req_id.length] = tags[i].id;
	}
	if(req_id.length == 0) {
		alert('Merkitse ne profiilit joihin haluat pääsyn');
		return;
	}
	var req_str = req_id.join(';');
	window.open('/user/request/id:' + req_id + '/', 'request', 'width=700,height=650,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
/*	displayWait('Lataa tiedon');
	loadXMLDoc('/user/request/id:' + req_id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();

			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
//
//			document.getElementById('menuItemWorkspace02').innerHTML = unescape(req.responseText);

	//		menuItem(2);

			if (document.getElementById('tinytext')) {
				tinyMCE.execCommand('mceAddControl', false, 'tinytext');
			}
		}
	});*/
}

function displayHelppage(type)
{	
	document.getElementById(type + 'Container-Shadow').style.display = 'block';	
	var data = document.getElementById(type + 'Container-Data'); 
	
	if(document.all) {
		document.getElementById(type + 'Container-Shadow').style.width = document.documentElement.clientWidth;
		document.getElementById(type + 'Container-Shadow').style.height = document.body.clientHeight;
		
		var scroll = document.body.scrollTop;		
		
		data.style.left = (((parseInt(document.getElementById(type + 'Container-Shadow').style.width) / 2) - 500) + 'px');
		data.style.top = ((scroll + 100) + 'px');
	}
		
	data.style.display = 'block';
	
	// Bugs in IE6. Hide selectboxes.
	if(document.all) {
		var inputs = document.getElementsByTagName('select');
		for(var cnt = 0; cnt < inputs.length; cnt++) {
			inputs[cnt].style.display = 'none';
		}
	}
}

function closeHelppage(type)
{
	document.getElementById(type + 'Container-Shadow').style.display = 'none';
	document.getElementById(type + 'Container-Data').style.display = 'none';
	
	// Bugs in IE6. Hide selectboxes.
	if(document.all) {
		var inputs = document.getElementsByTagName('select');
		for(var cnt = 0; cnt < inputs.length; cnt++) {
			inputs[cnt].style.display = 'block';
		}
	}
		
	if(isIE()) {
		if($('reloadUI')) {
			displayWait('Lataa');
			reloadUI();
			removeWait();
		}
	}
}

function modifyUserTemplate(code, pid)
{
	var params = 'code=' + code;

	if(pid != null) {
		params += '&text=' + htmlspecialchars(document.getElementById('template-text-' + code).value);
		params += '&subject=' + htmlspecialchars(document.getElementById('template-subject-' + code).value);
	} else {	
		params += ('&' + ml_saveMultiLangData());
	}
	
	var name = null;
	if(code == 'personal') {
		name = document.getElementById('templateName').value;
	}
	
	params += '&pid=' + (pid == null ? 0 : pid);

	if(name != null) {
		params += '&name=' + name;
	}

	data = postAndWaitForResponse('/mypage/modifyTemplate/', params);
	if(data != '1') {
		alert(data);
	} else {
		alert('Tallenna OK');
		if(code == 'personal') {
			document.location.href = '?page=6&tid=personal&name=' + name;
		}
	}
	return;
}

function modifyTemplate(code, pid)
{
	var params = 'code=' + code;

	if(pid != null) {
		params += '&text=' + htmlspecialchars(document.getElementById('template-text-' + code).value);
		params += '&subject=' + htmlspecialchars(document.getElementById('template-subject-' + code).value);
	} else {
		params += ('&' + ml_saveMultiLangData());
	}

	var name = null;
	if(code == 'personal') {
		name = document.getElementById('templateName').value;
	}

	params += '&pid=' + (pid == null ? 0 : pid);

	if(name != null) {
		params += '&name=' + name;
	}

	data = postAndWaitForResponse('/admin/modifyTemplate/', params);
	if(data != '1') {
		alert(data);
	} else {
                alert('Tallenna OK');
		if(code == 'personal') {
			document.location.href = '?page=6&tid=personal&name=' + name;
		}
	}
	return;
}

function eraseTemplate(name)
{
	var params = 'name=' + name;
/*	params += '&text=' + document.getElementById('template-text-' + code).value;
	params += '&subject=' + document.getElementById('template-subject-' + code).value;*/
	
//	params += saveMultiLangData();
	
	data = postAndWaitForResponse('/admin/eraseTemplate/', params);
	if(data != '1') {
		alert(data);
	} else {
		alert('Poista OK');
		document.location.href = '?page=6';
	}
	return;
}

function closeProfileInfo() {
	document.getElementById('infobox').style.display = 'none';
	var editor = tinyMCE.getInstanceById('editor');
	if(editor != null) {
		editor.remove();
	}
	document.getElementById('infoboxButtonContainer').style.width = '180px';
	document.getElementById('infoboxButtonContainer').innerHTML = '<div class="button-180-gray" style="float: left;"><a class="button-180-gray" href="javascript:infobox.hide();"><span class="vertical-180-24-button">Sulje</span></a></div>';
}

function profileInfo(table, id) {
	var box = document.getElementById('infobox');

	displayWait('Lataa tiedon');
	loadXMLDoc('/user/profileInfo/table:' + escape(table) + '/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			box.style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	});

}

function editorItem(id) {
	for (i = 1; i <= 5; i++) {

		document.getElementById('menuItemEditorA' + i).style.color = 'white';
	}


	document.getElementById('menuItemEditorA' + id).style.color = 'black';

	tinyMCE.triggerSave();

	editors['val' + currentEditor] = document.getElementById('editor').value;
	document.getElementById('editor').value = editors['val' + id];
	//tinyMCE.updateContent('editor');
	tinyMCE.getInstanceById('editor').load();

	currentEditor = id;
}

var editors = new Object;
var currentEditor = 1;

var jobDialog = null;

function loadLocaleGroups(selectID, id, occupationClear)
{
	var selectOb = document.getElementById(selectID);
	var elem = document.createElement('option');
	selectOb.options.length = 0;
	if(occupationClear != null) {
		document.getElementById(occupationClear).options.length = 1;
		document.getElementById(occupationClear).disabled = true; 
	}
	loadXMLDoc('/center/loadLocaleGroups/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var elems = req.responseXML.getElementsByTagName('localeGroup');
			if(elems.length == 0) {
				elem.text = 'Ammattiryhmää ei ole valittu';
				selectOb.disabled = true;
			} else {
				elem.text = 'Valitse ammattiala';
				selectOb.disabled = false;
			}
			/** If-block below to avoid non-standard-devuant JS-engine
			 *  in IE6 (and possibly IE7?) from causing trouble.
			 */
			if(!document.all) {
				selectOb.add(elem, null);
			} else {
				selectOb.add(elem);
			}
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var id = node.getNamedItem('localecode').value;
				var name = unescape(node.getNamedItem('name').value);
				elem = document.createElement('option');
				elem.text = name;
				elem.value = id;
				if(!document.all) {
					selectOb.add(elem, null);
				} else {
					selectOb.add(elem);
				}
			}
		}
	});	
}

function loadOccupationNames(selectID, id)
{
	var selectOb = document.getElementById(selectID);
	var elem = document.createElement('option');
	selectOb.options.length = 0;
	loadXMLDoc('/center/loadOccupationNames/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var elems = req.responseXML.getElementsByTagName('occupationName');
			if(elems.length == 0) {
				elem.text = 'Puuttuva ammattinimi';
				selectOb.disabled = true;
			} else {
				elem.text = 'Valitse ammattiryhmä';
				selectOb.disabled = false; 
			}
			/** If-block below to avoid non-standard-devuant JS-engine
			 *  in IE6 (and possibly IE7?) from causing trouble.
			 */
			if(!document.all) {
				selectOb.add(elem, null);
			} else {
				selectOb.add(elem);
			}
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var id = node.getNamedItem('occupationnameid').value;
				var name = unescape(node.getNamedItem('name').value);
				elem = document.createElement('option');
				elem.text = name;
				elem.value = id;
				if(!document.all) {
					selectOb.add(elem, null);
				} else {
					selectOb.add(elem);
				}
			}
		}
	});	
}

function testJobDate(ends) {
	var year;
	var month;
	var day;
	if(ends == true) {
		year = document.getElementById('ends-YEA');
		mon = document.getElementById('ends-MON');
		day = document.getElementById('ends-DAY');
	} else {
		year = document.getElementById('pub-YEA');
		mon = document.getElementById('pub-MON');
		day = document.getElementById('pub-DAY');
	}
	if(year.value == '') {
		return false;
	}
	if(mon.value == '') {
		return false;
	}
	if(day.value == '') {
		return false;
	}
	return (year.value + '-' + (mon.value < 10 ? ('0' + mon.value) : mon.value) + '-' + (day.value < 10 ? ('0' + day.value) : day.value));
}

function updateDateDiv(div, type, val)
{
	var divOb = document.getElementById(div);
	var date = divOb.value.split('-');
	var typeInt;
	if(type == 'year') {
		typeInt = 0;
	} else if(type == 'month') {
		typeInt = 1;
		if(val < 10) {
			val = '0' + val;
		}
	} else {
		typeInt = 2;
		if(val < 10) {
			val = '0' + val;
		}
	}
	date[typeInt] = val;
	divOb.value = date.join('-');
}

function hideDatePicker()
{
/*	document.getElementById('ends-datepicker').style.display = 'none';
	document.getElementById('published-datepicker').style.display = 'none';
	document.getElementById('projends-datepicker').style.display = 'none';*/
	
	$('job-ends-gui').style.display = 'none';
	$('job-published-gui').style.display = 'none';
	$('job-projends-gui').style.display = 'none';
	
	var pubs = document.getElementById('job-published').value.split('-');
	var ends = document.getElementById('job-ends').value.split('-');
	var projends = document.getElementById('job-projends').value.split('-');
	
	var pubSelY = document.getElementById('pub-YEA');
	var pubSelM = document.getElementById('pub-MON');
	var pubSelD = document.getElementById('pub-DAY');
	
	for(var i = 0; i < pubSelY.options.length; i++) {
		if(parseInt(pubSelY.options[i].value) == parseInt(pubs[0])) {
			pubSelY.options[i].selected = true;
		}
	} 
	for(var i = 0; i < pubSelM.options.length; i++) {
		if(parseInt(pubSelM.options[i].value) == parseInt(pubs[1])) {
			pubSelM.options[i].selected = true;
		}
	} 
	for(var i = 0; i < pubSelD.options.length; i++) {
		if(parseInt(pubSelD.options[i].value) == parseInt(pubs[2])) {
			pubSelD.options[i].selected = true;
		}
	} 

	var endSelY = document.getElementById('ends-YEA');
	var endSelM = document.getElementById('ends-MON');
	var endSelD = document.getElementById('ends-DAY');

	for(var i = 0; i < endSelY.options.length; i++) {
		if(parseInt(endSelY.options[i].value) == parseInt(ends[0])) {
			endSelY.options[i].selected = true;
		}
	} 
	for(var i = 0; i < endSelM.options.length; i++) {
		if(parseInt(endSelM.options[i].value) == parseInt(ends[1])) {
			endSelM.options[i].selected = true;
		}
	} 
	for(var i = 0; i < endSelD.options.length; i++) {
		if(parseInt(endSelD.options[i].value) == parseInt(ends[2])) {
			endSelD.options[i].selected = true;
		}
	}
	
	var projeSelY = document.getElementById('proje-YEA');
	var projeSelM = document.getElementById('proje-MON');
	var projeSelD = document.getElementById('proje-DAY');

	for(var i = 0; i < projeSelY.options.length; i++) {
		if(parseInt(projeSelY.options[i].value) == parseInt(projends[0])) {
			projeSelY.options[i].selected = true;
		}
	} 
	for(var i = 0; i < projeSelM.options.length; i++) {
		if(parseInt(projeSelM.options[i].value) == parseInt(projends[1])) {
			projeSelM.options[i].selected = true;
		}
	} 
	for(var i = 0; i < projeSelD.options.length; i++) {
		if(parseInt(projeSelD.options[i].value) == parseInt(projends[2])) {
			projeSelD.options[i].selected = true;
		}
	}	
}

var datePickerTimeoutID;
var pickerParentOB;

function datePickerTimeout(type, parent)
{
	if(parent != null) {
		pickerParentOB = parent;
		type = pickerParentOB.id;
	}
	datePickerTimeoutID = setTimeout("showDatePicker('" + type + "')", 500);
}

function clearDatePickerTimeout()
{
	pickerParentOB = null;
	clearTimeout(datePickerTimeoutID);
}

function showDatePicker(type)
{
	if(type == 'published') {
	/*	document.getElementById('job-ends-gui').innerHTML = '';
		document.getElementById('job-projends-gui').innerHTML = '';
		
		document.getElementById('ends-datepicker').style.display = 'none';
		document.getElementById('published-datepicker').style.display = 'block';
		document.getElementById('projends-datepicker').style.display = 'none';*/
		
		$('job-ends-gui').style.display = 'none';
		$('job-published-gui').style.display = 'block';
		$('job-projends-gui').style.display = 'none';
	} else if(type == 'ends') {
/*		document.getElementById('job-projends-gui').innerHTML = '';
		document.getElementById('job-published-gui').innerHTML = '';
		
		document.getElementById('ends-datepicker').style.display = 'block';
		document.getElementById('published-datepicker').style.display = 'none';
		document.getElementById('projends-datepicker').style.display = 'none';*/
		
		$('job-ends-gui').style.display = 'block';
		$('job-published-gui').style.display = 'none';
		$('job-projends-gui').style.display = 'none';		
	} else {
/*		document.getElementById('job-ends-gui').innerHTML = '';
		document.getElementById('job-published-gui').innerHTML = '';
		
		document.getElementById('projends-datepicker').style.display = 'block';
		document.getElementById('ends-datepicker').style.display = 'none';
		document.getElementById('published-datepicker').style.display = 'none';*/
		$('job-ends-gui').style.display = 'none';
		$('job-published-gui').style.display = 'none';
		$('job-projends-gui').style.display = 'block';
	}
	displayDatePicker(('job-' + type), ('job-' + type + '-gui'), pickerParentOB);
}

function closeEditBox()
{
	/*if(jobDialog == null) {
		return;
	}*/
	if(confirm('Tallenna')) {
		var id = document.getElementById('job-id').value;
		if(id == null || id == '') {
			id = 0;
		}		
		if(!saveJob(true,true)) {
			return;
		}
	}
	
	var editor = tinyMCE.getInstanceById('editor');
	if(editor != null) {
		editor.remove();
	}
	
	displayWait('Sulkee ilmoituksen');
	
	//jobDialog.style.display = 'none';
	var editors = new Array('description', 'tasks', 'qualifications', 'terms');
	for(var i = 0; i < editors.length; i++) {
		var edOb;
		edOb = tinyMCE.getInstanceById('editor-' + editors[i]);
		if(edOb != null) {
			edOb.remove();
		}
	}
	
	document.getElementById('jobFormDiv').innerHTML = '';
	
	// IE6 Hack. Hide the selectboxes so that they do not "shine through" the div ontop of them.
	if(document.all) {
		//document.getElementById('tooltip_status').style.display = 'block';
		//document.getElementById('subcomp_select').style.display = 'block';
	}
	
	masterLang = null;
	currentLang = null;
	
	//document.getElementsByTagName('body')[0].removeChild(jobDialog);
	//jobDialog = null;
	document.getElementById('recruitDiv').style.display = 'block';
	document.getElementById('jobFormDiv').style.display = 'none';
	//document.getElementById('jobEditorContainer').innerHTML = '';
	
	if(isIE()) {
		if($('reloadUI')) {
			displayWait('Lataa');
			reloadUI();
			removeWait();
		}
	}
	
	removeWait();
	
	return;	
}

function displayEditBox(id)
{
	displayWait('Avaa työilmoituksen');
	var url;
	if(id != null) {
		url = '/center/editjob/id:' + id + '/';
	} else {
		url = '/center/newjob/';
	}
	
	// IE6 Hack. Hide the selectboxes so that they do not "shine through" the div ontop of them.
	if(document.all) {
//		document.getElementById('tooltip_status').style.display = 'none';
//		document.getElementById('subcomp_select').style.display = 'none';
	}
		
	/**
	 * Load the HTML for the dialog, create a new dialog and attach the HTML to
	 * the new dialog.
	 */	
	var html = postAndWaitForResponse(url, '');

	removeWait();

        if(html == '0') {
            alert('Toimivaltasi taso ei riitä uuden ilmoituksen tekemiseen.');
            return;
        }

	//jobDialog = document.createElement('div');
	//jobDialog.innerHTML = unescape(html);	
	
	/**
	 * Attach the new dialog to the "body".
	 */
	//document.getElementsByTagName('body')[0].appendChild(jobDialog);

	/**
	 * @todo Some sort of repositioning when we resize the window.
	 */
	//positionJobWindow();
	
	document.getElementById('recruitDiv').style.display = 'none';
	document.getElementById('jobFormDiv').style.display = 'block';
	//document.getElementById('jobEditorContainer').innerHTML = html;
	document.getElementById('jobFormDiv').innerHTML = html;
        
	/**
	 * Load the questions for this position.
	 */
	pos_loadQuestions(id);
			
	/**
	 * Reset the langeditor-array.
	 */
	resetLangEditors();
		
	/**
	 * Load first language.
	 */
	initializeLangEditors();
	
	/**
	 * Load and activate tinyMCE editors.
	 */
	var editors = new Array('description', 'tasks', 'qualifications', 'terms');	
	for(var i = 0; i < editors.length; i++) {
		tinyMCE.execCommand('mceAddControl', false, 'editor-' + editors[i]);
	}
}

function editJob(id)
{
	if(jobDialog != null) {
		closeEditBox();
	}
	displayEditBox(id);
}

function newJob () {

	if(jobDialog != null) {
		closeEditBox();
	}
	displayEditBox();
}

function acl_many (realm, zone, editorid)
{
	var editor = tinyMCE.getInstanceById(editorid);
	
	var text = editor.getContent();
	
	text = htmlspecialchars(text);
	
	displayWait('Lähettäjä');
	
	var url = '/coremodule/acl/action:xml/realm:' + escape(realm) + '/zone:' + escape(zone);
	
	var ret = postAndWaitForResponse(url, 'text=' + text);

	alert(ret);
	
	//window.close();
	removeWait();
}

function acl (realm, zone, text)
{
	tinyMCE.triggerSave();
	
	displayWait('Lähettäjä');
	var text = document.getElementById(text).value;
	text = text.replace(/\//g, '&#47;');
//	text = text.replace(/:/g, '&#058;');	
	loadXMLDoc('/coremodule/acl/action:xml/realm:' + escape(realm) + '/zone:' + escape(zone) + '/text:' + escape(text) + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			alert(unescape(req.responseText));
		}
	});
}

function resetPassword() {
	var email = document.getElementById('email').value;

	displayWait('Lähettäjä');
	loadXMLDoc('/coremodule/resetpassword/email:' + escape(email) + '/request:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var resp;
			removeWait();
			resp = unescape(req.responseText);
			if(resp != '1')	{
				alert(resp);
			} else {
				alert('Uusi tunnussana on lähetetty sähköpostiisi');
				window.location = '/';
			}
		}
	}, true);
}

function changePassword () {
	var PA1 = document.getElementById('PA1').password ? document.getElementById('PA1').password : document.getElementById('PA1').value;
	var PA2 = document.getElementById('PA2').password ? document.getElementById('PA2').password : document.getElementById('PA2').value;
	var PA3 = document.getElementById('PA3').password ? document.getElementById('PA3').password : document.getElementById('PA3').value;

	if (PA2 == PA3) {
		displayWait('Lähettäjä');
		loadXMLDoc('/coremodule/resetpassword/pa1:' + hex_md5(PA1) + '/pa2:' + hex_md5(PA2) + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				if (req.responseText != '') {
					alert(unescape(req.responseText));
				} else {
					alert('Tunnussana on nyt muutettu');
				}
			}
		});
	} else {
		alert('Tunnussana ei täsmää');
	}
}

function shareOnLinkedIn(url)
{
	window.open(url, 'LIShare',
	'width=700,height=700,toolbar=0,resizable=1,status=0,menubar=0,scrolling=1');	
}

function readTerms() {
	window.open('/info/memberterms/popup:1/nobuttons:1/', 'memberTerms',
				'width=700,height=705,toolbar=0,resizable=1,status=0,menubar=0,scrolling=1');
}

function readNAVInfo() {
	window.open('/info/nav/popup:1/nobuttons:1/', 'navTerms',
				'width=700,height=705,toolbar=0,resizable=1,status=0,menubar=0,scrolling=1');
}

function readCTerms() {
	var box = document.getElementById('infobox');
	/*displayWait('Lataa tiedon');*/

	loadXMLDoc('/article/id:9/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			/*removeWait();*/
			box.style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	}, true);
}

function createNewUser(cid,pos)
{
	var EMA = document.getElementById('EMA');
	var EMA2 = document.getElementById('EMA2');
	var PA1 = document.getElementById('PA1');
	var PA2 = document.getElementById('PA2');
	var FOR = document.getElementById('FOR');
	var SUR = document.getElementById('SUR');
	var TUR = document.getElementById('TUR');
	var ACC = document.getElementById('ACC');
	
	if(EMA.value != EMA2.value) {
		alert('Sähköpostiosoitteet eivät täsmää');
		return;
	}

	if (PA1.value != PA2.value) {
		alert('Tunnussana ei täsmää');
		return;
	}

	if (PA1.value.length < 6) {
		alert('Tunnussana on liian lyhyt. Vähintään 6 merkkinen on hyväksytty!');
		return;
	}

	if (trim(EMA.value) == '' || EMA.value.indexOf('@') == -1 || EMA.value.indexOf('.') == -1) {
		alert('Virheellinen sähköpostiosoite!');
		return;
	}

	if (trim(FOR.value) == '') {
		alert('Etunimi on pakollinen!');
		return;
	}

	if (trim(SUR.value) == '') {
		alert('Sukunimi on pakollinen!');
		return;
	}
	
	if(TUR && trim(TUR.value) == '') {
		alert('Kirjoita vahvistuskoodi');
	}
	
	if (!ACC.checked) {
		alert('Sinun tulee hyväksyä kaikki ehdot virkaan!');
		return;
	}
	
	url  = '/coremodule/register/action:createnewuser/';
	
	url += 'PAS:' + hex_md5(PA1.value) + '/';
	url += 'EMA:' + escape(EMA.value) + '/';
	url += 'FOR:' + escape(FOR.value) + '/';
	url += 'SUR:' + escape(SUR.value) + '/';
	
	if(TUR != null) {
		url += 'TUR:' + escape(TUR.value) + '/';
	}
	
	if(cid != null) {
		url += 'cid:' + cid + '/';
	}
	
	if(pos != null) {
		url += 'pos:' + pos + '/';
	}

	displayWait('Luo tilin');
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			if (req.responseText != '1' && req.responseText != '2') {
				if(req.responseText.split(';').length == 2) {
					var data = req.responseText.split(';');
					if(data[0] == 'apply') {
						window.location = '/job/apply:' + data[1] + '/';
						return;
					}
				}					
				alert(unescape(req.responseText));
			} else {		
				/*if(req.responseText == '2') {
					alert('Tilisi on nyt luotu ja olet hakenut virkaan! Täytäthän myös profiilisi.');
				}*/
				window.location = '/cv/edit/page:11/';
			}
		}
	}, true);	
}

function getSAPPURL(sappid)
{
	var sappURL = '/job/applyforspontaneous/sappid:' + sappid + '/';
		
	return sappURL;
}

function getSAPPPostData(sappid)
{
	var sappURL = '';
	
	var currName = null;
	var currSapp = null;
	var inputs = document.getElementsByTagName('*');
	var dataArray = new Array();
	var ok = true;
	var oneChecked = false;
	var currBox;
	var sapps = new Array();
	
	for(var cnt = 0; cnt < inputs.length; cnt++) {
		if(!inputs[cnt].name || (inputs[cnt].name.length < 8) || (inputs[cnt].name.substr(0, 8) != 'question')) {
			continue;
		}
		if(inputs[cnt].id == 'selection') {
			continue;
		}		
		currBox = inputs[cnt];
		if(currName == null || currName != inputs[cnt].name) {
			if(dataArray.length > 0) {
				sappURL += (('answer_' + currSapp) + '=' + dataArray.join(',') + '&');
				dataArray.length = 0;
			}
			if(currName && (currType == 2)) {
				if(oneChecked == false) {
					ok = false;
				}
				oneChecked = false;
			}
			currName = inputs[cnt].name;
			currSapp = parseInt(inputs[cnt].name.substr(9));
			currType = (inputs[cnt].type == 'textarea' ? 1 : 2);
			sapps[sapps.length] = currSapp + ';' + currType;
		}
		if(inputs[cnt].type == 'radio' || inputs[cnt].type == 'checkbox') {
			if(inputs[cnt].checked == false) {				
				dataArray[dataArray.length] = inputs[cnt].id + ';0';
			} else {
				dataArray[dataArray.length] = inputs[cnt].id + ';1';
				oneChecked = true;
			}
		} else {
			if(inputs[cnt].value.length == 0) {
				ok = false;
			} else {
				if(inputs[cnt].id != 'selection') {
					var answerText = inputs[cnt].value;
					answerText = htmlspecialchars(answerText);
					answerText = answerText.replace(/,/g, '%COMMA%');
					answerText = answerText.replace(/;/g, '%SEMICOLON%');
					answerText = answerText.replace(/:/g, '%COLON%');
					//answerText = escape(answerText);
					sappURL += (('answer_' + currSapp) + '=' + inputs[cnt].id + ';' + answerText + '&');
				}
			}
		}
	}

	if(dataArray.length > 0) {
		if(currBox.type == 'radio' || currBox.type == 'checkbox') {
			if(oneChecked == false) {
				ok = false;
			}
		}		
		sappURL += (('answer_' + currSapp) + '=' + dataArray.join(',') + '&');
	}
		
	sappURL += ('questions=' + sapps.join(','));
	
	if(ok == false) {
		alert('Sinun tulee vastata kaikkiin kysymyksiin');
		return false;
	}
	
	return sappURL;
}

function seeSpontaneousAppAnswers(id)
{
	window.open('/center/spontaneousform/id:' + id + '/',
				'spontAppAnswers' + id,
				'width=600,height=600,toolbar=0,resizable=0,status=0,menubar=0,scrolling=0');
}

function loginAndSA(sappid) {
	var password = document.getElementById('password').value;
	var username = document.getElementById('username').value;
	var keep = (document.getElementById('password-keep-yes').checked == true ? '1' : '0');	
	
	var args = 'username=' + escape(username) + '&password=' + hex_md5(password) + '&keep=' + escape(keep);	
	
	var sappURL = getSAPPURL(sappid);
	var sappDATA = getSAPPPostData(sappid);
	
	if(sappDATA == false) {
		return;
	}
	
	displayWait('');
	var response = postAndWaitForResponse('/coremodule/login/', args, true);
	removeWait();
	
	if (response == '1') {
		//sendSpontaneousApplication(sappid, true);
		document.location.href = '/job/apply/' + sappid + '/spont:1/';
		return;
	} else if (response == '2' || response == '3' || response == '4') {		
		alert('YOU_CANNOT_SEND_A_SPONTANEOUS_APPLICATION');
	} else {
		alert(unescape(response));
	}
}

function saveSpontAnswers(sappid)
{
	var sappDATA = getSAPPPostData(sappid);
		
	if(sappDATA == false) {
		return false;
	}
		
	displayWait('Lähettää vastauksen...');
	var resp = postAndWaitForResponse('/job/application/sappid:' + sappid + '/', sappDATA);
	removeWait();
	
	if(resp != '1') {
		alert(resp);
		return false;
	}
	
	document.location.href = '/job/application/';
	
	return true;
}

function savePositionAnswers(pid)
{
	var sappDATA = getSAPPPostData(pid);
	
	if(sappDATA == false) {
		return false;
	}
	
	displayWait('Tallentaa vastaukset kysymyksiin');
	var resp = postAndWaitForResponse('/job/savespontanswers/', sappDATA);
	removeWait();
	
	if(resp != '1') {
		alert(resp);
		return false;
	}
	
	return true;
}

function handleAnswers(pid)
{
	if(!savePositionAnswers(pid)) {
		return;
	}
	document.getElementById('applProcessForm').submit();
	return true;
}

function createNewUserAndSA(cid, sappid)
{
	var EMA = document.getElementById('EMA');
	var EMA2 = document.getElementById('EMA2');
	var PA1 = document.getElementById('PA1');
	var PA2 = document.getElementById('PA2');
	var FOR = document.getElementById('FOR');
	var SUR = document.getElementById('SUR');
	var TUR = document.getElementById('TUR');
	var ACC = document.getElementById('ACC');
	
	if(EMA.value != EMA2.value) {
		alert('Sähköpostiosoitteet eivät täsmää');
		return;
	}

	if (PA1.value != PA2.value) {
		alert('Tunnussana ei täsmää');
		return;
	}

	if (PA1.value.length < 6) {
		alert('Tunnussana on liian lyhyt. Vähintään 6 merkkinen on hyväksytty!');
		return;
	}

	if (trim(EMA.value) == '' || EMA.value.indexOf('@') == -1 || EMA.value.indexOf('.') == -1) {
		alert('Virheellinen sähköpostiosoite!');
		return;
	}

	if (trim(FOR.value) == '') {
		alert('Etunimi on pakollinen!');
		return;
	}

	if (trim(SUR.value) == '') {
		alert('Sukunimi on pakollinen!');
		return;
	}
	
	if(TUR && trim(TUR.value) == '') {
		alert('Kirjoita vahvistuskoodi');
	}
	
	if (!ACC.checked) {
		alert('Sinun tulee hyväksyä kaikki ehdot virkaan!');
		return;
	}
	
	url  = '/coremodule/register/action:createnewuser/';
	
	url += 'PAS:' + hex_md5(PA1.value) + '/';
	url += 'EMA:' + escape(EMA.value) + '/';
	url += 'FOR:' + escape(FOR.value) + '/';
	url += 'SUR:' + escape(SUR.value) + '/';
	
	if(TUR != null) {
		url += 'TUR:' + escape(TUR.value) + '/';
	}
	
	if(cid != null) {
		url += 'cid:' + cid + '/';
	}
	
	var sappURL = getSAPPURL(sappid);
	var sappDATA = getSAPPPostData(sappid);
	
	if(sappDATA == false) {
		return;
	}
	
	displayWait('Luo tilin');
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			if(req.responseText == '1') {
				//sendSpontaneousApplication(sappid);
				document.location.href = '/job/apply/' + sappid + '/spont:1/';
			} else {
				alert(req.responseText);
			}
		}
	}, true);
	return;
}

function coremoduleRegister1(popup,cid,pos,turing) {
	var EMA = document.getElementById('EMA');
	var EMA2 = document.getElementById('EMA2');
	var PA1 = document.getElementById('PA1');
	var PA2 = document.getElementById('PA2');
	var FOR = document.getElementById('FOR');
	var SUR = document.getElementById('SUR');
/*	var DAY = document.getElementById('DAY');
	var MON = document.getElementById('MON');
	var YEA = document.getElementById('YEA');
	var GEN = document.getElementById('GEN');*/
	var ACC = document.getElementById('ACC');
	var CAC = document.getElementById('CAC');
/*	var CPI1 = document.getElementById('CPI1');
	var CPI2 = document.getElementById('CPI2');
	var CPI3 = document.getElementById('CPI3');*/
	var SITE = document.getElementById('SITE');
	var SITE_OTHER = document.getElementById('SITE_OTHER');
	var REF = document.getElementById('REF');
/*	var cpi_value = '';

	if(CPI1.checked == true) {
		cpi_value = '1';
	} else if(CPI2.checked == true) {
		cpi_value = '2';
	} else if(CPI3.checked == true) {
		cpi_value = '3';
	}

	if(cpi_value == '') {
		alert('Sinun täytyy vastata kilpailun kysymykseen.');
		return;
	}*/

	if(EMA.value != EMA2.value) {
		alert('Sähköpostiosoitteet eivät täsmää');
		return;
	}

	if (PA1.value != PA2.value) {
		alert('Tunnussana ei täsmää');
		return;
	}

	if (PA1.value.length < 6) {
		alert('Tunnussana on liian lyhyt. Vähintään 6 merkkinen on hyväksytty!');
		return;
	}

	if (trim(EMA.value) == '' || EMA.value.indexOf('@') == -1 || EMA.value.indexOf('.') == -1) {
		alert('Virheellinen sähköpostiosoite!');
		return;
	}

	if (trim(FOR.value) == '') {
		alert('Etunimi on pakollinen!');
		return;
	}

	if (trim(SUR.value) == '') {
		alert('Sukunimi on pakollinen!');
		return;
	}
	
/*	if (DAY.value > 30 && (MON.value == 2 || MON.value == 4 || MON.value == 6 || MON.value == 9 || MON.value == 11)) {
		alert('Virheellinen syntymäaika!');
		return;
	}

	if (DAY.value > 28 && MON.value == 2 && (DAY.value > 29 || YEA.value % 4 != 0)) {
		alert('Virheellinen syntymäaika!');
		return;
	}*/
	if (!ACC.checked) {
		alert('Sinun tulee hyväksyä kaikki ehdot virkaan!');
		return;
	}
	url  = '/coremodule/register/action:userdetails/'
	url += 'PAS:' + hex_md5(PA1.value) + '/';
	url += 'EMA:' + escape(EMA.value) + '/';
	url += 'FOR:' + escape(FOR.value) + '/';
	url += 'SUR:' + escape(SUR.value) + '/';
/*	url += 'YEA:' + escape(YEA.value) + '/';
	url += 'MON:' + escape(MON.value) + '/';
	url += 'DAY:' + escape(DAY.value) + '/';
	url += 'GEN:' + escape(GEN.value) + '/';*/
//	url += 'CAC:' + escape(CAC.value) + '/';
//	url += 'CPI:' + escape(cpi_value) + '/';
	if(cid != null) {
		url += 'cid:' + cid + '/';
	}
	if(pos != null) {
		url += 'pos:' + pos + '/';
	}
	if(REF != null) {
		url += 'referrer:' + escape(REF.value) + '/';
	}
	if(SITE != null) {
		url += 'SITE:' + escape(SITE.value) + '/';
		url += 'SITE_O:' + escape(SITE_OTHER.value) + '/';
	}
	url += 'ACC:' + escape(ACC.value);
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			if (req.responseText != '1' && req.responseText != '2') {
				alert(unescape(req.responseText));
			} else {
				if(req.responseText == '2') {
					alert('Uusi vahvistus on lähetetty sähköpostiisi. Muistathan tarkistaa roskakorin, josset ole saanut viestiä.');
				}
				if(popup != true) {
					document.getElementById('reg1').style.display = 'none';
					document.getElementById('reg2').style.display = 'block';
				} else {
					alert('Sinulle on nyt lähetetty vahvistuskirje antamaasi sähköpostiosoitteeseen. Jos et ole saanut viestiä 5 minuutin kuluessa, tarkista ettei viesti ole joutunut roskapostin joukkoon.');
				}
			}
		}
	}, true);
}



function coremoduleRegister2() {
	var EMA = document.getElementById('EMA');
	var EPO = document.getElementById('EPO');
	var SEC = document.getElementById('SEC');

	if(SEC.value == '') {
		alert('Täytä valvontakoodi.');
		return;
	}

	url  = '/coremodule/register/action:userverify/'
	url += 'EMA:' + escape(EMA.value) + '/';
	url += 'EPO:' + escape(EPO.value) + '/';
	url += 'SEC:' + escape(SEC.value);

	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			if (req.responseText != '1' && req.responseText != '2') {
				alert(unescape(req.responseText));
			} else {
				if(req.responseText == '2') {
					alert('Tilisi on nyt luotu ja olet hakenut virkaan! Täytäthän myös profiilisi.');
				}
				//menuItem(3);
				window.location = '/mypage/user/';
			}
		}
	}, true);
}

function coremoduleRegister3() {
	var FR1N = document.getElementById('FR1N');
	var FR1E = document.getElementById('FR1E');
	var FR2N = document.getElementById('FR2N');
	var FR2E = document.getElementById('FR2E');
	var FR3N = document.getElementById('FR3N');
	var FR3E = document.getElementById('FR3E');


	url  = '/coremodule/register/action:friendlymessage/invites:';
	url += escape(FR1N.value) + ',' + escape(FR1E.value) + ';';
	url += escape(FR2N.value) + ',' + escape(FR2E.value) + ';';
	url += escape(FR3N.value) + ',' + escape(FR3E.value) + '/';

	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			if (req.responseText != '') {
				alert(unescape(req.responseText));
			} else {
				window.location = '/cv/edit/';
			}
		}
	});

}


function viewApplication(id) {
	displayWait('Lataa tiedon');
	loadXMLDoc('/center/viewapplication/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	});
}

function addFolder () {
	tinyMCE.triggerSave();

	var NAM = document.getElementById('NAM');
	if (trim(NAM.value) == '') {
		alert('Nimi puuttuu');
		return;
	}

	var DES = document.getElementById('editor');
	if (trim(DES.value) == '') {
		alert('Kuvaus on pakollinen!');
		return;
	}

	var PAR = document.getElementById('PAR');

	data  = 'NAM=' + escape(NAM.value) + '&';
	data += 'DES=' + escape(DES.value) + '&';
	data += 'PAR=' + escape(PAR.value);

	displayWait('Tallentaa');
	getXmlDoc('/center/addfolder/', data, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			if (req.responseText != '') {
				alert(unescape(req.responseText));
			} else {
				closeProfileInfo();
				updateFolders();
			}
		}
	});
}

function addFolderForm () {
	displayWait('Lataa tiedon');
	loadXMLDoc('/center/addfolderform/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
			tinyMCE.execCommand('mceAddControl', false, 'editor');
		}
	});
}

function editFolderName (id) {
	var folder = document.getElementById('ftitle-' + id);

	if (folder) {
		if (folder.innerHTML.substring(0,6) != '<input') {
			var out = '';

			out += '<input onblur="javascript:saveFolderName(' + id + ');" id="fname-' + id + '" style="border: 0px; font-size: 20px;  color: #999900; padding: 0px; margin: 0px;width: 400px;vertical-align: middle;" value="' + folder.innerHTML + '">';

			folder.innerHTML = out;
		}
	}
}

function saveFolderName (id) {
	var folder = document.getElementById('fname-' + id);
	displayWait('Tallentaa');
	loadXMLDoc('/center/savefoldername/id:' + id + '/name:' +escape(folder.value) + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('ftitle-' + id).innerHTML = unescape(req.responseText);
			document.getElementById('mfname-' + id).innerHTML = unescape(req.responseText);
		}
	});
}

function updateMessTag(id) {
	var messTags = document.getElementById('messTags');
	if (messTags.value != '') {
		displayWait('Tallentaa');
		loadXMLDoc('/mess/tagmessage/id:' + id + '/folder:' +escape(messTags.value) + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				var idx = messTags.selectedIndex;

				if (messTags.options[idx].innerHTML.substring(0,2) == '* ') {
					messTags.options[idx].innerHTML = messTags.options[idx].innerHTML.substring(2);
				} else {
					messTags.options[idx].innerHTML = '* ' + messTags.options[idx].innerHTML;
				}

				getMenu().redrawOpenFolders();
			}
		});
	}
}

function updateProfileTag(id) {
	var profileTags = document.getElementById('profileTags');
	if (profileTags.value != '') {
		displayWait('Tallentaa');
		loadXMLDoc('/mess/tagprofile/id:' + id + '/folder:' +escape(profileTags.value) + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				var idx = profileTags.selectedIndex;

				if (profileTags.options[idx].innerHTML.substring(0,2) == '* ') {
					profileTags.options[idx].innerHTML = profileTags.options[idx].innerHTML.substring(2);
				} else {
					profileTags.options[idx].innerHTML = '* ' + profileTags.options[idx].innerHTML;
				}
			}
		});
	}
}

function adminMailTemplateList () {
	displayWait('Lataa tiedon');
	loadXMLDoc('/mnadmin/mailtemplate/action:list/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('adminMailTemplateList').innerHTML = unescape(req.responseText);
		}
	});
}

function adminEditMailTemplate(id) {
	var box = document.getElementById('infobox');
	displayWait('Lataa tiedon');

	loadXMLDoc('/mnadmin/mailtemplate/action:edit/id:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			box.style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
			tinyMCE.execCommand('mceAddControl', false, 'editor');
		}
	});
}

function adminNewMailTemplate() {
	adminEditMailTemplate(0);
}

function adminMailTemplateDelete() {
	if (confirm('Oletko varma?')) {
		displayWait('Poistaa');
		loadXMLDoc('/mnadmin/mailtemplate/action:delete/id:' + document.getElementById('id').value + '/', function () {
			if (req.readyState == 4 && req.status == 200) {
				removeWait();
				adminMailTemplateList();
				closeProfileInfo();
			}
		});
	}
}

function adminMailTemplateSave() {
	tinyMCE.triggerSave();
	var ID  = document.getElementById('id');
	var NAM = document.getElementById('name');
	var SUB = document.getElementById('subject');
	var MES = document.getElementById('editor');

	var data = '';
	data += 'ID='  + escape(ID.value)  + '&';
	data += 'NAM=' + escape(NAM.value) + '&';
	data += 'SUB=' + escape(SUB.value) + '&';
	data += 'MES=' + escape(MES.value) + '&';

	displayWait('Tallentaa');
	data = postAndWaitForResponse('/mnadmin/mailtemplate/action:save/', data);
	removeWait();

	if (data != '') {
		alert(unescape(data));
	} else {
		adminMailTemplateList();
		closeProfileInfo();
	}
}

function competitionPopupCTerms()
{
	displayWait('Lataa tiedon');

	loadXMLDoc('/article/id:9/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	}, true);
}

function competitionPopupC2Terms()
{
	displayWait('Lataa tiedon');

	loadXMLDoc('/article/id:26/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	}, true);
}

function popupTerms()
{
	displayWait('Lataa tiedon');

	loadXMLDoc('/article/id:7/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('infobox').style.display = 'block';
			document.getElementById('infoboxData').innerHTML = unescape(req.responseText);
		}
	}, true);
}

function competetionDisplayCTerms() {
	displayWait('Lataa tiedon');

	loadXMLDoc('/article/id:9/encode:1/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			document.getElementById('menuItemWorkspace04').innerHTML = unescape(req.responseText);
		}
	}, true);
}

function uploadProfilePicture()
{
	var uploadForm;
	var uploadText;

	uploadForm = parent.window.frames['pictureFrame'].document.getElementById('uploadForm');
	uploadText = parent.window.frames['pictureFrame'].document.getElementById('uploadTextDest');

	if(uploadText.value == '') {
		alert('Ladattavaa tiedostoa ei löydy');
		return;
	}

	parent.displayWait('Tallentaa...');
	uploadForm.submit();
	parent.removeWait();
}

function deleteProfilePicture()
{
        if (confirm('Oletko varma?')) {
            var picFrame;

            picFrame = parent.document.getElementById('pictureFrame');

            parent.displayWait('Poistaa...');
            var data = postAndWaitForResponse('/cv/deleteProfilePicture/', 	data);
            parent.removeWait();

            if(data != '') {
                    alert(unescape(data));
            } else {
                    picFrame.src = '/cv/displayProfilePicture/';
                    parent.loadPercentage ();
            }
        }
}

function approveRequest(code, zone)
{
	tinyMCE.triggerSave();

	displayWait('Lähettäjä');
	loadXMLDoc('/coremodule/aacl/action:accept/code:' + escape(code) + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			document.getElementById('div_' + zone).style.visibility = 'hidden';
			removeWait();
			var resp = unescape(req.responseText);
			if(resp == '0') {
				alert('DENIED');
			} else {
				var accCont = document.getElementById('acceptedContent');
				accCont.style.visibility = 'visible';
				accCont.innerHTML += resp;
			}
		}
	});
}

function updateFolderAssoc(id)
{
	var folder = document.getElementById('profileTags').value;

	if(folder == '-1') {
		alert('Et voi tallentaa profiileja tähän kansioon.');
		document.getElementById('profileTags').selectedIndex = 0;
		return;
	}

	if(folder == '') {
		return;
	}

	var data = 'id=' + id + '&folder=' + folder;
	postAndWaitForResponse('/center/updatefolderassoc/', data);

	document.location.reload();
}

		function requestAccess()
		{
			tinyMCE.triggerSave();
			var ids = document.getElementById('ids_to_req').innerHTML.split(',');
			acl_many('user.view', ids.join(','), 'tinytext');
		}

		function toggleAllByName(box, value)
		{
			if(typeof box == 'string') {
				id = box;
			} else {
				id = box.name;
			}
			var togs = $('!' + id);
			if(value == null) {
				value = box.checked;
			}
			for(var cnt = 0; cnt < togs.length; cnt++) {
				togs[cnt].checked = value;
			}
		}
		
		function toggleAll(val)
		{
			var tags = document.getElementById('dataresult').getElementsByTagName('input');
			for(var i = 0; i < tags.length; i++) {
				if(tags[i].type != 'checkbox' && tags[i].id != 'toggleall') {
					continue;
				}
				tags[i].checked = val;
			}
		}

		function checkToggled()
		{
			var all = true;
			var tags = document.getElementById('dataresult').getElementsByTagName('input');
			for(var i = 0; i < tags.length; i++) {
				if(tags[i].type != 'checkbox' && tags[i].id != 'toggleall') {
					continue;
				}
				if(tags[i].checked == true) {
					continue;
				}
				all = false;
			}
			document.getElementById('toggleall').checked = all;
		}

		function clearAll()
		{
			document.getElementById('toggleall').checked = false;
			var tags = document.getElementById('dataresult').getElementsByTagName('input');
			for(var i = 0; i < tags.length; i++) {
				if(tags[i].type != 'checkbox' && tags[i].id != 'toggleall') {
					continue;
				}
				tags[i].checked = false;
			}
		}



function loadAvailableProfiles () {
	displayWait('Lataa tiedon');

	loadXMLDoc('/center/availableprofiles/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();

			document.getElementById('availableprofiles').innerHTML = unescape(req.responseText);

			/*
			var response = req.responseXML.documentElement;

			document.getElementById('NAM').value = unescape(response.getAttribute('NAM'));
			document.getElementById('PHO').value = unescape(response.getAttribute('PHO'));
			document.getElementById('COU').value = unescape(response.getAttribute('COU'));
			document.getElementById('WEB').value = unescape(response.getAttribute('WEB'));
			document.getElementById('EMA').value = unescape(response.getAttribute('EMA'));
			document.getElementById('ORG').value = unescape(response.getAttribute('ORG'));
			document.getElementById('PRO').innerHTML = unescape(response.getAttribute('PRO'));
			document.getElementById('STA').innerHTML = unescape(response.getAttribute('STA'));
			document.getElementById('TX1').innerHTML = unescape(response.getAttribute('TX1'));
			document.getElementById('TX2').innerHTML = unescape(response.getAttribute('TX2'));
*/

		}
	});

}



// center


function completedJobs () {
	var bspace = document.getElementById('bspace4');
	var data = getResponseText('/center/completedjobs/')
	bspace.innerHTML = unescape(data);
	btab(4);
}

function loadFolders () {
	var bspace = document.getElementById('bspace6');
	var response = req.responseXML.documentElement;
	var data = getResponseText('/center/loadfolders/')
	bspace.innerHTML = unescape(data);

	btab(6);
}

function reLoadItemsForFolder(id, folder, initialFolder)
{
	// If the folder has not been loaded then there is no need to load it.
	if(!folder.isLoaded()) {
		return;
	}
	displayWait('UPDATING_PROFILE_ASSOSICATION_LIST');
	/* Reload the list of items from the server. Update items already on the list
	 * add new items and remove items no longer present.
	 */
	loadXMLDoc('/center/items/folder:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var response = req.responseXML.documentElement;
			var nrOfQuestions = response.getAttribute("nrofquestions");
			var items = response.getElementsByTagName("item");
			var toKeep = new Array();
			var toDelete = new Array();
			if(nrOfQuestions != null) {
				folder.setNrOfQuestions(nrOfQuestions);
			}
			/*
			 * Loop through the items in the folder. If it's a new item add it.
			 * All items are added to an array by the format id;type
			 */
			for(var i = 0; i < items.length; i++) {
				var title = unescape(items[i].getAttribute('title'));
				var dest = items[i].getAttribute('pk');
				var type = unescape(items[i].getAttribute('type'));
				var item = getMenu().getItemByAssocId(items[i].getAttribute('id'), type);
				if(item == null) {
					var iid = folder.addItem(dest, title);
					item = getMenu().getItemAt(iid);
				}
				item.setSort(items[i].getAttribute('sort'));
				item.setStatus(items[i].getAttribute('status'));
				item.setAssocId(items[i].getAttribute('id'));
				item.setType(type);
				toKeep[toKeep.length] = (items[i].getAttribute('id') + ';' + type);
				if(type == 'application') {
					item.setReadOnly();
					item.setCorrectAnswerStr(items[i].getAttribute('correct_string'));
					item.setCorrectAnswers(items[i].getAttribute('correct'));
				}
				item.setIcon(type + '.png');
			}
			// Make a string of the array created above.
			var toKeepStr = toKeep.join(' ');
			/* Loop through the items in the folder. If there is an item
			 * in the folder which is not on the list from the database
			 * remove it.
			 */
			for(i = 0; i < folder.items.length; i++) {
				var item = folder.items[i];
				var itemId = item.getAssocId() + ';' + item.getType();
				// Do not remove folders				
				if(item instanceof Folder) {
					continue;
				}
				if(toKeepStr.indexOf(itemId) != -1) {
					continue;
				}
				toDelete[toDelete.length] = itemId;
			}
			// Remove the items from the menu.
			getMenu().removeItems(toDelete);
			// Update number of contents..
			folder.updateNrOfContents();
			if(initialFolder != null) {
				initialFolderLoaded = true;
			}
			removeWait();
			getMenu().drawMenu();
		}
	});
}

function loadItemsForFolder(id, folder, initialFolder) {
	displayWait('Lataa tiedon');
	loadXMLDoc('/center/items/folder:' + id + '/', function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			var response = req.responseXML.documentElement;
			var nrOfQuestions = response.getAttribute("nrofquestions");
			var items = response.getElementsByTagName("item");
			if(nrOfQuestions != null) {
				folder.setNrOfQuestions(nrOfQuestions);
			}
			for(var i = 0; i < items.length; i++) {
				var title = unescape(items[i].getAttribute('title'));
				var dest = items[i].getAttribute('pk');
				var type = unescape(items[i].getAttribute('type'));
				var iid = folder.addItem(dest, title);
				var item = getMenu().getItemAt(iid);
				item.setSort(items[i].getAttribute('sort'));
				item.setStatus(items[i].getAttribute('status'));
				item.setAssocId(items[i].getAttribute('id'));
				item.setType(type);
				if(type == 'application') {
					item.setReadOnly();
					item.setCorrectAnswerStr(items[i].getAttribute('correct_string'));					
					item.setSubmittedDate(items[i].getAttribute('submitted'));				
					item.setCorrectAnswers(items[i].getAttribute('correct'));
				}
				item.setIcon(type + '.png');
			}
			folder.setLoaded();
			folder.updateNrOfContents();
			if(initialFolder != null) {
				initialFolderLoaded = true;
			}
			getMenu().drawMenu();
		}
	});
}

function updateFolders(doLoadMessages,loadOne,fidToLoad,parentid,doNotToggleActiveRecruitment) {
	/*var data = getResponseText('/center/folders/')
	if (data != '') {
		document.getElementById('companyFolderTree').innerHTML = unescape(data);
	}*/
	
	var url;
	
	if(loadOne == true) {
		url = '/center/folders/loadone:1/fid:' + fidToLoad + '/';
	} else {
		url = '/center/folders/';
		var scidDiv;	
		if((scidDiv = document.getElementById('scidDiv')) != null) { 	
			url += 'scid:' + scidDiv.value + '/';
		}
	}
	
	displayWait('Lataa tiedon');
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			removeWait();
			if (req.responseXML) {
				var response = req.responseXML.documentElement;
				var folders = response.getElementsByTagName("folder");
				var parent = new Array();
				var cnt = 0;
				var activeReqFid = null;
				for(var i = 0; i < folders.length; i++) {
					var title = folders[i].getAttribute('title');
					var id = folders[i].getAttribute('id');
					var ro = parseInt(folders[i].getAttribute('readonly'));
					var fid;
					if(title == null) {
						title = ('<inget namn ' + ++cnt + '>');
					} else {
						title = unescape(title);
					}
					if(loadOne == true) {
						fid = getMenu().getFolderByDest(parentid).addFolder(title);
						getMenu().getItemAt(fid).setToggleHook(folderFolded);
						getMenu().getItemAt(fid).setMoveHook(itemInFolderMoved);
						getMenu().getItemAt(fid).setDest(id);
						getMenu().getItemAt(fid).setAssocId(id);
						getMenu().getItemAt(fid).setNrOfContents(folders[i].getAttribute('nrcont'));
						getMenu().getItemAt(fid).setFolderType(folders[i].getAttribute('foldertype'));						
						if(folders[i].getAttribute('posfolder') == 1) {
							getMenu().getItemAt(fid).setPosFolder(true);
							getMenu().getItemAt(fid).setPosId(folders[i].getAttribute('posid'));
							getMenu().getItemAt(fid).setOwner(folders[i].getAttribute('owner'));
							getMenu().getItemAt(fid).setSinceLastVisit(folders[i].getAttribute('sincelastvisit'));
							getMenu().getItemAt(fid).setComment(folders[i].getAttribute('comment'));
						}
						if(folders[i].getAttribute('spontanefolder') == 1) {
							getMenu().getItemAt(fid).setSpontaneFolder(true);
							getMenu().getItemAt(fid).setSpontaneId(folders[i].getAttribute('spontaneid'));
						}												
					} else if(typeof parent[id] != 'undefined') {
						fid = getMenu().getItemAt(parent[id]).addFolder(title);
						getMenu().getItemAt(fid).setToggleHook(folderFolded);
						getMenu().getItemAt(fid).setMoveHook(itemInFolderMoved);
						getMenu().getItemAt(fid).setDest(id);
						getMenu().getItemAt(fid).setAssocId(id);
						getMenu().getItemAt(fid).setNrOfContents(folders[i].getAttribute('nrcont'));
						getMenu().getItemAt(fid).setFolderType(folders[i].getAttribute('foldertype'));		
						if(folders[i].getAttribute('virtual')) {
							getMenu().getItemAt(fid).setVirtualFolder();
						}
						if(folders[i].getAttribute('posfolder') == 1) {
							getMenu().getItemAt(fid).setPosFolder(true);
							getMenu().getItemAt(fid).setPosId(folders[i].getAttribute('posid'));
							getMenu().getItemAt(fid).setOwner(folders[i].getAttribute('owner'));
							getMenu().getItemAt(fid).setSinceLastVisit(folders[i].getAttribute('sincelastvisit'));
							getMenu().getItemAt(fid).setComment(folders[i].getAttribute('comment'));
						}
						if(folders[i].getAttribute('spontanefolder') == 1) {
							getMenu().getItemAt(fid).setSpontaneFolder(true);
							getMenu().getItemAt(fid).setSpontaneId(folders[i].getAttribute('spontaneid'));
						}						
					} else {
						fid = getMenu().getFolder().addFolder(title);
						getMenu().getItemAt(fid).setToggleHook(folderFolded);
						getMenu().getItemAt(fid).setMoveHook(itemInFolderMoved);
						getMenu().getItemAt(fid).setDest(id);
						getMenu().getItemAt(fid).setAssocId(id);
						getMenu().getItemAt(fid).setNrOfContents(folders[i].getAttribute('nrcont'));
						getMenu().getItemAt(fid).setFolderType(folders[i].getAttribute('foldertype'));						
						//getMenu().getItemAt(fid).setHeadFolder(true);
						if(folders[i].getAttribute('sort') == '1') {
							activeRecruitmendFolderID = fid;
						}
					}
					if(ro == 1) {
						getMenu().getItemAt(fid).setReadOnly();
					}
					var children = unescape(folders[i].getAttribute('children')).split(',');
					for(var cnt = 0; cnt < children.length; cnt++) {
						parent[children[cnt]] = fid;
					}
				}
			}
			getMenu().drawMenu();
			if(activeRecruitmendFolderID != null && doNotToggleActiveRecruitment != false) {
				var item = getMenu().getItemAt(activeRecruitmendFolderID);
				item.toggleFold();
				if(doLoadMessages) { 
					setTimeout(tryLoadMessages, 100);
				}
			} else if(doLoadMessages == true) {			
				loadMessages();
			}
		}
	});
}

function updateFolderName(fidToLoad) {
	var url = '/center/folders/loadone:1/fid:' + fidToLoad + '/';
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			if (req.responseXML) {
				var xmlSrc = req.responseXML.getElementsByTagName("folder");
				var title = xmlSrc[0].getAttribute('title');
				var folder = getMenu().getFolderByDest(fidToLoad);
				folder.setDesc(title);
				getMenu().drawMenu();
			}
		}
	});
}

function createFolder(parent, newname)
{
	var data = getResponseText('/center/folders/action:create/id:' + id + '/parent:' + parent + '/');
	if(data == '0') {
		alert('failed');
	}
	return;
}

function renameFolder(id, newname)
{
	var data = getResponseText('/center/folders/action:delete/id:' + id + '/name:' + escape(newname) + '/');
	if(data == '0') {
		alert('failed');
	}
	return;
}

function deleteFolder(id)
{
	var data = getResponseText('/center/completedjobs/');
	if(data == '0') {
		alert('failed');
	}
	return;
}

function updatePreviousQueries () {
	var data = getResponseText('/center/previousqueries/')
	if (data != '') {
		document.getElementById('previousqueries').innerHTML = unescape(data);
	}
	setTimeout('updatePreviousQueries()', 30000);
}

function updateProfileList () {
	var data = getResponseText('/center/profilelist/')
	if (data != '') {
		document.getElementById('profilelist').innerHTML = unescape(data);
	}
	setTimeout('updateProfileList()', 30000);
}

function updateUnreadEmail () {
	var data = getResponseText('/center/unreadmail/')
	if (data != '') {
		document.getElementById('unreadmail').innerHTML = unescape(data);
	}
	setTimeout('updateUnreadEmail()', 30000);
}

function btab (idx) {
	var bspace = document.getElementById('bspace' + idx);
	if (trim(bspace.innerHTML) == '') {
		return;
	}


	for (i = 1; i < 10; i++) {
		elem = document.getElementById('btab' + i);
		if (!elem) {
			break;
		}
		elem.style.fontWeight = 'normal';
	}

	for (i = 1; i < 10; i++) {
		elem = document.getElementById('bspace' + i);
		if (!elem) {
			break;
		}
		elem.style.display = 'none';
	}

	document.getElementById('btab' + idx).style.fontWeight = 'bold';
	document.getElementById('bspace' + idx).style.display = 'block';
	document.getElementById('blink' + idx).style.color = '#000000';
}

function openFolder (id) {
	var elem = document.getElementById('foldercontent-' + id);

	if (elem) {
		elem.style.display = (elem.style.display == 'block' ? 'none' : 'block');
	}

	var data = getResponseText('/center/openfolder/id:' + id + '/');
		document.getElementById('companyFolderView').innerHTML = unescape(data);
}

/**
 * admin::user
 */
function searchUser () {
	var inn = document.getElementById('user-input');

	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}


	if(request) {
		request.open('POST', '/mnadmin/user/action:search/', false);
	  request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send('search=' + escape(inn.value));
	}


	document.getElementById('user-result').innerHTML = unescape(request.responseText);

	return true;
}


function adminManageUser (id) {
	window.open('/mnadmin/user/action:manage/id:' + id + '/', 'adminManageUser' + id, 'width=450,height=600,toolbar=0,resizable=0,status=0,menubar=0,scrolling=0');
}

function adminAddCompanyUser () {
	window.open('/mnadmin/user/action:compuserform/', 'compuserform', 'width=450,height=600,toolbar=0,resizable=0,status=0,menubar=0,scrolling=0');
}

function validateAndSubmit()
{
	var email = document.getElementById('email').value;
	var company = document.getElementById('company').value;
	var phone = document.getElementById('phone').value;
	var messg = document.getElementById('message').value;
	var name = document.getElementById('name').value;
	var subjectSelect = document.getElementById('subject');
	var subject = subjectSelect.options[subjectSelect.selectedIndex].value;
	if(name.length < 1) {
		alert('Täytä nimi');
		return;
	}
	if(subject.length < 1) {
		alert('Et ole valinnut aihetta.');
		return;
	}
	if((phone.length < 1) && (email.length < 1)) {
		alert('Sinun täytyy joko täyttää sähköpostiosoite tai antaa puhelinnumero jotta voimme ottaa sinuun yhteyttä');
		return;
	}
	if(messg.length < 1) {
		alert('Kirjoita viesti.');
		return;
	}

	data =  'email=' + htmlspecialchars(email);
	data += '&phone=' + htmlspecialchars(phone);
	data += '&message=' + htmlspecialchars(messg);
	data += '&subject=' + htmlspecialchars(subject);
	data += '&company=' + htmlspecialchars(company);
	data += '&name=' + htmlspecialchars(name);
	
	var res = postAndWaitForResponse('/coremodule/contactmail/', data, true);

	if(res == '1') {
		document.getElementById('contact_form').reset();
		alert('Viestisi on lähetetty.');
	} else {
		alert(unescape(res));
	}
}

function validateAndSubmitInterestForm()
{
	var name = document.getElementById('interestName').value;
        var company = document.getElementById('interestCompany').value;
	var email = document.getElementById('interestEmail').value;
	var phone = document.getElementById('interestPhone').value;
	var nrLicense = document.getElementById('interestNrLicense').value;

        var errorArray = new Array();
        var y = 0;
        
	if(name.length < 2) {
                errorArray[y] = 'Nimi';
                y++;
	}
        if(company.length < 2) {
                errorArray[y] = 'Yritys';
                y++;
        }

        // Reg exp for email: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
        var regExp = /^[\.a-z0-9_-]+@[a-z0-9_-]+\.[a-z]+$/;
        if(email.length < 5 || !regExp.test(email)) {
                errorArray[y] = 'S-posti';
                y++;
        }
	if(phone.length < 6) {
		errorArray[y] = 'Puhelin';
                y++;
	}
        if(nrLicense.length < 1 ) {
                errorArray[y] = 'Lisenssien luku';
                y++;
        }

        if(errorArray.length > 0) {
            var errorString = "";
            for(i = 0; i < y; i++) {
                errorString += errorArray[i];
                errorString += '\n'
            }
            alert('Seuraavat tiedot puuttuvat tai ovat viallisia: \n' + errorString);
            return;
        }

        data = 'name=' + htmlspecialchars(name);
        data += '&company=' + htmlspecialchars(company);
        data += '&email=' + htmlspecialchars(email);
        data += '&phone=' + htmlspecialchars(phone);
        data += '&nrLicense=' + htmlspecialchars(nrLicense);
        
        var res = postAndWaitForResponse('/coremodule/interestContact/', data, true);

	if(res == '1') {
		document.getElementById('interestForm').reset();
		alert('Kiitos kyselystä! MyNetwork ottaa pian yhteyden teidän kanssa ja esittää kysetyt hintatiedot.');
	} else {
		alert(unescape(res));
	}
}

function setAccessLevel(company, state) {
	displayWait('');
	var response = postAndWaitForResponse('/mypage/acl/', 'company=' + escape(company) + '&state=' + escape(state), true);
	removeWait();
	
	if (parseInt(response) == 1) {
		document.getElementById('access-' + company).innerHTML = 'Pääsy';
		//document.getElementById('access-' + company).style.background = 'rgb(0, 200, 0)';
		/*document.getElementById('on-' + company).innerHTML = '&nbsp;';
		document.getElementById('off-' + company).innerHTML = '<a href="javascript:setAccessLevel(' + company + ', 0);" style=" font-weight: bold; text-align:center;background: red;text-decoration: none;color: white;height: 16px; width: 16px; display: block;">X</a>';*/
	} else {
		document.getElementById('access-' + company).innerHTML = 'Pääsy evätty';
		//document.getElementById('access-' + company).style.background = 'rgb(244, 244, 244)';
		/*document.getElementById('on-' + company).innerHTML = '<a href="javascript:setAccessLevel(' + company + ', 1);" style=" font-weight: bold; text-align:center;background: green;text-decoration: none;color: white;height: 16px; width: 16px; display: block;">V</a>';
		document.getElementById('off-' + company).innerHTML = '&nbsp;';*/
	}
}

function openPercentage() {
	window.open('/cv/percentage/', 'percentage', 'width=700,height=650,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
}

function loadPercentage () {
        
    	var place = document.getElementById('cv-percentage');
	var data = postAndWaitForResponse('/cv/percentage-inline/', '', true);
	place.style.display = 'block';
	place.innerHTML = '<a href="javascript:openPercentage();">' + data + '%</a>';

	if (data >= 80) {
		place.className = 'cvp4';
	} else if (data >= 60) {
		place.className = 'cvp3';
	} else if (data >= 30) {
		place.className = 'cvp2';
	} else {
		place.className = 'cvp1';
	}
        document.getElementById('btnGroup_bottom').style.display = '';
}

function displayPDFDownload(id)
{
	window.open("/pdf/apdf/?uid=" + id,"PDF","menubar=0,resizable=1,width=640,height=480");
}

function displayProjectPDFDownload(id)
{
	window.open("/pdf/pdfp/?pid=" + id,"PDF","menubar=0,resizable=1,width=640,height=480");
}

function removeChoose(box) {
	if(box.options[0].text.substr(0, 2) == '[-') {
		box.remove(0);
	}
}

function loadUserList(repopulateSClist)
{
	var maxLicense;
	var license;
	
	loadXMLDoc('/mypage/loadUsers/', function () {
		if (req.readyState == 4 && req.status == 200) {		
			var elems = req.responseXML.getElementsByTagName('user');
			maxLicense = req.responseXML.getElementsByTagName('root')[0].attributes.getNamedItem('maxlicense').value;
			license = 0;
			
			var storage = document.getElementById('userTempStorage');
			
			var userTable = document.createElement('table');
			userTable.cellSpacing = 0;
			userTable.cellPadding = 0;
			userTable.width='750px';
			
			var cell;
			var row;
			
			row = userTable.insertRow(userTable.rows.length);
			cell = row.insertCell(row.cells.length).innerHTML = 'S-posti';
			cell = row.insertCell(row.cells.length).innerHTML = 'Etunimi';
			cell = row.insertCell(row.cells.length).innerHTML = 'Sukunimi';
			//cell = row.insertCell(row.cells.length).innerHTML = 'Osasto';
			cell = row.insertCell(row.cells.length).innerHTML = '&nbsp;';
			
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var id = node.getNamedItem('id').value;
				var fname = unescape(node.getNamedItem('firstname').value);
				var lname = unescape(node.getNamedItem('lastname').value);
				var email = unescape(node.getNamedItem('email').value);
				var subcompany = unescape(node.getNamedItem('subcompany').value);
				var subcompanyid = node.getNamedItem('subcompanyid').value;
				var admin = node.getNamedItem('admin').value;
				
				row = userTable.insertRow(userTable.rows.length);
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = (email.length == 0 ? '&nbsp;' : email); 
				cell.id = 'em_edit_' + id;
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
				
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = (fname.length == 0 ? '&nbsp;' : fname);
				cell.id = 'fn_edit_' + id;
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
				
				cell = row.insertCell(row.cells.length);				
				cell.innerHTML = (lname.length == 0 ? '&nbsp;' : lname);
				cell.id = 'ln_edit_' + id;
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
				
				/*cell = row.insertCell(row.cells.length);
				cell.innerHTML = (subcompany.length == 0 ? '&nbsp;' : subcompany) + '<input type="hidden" value="' + subcompanyid + '" id="sc_id_' + id + '" />';
				cell.id = 'sc_edit_' + id;
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';*/
				
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<img src="/Graphics/Img/Icons/edit.gif" style="cursor: pointer;" title="Muuta käyttäjän tiedot" onclick="editUser(' + id + ');" />';

				if(admin != '1') {
					cell.innerHTML += '<img src="/Graphics/Img/Icons/trashcan.gif" style="margin-left: 5px; cursor: pointer;" title="Poista käyttäjä" onclick="deleteUser(' + id + ');" />';
				}
				
				cell.id = 'btn_' + id;
				cell.style.width = '55px';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
				cell.align = 'center';
				
				cell.innerHTML += '<input type="hidden" value="' + email + '" id="em_edit_' + id + '" />';

				if(admin != '1') {
					storage.innerHTML += '<input type="hidden" value="1" id="is_admin_' + id + '" />';
				}

				license++;                     			
			}
			
			if(license < maxLicense) {
				row = userTable.insertRow(userTable.rows.length);
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<input type="text" value="" id="newUserEM" />';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
	
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<input type="text" value="" id="newUserFN" />';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
	
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<input type="text" value="" id="newUserLN" />';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
	
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<select id="newUserSC" style="width: 100%;"></select>';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
							
				cell = row.insertCell(row.cells.length);
				cell.innerHTML = '<img style="cursor: pointer;" src="/Graphics/Img/Icons/confirm.gif" title="Tallentaa uuden käyttäjän" onclick="saveUser(true);" />';
				cell.style.borderTop = '1px solid rgb(170, 170, 170)';
			}
				
			var targetDiv = document.getElementById('userListDiv');	
			targetDiv.innerHTML = '';
			targetDiv.appendChild(userTable);
			document.getElementById('licenseDiv').innerHTML = (license + '/' + maxLicense);
			if((repopulateSClist == true) && (license < maxLicense)) {
				populateSCList('newUserSC');
			}
		}
	});
}

function populateSCList(selectID, preSel)
{
	var selectOb = document.getElementById(selectID);
	var elem = document.createElement('option');
	elem.id = 0;
	elem.text = 'Puuttuva osasto';
	selectOb.options.length = 0;
	/** If-block below to avoid non-standard-deviant JS-engine
	 *  in IE6 (and possibly IE7?) from causing trouble.
	 */
	if(!document.all) {
		selectOb.add(elem, null);
	} else {
		selectOb.add(elem);
	}
	loadXMLDoc('/mypage/loadSubCompanies/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var elems = req.responseXML.getElementsByTagName('company');
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var id = node.getNamedItem('id').value;
				var name = unescape(node.getNamedItem('name').value);
				elem = document.createElement('option');					
				elem.text = name;
				elem.value = id;
				if(preSel == id) {
					elem.selected = 'selected';
				}
				if(!document.all) {
					selectOb.add(elem, null);
				} else {
					selectOb.add(elem);
				}
			}
		}
	});			
}

function populateUserList(selectID)
{
	var selectOb = document.getElementById(selectID);
	var elem = document.createElement('option');	
	elem.text = 'NO_USER';
	selectOb.options.length = 0;
	/** If-block below to avoid non-standard-devuant JS-engine
	 *  in IE6 (and possibly IE7?) from causing trouble.
	 */
	if(document.all) {
		selectOb.add(elem);
	} else {
		selectOb.add(elem, null);
	}
	loadXMLDoc('/mypage/loadUsers/', function () {
		if (req.readyState == 4 && req.status == 200) {
			var elems = req.responseXML.getElementsByTagName('user');
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var id = node.getNamedItem('id').value;
				var fname = node.getNamedItem('firstname').value;
				var lname = node.getNamedItem('lastname').value;
				elem = document.createElement('option');					
				elem.text = (fname + ' ' + lname);
				elem.value = id;
				/*if(preSel == id) {
					elem.selected = 'selected';
				}*/
				if(document.all) {
					selectOb.add(elem);
				} else {
					selectOb.add(elem, null);
				}
			}
		}
	});
}

function postVote()
{
	var radios = document.getElementsByTagName('input');
	var id = null;
	for(var i = 0; i < radios.length; i++) {
		if(radios[i].name == 'comp_vote' && radios[i].checked == true) {
			id = radios[i].id;
		}
	}
	if(id == null) {
		alert('CHOOSE_WHAT_TO_VOTE_FOR');
		return;
	}
	displayWait('Äänestää');
	alert(getResponseText('/mypage/comp_vote/id:' + id + '/', true));
	removeWait();
}

function checkAccess(pk, action, where)
{
	var data = getResponseText('/center/checkAccess/pk:' + pk + '/action:' + escape(action) + '/where:' + escape(where) + '/');
	if(isNaN(data) == true) {
		alert(data);
	} else if(parseInt(data) == 1) {
		return true;
	}
	return false;
}

function loadCountySelect(selectID, country, clearCitySelect)
{
    var selectOb;
    if(typeof(selectID) == 'string') {
        selectOb = document.getElementById(selectID);
    } else {
        selectOb = selectID;
    }
    var elem = document.createElement('option');
    elem.text = 'Valitse lääni';
    selectOb.options.length = 0;
    /** If-block below to avoid non-standard-deviant JS-engine
     *  in IE6 (and possibly IE7?) from causing trouble.
     */
    if(document.all) {
            selectOb.add(elem);
    } else {
            selectOb.add(elem, null);
    }
    if(clearCitySelect != null) {
            document.getElementById(clearCitySelect).options.length = 1;
            document.getElementById(clearCitySelect).disabled = true;
    }
    loadXMLDoc('/coremodule/loadcounties/country:' + country + '/', function () {
            if (req.readyState == 4 && req.status == 200) {
                    var elems = req.responseXML.getElementsByTagName('county');
                    if(elems.length == 0) {
                            selectOb.length = 1;
                            selectOb.disabled = true;
                            if(document.getElementById('citySelect') != null) {
                                    loadCitySelect('citySelect', null, document.getElementById('countrySelect'));
                            }
                            return;
                    }
                    selectOb.disabled = false;
                    for(var i = 0; i < elems.length; i++) {
                            var node = elems[i].attributes;
                            var county = unescape(node.getNamedItem('name').value);
                            var code = unescape(node.getNamedItem('code').value);
                            elem = document.createElement('option');
                            elem.text = county;
                            elem.value = code;
                            if(document.all) {
                                    selectOb.add(elem);
                            } else {
                                    selectOb.add(elem, null);
                            }
                    }
            }
    });
}

function loadCitySelect(selectID, countySelOb, countrySelOb, preSelCountry)
{
	var selectOb = document.getElementById(selectID);
	var elem = document.createElement('option');

	var country;
	if(countrySelOb != null) {
		country = countrySelOb.options[countrySelOb.selectedIndex].value;
	} else {
		country = preSelCountry;
	}
			
	selectOb.options.length = 0;
	
	var url = '/coremodule/loadcities/country:' + country + '/';		
	if(countySelOb != null) {
		var county = countySelOb.options[countySelOb.selectedIndex].value;
		url += 'county:' + county + '/';
	}
	
	loadXMLDoc(url, function () {
		if (req.readyState == 4 && req.status == 200) {
			var elems = req.responseXML.getElementsByTagName('county');
			if(elems.length == 0) {
				elem.text = 'Valitse paikkakunta';
				selectOb.disabled = true;
			} else {
				elem.text = 'Valitse paikkakunta';
			}
			/** If-block below to avoid non-standard-deviant JS-engine
			 *  in IE6 (and possibly IE7?) from causing trouble.
			 */
			if(document.all) {
				selectOb.add(elem);
			} else {
				selectOb.add(elem, null);
			}
			if(elems.length == 0) {
				return;
			}
			selectOb.disabled = false;
			for(var i = 0; i < elems.length; i++) {
				var node = elems[i].attributes;
				var county = unescape(node.getNamedItem('name').value);
				var code = unescape(node.getNamedItem('code').value);
				elem = document.createElement('option');					
				elem.text = county;
				elem.value = code;
				/*if(preSel == id) {
					elem.selected = 'selected';
				}*/
				if(document.all) {
					selectOb.add(elem);
				} else {
					selectOb.add(elem, null);
				}
			}
		}
	});
}

function flagDropDown()
{
    if(document.getElementById("langFlags").style.display == "none") {
        document.getElementById("langFlags").style.display = "";
    } else {
        document.getElementById("langFlags").style.display = "none";
    }
}

function loadManualChoice(systemName) {
    var manualHTML = '';
    manualHTML += '<h1>Käsikirja</h1>';
    manualHTML += '<div>Täältä imuroit käsikirjan PDF muodossa rekrytointisysteemiin.</div>';
    manualHTML += '<div style="width:400px; margin-top:20px;">';

    if(systemName == 'mynetwork') {
        manualHTML += '<a href="javascript:downloadManual(\'en\', \''+ systemName +'\')" class="buttonNotLink"><div class="manualIcon">English Manual</div></a>';
        manualHTML += '<a href="javascript:downloadManual(\'se\', \''+ systemName +'\')" class="buttonNotLink"><div class="manualIcon">Svensk Handbok</div></a>';
        manualHTML += '<a href="javascript:downloadManual(\'no\', \''+ systemName +'\')" class="buttonNotLink"><div class="manualIcon">Norsk Brukermanual</div></a>';
        manualHTML += '<a href="javascript:downloadManual(\'fi\', \''+ systemName +'\')" class="buttonNotLink"><div class="manualIcon">Suomen Käsikirja</div></a>';
    } else if(systemName == 'netrecruiter') {
        manualHTML += '<a href="javascript:downloadManual(\'se\', \''+ systemName +'\')" class="buttonNotLink"><div class="manualIcon">Svensk Handbok</div></a>';
    }
    manualHTML += '</div>';

    displayMessageBox(manualHTML);
}

function downloadManual(lang, system) {
    window.open('/center/downloadManual/lang:' + lang + '/system:' + system +'/', 'manualDownload',
			    'width=1,height=1,menubar=no,location=no,resizable=no,scrollbars=no,status=no');
}



function AjaxTools () {}

AjaxTools.prototype.createRequest = function () {
	var request;
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			request = new XMLHttpRequest();
		} catch (ex) {
			request = false;
		}
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				request = false;
			}
		}
	}

	return request;
}



/** Center **/
function CenterClass () {
	this.pmax = 25;
	this.cpage = 1;
}

CenterClass.prototype.searchKeywordsEvent = function(e) {
	var keycode;

	if (window.event) {
		keycode = window.event.keyCode;
	}	else if (e) {
		keycode = e.which;
	}

	if (keycode == 13) {
		document.getElementById('dataut-outer').style.display = 'none';
		this.searchProfiles ();
	} else {
		this.searchKeywords ()
	}
}

CenterClass.prototype.searchKeywords = function() {
	var inn = document.getElementById('datainn');
	var out = document.getElementById('dataut');

	var request = ajaxtools.createRequest();

	if(request) {
		var params = '';

		if (document.getElementById('availprof').checked) {
			params += 'AVAILPROF:1/';
		}

		if (document.getElementById('EDULEVEL').value > 0) {
			params += 'EDULEVEL:' + escape(document.getElementById('EDULEVEL').value) + '/';
		}

		if (document.getElementById('EDUTYPE').value > 0) {
			params += 'EDUTYPE:' + escape(document.getElementById('EDUTYPE').value) + '/';
		}

		/*if (document.getElementById('PROFILEWORD').value > 0) {
			params += 'PROFILEWORD:' + escape(document.getElementById('PROFILEWORD').value) + '/';
		}*/

		if (document.getElementById('BUDGET').value > 0) {
			params += 'BUDGET:' + escape(document.getElementById('BUDGET').value) + '/';
		}

		if (document.getElementById('PERSONAL').value > 0) {
			params += 'PERSONAL:' + escape(document.getElementById('PERSONAL').value) + '/';
		}

		if (document.getElementById('COUNTRY').value != '') {
			params += 'COUNTRY:' + escape(document.getElementById('COUNTRY').value) + '/';
		}

		request.open('POST', '/center/search/' + params, true);
                request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send('search=' + escape(inn.value));
                request.onreadystatechange = function() {
                    if(request.readyState == 4) {
                        var elem = request.responseXML.documentElement;
                        if (elem.getElementsByTagName('a').length > 0) {
                                var a = elem.getElementsByTagName('a');

                                data = '';
                        //	data = '<table border="0" cellpadding="0" cellspacing="1" style="width: 150px; background: pink;">';
                                for (i = 0; i < a.length; i++) {
                /*			data += '<tr onclick="javascript:center.setSearchTerm(\'' + unescape(a[i].getAttribute('b')) + '\');">';
                                        data += '<td style="text-align: left; background: green; width: 50px; overflow: hidden;"><a href="javascript:center.setSearchTerm(\'' + unescape(a[i].getAttribute('b')) + '\');" style="text-decoration: none; color: black;">' + unescape(a[i].getAttribute('b')) + '</a></td>';
                                        data += '<td style="text-align: right">' + a[i].getAttribute('c') + ' </td>';
                                        data += '</tr>';*/
                                        data += '<div onclick="javascript:center.setSearchTerm(\'' + unescape(a[i].getAttribute('b')) + '\');" style="cursor: pointer; width: 160px;">';
                                        data += '<div style="width: 115px; overflow: hidden; float: left;">';
                                        data += unescape(a[i].getAttribute('b'));
                                        data += '</div><div style="width: 5px; float: left;"></div><div style="text-align: right; width: 37px; float: left;">';
                                        data += unescape(a[i].getAttribute('c'));
                                        data += '</div></div><div style="clear: both;"></div>';
                                }
        //			data += '</table>';
                                out.innerHTML = data;
                        } else {
                                if(elem.nodeName && (elem.nodeName == 'root')) {
                                        out.innerHTML = unescape(elem.firstChild.nodeValue);
                                } else {
                                        this.setSearchTerm('');
                                }
                        }

                        if (request.responseText != '') {
                                document.getElementById('dataut-outer').style.display = 'block';
                        }
                    }
                };


		return true;
	}
}

CenterClass.prototype.setSearchTerm = function(term) {
	document.getElementById('datainn').value = unescape(term);
	document.getElementById('dataut-outer').style.display = 'none';
	this.searchProfiles();
}


CenterClass.prototype.searchProfiles = function() {
	displayWait('Lataa tietoja. Tämä voi kestää jonkin aikaa!');

	var date = new Date();
	var time = date.getTime();

	this.cpage = 1;
	this.pages = 1;
	this.searchrender = null;

	var inn = document.getElementById('datainn');
	var out = document.getElementById('dataut');
	var res = document.getElementById('dataresult');
	var params = '';

	var request = ajaxtools.createRequest();
	this.searchrender = null;

	if(request) {
		if (document.getElementById('availprof').checked) {
			params += 'AVAILPROF:1/';
		}

		if (document.getElementById('EDULEVEL').value > 0) {
			params += 'EDULEVEL:' + escape(document.getElementById('EDULEVEL').value) + '/';
		}

		if (document.getElementById('EDUTYPE').value > 0) {
			params += 'EDUTYPE:' + escape(document.getElementById('EDUTYPE').value) + '/';
		}

		/*if (document.getElementById('PROFILEWORD').value > 0) {
			params += 'PROFILEWORD:' + escape(document.getElementById('PROFILEWORD').value) + '/';
		}*/

		if (document.getElementById('BUDGET').value > 0) {
			params += 'BUDGET:' + escape(document.getElementById('BUDGET').value) + '/';
		}

		if (document.getElementById('PERSONAL').value > 0) {
			params += 'PERSONAL:' + escape(document.getElementById('PERSONAL').value) + '/';
		}

		if (document.getElementById('COUNTRY').value != '') {
			params += 'COUNTRY:' + escape(document.getElementById('COUNTRY').value) + '/';
		}

		request.onreadystatechange = function () {
			if (request.readyState == 4) {
				while(true) {
					var newDate = new Date();
					if((newDate.getTime() - time) > 1500) {
						break;
					}
				}
				removeWait();
				var profiles = request.responseXML.documentElement.getElementsByTagName('profile');

				if (profiles.length > 0) {
					res.innerHTML = '';

					center.pages = parseInt(profiles.length / center.pmax);
					if (center.pages * center.pmax < profiles.length) {
						center.pages++;
					}

					center.searchrender = profiles;
					center.page(1);
				} else {
					res.innerHTML = 'Valitettavasti emme löytäneet yhtään hakuehtojasi vastaavaa osumaa ';
				}
				res.style.display = 'block';
			}
		};
		request.open("GET", '/center/dosearch/' + params + 'search:' + escape(inn.value), true);
		request.send(null);
	} else {
		removeWait();
	}
}

CenterClass.prototype.renderNavigationBar = function() {
	var profiles = center.searchrender.length;
	var out = document.getElementById('dataresult-nav');

	out.innerHTML = '';

	if (profiles > this.pmax) {
		var data = '';
		data += '<table border="0" cellpadding="2" cellspacing="1" style="background: #888; color black; width: 100%; font-size: 12px;margin-bottom: 10px;">';
		data += '<tr>';
		//data += '<td style="background: #aaa; width: 30px; text-align: center; font-weight: bold; height: 30px;">&lt;</td>';

		data += '<td style="background: #aaa; text-align: center;">';


		for (i = 1; i <= this.pages; i++) {
			if (i > 1) {
				data += ' ';
			}
			if (this.cpage != i) {
				data += '<a href="javascript:center.page(' + i + ')" style="color: black; text-decoration: none;">' + i + '</a>';
			} else {
				data += '<a href="javascript:center.page(' + i + ')" style="color: black; text-decoration: none; font-weight: bold;">' + i + '</a>';
			}
		}

		data += '</td>';
		//data += '<td style="background: #aaa; width: 30px; text-align: center; font-weight: bold; height: 30px;">&gt;</td>';
		data += '</tr>';

		data += '</table>';

		out.innerHTML = data;
	}
}

CenterClass.prototype.page = function (page) {
	if (page < 1 || page > this.pages) {
		return;
	}

	var out = '';

	this.cpage = page;
	this.renderNavigationBar();

	var min = (page - 1) * this.pmax;
	var max = min + this.pmax - 1;


	out += '<table cellpadding="0" border="0" cellspacing="0" style=" table-layout: fixed;width: 100%; font-size: 10px;">';

	for (i = min; i <= max && i <= this.searchrender.length; i++) {
		p = this.searchrender[i];

		if (p) {
			out += '<tr style="background: #aaaaaa;">';
			out += '<td style="border-left: 1px solid #666;border-top: 1px solid #666;"><input onclick="javascript:checkToggled();" type="checkbox" id="' + p.getAttribute('uid') + '" /></td>';
			out += '<td colspan="4" style="border-top: 1px solid #666; width: 190px;">';
			out += '<a href="javascript:embeddedViewProfile(' + p.getAttribute('uid') + ', null, null, false, true)" style="color: green; text-decoration: none;">' + unescape(p.getAttribute('name')) + '</a> - ' + unescape(p.getAttribute('country'));
			out += '</td>';
			out += '<td colspan="5" style="border-right: 1px solid #666;border-top: 1px solid #666;">';
			if (p.getAttribute('rel')) {
				out += '<div style="text-align: right; padding: 2px;">Relevanssi: ' + unescape(p.getAttribute('rel')) + '%</div>';
			} else {
				out += '<div style="text-align: right; padding: 2px;">&nbsp;</div>';
			}
			out += '</td>';
			out += '</tr>';

			out += '<tr style="background: #aaaaaa;">';
			out += '<td colspan="5" style="padding: 2px;border-top: 1px solid #666;border-left: 1px solid #666;" valign="top">';

			if (p.getAttribute('edulevel')) {
				out += '<div style="margin-top: 2px;"><b>Koulutustaso</b><br/>' + unescape(p.getAttribute('edulevel')) + '</div>';
//			} else {
//				out += '<div style="margin-top: 2px;"><b>Koulutustaso</b><br/>UNKNOWN</div>';
			}

			if (p.getAttribute('edutype')) {
				out += '<div style="margin-top: 2px;"><b>Ensisijainen ainevalinta</b><br/>' + unescape(p.getAttribute('edutype')) + '</div>';
//			} else {
//				out += '<div style="margin-top: 2px;"><b>Ensisijainen ainevalinta</b><br/>UNKNOWN</div>';
			}

			if (p.getAttribute('personal')) {
				out += '<div style="margin-top: 2px;"><b>Henkilöstövastuu</b><br/>' + unescape(p.getAttribute('personal')) + '</div>';
			} else {
				out += '<div style="margin-top: 2px;"><b>Henkilöstövastuu</b><br/>Ei</div>';
			}

			if (p.getAttribute('budget')) {
				out += '<div style="margin-top: 2px;"><b>Taloudellinen vastuu</b><br/>' + unescape(p.getAttribute('budget')) + '</div>';
			} else {
				out += '<div style="margin-top: 2px;"><b>Taloudellinen vastuu</b><br/>Ei</div>';
			}

			out += '</td>';
			out += '<td colspan="5" style="border-right: 1px solid #666;border-top: 1px solid #666;" valign="top">';
			
				out += '<table cellpadding="0" border="0" cellspacing="0" style=" table-layout: fixed;width: 100%; font-size: 10px;">';
				out += '<tr>';
				out += '<td>';
				if (p.getAttribute('first_text')) {
					out += '<b>' + unescape(p.getAttribute('first_title')) + '</b>';
					out += '<div style="padding: 0px;"><div style="height:110px; width:95%; border: 1px solid #cccccc; background-color: #ffffff; padding: 2px; overflow-y: scroll; overflow-x: hidden;">';
					out += unescape(p.getAttribute('first_text'));
					out += '</div></div>';
				}
				out += '</td>';
				
				out += '<td>';
					if (p.getAttribute('my_next_job')) {
						out += '<b>Minun seuraava työ</b>'; /* S�tt till n�gon som kan mappas mot det valda alternativet */
						out += '<div style="padding: 0px;"><div style="height:110px; width:95%; border: 1px solid #cccccc; background-color: #ffffff; padding: 2px; overflow-y: scroll; overflow-x: hidden;">';
						out += unescape(p.getAttribute('my_next_job'));
						out += '</div></div>';
					}
				out += '</td>';
			
				out += '</table>';
			out += '</td>';
			out += '</tr>';

			out += '<tr><td colspan="10" style="border: 1px solid #666;padding: 2px;background: #999; font-weight: bold;">Profiiliin valitut sanat</td></tr>';
			out += '<tr>';

			if (p.getAttribute('word1')) {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666; padding: 2px;background: #aaa; text-align: center;">' + unescape(p.getAttribute('word1')) + '</td>';
			} else {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center; color: #888;">Puuttuu</td>';
			}

			if (p.getAttribute('word2')) {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center;">' + unescape(p.getAttribute('word2')) + '</td>';
			} else {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center; color: #888;">Puuttuu</td>';
			}

			if (p.getAttribute('word3')) {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center;">' + unescape(p.getAttribute('word3')) + '</td>';
			} else {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center; color: #888;">Puuttuu</td>';
			}

			if (p.getAttribute('word4')) {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center;">' + unescape(p.getAttribute('word4')) + '</td>';
			} else {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;padding: 2px;background: #aaa; text-align: center; color: #888;">Puuttuu</td>';
			}

			if (p.getAttribute('word5')) {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;border-right: 1px solid #666;padding: 2px;background: #aaa; text-align: center;">' + unescape(p.getAttribute('word5')) + '</td>';
			} else {
				out += '<td colspan="2" style="border-bottom: 1px solid #666;border-left: 1px solid #666;border-right: 1px solid #666;padding: 2px;background: #aaa; text-align: center; color: #888;">Puuttuu</td>';
			}

			out += '</tr>';

			out += '<tr><td colspan="10" style="padding: 0px; height: 10px;"></td></tr>'
		}
	}

	out += '</table>';

	document.getElementById('dataresult').innerHTML = out;
}

CenterClass.prototype.openAdvancedSearch = function () {
	var elem = document.getElementById('advancedsearch');
	var button = document.getElementById('advancedsearchbutton');

	if (elem.style.display == 'none') {
		elem.style.display = 'block';
		button.innerHTML = 'Sulje hakufiltteri';
	} else {
		this.resetAdvancedSearch()
		elem.style.display = 'none';
		button.innerHTML = 'Avaa hakuohjelma';
	}
}

CenterClass.prototype.resetAdvancedSearch = function () {
	var input = document.getElementById('EDULEVEL').selectedIndex = 0;
	var input = document.getElementById('EDUTYPE').selectedIndex = 0;
	//var input = document.getElementById('PROFILEWORD').selectedIndex = 0;
	var input = document.getElementById('BUDGET').selectedIndex = 0;
	var input = document.getElementById('PERSONAL').selectedIndex = 0;
	var input = document.getElementById('COUNTRY').selectedIndex = 0;
}



/** Job **/

function JobClass () {
	this.pmax = 10;
	this.cpage = 1;
	this.companies = new Array;
	this.sortfield = 'ends';
	this.sortkey = '';
	this.sortby = 'ends asc';
}

function cvPreviewJob(id)
{
	var date = new Date();
	window.open('/cv/jobpreview/id:' + id + '/',
				'jobpreview' + date.getTime(),
				'width=1024,height=768,toolbar=0,resizable=0,status=1,menubar=1,scrollbars=0');
}

JobClass.prototype.searchKeywordsEvent = function(e) {
	var keycode;

	if (window.event) {
		keycode = window.event.keyCode;
	}	else if (e) {
		keycode = e.which;
	}

	if (keycode == 13) {
		document.getElementById('dataut-outer').style.display = 'none';
		this.searchJobs ();
	} else {
		this.searchKeywords ()
	}
}

JobClass.prototype.searchKeywords = function() {
	var inn = document.getElementById('datainn');
	var out = document.getElementById('dataut');

	var request = ajaxtools.createRequest();

	if(request) {
		var params = '';

		if (document.getElementById('COUNTRY').value != '') {
			params += 'COUNTRY:' + escape(document.getElementById('COUNTRY').value) + '/';
		}

		if (document.getElementById('COMPANY').value != '') {
			params += 'COMPANY:' + escape(document.getElementById('COMPANY').value) + '/';
		}
		request.open('POST', '/job/search/' + params, false);
	  request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		request.send('search=' + escape(inn.value));

		var elem = request.responseXML.documentElement;
		if (elem.getElementsByTagName('a').length > 0) {
			var a = elem.getElementsByTagName('a');

			data = '<table border="0" cellpadding="0" cellspacing="1" style="width: 100%;">';
			for (i = 0; i < a.length; i++) {
				data += '<tr onclick="javascript:job.setSearchTerm(\'' + unescape(a[i].getAttribute('b')) + '\');">';
				data += '<td style="text-align: left"><a href="javascript:job.setSearchTerm(\'' + unescape(a[i].getAttribute('b')) + '\');" style="text-decoration: none; color: black;">' + unescape(a[i].getAttribute('b')) + '</a></td>';
				data += '<td style="text-align: right">' + a[i].getAttribute('c') + '</td>';
				data += '</tr>';
			}
			data += '</table>';
			out.innerHTML = data;
		} else {
			out.innerHTML = elem.textContent ? unescape(elem.textContent) : 'Haussa nolla osumaa';
		}

		if (request.responseText != '') {
			document.getElementById('dataut-outer').style.display = 'block';
		}

		return true;
	}
}

JobClass.prototype.setSearchTerm = function(term) {
	document.getElementById('datainn').value = unescape(term);
	document.getElementById('dataut-outer').style.display = 'none';
	this.searchJobs();
}

JobClass.prototype.searchJobs = function() {
	displayWait('Lataa tietoja. Tämä voi kestää jonkin aikaa!');

	this.cpage = 1;
	this.pages = 1;
	this.searchrender = null;

	var inn = document.getElementById('datainn');
	var out = document.getElementById('dataut');
	var res = document.getElementById('dataresult');
	var params = '';

	var request = ajaxtools.createRequest();
	this.searchrender = null;

	if(request) {
		if (document.getElementById('COUNTRY').value != '') {
			params += 'COUNTRY:' + escape(document.getElementById('COUNTRY').value) + '/';
		}

		if (document.getElementById('COMPANY').value != '') {
			params += 'COMPANY:' + escape(document.getElementById('COMPANY').value) + '/';
		}

    request.onreadystatechange = function () {
			if (request.readyState == 4) {

				removeWait();
				var profiles = request.responseXML.documentElement.getElementsByTagName('job');

				if (profiles.length > 0) {
					res.innerHTML = '';

					job.pages = parseInt(profiles.length / job.pmax);
					if (job.pages * job.pmax < profiles.length) {
						job.pages++;
					}

					var c = request.responseXML.documentElement.getElementsByTagName('company');

					for(i = 0; i < c.length; i++) {
						job.companies[c[i].getAttribute('id')] = unescape(c[i].getAttribute('name'));
					}

					job.searchrender = profiles;
					job.page(1);
				} else {
					res.innerHTML = 'Valitettavasti emme löytäneet yhtään hakuehtojasi vastaavaa osumaa ';
				}
				res.style.display = 'block';
			}
		};

		request.open("GET", '/job/doFetchJobs/', true);
		request.send(null);
	} else {
		removeWait();
	}
}

JobClass.prototype.sort = function(field) {
	var company = document.getElementById('job-search-company');
	var title = document.getElementById('job-search-title');
	var country = document.getElementById('job-search-country');
	var ends = document.getElementById('job-search-ends');
	var elem = document.getElementById('job-search-' + field);
	var samefield = elem.innerHTML != '';

	company.innerHTML = '';
	title.innerHTML = '';
	country.innerHTML = '';
	ends.innerHTML = '';

	job.sortfield = field;
	job.sortby = field;

	job.sortkey = job.sortkey == field ? '' : field;
	job.sortby += ' ' + (job.sortkey == field ? 'asc' : 'desc');
	elem.innerHTML = job.sortkey == '' ? '&darr;' : '&uarr;';

	this.searchJobs();
}

JobClass.prototype.getCompanyName = function (id) {
	if (job.companies[id]) {
		return job.companies[id];
	}

	return 'UNKNOWN';
}

JobClass.prototype.renderNavigationBar = function() {
	var profiles = job.searchrender.length;

	document.getElementById('dataresult-nav1').innerHTML = '';
	document.getElementById('dataresult-nav2').innerHTML = '';

	if (profiles > this.pmax) {
		var data = '';
		data += '<table border="0" cellpadding="2" cellspacing="1" style="background: #888; color black; width: 100%; font-size: 12px;">';
		data += '<tr><td style="background: #aaa; text-align: center;">';

		for (i = 1; i <= this.pages; i++) {
			if (i > 1) {
				data += ' ';
			}

			if (this.cpage != i) {
				data += '<a href="javascript:job.page(' + i + ')" style="color: black; text-decoration: none;">' + i + '</a>';
			} else {
				data += '<span style="color: black; font-weight: bold;">' + i + '</span>';
			}
		}

		data += '</td></tr></table>';
		document.getElementById('dataresult-nav1').innerHTML = data;
		document.getElementById('dataresult-nav2').innerHTML = data;
	}
}

JobClass.prototype.page = function (page) {
	if (page < 1 || page > this.pages) {
		return;
	}

	this.cpage = page;
	this.renderNavigationBar();

	var min = (page - 1) * this.pmax;
	var max = min + this.pmax - 1;

	var out = '';
        out += '<div><div><table cellpadding="2" cellspacing="0" class="jobs-table">';
	out += '<tr class="header">';
	out += '<th onclick="job.sort(\'company\')" style="width: 150px;">Yritys <span id="job-search-company"></span></th>';
	out += '<th onclick="job.sort(\'title\')">Titteli <span id="job-search-title"></span></th>';
	out += '<th onclick="job.sort(\'town\')" style="width: 70px;">Paikkakunta <span id="job-search-town"></span></th>';
	out += '<th onclick="job.sort(\'country\')" style="width: 70px;">Maa <span id="job-search-country"></span></th>';
	out += '<th onclick="job.sort(\'ends\')" style="width: 90px;text-align: center;">Viimeinen hakupäivä <span id="job-search-ends"></span></th>';
	out += '<th onclick="job.sort(\'rel\')" style="width: 90px;text-align: center;">Relevanssi <span id="job-search-rel"></span></th>';
	out += '</tr>';
        

	for (i = min; i <= max && i <= this.searchrender.length; i++) {
		p = this.searchrender[i];

		if (p) {
			out += '<tr><td class="spacer" colspan="5"></td></tr>';
			out += '<tr class="normal">';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')">' + this.getCompanyName(p.getAttribute('company')) + '</td>';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')">' + (!p.getAttribute('title').length ? '&nbsp;' : unescape(p.getAttribute('title')))  + '</td>';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')">' + (!p.getAttribute('town').length ? '&nbsp;' : unescape(p.getAttribute('town'))) + '</td>';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')">' + (!p.getAttribute('country').length ? '&nbsp;' : unescape(p.getAttribute('country'))) + '</td>';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')" style="text-align: center;">' + (!p.getAttribute('ends').length ? '&nbsp;' : unescape(p.getAttribute('ends'))) + '</td>';
			out += '<td onclick="openJob(' + p.getAttribute('id') + ', 2' + ')" style="text-align: center;">' + unescape(p.getAttribute('rel') ? p.getAttribute('rel') : '100.0') + '%</td>';
			out += '</tr>';
		}
	}

	out += '</table></div></div>';
        //

	document.getElementById('dataresult').innerHTML = out;
	document.getElementById('job-search-' + this.sortfield).innerHTML = this.sortkey == '' ? '&darr;' : '&uarr;';
}

JobClass.prototype.openAdvancedSearch = function () {
	var elem = document.getElementById('advancedsearch');
	var button = document.getElementById('advancedsearchbutton');

	button.innerHTML = elem.style.display == 'none' ?  'Sulje hakufiltteri' : 'Avaa hakuohjelma';
	elem.style.display = elem.style.display == 'none' ? 'block' : 'none';

	if (elem.style.display == 'none') {
		this.resetAdvancedSearch()
	}
}

JobClass.prototype.resetAdvancedSearch = function () {
	var input = document.getElementById('COUNTRY').selectedIndex = 0;
	var input = document.getElementById('COMPANY').selectedIndex = 0;
	job.setSearchTerm(document.getElementById('datainn').value);
}



/** infobox **/

function InfoboxClass () {}

InfoboxClass.prototype.hide = function() {
	try {
		var editor = tinyMCE.getInstanceById('editor');
		if(editor != null) {
			editor.remove();
		}
	}
	catch(ex) { }
	// IE6 Hack. Hide the selectboxes so that they do not "shine through" the div ontop of them.
	
	if(document.getElementById('tooltip_status')) {
		document.getElementById('tooltip_status').style.display = 'block';
		document.getElementById('tooltip_status_2').style.display = 'block';
	}
	
	document.getElementById('infobox').style.display = 'none';
	this.setData('');
	this.setTitle('');
	this.setSave('');
	this.setDelete('');
	document.getElementById('infoboxButtonContainer').style.width = '180px';
	document.getElementById('infoboxButtonContainer').innerHTML = '<div class="button-180-gray" style="float: left;"><a class="button-180-gray" href="javascript:infobox.hide();"><span class="vertical-180-24-button">Sulje</span></a></div>';
};

InfoboxClass.prototype.addButton = function(name, func)
{
	var cont = document.getElementById('infoboxButtonContainer');
	cont.style.width = ((parseInt(cont.style.width) + 305) + 'px');
	cont.innerHTML += '<div class="button-180-gray" style="margin-left: 5px; float: left;"><a class="button-180-gray" href="javascript:' + func + '"><span class="vertical-180-24-button">' + name + '</span></a></div>'; 
}

InfoboxClass.prototype.setData = function(data) {
	document.getElementById('infoboxData').innerHTML = data;
}

InfoboxClass.prototype.setDelete = function(func) {
	if (func != '') {
		document.getElementById('infobox-delete1').onclick = func;
		document.getElementById('infobox-delete1').innerHTML = '<div>Poista</div>';
		document.getElementById('infobox-delete2').onclick = func;
		document.getElementById('infobox-delete2').innerHTML = '<div>Poista</div>';
	} else {
		document.getElementById('infobox-delete1').onclick = '';
		document.getElementById('infobox-delete1').innerHTML = '';
		document.getElementById('infobox-delete2').onclick = '';
		document.getElementById('infobox-delete2').innerHTML = '';
	}
}

InfoboxClass.prototype.setSave = function(func) {
	if (func != '') {
		document.getElementById('infobox-save1').onclick = func;
		document.getElementById('infobox-save1').innerHTML = '<div>Tallenna</div>';
		document.getElementById('infobox-save2').onclick = func;
		document.getElementById('infobox-save2').innerHTML = '<div>Tallenna</div>';
	} else {
		document.getElementById('infobox-save1').onclick = '';
		document.getElementById('infobox-save1').innerHTML = '';
		document.getElementById('infobox-save2').onclick = '';
		document.getElementById('infobox-save2').innerHTML = '';
	}
}

InfoboxClass.prototype.setTitle = function(title) {
	document.getElementById('infobox-title').innerHTML = title;
}

InfoboxClass.prototype.show = function() {
	document.getElementById('infobox').style.display = 'block';
}



/** Tooltip
 *  -------
 */
 /**
 * JS-file for a general tooltip system.
 * 
 * @deprecated
 * 
 * @author Per Newberg
 */

/**
 * ToolTipContainer
 *********************/
function ToolTipContainer(attach_id, tooltip_id, content_text, callbackFunc) {
	this.attach_id = attach_id;
	if(tooltip_id == null) {
		this.content_text = content_text;
		this.tooltipCallback = callbackFunc;
		this.tooltip_id = null;
	} else {
		this.content_text = null;
		this.tooltipCallback = null;
		this.tooltip_id = tooltip_id;
	}
}

ToolTipContainer.prototype.createDiv = function() {
	this.ttDiv = document.createElement('div');
	if(this.content_text != null) {
		this.ttDiv.innerHTML = this.content_text;
	}
	this.ttDiv.style.display = 'none';
	this.ttDiv.style.padding = '5px';
	this.ttDiv.style.background = 'rgb(200,200,200)';
	this.ttDiv.style.border = 'rgb(170,170,170) solid 1px';
	this.ttDiv.style.position = 'absolute';
	this.ttDiv.style.width = '300px';
	this.ttDiv.style.height = '200px';
	this.ttDiv.style.top = '0px';
	this.ttDiv.style.left = '0px';
	document.getElementsByTagName('body')[0].appendChild(this.ttDiv);	
}

ToolTipContainer.prototype.setXY = function(x, y) {
	this.ttDiv.style.top = y;
	this.ttDiv.style.left = x;
}

ToolTipContainer.prototype.setText = function(text) {
	this.ttDiv.innerHTML = text;
}

ToolTipContainer.prototype.showDiv = function() {
	if(this.ttDiv.style.display != 'block') {
		this.ttDiv.style.display = 'block';
	}
}

ToolTipContainer.prototype.hideDiv = function() {
	this.ttDiv.style.display = 'none';
}

ToolTipContainer.prototype.getDiv = function() {
	return this.ttDiv;
}

ToolTipContainer.prototype.getAttachId = function() {
	return this.attach_id;
}

ToolTipContainer.prototype.getToolTipId = function() {
	return this.tooltip_id;
}

/**
 * ToolTipClass
 *****************/
function ToolTipClass() {
	this.ids = new Array();
}

ToolTipClass.prototype.mouseXY = new Object();

ToolTipClass.prototype.getTTCbyAttachId = function(attach_id) {
	for(var i = 0; i < tooltip.ids.length; i++) {
		if(tooltip.ids[i].getAttachId() == attach_id) {
			return tooltip.ids[i];
		}
	}
	return null;
}

ToolTipClass.prototype.attachToolTip = function(attach_id, tooltip_id, content_text, callbackFunc) {
	/*document.getElementById(attach_id).onmousemove = this.update;
	document.getElementById(attach_id).onmouseout = this.hide;*/
	var TTC = new ToolTipContainer(attach_id, tooltip_id, content_text, callbackFunc);
	TTC.createDiv();
	this.ids[this.ids.length] = TTC;
	if(TTC.tooltipCallback != null) {
		TTC.tooltipCallback(attach_id);
	}
	TTC.getDiv().style.left = ((mouseX - 30) + 'px');
	TTC.getDiv().style.top = ((mouseY - 50) + 'px');
	TTC.showDiv();
	TTC.getDiv().onmouseout = this.hide;
	this.currentID = attach_id;
}

ToolTipClass.prototype.getCurrentID = function() {
	return this.currentID;
}

ToolTipClass.prototype.mouseInBoundsOfItem = function(item, x, y) {
	var coords = new Object();
	coords.x = parseInt(item.style.top);
	coords.y = parseInt(item.style.left);
	coords.width = parseInt(item.style.width); 
	coords.height = parseInt(item.style.height); 
	var inbound =
		(
			(((x >= coords.x) && x <= (coords.x + coords.width)) &&
	  	 	 ((y >= coords.y) && y <= (coords.y + coords.height))) ? true : false
	    );
	return inbound;
}

ToolTipClass.prototype.update = function(e) {
	if(!e) {
		e = window.event;
	}
	var newX;
	var newY;
	if(e.pageX) {
		newX = ((e.pageX - 50) + 'px');
		newY = ((e.pageY - 50) + 'px');
		tooltip.mouseXY.x = e.pageX;
		tooltip.mouseXY.y = e.pageY;
	} else {
		newX = (e.clientX - 100);
		newY = e.clientY;
		tooltip.mouseXY.x = e.clientX;
		tooltip.mouseXY.y = e.clientY;
	}
	document.getElementById(this.id).onmousemove = null;
	var TTC = tooltip.getTTCbyAttachId(this.id);
	if(TTC.getDiv().style.display == 'none') {		

	}
}

ToolTipClass.prototype.hide = function() {	
	alert(tooltip.getCurrentID());
	var TTC = tooltip.getTTCbyAttachId(tooltip.getCurrentID());
	TTC.hideDiv();
}



