$(document).ready(function() {

	$('#new_job').click(function() {
		var cont = 1;
		
		destroyEditor();		
		
		$('#warning_one').html('');
		$('#warning_two').html('');
		$('#warning_three').html('');
		$('#warning_four').html('');
		$('#warning_five').html('');

		if ( $('#functiebenaming').val() == 0 && $('#functie_alt').val().length < 3 )
		{
			$('#warning_one').html('Geef a.u.b. een functienaam op<br />');	
			cont = 0;
		}
		if ( $('#sector').val() == 0 && $('#sector_alt').val().length < 3  )
		{
			$('#warning_two').html('Selecteer a.u.b. een branche<br /><br />');	
			cont = 0;
		}
		if ( $('#functieomschrijving').val().length < 20 )
		{
			$('#warning_three').html('Beschrijf a.u.b. de functie<br /><br />');	
			cont = 0;
		}	
		if ( $('#locatie').val().length < 3 )
		{
			$('#warning_four').html('Geef a.u.b. de locatie van de functie op<br /><br />');	
			cont = 0;
		}	
		if ( $('#uurperweek').val().length == 0 )
		{
			$('#warning_five').html('Geef a.u.b. het aantal uren per week op<br /><br />');	
			cont = 0;
		}	
		if ( $('#legal').length != 0 && !$('#legal').is(':checked') )
		{
			$('#warning_legal').html('<br/>U moet de algemene voorwaarden accepteren<br />');	
			cont = 0;
		}

		if ( cont == 0 ) {
			startEditor();		
			return false;	
		}
			
	});

	$('#submit').click(function() {

		var cont = checkVariables();
		
		if ( cont == 0 )
			return false;		
	});
	
	$('.over').hover(function() {
		var txtVal = $(this).attr('value');
		if ( txtVal )
		{
			$('#describeSites').show();
			$('#' + txtVal ).show();
		}
	}, function() {
		var txtVal = $(this).attr('value');
		if ( txtVal )
		{		
			$('#describeSites').hide();
			$('#' + txtVal ).hide();
		}	
	});
	
	$('#login').click(function() {
	
		if ( $('#email').val().length < 1 )
		{
			$('#warning_one').html('Vul a.u.b. een e-mail adres in<br/>');
			return false;
		}			
		
		if ( $('#password').val().length < 1 )
		{
			$('#warning_two').html('Vul a.u.b. een wachtwoord in<br/>');
			return false;
		}	

	});
	
	$('#functiebenaming').change(function() {
		if ( $('#functiebenaming').val() == 0 && $('#functiebenaming option:selected').text() != '-- Selecteer --' )
		{
			$('#functie_alt').show();
		}
		else
		{
			$('#functie_alt').hide();
		}
	});
	
	$('#sector').change(function() {
		if ( $('#sector').val() == 0 && $('#sector option:selected').text() != '-- Selecteer --' )
		{
			$('#sector_alt').show();
		}
		else
		{
			$('#sector_alt').hide();
		}
	});	
	
	$('#sample').click(function() {

		destroyEditor();
			
		$('#contenttop').hide();
		$('#content').attr('id', 'contentclear');
		$('#example').toggle();
		if ( $('#functiebenaming').val() == 0 && $('#functiebenaming option:selected').text() != '-- Selecteer --' )
		{		
			$('#sample1').text( $('#functie_alt').val() );
		}
		else
		{
			$('#sample1').text( $('#functiebenaming option:selected').text() );
		}	
		
		if ( $('#sector').val() == 0 && $('#sector option:selected').text() != '-- Selecteer --' )
		{
			$('#sample2').html( '<strong>Branche:</strong> '+$('#sector_alt').val()+'<br />' );
		}
		else
		{
			$('#sample2').html( '<strong>Branche:</strong> '+$('#sector option:selected').text()+'<br />' );
		}
		
		
		$('#sample4').html( '<strong>Locatie:</strong> '+$('#locatie').val()+'<br />' );
		$('#sample5').html( '<strong>Uren per week:</strong> '+$('#uurperweek').val()+'<br />' );
		$('#sample6').html( $('#functieomschrijving').val() );
		$('#sample10').html( $('#functieeisen').val() );
		$('#sample7').html( '<strong>Contactpersoon:</strong> '+$('#verdereinformatiebij').val()+'<br /> ' );
		$('#sample8').html( '<strong>E-mail:</strong> '+$('#reactiesaan').val()+'<small> (wordt verborgen op echte vacature pagina)</small><br />' );		
		
		if ( $('#telefoonnummer').val().length > 0 )
			$('#sample9').html( '<strong>Telefoon:</strong> '+$('#telefoonnummer').val()+'<br />' );	
		else
			$('#sample9').html( '' );
			
		$('#normal').toggle();
		$('#contentbottom').hide();
		return false;
	});
	
	$('#closesample').click( function() {
		$('#contenttop').show();
		$('#contentclear').attr('id', 'content');	
		$('#example').toggle();
		$('#normal').toggle();
		$('#contentbottom').show();
		
		startEditor();	
	});
	
	$('#change_password').click(function() {
	
		if ( $('#password').val().length < 4 )
		{
			$('#warning').html('<p><em>Uw nieuwe wachtwoord is te kort.</em></p>');
			return false;			
		}	
		else if ( $('#password').val() != $('#password2').val() )
		{
			$('#warning').html('<p><em>De wachtwoorden komen niet overeen.</em></p>');
			return false;
		}		
		
	});
	
	var prevHTML = '';
	$('#changeInfo').click(function() {
		if ( $('#changeInfo').val() == 'Wijzig gegevens' )
		{
			prevHTML = escape ( $('#test').html() );
			$.ajax({
				type: "GET",
				url: "/includes/ajax_company.php",
				data: "company=" + $('#cid').val(),
				success: function(data) {
					var i = 0;
					var resultArray 		= unserialize(data);
						
					for(i in resultArray)
					{
						if ( i == 'contact_email' )
							ajaxEmail = resultArray[i];
						if ( i == 'contact_first_name' )
							ajaxFirstName = resultArray[i];
						if ( i == 'contact_last_name' )
							ajaxLastName = resultArray[i];
						if ( i == 'company_adres' )
							ajaxAdres = resultArray[i];		
						if ( i == 'company_zip' )
							ajaxPostalCode = resultArray[i];	
						if ( i == 'company_city' )
							ajaxCity = resultArray[i];							
						if ( i == 'company_name' )
							ajaxCompanyName = resultArray[i];	
						if ( i == 'company_site' )
							ajaxSite = resultArray[i];		
						if ( i == 'company_phone' )
							ajaxPhone = resultArray[i];								
					}
					
					adresHTML = '<strong>Adres:</strong><br/><input type="text" name="newAdres" id="company_adres" value="'+ajaxAdres+'" size="40" /><br/>  <span class="warning" id="warning_six"></span>';
					adresHTML += '<strong>Postcode:</strong><br/><input type="text" name="newZip" id="company_zip" value="'+ajaxPostalCode+'" /><br/> <span class="warning" id="warning_seven"></span>';
					adresHTML += '<strong>Plaats:</strong><br/><input type="text" name="newCity" id="company_city" value="'+ajaxCity+'" size="40" /><br/> <span class="warning" id="warning_eight"></span>';
					
					$('#abortChange').show();
					$('#changeInfo').val('Sla wijzigingen op');
					$('#editName').html ( '<strong>Naam:</strong><br/><input type="text" name="newFirstName" id="first_name" value="'+ajaxFirstName+'"/> <input type="text" name="newLastName" id="last_name" value="'+ajaxLastName+'"/><br/>  <span class="warning" id="warning_one"></span> <span class="warning" id="warning_two"></span>' );
					$('#editEmail').html ( '<strong>E-mail:</strong><br/><input type="text" name="newEmail" id="email_signup" value="'+ajaxEmail+'" size="40" /><br/><span class="warning" id="warning_three"></span>' );
					$('#editAdres').html ( adresHTML );
					$('#editWebsite').show().html ( '<strong>Website:</strong><br/><input type="text" name="newSite" id="website" value="'+ajaxSite+'" size="40" />' );
					$('#editPhone').show().html ( '<strong>Telefoon nummer:</strong><br/><input type="text" name="newPhone" id="phone" value="'+ajaxPhone+'" size="40" />' );
					$('#editCompanyName').html ( '<input type="hidden" id="password" value="xxxxxxxx"/><strong>Bedrijfsnaam:</strong><br/><input type="text" name="newCompanyName" id="company_name" value="'+ajaxCompanyName+'" size="40" /><br/><span class="warning" id="warning_five"></span>' );
				}
			});	
			return false;
		}
		else if ( $('#changeInfo').val() == 'Sla wijzigingen op')
		{
			var cont = checkVariables();
			
			return true;
		}
	});
	
	$('#abortChange').click(function() {
		$('#test').html( unescape ( prevHTML ) );
		$('#editWebsite').hide();
		$('#abortChange').hide();	
		$('#changeInfo').val('Wijzig gegevens');
		return false;
	});
	
	$('#changeToJob').click(function() {
		if ( order != 'job_title' )
		{
			changeResultOrder('job_title', asc_desc);
		}	
		else
		{
			changeOrder();
		}			
	});	
	
	$('#changeSector').click(function() {
		if ( order != 'sector_name' )
		{
			changeResultOrder('sector_name', asc_desc);
		}	
		else
		{
			changeOrder();
		}			
	});		
	
	$('#changeLocation').click(function() {
		if ( order != 'job_location' )
		{
			changeResultOrder('job_location', asc_desc);
		}	
		else
		{
			changeOrder();
		}			
	});	
	
	$('#changeCompany').click(function() {
		if ( order != 'company_name' )
		{
			changeResultOrder('company_name', asc_desc);
		}	
		else
		{
			changeOrder();
		}			
	});		
	
	$('#changeToId').click(function() {
		if ( order != 'id' )
		{
			changeResultOrder('id', asc_desc);
		}	
		else
		{
			changeOrder();
		}		
	});	

	
	var uploadResult = '';
	var button = $('#uploader'), interval;
	if ( button.length != 0 )
	{
		new AjaxUpload(button,{
			action: '/pages/upload.php', 
			name: 'uploadedfile',
			onSubmit : function(file, ext){
				button.val('Aan het uploaden...');
				this.disable();
				
				interval = window.setInterval(function(){
					var text = button.val();
					if (text.length < 13){
						button.val(text + '.');					
					} else {
						button.val('Aan het uploaden...');				
					}
				}, 200);
			},
			onComplete: function(file, response){
				uploadResult = response;
				button.val('Selecteer bestand');
				window.clearInterval(interval);
				this.enable();
				$('#uploadResult').html( response );						
			}
		});
	}

	
	$('#uploadForm').live("click", function() {
		$('#uploadLogo').toggle();
	});
	
	$('#uploadFormClose').click(function() {
		if ( uploadResult.length > 0 )
			$('#logoResult').html( uploadResult );	
			
		$('#uploadLogo').toggle();
	});	
	
	$('#passwordHelp').hover(function() {
		$('#passwordHelper').toggle();
	}, function() {
		$('#passwordHelper').toggle();	
	});
	
	$('input').click(function() {
		var total_cost = parseFloat ( cost_base );
		
		if ( $('.placement[value=rehabilitatie.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );
		}	
		if ( $('.placement[value=sozio.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );		
		}
		if ( $('.placement[value=pipm.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );		
		}
		if ( $('.placement[value=tijdschriftgeron.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );		
		}
		if ( $('.placement[value=kiddo.net]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );		
		}	
		if ( $('.placement[value=bbmp.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_site );		
		}	
		if ( $('input[name=extension]:checked').val() == '14' )
		{
			total_cost = total_cost + parseFloat ( cost_extensions["14"] );	
			$('#disable_extension').show();
		}	
		if ( $('input[name=extension]:checked').val() == '28' )
		{
			total_cost = total_cost + parseFloat ( cost_extensions["28"] );
			$('#disable_extension').show();			
		}	
		if ( $('input[name=extension]:checked').val() == '42' )
		{
			total_cost = total_cost + parseFloat ( cost_extensions["42"] );
			$('#disable_extension').show();			
		}
		if ( $('input[value=opnamelogo]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_logo );
		}	
		
		if ( $('.newsletter[value=rehabilitatie.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );
		}	
		if ( $('.newsletter[value=sozio.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );		
		}
		if ( $('.newsletter[value=pipm.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );		
		}
		if ( $('.newsletter[value=tijdschriftgeron.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );		
		}
		if ( $('.newsletter[value=kiddo.net]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );		
		}	
		if ( $('.newsletter[value=bbmp.nl]').is(':checked') )
		{
			total_cost = total_cost + parseFloat ( cost_per_newsletter );		
		}	
		

		$('#prijs').html ( '&euro; ' + total_cost + ',00' );
		$('#btw').html ( '&euro; ' + calcBtw(total_cost,1) );		
		$('#prijs_totaal').html ( '&euro; ' + calcTotal(total_cost) );		

	});
	
	$('#friend').click(function() {
		$('#mailFriend').toggle();
		return false;
	});
	
	$('#email_sender').blur(function() {
		createEmailMessage();
	});
	
	$('#email_receip').blur(function() {
		createEmailMessage();
	});	
	
	$('#send_email').click(function() {
		if ( $('#email_receip').val().length > 0 && $('#email_sender').val().length > 0 && $('#email_to').val().length > 0 )
		{
			$.ajax({
			   type: "POST",
			   url: "/includes/ajax_email.php",
			   data: "name=" + $('#email_sender').val() + "&email=" + $('#email_to').val() + "&receiver=" + $('#email_receip').val() + "&message=" + $('#email_message').val(),
			   success: function(msg){
				 $('#mailFriend').html("E-mail gestuurd<br/><br/>Klik <a href=\"javascript:;\" id=\"closeFriend\">hier</a> om te sluiten.");
			   }
			});
		}
		else
		{
			alert ( 'Je moet alle velden invullen' );
		}
		
		return false;
	});
	
	$('#closeFriend').live("click", function() {
		$('#mailFriend').hide();
	});
	
	$('#searchFor').focus(function() {
		$(this).val('');
	});
	
	$('#searchLocation').focus(function() {
		$(this).val('');
	});
	
	$('#searchNow').click(function() {
		search_term 	= $('#searchFor').val();
		search_location = $('#searchLocation').val();
		doSearch();		
		return false;
	});
	
	$('#react').click(function() {
		var mailto = 'mailto:' + $('#emailPerson').attr('value').replace(/&/,"@");
		
		pop = window.open(mailto,'email');
		if(!pop)
			alert ( 'Zet je popup blocker uit' );
		if (pop && pop.open && !pop.closed)
			pop.close();	
	});
	
	$('#emailPerson').click(function() {
		var mailto = 'mailto:' + $(this).attr('value').replace(/&/,"@");
		
		pop = window.open(mailto,'email');
		if(!pop)
			alert ( 'Zet je popup blocker uit' );		
		if (pop && pop.open && !pop.closed)
			pop.close();
	});
	
	var hash = self.document.location.hash.substring(1);
	hash_split = hash.split('=');
	if ( hash_split[0] == 'company_id' )
		company_id = hash_split[1];
	
	if ( $('#functieeisen').length != 0 )
		startEditor();
	
});	

	var order 			= 'id';
	var asc_desc 		= 'desc';
	var editor			= '';
	var editor2			= '';
	var search_term 	= '';
	
	var cost_base				= '35.00';
	var cost_btw				= '0.19';
	var cost_per_site			= '9.00';
	var cost_per_newsletter		= '95.00';
	var cost_logo				= '13.00';
	var cost_extensions;
	
	function retreiveCost()
	{
		$.ajax({
			type: "GET",
			url: "/includes/ajax_cost.php",
			success: function(data) {

				var costArray = unserialize(data);

				cost_base 			= costArray["basis"];
				cost_btw			= costArray["btw"];
				cost_per_site		= costArray["per_site"];
				cost_per_newsletter	= costArray["per_newsletter"];
				cost_logo			= costArray["logo"];
				cost_extensions		= costArray["extensions"];
			}
		});	
	}
	
	function doSearch()
	{
		if ( search_term.length > 2 || search_location.length > 2 )
		{
			searchFor( search_term, search_location );
		}
		else
		{
			$('#results').html( 'Te korte zoekterm' ) ;
		}
	}
	
	function placeEmail()
	{
		var addy = $('#emailPerson').attr('value').replace(/&/,"@");
		$('#emailPerson').text ( addy );
	}
	
	function createEmailMessage()
	{
		var hoi		 = '';
		var groetjes = '';
		
		if ( $('#email_receip').val().length > 0 ) 
			hoi = "Hoi "+$('#email_receip').val();
		else
			hoi = 'Hoi';
			
		if ( $('#email_sender').val().length > 0 )
			groetjes = "\n\nGroetjes,\n" + $('#email_sender').val();
		else
			groetjes = '';
		
		$('#email_message').val( hoi + ",\n\nIk zag deze "+$('#jT').val()+" vacature op Vacatpro.nl en dacht, dat is echt wat voor jou!\n\n" + $('#jU').val() + groetjes );
	}
	
	function calcTotal(total_cost)
	{
		var total_amount = parseFloat(parseFloat(total_cost) + parseFloat(calcBtw(total_cost),0));
		total_amount = Math.round(total_amount*100)/100;
		total_amount = String(total_amount);
		total_amount = total_amount.replace(/\./,",");
		
		if ( total_amount.match(/\,/) )
		{
			var splitting = total_amount.split(',');
			if ( splitting[1].length == 1 )
				total_amount = total_amount + '0';			
		}
		else
		{
			total_amount = total_amount + ',00';
		}	

		return total_amount;
	}
	
	function calcBtw(cost,comma)
	{
		var percentage = cost_btw;
		var btw_amount = Math.round((parseFloat(cost*percentage))*100)/100;
		btw_amount = String(btw_amount);
		if ( comma == 1 ) btw_amount = btw_amount.replace(/\./,",");
		
		if ( btw_amount.match(/\,/) )
		{
			var splitting = btw_amount.split(',');
			if ( splitting[1].length == 1 )
				btw_amount = btw_amount + '0';
		}
		else
		{
			btw_amount = btw_amount + ',00';
		}
		
		return btw_amount;
	}
	
	function changeOrder()
	{
		if ( asc_desc == 'desc' )
			changeResultOrder(order, 'asc');
		else
			changeResultOrder(order, 'desc');
	}
	
	function startEditor()
	{
		editor = CKEDITOR.replace( 'functieomschrijving',
		{
			skin : 'office2003',
			toolbar : [ [ 'Undo','Redo', '-', 'Bold', 'Italic', 'Underline', 'Strike', 'BulletedList', 'Table', '-','Link' ] ],
			width : '500',

		});	
		
		editor2 = CKEDITOR.replace( 'functieeisen',
		{
			skin : 'office2003',
			toolbar : [ [ 'Undo','Redo', '-', 'Bold', 'Italic', 'Underline', 'Strike', 'BulletedList', 'Table', '-','Link' ] ],
			width : '500',

		});			
	}
	
	function destroyEditor()
	{
		if(editor)
			editor.destroy();
		if(editor2)
			editor2.destroy();			
	}

	function changeResultOrder(ord,desc)
	{
		order = ord;
		asc_desc = desc;	
	
		if ( search_term.length > 2 || search_location.length > 2 )
		{
			searchFor( search_term, search_location );
		}
		else
		{	
			$.ajax({
				type: "GET",
				url: "/includes/ajax_results.php",
				data: "action=change_order&o=" + order + "&d=" + asc_desc + "&company_id=" + company_id + "&start=" + q_start,
				success: function(data) {
					processResults(data,0);
				}
			});
		}		
	}
	
	function searchFor(term, location)
	{
		if ( term == 'Zoek op functie of beschrijving...' ) term = '';
		if ( location == 'Zoek op locatie...' ) location = '';
		$.ajax({
			type: "GET",
			url: "/includes/ajax_search.php",
			data: "s=" + term + "&l=" + location + "&o=" + order + "&d=" + asc_desc,
			success: function(data) {
				processResults(data,0);
			}
		});	
	}	
	
	function processResults(data,details)
	{
		var i = 0;
		var htmlString = '';
		
		var jobArray = unserialize(data);
		
		for(i in jobArray)
		{
			if(i %2)
				uneven = 'class="oneven"';
			else
				uneven = '';
					
			htmlString += '<tr '+uneven+'><td><a href="/vacature/' + jobArray[i][0] + '/'+ jobArray[i][11] +'">' + jobArray[i][1] + '</a></td><td><a href="/vakgebied/' + jobArray[i][2] + '/' + escape(jobArray[i][3]) + '">' + jobArray[i][3] + '</a></td><td><a href="/locatie/' + escape(jobArray[i][4]) + '">' + jobArray[i][4] + '</a></td><td><a href="/bedrijf/' + jobArray[i][5] + '/' + jobArray[i][13] + '">' + jobArray[i][6] + '</a></td></tr>';
		}	
		
		if ( jobArray[i] )
		{
			$('#results').html ( htmlString );
		}
		else
		{
			$('#results').html( 'Geen resultaten' );
		}
		
	}
	
	function getMoreResults()
	{
		q_start += parseFloat(q_limit);
		changeResultOrder(order, asc_desc);
	}
	
	function checkVariables()
	{
		var cont = 1;
		
		if ( $('#first_name').val().length < 1 )
		{
			$('#warning_one').html('Vul a.u.b. uw voornaam in<br /><br />');
			cont = 0;			
		}
		
		if ( $('#last_name').val().length < 1 )
		{
			$('#warning_two').html('Vul a.u.b. uw achternaam in<br /><br />');	
			cont = 0;			
		}

		
		if ( $('#email_signup').val().length <= 3 )
		{
			$('#warning_three').html('Geef a.u.b. een e-mail adres op<br /><br />');			
			cont = 0;			
		}
		
		if ( $('#password').val().length <= 3 )
		{
			$('#warning_four').html('Geef a.u.b. een langer wachtwoord op<br /><br />');			
			cont = 0;	
		}
		
		if ( $('#company_name').val().length <= 3 )
		{
			$('#warning_five').html('Vul a.u.b. een bedrijfsnaam in<br /><br />');			
			cont = 0;	
		}		

		if ( $('#company_adres').val().length <= 5 )
		{
			$('#warning_six').html('Vul a.u.b. een straatnaam + huisnummer in<br /><br />');			
			cont = 0;	
		}	
		
		if ( $('#company_zip').val().length <= 5 )
		{
			$('#warning_seven').html('Vul a.u.b. een postcode in<br/>');			
			cont = 0;	
		}
		
		if ( $('#company_city').val().length <= 3 )
		{
			$('#warning_eight').html('Vul a.u.b. een stad in<br /><br />');			
			cont = 0;	
		}		

		return cont;
	}
