
var globals = new Array();

function toggleRegistrationParts(id){
	
	if(id == "employer"){
		$('navemployer').className = "topboxactive";
		$('navworker').className = "topbox";
		$(id).show();
		$('webworker').hide();
		$('header_worker').hide();
		$('header_employer').show();
	}
	if(id == "webworker"){
		$('navworker').className = "topboxactive";
		$('navemployer').className = "topbox";
		$(id).show();
		$('employer').hide();
		$('header_worker').show();
		$('header_employer').hide();
	}
	
}

function togglePartChangeClass(id){
	
	$(id).toggle();
	if($(id).previousSibling.firstChild.className == "first")
	{	
		$(id).previousSibling.firstChild.className = "bold";
		$(id).previousSibling.firstChild.nextSibling.className = "bold";
	}
	else{
		$(id).previousSibling.firstChild.className = "first";
		$(id).previousSibling.firstChild.nextSibling.className = "first";
		
	}
}

function togglePartChangeClassAndUpdatePm(id,pm_id){
	
	var url = 'user/updatePmIsRead/id/'+pm_id;
	new Ajax.Request(url, {
							method: 'post'
						  }
					);
	
	
	$(id).toggle();
	if($(id).previousSibling.firstChild.className == "first")
	{	
		$(id).previousSibling.firstChild.className = "bold";
		$(id).previousSibling.firstChild.nextSibling.className = "bold";
	}
	else{
		$(id).previousSibling.firstChild.className = "first";
		$(id).previousSibling.firstChild.nextSibling.className = "first";
		
	}
}


function closeMessage(id){
	$(id).toggle();
	$(id).previousSibling.firstChild.nextSibling.className = "first";
	$(id).previousSibling.firstChild.className  = "first";
	
}
// handle Errors
function handleErrors(errors)
{
	$A(errors).each(showMsg);
}

function togglePart(id){
	$(id).toggle();	
}

function showMsg(v)
{
	var msg = $(v);
	if(msg != null) msg.show();	
}

function showHide(showIds, hideIds)
{	
	var l = showIds.length;
	for(var i=0; i<l; ++i)
	{
		$(showIds[i]).show();
	}
	
	l = hideIds.length;
	for(var i=0; i<l; ++i)
	{
		$(hideIds[i]).hide();
	}
}

/** BEGIN lightbox functions **/
function openLb(link)
{
	var pmBox = new Element('div');
	pmBox.addClassName('pmBox');

	var h2 = new Element('h2');
	h2.setAttribute('id', 'pmHeader');
	h2.update('Laden...');

	var div = new Element('div');
	div.addClassName('ajaxloading');

	var img = new Element('img');
	img.setAttribute('src', 'images/lightbox/ajax-loader.gif');
	img.setAttribute('alt', 'loading...');

	div.insert(img);
	pmBox.insert(h2);
	pmBox.insert(div);

	$('boxContents').update(pmBox);
	Lightbox.showBoxByAJAX(link,630,550);	
}
/** END lightbox functions **/


function sendAnswerPm(form_id,type)
{	
	
	var url = type+'/answerPmSend/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendAnswerPmSuccess
						  }
					);
}

function onSendAnswerPmSuccess(result)
{
	
	Lightbox.hideBox();
	//alert('erfolg');
	/*
	var result_obj = result.responseText.evalJSON();
	
	// if no errors occurrend
	if(result_obj.errors.length == 0)
	{	
		$("no_name").hide();	
		$("success_add_projekt").show();
					
	}
	else
	{	
		handleErrors(result_obj.errors);
	}*/
}

function sendReportVote(form_id)
{	
	
	var url = 'worker/reportVoteSend/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendReportVoteSuccess
						  }
					);
}

function onSendReportVoteSuccess(result)
{
	Lightbox.hideBox();
}

/**

DELETE PM EMPLOYER

**/

function deletePm(form_id,id,outbox)
{		
	globals["id"] = id;
	
	if(outbox)var url = 'employer/deletePmOutbox/';
	else var url = 'employer/deletePm/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onDeletePmSuccess
						  }
					);
}

function onDeletePmSuccess(result)
{	
	$('pm_container_'+globals["id"]).hide();
	$('show_message_'+globals["id"]).hide();	
}

/**

DELETE PM WORKER

**/

function deletePmWorker(form_id,id,outbox)
{		
	globals["id"] = id;

	if(outbox)var url = 'worker/deletePmOutbox/';
	else var url = 'worker/deletePm/';
	
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onDeletePmWorkerSuccess
						  }
					);
}

function onDeletePmWorkerSuccess(result)
{	
	$('pm_container_'+globals["id"]).hide();
	$('show_message_'+globals["id"]).hide();
		
}

/**

DENY A JOB

**/

function denyJob(form_id,id)
{		
	globals["id"] = id;

	var url = 'employer/denyJob/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onDenyJobSuccess
						  }
					);
}

function onDenyJobSuccess(result)
{	
	$('request_container_'+globals["id"]).hide();	
}

/**

DECLINE A JOB

**/

function declineJob(form_id)
{		
	var url = 'employer/declineJob/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onDeclineJobSuccess
						  }
					);
}

function onDeclineJobSuccess(result)
{	
	document.location.href = "/employer/declineJobResult/";
	//alert("Ergebnis abgelehnt");
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit Employer Data

**/

function sendEditData(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'employer/saveEditJob/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditDataSuccess
						  }
					);
}

function onSendEditDataSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_data").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit Employer PW

**/

function sendEditPwEmployer(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'employer/saveEditPw/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditPwEmployerSuccess
						  }
					);
}

function onSendEditPwEmployerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_pw").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit WORKER Data

**/

function sendEditDataWorker(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'worker/saveEditJob/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditDataWorkerSuccess
						  }
					);
}

function onSendEditDataWorkerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_data").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit WORKER PW

**/

function sendEditPwWorker(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'worker/saveEditPw/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditPwWorkerSuccess
						  }
					);
}

function onSendEditPwWorkerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_pw").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit WORKER EMAIL

**/

function sendEditEmailWorker(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'worker/saveEditEmail/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditEmailWorkerSuccess
						  }
					);
}

function onSendEditEmailWorkerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_email").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit WORKER EMAIL

**/

function sendEditEmailEmployer(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'employer/saveEditEmail/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditEmailEmployerSuccess
						  }
					);
}

function onSendEditEmailEmployerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_email").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

PW vergessen

**/

function sendPwForgotten(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'user/pwForgottenSave/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendPwForgottenSuccess
						  }
					);
}

function onSendPwForgottenSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_send_pw").show();
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Edit WORKER Data

**/

function sendRegData(form_id)
{		
	$$(".error_small").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'user/registrationNew/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendRegDataSuccess
						  }
					);
}

function onSendRegDataSuccess(result)
{		
	var response = result.responseText;
	var data = response.split(",");	
	if(data[0] == "success"){	
		$("success").show();
	}else{
		handleErrors(data);
	}	
	
}

function sendKontaktForm(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'about/contactSend/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendKontaktFormSuccess
						  }
					);
}

function onSendKontaktFormSuccess(result)
{	
	
	var response = result.responseText;
	var data = response.split(",");	
	if(data[0] == "success"){	
		$$(".success").each(Element.show);
		$('name').value="";
		$('email').value="";
		$('text').value="";
		
	}else{
		handleErrors(data);
	}	
}

function sendRequestMoney(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'worker/requestPayment/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendRequestMoneySuccess
						  }
					);
}

function onSendRequestMoneySuccess(result)
{	
	
	var response = result.responseText;
	var data = response.split(",");	
	if(data[0] == "success"){	
		$$(".success").each(Element.show);
	}else{
		handleErrors(data);
	}	
}

/**

Edit EMPLOYER BILL DATA

**/

function sendEditBillDataEmployer(form_id)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'employer/editBillData/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendEditBillDataEmployerSuccess
						  }
					);
}

function onSendEditBillDataEmployerSuccess(result)
{	
	var response = result.responseText;
	var data = response.split(",");	
	if(data == "success"){		
		$("success_save_bill_data").show();
		$("country").disable();
		if ($("uid").value) {
			$("uid").disable();
		}
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

DELETE JOB

**/

function deleteJob(form_id)
{		 
	//alert(form_id);
	
	var url = 'task/deleteJob/';
	//alert ($(form_id).serialize(true));
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onDeleteJobSuccess
						  }
					);
}

function onDeleteJobSuccess(result)
{	
	
	//alert(result.responseText);
	var response = result.responseText;	
	var data = response.split(",");	
	if(data == "success"){		
		//$("success_save_bill_data").show();
		document.location.href = "/employer";
		
	}else{
		handleErrors(data);
	}
	
	//$('request_container_'+globals["id"]).hide();	
}

/**

Save private preset

**/

function sendSavePreset(form_id, overwrite)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	$('overwrite_preset').setAttribute('value', overwrite ? '1' : '0');
	if (tinyMCE.get('task_description')) {
		var ed = tinyMCE.get('task_description');
		tinyMCE.triggerSave();
		ed.isNotDirty = 1;
	}

	var url = 'task/savePreset/';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendSavePresetSuccess
						  }
					);
}

function onSendSavePresetSuccess(result)
{	
	var response = result.responseText;
	if (response == "error") {
		$("preset_error").show();
	} else {
		data = response.evalJSON();

		if ($('preset_category_'+data.category)) {
			var span;
			if ($('preset_container_'+data.id)) {
				span = $('preset_container_'+data.id);
				span.update("");
				span.show();
			} else {
				span = new Element('span');
				span.setAttribute('id', 'preset_container_'+data.id);
			}
			var a1 = new Element('a');
			a1.setAttribute('href', 'task/create/preset/'+data.id);
			a1.update(data.title);
			var a2 = new Element('a');
			a2.setAttribute('class', 'preset_del_link');
			a2.setAttribute('href', "javascript:sendDeletePreset('"+data.id+"');");
			a2.update('X');
			span.insert("neue Vorlage: ");
			span.insert(a1);
			span.insert(' ');
			span.insert(a2);
			span.insert(new Element('br'));

			$('preset_id').setAttribute('value', data.id);
			$('overwrite_preset_button').show();
			$('preset_category_'+data.category).insert(span);
		}

		$("preset_success").show();
	}
}

/**

Delete private preset

**/

function sendDeletePreset(presetId)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'task/deletePreset?preset='+presetId;
	new Ajax.Request(url, {
							method: 'get',
							onSuccess: onSendDeletePresetSuccess
						  }
					);
}

function onSendDeletePresetSuccess(result)
{	
	var response = result.responseText;
	if (response == "error") {
		$("delete_error").show();
	} else {
		if (response == $('preset_id').getAttribute('value')) {
			$('preset_id').setAttribute('value', '0');
			$('overwrite_preset_button').hide();
		}
		$('preset_container_'+response).hide();
		$("delete_success").show();
	}
}

/**

Copy job to private preset

**/

function sendCopyPreset(jobId)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'task/copyPreset?job='+jobId;
	new Ajax.Request(url, {
							method: 'get',
							onSuccess: onSendCopyPresetSuccess
						  }
					);
}

function onSendCopyPresetSuccess(result)
{	
	var response = result.responseText;
	if (response == "error") {
		$("preset_error").show();
	} else {
		$("preset_success").show();
	}
}

function sendMoveWorker(form_id)
{	
	
	var url = 'employer/moveWorkerSend';
	new Ajax.Request(url, {
							method: 'post',
							parameters: $(form_id).serialize(true),
							onSuccess: onSendMoveWorkerSuccess
						  }
					);
}

function onSendMoveWorkerSuccess(result)
{
	var result_obj = result.responseText;

	// if no errors occurrend
	if(result_obj == "success")
	{
		var worker_id = $("move_worker_id").value;
		$("request_container_"+worker_id).hide();	
		Lightbox.hideBox();
	}
	else
	{	
		alert("Beim Verschieben ist ein Fehler aufgetreten.");
	}
}

function addFileInput() {
	var file = new Element('input');
	file.setAttribute('type', 'file');
	file.setAttribute('name', 'jobfile[]');
	$('file_container').insert(file);
	$('file_container').insert(new Element('br'));
}

/**

Delete file

**/

function sendDeleteFile(fileId)
{		
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'task/deleteFile?file='+fileId;
	new Ajax.Request(url, {
							method: 'get',
							onSuccess: onSendDeleteFileSuccess
						  }
					);
}

function onSendDeleteFileSuccess(result)
{	
	var response = result.responseText;
	if (response == "error") {
		$("delete_file_error").show();
	} else {
		$('file_container_'+response).hide();
		$("delete_file_success").show();
	}
}

function sendAjaxLogin(form_id) {
	$$(".error").each(Element.hide);
	$$(".success").each(Element.hide);
	var url = 'user/ajaxLogin';
	new Ajax.Request(url, {
						method: 'post',
						parameters: $(form_id).serialize(true),
						onSuccess: onSendAjaxLoginSuccess
					});
}

function onSendAjaxLoginSuccess(result)
{	
	var response = result.responseText;
	if (response == "success") {
		openLb('user/facebookLogin?r='+Math.random());
	} else {
		$(response).show();
	}
}

function sendFbCreate(form_id) {
	openLb('user/facebookLogin?fbcreate=1&'+$(form_id).serialize()+'&r='+Math.random());
}
