
jQuery(document).ready(function() {

	//jQuery('input[name=location]').change(function() {
	//	checkZipcode(jQuery(this).val());
	//});
	
	jQuery('input[name=text1]').change(function() {
		checkZipcode(jQuery(this).val());
	});
	
	jQuery('.job').hover(
		function(){
			jQuery(this).addClass('job-hover');
		},
		function() {
			jQuery(this).removeClass('job-hover');
		}
	);
});

function checkZipcode(zip)
{
	var city = jQuery('input[name=location]');

	var filter = /^[1-9]{1}[0-9]{3}[ ]?[a-z]{2}/i;
	var valid  = filter.exec(zip);

	if (valid != null)
	{
		var ajax_url = site_url + '/klus/geoPostalCheck/' + zip;

		jQuery.ajax({
			url: ajax_url,
			success: function(response) {

				if (city != null) city.val('');

				if (response == 'NOK')
				{
					alert('Opgegeven postcode bestaat niet');
					
					if (city != null) city.val('');
				}
				else if (response == 'FALSE')
				{
					if (city != null) city.val('');
				}
				else
				{
					if (city != null) city.val(response);
				}
			}
		});
	}
	else
	{
		alert('Postcode is niet correct');
	}
}

/*
algemene functies user interface: tabbladen e.d.
*/
function gotoStep(step)
{
	document.addform.step.value = step;
	document.addform.submit();
}

// wissel naar een tabblad. herladen wanneer nodig, switchen wanneer dat kan
function goToPage(nummer, scroll)
{
	var scroll = false;
	var bigger = false;
	

	//if (typeof scroll != 'undefined' && scroll==true) scroll = true;
	
	if ((nummer-1) > document.addform.maxstep.value) document.addform.maxstep.value = nummer-1;
	if (document.addform.currentstep.value==3 && nummer!=3) document.addform.maxstep.value = 3;

	document.addform.currentstep.value = nummer;
	document.addform.submit();
	
}

// functie om elementen job pagina te tonen/verbergen
function showContentPart(id,scroll)
{
	
	// item met class 'contentpart-active' omzetten in 'contentpart'	
	var divs = document.getElementsByTagName('div');
	for(i=0; i<divs.length; i++)
	{
		if (divs[i].className=='contentpart-active') divs[i].className = 'contentpart';
	}

	// nu de juiste aanzetten
	document.getElementById('content-'+id).className='contentpart-active';
	
	// menuknop wisselen
	var tabbar = document.getElementById('tabbar');
	var links = tabbar.getElementsByTagName('a');
	for (i=0; i<links.length; i++)
	{
		if (links[i].className == 'active')
		{
			links[i].className = '';
			break;
		}
	}
	// aanzetten nieuwe knop
	document.getElementById('a-'+id).className='active';

	if (id == 'react')
	{
		jQuery('#react-button-x').css('display', 'none');
	}
	else
	{
		jQuery('#react-button-x').css('display', 'block');
	}

	// naar hash scrollen van knop
	if (typeof scroll != 'undefined' && scroll==true) window.location.hash = id;
	
}

// functie om foto's te tonen
function showImage(id, linknummer)
{
	// de image div de juiste source geven
	document.getElementById('swapimage').src= site_url + 'uploads/image/'+id;
	// linkjes inactief maken
	var links = document.getElementById('imagelinks').getElementsByTagName('a');
	for(i=0; i<links.length; i++) 
	{
		links[i].className = (i==linknummer) ? 'active':'';
	}
}
	
function showCallout(naam) {
	document.getElementById('callout-'+naam).style.display = 'block';
	openCallout = naam;
	document.onclick = hideCalloutClick;
}

function hideCallout(naam) {
	document.getElementById('callout-'+naam).style.display = 'none';
	document.onclick = null;
}

function hideCalloutClick() {
	hideCallout(openCallout);
}

function showLogin(gotoww) {
	document.getElementById('topbar-login').style.display = 'block';
	if (gotoww) { document.loginform.pass.focus(); document.loginform.pass.select(); }
	else { document.loginform.user.focus(); } 
}

function hideLogin() {
	document.getElementById('topbar-login').style.display = 'none';
}
function showContentLogin(gotoww) {
	document.getElementById('content-login').style.display = 'block';
	if (gotoww) { document.contentloginform.pass.focus(); document.contentloginform.pass.select(); }
	else { document.contentloginform.user.focus(); } 
}

function hideContentLogin() {
	document.getElementById('content-login').style.display = 'none';
}

function addFile(id) {
	document.getElementById('uploadmessage_'+id+'').style.display = 'inline';
    document.addform.setAttribute('action', document.addform.getAttribute('action')  + '#' + id);
	document.addform.submit();
}

function removeFile(kind,id)
{
	document.addform.removefile_kind.value = kind;
	document.addform.removefile_id.value = id;
	document.addform.submit();
}

function login() { document.loginform.submit(); }
function contentlogin() { document.contentloginform.submit(); }

function logout() { document.logoutform.submit(); }

function loginsubmitenter(e, formname)
{
    formname = formname || false;
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

    if (keycode == 13)
       {
        if( formname == 'contentlogin')       
            contentlogin();
        else
           login();
       return false;
       }
    else
       return true;
}

function forgotPassword() {document.location = site_url + 'mijn/wachtwoord';}

function react(nummer)
{
	var ding = eval('document.reactform'+nummer+'');
	var test = true;
	// check of er een bod gedaan wordt, en of dit ingevuld is.
	// zo niet dan moet er in ieder geval een bericht ingevuld zijn.
	if (ding.bidcheck.value==1) {
		if (ding.do_bid.checked==true) 
		{
			if (ding.bid.value.replace(new RegExp("[^\\d]", "g"), "")=="") 
			{
				window.alert('U hebt geen bod ingevuld!');
				test = false;
			}
			else if (ding.bid.value.replace(new RegExp("[^\\d]", "g"), "") != ding.bid.value) 
			{
				window.alert('U kunt alleen cijfers gebruiken in het offertebedrag.');
				test = false;
			} 
			else if (ding.bid.value.replace(new RegExp("[^\\d]", "g"), "")/1 > ding.maxbid.value/1) 
			{
				if (ding.maxbid.value==0) 
				{
					window.alert('U kunt niet bieden. Om te bieden moet u een abonnement activeren via \'Mijn instellingen\'.');
				} 
				else 
				{
					//window.alert('U kunt maximaal '+ding.maxbid.value+' euro bieden. Wilt u hoger bieden, pas dan uw abonnement aan via \'Mijn instellingen\'.');				
					window.alert('Met uw abonnement kunt u bieden tot '+ding.maxbid.value+' euro. Wilt u grotere klussen aannemen, kies dan een ander abonnement via \'Mijn instellingen\', \'Abonnement\'.');
				}
				test = false;
            } 
            else if (ding.bid.value /1 < 100/1) 
            {
                window.alert('Uw bod moet minimaal €100,00 zijn.');
                test = false;
			} 
			else if (ding.message.value.replace(new RegExp("[\\W]+", "g"), "")=="") 
			{
				window.alert('U hebt geen bericht ingevuld!');
				test = false;
			}
		} else {
			if (ding.message.value.replace(new RegExp("[\\W]", "g"), "")=="") {
				window.alert('U hebt geen bericht ingevuld!');
				test = false;
			}
		}
	} else {
		if (ding.message.value.replace(new RegExp("[\\W]", "g"), "")=="") {
			window.alert('U hebt geen bericht ingevuld!');
			test = false;
		}
	}	

	if (test) ding.submit();
}

function accept(nummer)
{
	var form, company, bid, message;

	form    = eval('document.acceptform'+nummer+'');
	company = jQuery('.acceptform-company', form).text();
	bid     = jQuery('.acceptform-bid', form).text();

	message = 'U staat op het punt een offerte te accepteren van bedrijf ' + company + ' met een bedrag van ' + bid + ' euro. '
	        + 'Met het accepteren van de offerte geeft u het bedrijf de opdracht uw klus tegen dit bedrag uit te voeren. '
	        + "\n\n"
	        + 'Wilt u dit?';

	if (confirm(message)) {
		form.submit();
	}
}

function makereactbutton(nummer)
{
	var b = document.getElementById('reactbutton');
	var f = eval('document.reactform'+nummer+'');
	if (f.do_bid.checked) {
		b.innerHTML = 'Breng offerte uit';
		document.getElementById('reacttext').style.display = 'block';
	} else {
		b.innerHTML = 'Stuur bericht';
		document.getElementById('reacttext').style.display = 'none';
 	}
}

function doaddlogin()
{

	var a = document.getElementById('old_login_0');
	var b = document.getElementById('old_login_1');
	
	// welk item moet aan
	var old0 = (document.addform.existing_user[0].checked==true) ? 'block' : 'none';
	var old1 = (document.addform.existing_user[1].checked==true) ? 'block' : 'none';
	
	a.style.display = old0;
	b.style.display = old1;
}

function togglelinkform(naam, view)
{
	var a = document.getElementById(naam+'link');
	var b = document.getElementById(naam+'form');
	a.style.display = view ? 'none':'inline';
	b.style.display = view ? 'inline':'none';
}

