/* ACN (c) Rens van Dongen, Cortana 2008 <acnsite@mosymuis.nl> */

// check op standaard waardes en haal ze weg als op het veld geklikt wordt
function textBoxCleanClicked()
{
	currentVal = $(this).val();

	if ( (lang['site_uwemail']+'|'+lang['login_username']+'|'+lang['login_password']).indexOf(currentVal) > -1 )
	{
		$(this).val('');
	}
}

// add error class op veld
function markErrorField(fieldId)
{
	$("#"+fieldId).addClass('error');
	$.scrollTo("#"+fieldId, 1000, {offset:-75});
	//$("#"+fieldId).focus();
}

// remove error class op veld
function correctErrorField(fieldId)
{
	$("#"+fieldId).removeClass('error');
}

// kan door een klik op een radio of checkbox een formulier blok in of uitschuiven (opstart moet true zijn)
function toggleFormSectionByChoice(valueSelector, blockId, showOnValue, opstart)
{
	// verberg het veld meteen bij het laden van de pagina
	fieldIsSelect = 'checkbox|radio'.indexOf($(valueSelector).attr('type')) == -1 ? true : false;
	fieldValue = varGet(fieldIsSelect ? valueSelector : valueSelector+":checked");

	// | er voor en achter plaatsen zodat gezocht kan worden op het complete woord (zodat cafe niet op bruin cafe matcht)
	showOnValueNew = '|'+showOnValue+'|';

	// moet ook werken op club|discotheek als showOnValue, of op lege strings ter vergelijking (bij checkbox=1 moet worden verborgen)
	if ( showOnValueNew.indexOf(fieldValue ? '|'+fieldValue+'|' : 'someridiculousvalue') != -1 || showOnValueNew == fieldValue )
	{
		$("#"+blockId).show(opstart ? "" : "slow");
	}
	else
	{
		$("#"+blockId).hide(opstart ? "" : "slow");
	}

	if ( opstart )
	{
		if ( fieldIsSelect )
		{
			$(valueSelector).change(function()
			{
				toggleFormSectionByChoice(valueSelector, blockId, showOnValue, false);
			});
		}
		else
		{
			$(valueSelector).click(function()
			{
				toggleFormSectionByChoice(valueSelector, blockId, showOnValue, false);
			});
		}
	}
}

// ga alle invoer na
function checkFieldLengths(fields, useErrorId)
{
	for ( i = 0; i < fields.length; i++ )
	{
		chars = varGet("#"+fields[i][0]).length;
		if ( !chars )
		{
			showErrorMsg(fields[i][1]+' '+lang['message_nietingevuld'], useErrorId);
			markErrorField(fields[i][0]);

			return false;
		}
		else if ( chars < fields[i][2] )
		{
			aantaltekens = fields[i][2] - chars;
			showErrorMsg(fields[i][1]+' '+lang['message_is']+' '+aantaltekens+' '+meervoud(aantaltekens, lang['message_tekensEnkel'], lang['message_tekensMeervoud'])+' '+lang['message_teKort'], useErrorId);
			markErrorField(fields[i][0]);

			return false;
		}
		else
		{
			correctErrorField(fields[i][0]);
		}
	}
	return true;
}

// toon status box met message
function showStatusMsg(statusMsg, useStatusId)
{
	if ( useErrorId )
	{
		statusMsgId1 = 'status'+ucFirst(useErrorId); // standaard
		statusMsgId2 = ucFirst(useErrorId); // metingen invoeren; daar wordt er een 7_ id voor geplakt en kan status* dus niet
	}
	else
	{
		statusMsgId1 = statusMsgId2 = 'statusMain';
	}

	$("#"+statusMsgId1+", #"+statusMsgId2).html(hoofdletterEnPuntje(statusMsg)).fadeIn('slow');
}

// toon error box met message
function showErrorMsg(errorMsg, useErrorId)
{
	if ( useErrorId )
	{
		errorMsgId1 = 'error'+ucFirst(useErrorId); // standaard
		errorMsgId2 = ucFirst(useErrorId); // metingen invoeren; daar wordt er een 7_ id voor geplakt en kan error* dus niet
	}
	else
	{
		errorMsgId1 = errorMsgId2 = 'errorMain';
	}

	$("#"+errorMsgId1+", #"+errorMsgId2).html(hoofdletterEnPuntje(errorMsg)).fadeIn('slow');
}
// neem de naam uit de select achter het veld en vul hem in
function selectNaamSuggestie()
{
	newValue = $(this).parent().find('select option:selected').text();
	$(this).parent().find('input:text').val(newValue);
}

// voeg extra waterstroom input toe bij het toevoegen/bewerken van een watersysteem
function kloonWatersroomInput()
{
	$('#waterstromenTable > :last').append(waterstroomInputDummy.replace('%1$d', waterstroomInputCounter).replace('%2$d', waterstroomInputCounter+1).replace('%3$s', '').replace('%4$s', ''));
	$("input.stroomNaamSuggestieNL").click(selectNaamSuggestie);
    $("input.stroomNaamSuggestieEN").click(selectNaamSuggestie);

	waterstroomInputCounter++;

	$(':text').addClass('text');
	$(':button').addClass('button');

}

// zoekt met gegeven array naar zoektermen in namen
function zoekPopupZoek(zoekArr, selectName, targetUrl)
{
	zoekStr = varGet('#fancy_div input.text').toLowerCase();

	if ( zoekStr != '' )
	{
		$("#fancy_div div.errorMsg").hide();

		htmlStr = '';

		for ( zoekKey in zoekArr )
		{
			if ( zoekKey != 0 && zoekArr[zoekKey] != '' && zoekArr[zoekKey].toLowerCase().indexOf(zoekStr) > -1 )
			{
				htmlStr += '<li><a href="'+targetUrl+zoekKey+'" onclick="return zoekPopupSubmit(\''+zoekKey+'\', \''+selectName+'\')">'+zoekArr[zoekKey]+'</a></li>';
			}
		}

		if ( htmlStr != '' )
		{
			// tevreden
			$("#fancy_div input.text").removeClass('error');

			$("#fancy_div div.results").html('<h2>'+lang['message_resultaten']+'</h2><ul class="select">'+htmlStr+'</ul>').show();
		}
		else
		{
			// error, niets gevonden
			$("#fancy_div input.text").addClass('error');

			$("#fancy_div div.results").html('<h2>'+lang['message_resultaten']+'</h2>'+hoofdletterEnPuntje(lang['message_noresults'])).show();
		}
	}
	else
	{
		// error, niets ingetypt
		$("#fancy_div input.text").addClass('error');
		$("#fancy_div div.errorMsg").html(hoofdletterEnPuntje(lang['message_trefwoord']+' '+lang['message_nietingevuld'])).fadeIn('slow');

		$("#fancy_div div.results").hide();
	}

	return false;
}

function zoekPopupSubmit(submitId, selectName)
{
	$("#"+selectName).val(submitId);

	$.fn.fancybox.close();

	return false;
}


var gevondenArr = new Array();
var gtargetUrl = 0;
var gzoekKey = 0;
var gSelectname= 0;
function zoekWaterPopupZoek(zoekArr, selectName, targetUrl) {
	// clean array.
    gevondenArr = new Array();
    zoekStr = varGet('#fancy_div input.text').toLowerCase();
    gtargetUrl = targetUrl;
    gSelectname = selectName;



	if ( zoekStr != '' )
	{
		$("#fancy_div div.errorMsg").hide();

		htmlStr = '';

        // Zoek naar bedrijfsnaam
        $.each(zoekArr, _searchClientWaterstroom);

        // and, make html
        $.each(gevondenArr, _getWaterstroomHTML);

		if ( htmlStr != '' )
		{
			// tevreden
			$("#fancy_div input.text").removeClass('error');
			$("#fancy_div div.results").html('<h2>'+lang['message_resultaten']+'</h2><ul class="select">'+htmlStr+'</ul>').show();
		}
		else
		{
			// error, niets gevonden
			$("#fancy_div input.text").addClass('error');

			$("#fancy_div div.results").html('<h2>'+lang['message_resultaten']+'</h2>'+hoofdletterEnPuntje(lang['message_noresults'])).show();
		}
	}
	else
	{
		// error, niets ingetypt
		$("#fancy_div input.text").addClass('error');
		$("#fancy_div div.errorMsg").html(hoofdletterEnPuntje(lang['message_trefwoord']+' '+lang['message_nietingevuld'])).fadeIn('slow');

		$("#fancy_div div.results").hide();
	}

	return false;

}

var currentItem = 0;
var currentItemID = 0;
function _searchClientWaterstroom(index,value) {
    zoekStr = varGet('#fancy_div input.text').toLowerCase();
    if (value['client'].toLowerCase().indexOf(zoekStr) > -1) {
        gevondenArr[index] = value;
    }
    // Zoek naar waterstroom:
    currentItem = value;
    currentItemID = index;
    $.each(value, _searchWaterstroom);
}

function _searchWaterstroom(index, value) {
    zoekStr = varGet('#fancy_div input.text').toLowerCase();
    if (index != "client") {
        if (value[0].toLowerCase().indexOf(zoekStr) > -1) {
            // Found
            gevondenArr[currentItemID] = currentItem;
        }
        if (value[1].toLowerCase().indexOf(zoekStr) > -1) {
            // Found!
            gevondenArr[currentItemID] = currentItem;
        }
    }
}
function _getWaterstroomHTML(index, value) {
    if (isset(value)) {
        htmlStr += '<li><b>' + value['client'] + '</b></li>';
        $.each(value, _getWaterstroomInnerHTML );
        return;
    }
}

function _getWaterstroomInnerHTML(index, value) {
    if (index != "client") {
        //htmlStr += '<li>' + value[0] + ' -- ' + value[1] + "</li>";
        htmlStr += '<li><a href="'+gtargetUrl+index+'" onclick="return zoekPopupSubmit(\''+index+'\', \''+gSelectname+'\')">'+value[0] + ' -- ' + value[1]+'</a>';
    }
}

function isset(variable) {
    return (typeof(variable) != 'undefined');
}

