document.observe('dom:loaded',function() {
	var domain = document.domain;
	var value = '';
	if (domain.toLowerCase().match('dmjx.dk') != null) {
		value = '';
	}
	if (domain.toLowerCase().match('journalisthojskolen.dk') != null ) {
		value = 'Journalisthøjskolen';
	}
	if (domain.toLowerCase().match('mediehojskolen.dk') != null ) {
		value = 'Mediehøjskolen';
	}
	if (domain.toLowerCase().match('update.dk') != null ) {
		value = 'UPDATE';
	}
	ajax_request('/Scripts/getDepartments.php?unit='+value,getDepartments);
	ajax_request('/Scripts/getUnits.php',getUnits);
	$('name').focus();
	$('searchform_button').hide();
	Querystring=document.URL.parseQuery();
	if(Querystring['id'] != null) {
		show_employ(Querystring['id']);
		Effect.SlideUp('searchform');
		$('searchform_button').show();
		$('temp_header').hide();
	}
});

function getName(obj) {
	var name = new Array(obj.Firstname,obj.Middlename,obj.Lastname).join(' ');
	name = name.replace(/^\s*|\s*$/g,'');
	name = name.replace(/\s\s/g,' ');
	return name;
}

function ajax_request(url, fOnComplete ) {
	var ajax = new Ajax.Request(url,{
		method: 'get',
		evalJSON: true,
		sanitizeJSON: false,
		nFailure: function() {
			alert('failure');
		},
		onComplete: fOnComplete,
		onException: function(e) {
			if (e.transport.status != 200 ) {						
				alert('exception: '+e.transport.status);
			}
		}
	});
}
			
function show_employ(id) {
	var url = '/Scripts/getEmploy.php?id='+id;
	ajax_request(url,getEmploy);
}
			
function namesearch() {
	var sName = $F('name');
	var sQuery = $F('query');
	var sUnit = $F('units');
	var sDepartment = $F('departments');
	var bError = true;
	
	if (sDepartment != 'all' && sName.blank() && sQuery.blank()) {
		var query = '?';
		if(!sUnit.blank() && sUnit != 'all') {
			query = query + 'unit='+sUnit+'&';
		}
		if(!sDepartment.blank() && sDepartment != 'all') {
			query = query + 'department='+sDepartment;
		}
		bError = false;
		ajax_request('/Scripts/doSearch.php'+query,doNameSearch);
	}
	if (!sName.blank() || !sQuery.blank()) {
		var query = '?';
		if (!sName.blank()) {
			query = query + 'name='+sName+'&';
		}
		if(!sQuery.blank()) {
			query = query + 'query=*'+sQuery+'*&';
		}
		if(!sUnit.blank() && sUnit != 'all') {
			query = query + 'unit='+sUnit+'&';
		}
		if(!sDepartment.blank() && sDepartment != 'all') {
			query = query + 'department='+sDepartment;
		}
		bError = false;
		ajax_request('/Scripts/doSearch.php'+query,doNameSearch);
	}
	if (bError) {
		alert('Du skal vælge en afdeling for at lave en tom søgning!');
		$('name').focus();
	}
}
			
function atoz() {
	var domain = document.domain;
	var value = '';
	if (domain.toLowerCase().match('dmjx.dk') != null) {
		value = '';
	}
	if (domain.toLowerCase().match('journalisthojskolen.dk') != null ) {
		value = 'Journalisthøjskolen';
	}
	if (domain.toLowerCase().match('mediehojskolen.dk') != null ) {
		value = 'Mediehøjskolen';
	}
	if (domain.toLowerCase().match('update.dk') != null ) {
		value = 'UPDATE';
	}
	ajax_request('/Scripts/doSearch.php?unit='+value,doNameSearch);			
}
			
function select_unit() {
	$('departments').length = 0;
	var url = '/Scripts/getDepartments.php?unit=' + $F('units');
	ajax_request(url,getDepartments);
}
			
var getDepartments = function(request) {
	$('departments').insert(new Element('option',{'value':'all'}).update('Alle afdelinger'));
	var departments = request.responseJSON;
		departments.results.each(function(obj){
		$('departments').insert(new Element('option',{'value':obj.Name}).update(obj.Name));
	});			
}
			
var getUnits = function(request) {
	var units = request.responseJSON;
	var domain = document.domain;
	var value = 'DUMMY';
	if (domain.toLowerCase().match('dmjx.dk') != null) {
		value = 'danmarks';
	}
	if (domain.toLowerCase().match('journalisthojskolen.dk') != null ) {
		value = 'journalisthøjskolen';
	}
	if (domain.toLowerCase().match('mediehojskolen.dk') != null ) {
		value = 'mediehøjskolen';
	}
	if (domain.toLowerCase().match('update.dk') != null ) {
		value = 'update';
	}

	units.results.each(function(obj){
		if (obj.Name.toLowerCase().match(value) != null) {
			if (obj.Name.toLowerCase().startsWith('danmarks')) {
			  $('units').insert(new Element('option',{'value':'','selected':'selected'}).update(obj.Name));
			} else {
			  $('units').insert(new Element('option',{'value':obj.Name,'selected':'selected'}).update(obj.Name));
			}
		} else {
			if (obj.Name.toLowerCase().startsWith('danmarks')) {
			  $('units').insert(new Element('option',{'value':''}).update(obj.Name));
			} else {
			  $('units').insert(new Element('option',{'value':obj.Name}).update(obj.Name));
			}
		}
	});
}
						
var doNameSearch = function(request) {
	var persons = request.responseJSON;
	var container = new Element('div',{'class':'contact person all'});
	if (persons.results.size() > 0) {
		var result = persons.results.sortBy(function(obj) { return obj.Firstname});
		result.each(function(obj){
			var person = new Element('div',{'class':'contact person entry'});
			var link = new Element('a',{'href':'javascript:show_employ(\''+obj.ID+'\');','onclick':'show_employ(\''+obj.ID+'\'); return false;'});
			link.update(getName(obj));
			person.insert(new Element('div',{'class':'name'}).update(link));
			person.insert(new Element('div',{'class':'jobtitle'}).update(obj.JobTitle));
			person.insert(new Element('div',{'class':'officephonenumber'}).update(obj.OfficePhoneNumber));
			person.insert(new Element('div',{'class':'cellphonenumber'}).update(obj.CellPhoneNumber));
			var mailto = new Element('a',{'href':'mailto:'+obj.Email}).update(obj.Email);
			person.insert(new Element('div',{'class':'email'}).update(mailto));
			container.insert(person);
		});
	}
	if (container.innerHTML == '') {
		container = 'Intet søgeresultat.';
		if (!$('searchform').visible()) {
			Effect.SlideDown('searchform');
		}
	} else {
		Effect.SlideUp('searchform');
		$('searchform_button').show();
		$('temp_header').hide();
	}
	$('result').innerHTML = '';
	$('result').update(container);
	ddequalcolumns.resetHeights('reset');
}
			
var getEmploy = function(request) {
		var p = request.responseJSON;
		var container = new Element('div');
		container.insert(new Element('h1',{'class':'headline'}).update(getName(p)));
		container.insert(new Element('h2',{'class':'h2-subhead'}).update(p.JobTitle));
		var img = new Element('img',{src:'http://domino.djh.dk'+p.Picture});
		container.insert(new Element('div',{'class':'picture','style':'height: 250px'}).update(img));
		if (!p.Departments[0].blank()) {
			var regExDepartment = 'Danmarks Medie- og Journalisthøjskole/|Mdiehøjsken/|Journalisthøjskolen/';
			var departments = new Element('div',{'class':'department'});
			departments.insert(new Element('span',{'class':'label'}).update('Afdeling: ')).insert(p.Departments[0].gsub(regExDepartment,''));
			container.insert(departments);
		}
		if (!p.OfficePhoneNumber.blank()) {
			var officephonenumber = new Element('div',{'class':'officephonenumber'});
			officephonenumber.insert(new Element('span',{'class':'label'}).update('Fastnet: ')).insert(p.OfficePhoneNumber);
			container.insert(officephonenumber);
		}

		if (!p.CellPhoneNumber.blank()) {
			var cellphonenumber = new Element('div',{'class':'cellphonenumber'});
			cellphonenumber.insert(new Element('span',{'class':'label'}).update('Mobil: ')).insert(p.CellPhoneNumber);
			container.insert(cellphonenumber);
		}
		
		var mailto = new Element('a',{'href':'mailto:'+p .Email}).update(p.Email);
		var email = new Element('div',{'class':'email'});
  		email.insert(new Element('span',{'class':'label'}).update('E-mail: ')).insert(mailto);
		container.insert(email);

		if (!p.WorkTasks.blank()) {
			var worktasks = new Element('div',{'class':'worktasks'});
			worktasks.insert(new Element('span',{'class':'label'}).update('Arbejdsopgaver: ')).insert(p.WorkTasks);
			container.insert(worktasks);
		}
		if (!p.Publications.blank()) {
			var publications = new Element('div',{'class':'publications'});
			publications.insert(new Element('span',{'class':'label'}).update('Udgivelser: ')).insert(p.Publications);
			container.insert(publications);
		}
		if (!p.CV.blank()) {
			var cv = new Element('div',{'class':'cv'});
			cv.insert(new Element('span',{'class':'label'}).update('CV: ')).insert(p.CV);
			container.insert(cv);
		}
		if (!p.Education.blank()) {
			var educations = new Element('div',{'class':'educations'});
			educations.insert(new Element('span',{'class':'label'}).update('Uddannelse: ')).insert(p.Education);
			container.insert(educations);
 		}
		if (!p.ResearchArea.blank()) {
			var researcharea = new Element('div',{'class':'researcharea'});
			researcharea.insert(new Element('span',{'class':'label'}).update('Research: ')).insert(p.ResearchArea);
			container.insert(researcharea);
		}
		if (!p.Workplaces.blank()) {
			var workplaces = new Element('div',{'class':'workplaces'});
			workplaces.insert(new Element('span',{'class':'label'}).update('Erhvervserfaring: ')).insert(p.Workplaces);
			container.insert(workplaces);
		}
		if (!p.ExtraInfo.blank()) {
			var extrainfo = new Element('div',{'class':'extrainfo'});
			extrainfo.insert(new Element('span',{'class':'label'}).update('Yderlige informationer: ')).insert(p.ExtraInfo);
			container.insert(extrainfo);
		}
		if (p.Attachments.size() > 0) {
		  var attachments = new Element('div',{'class':'attachments'});
		  attachments.insert(new Element('span',{'class':'label'}).update('Vedhæftninger: '));
			var list = new Element('ul');
			p.Attachments.each(function(a) {
					var name = a.gsub(/^(.)*\$FILE\//,'');
					list.insert(new Element('a',{'href':'http://domino.djh.dk'+a}).update(name));
			});
			attachments.insert(list);
		  container.insert(attachments);
		}
		if (p.ExpertAreas.size() > 0) {
		  var attachments = new Element('div',{'class':'expertareas'});
		  attachments.insert(new Element('span',{'class':'label'}).update('Ekspertområder:'));
			var list = new Element('ul');
			p.ExpertAreas.each(function(a) {
					var name = a[1];
					var id = a[0];
					var item = new Element('li');
					item.insert(new Element('a',{'href':'/kontakt/ekspert.html?expertarea='+id+'&name='+name}).update(name));
					list.insert(item);
			});
			attachments.insert(list);
		  container.insert(attachments);
		}

		$('result').innerHTML = '';
		$('result').update(container);
		ddequalcolumns.resetHeights('reset');
}
		
function searchform_onclick() {
	var form = $('searchform');
	var t = $('searchform_button');
	if (form.visible()) {
		Effect.SlideUp('searchform');
	} else {
		form.show();
		t.hide();
	}
	ddequalcolumns.resetHeights('reset');
	return false;
}
