/**************************************************************
Event attacher
Voorbeeld van gebruik: document.attachEvent("onload", functieNaamHier);
***************************************************************/
document.events = [];
document.attachEvent = function(type, reference) {

    var evt = this.events;
    if(!evt[type]) evt[type] = [];
    evt[type][evt[type].length] = reference;

    document[type] = function(e) {
        document.executeEvents(type, e);
    }
}

document.executeEvents = function(type, e) {
    for(var i in this.events[type]) {
        this.events[type][i](e);
    }
}

window.onunload = function() { document.executeEvents('onunload'); }
window.onload = function() { document.executeEvents('onload'); }
window.onresize = function() { document.executeEvents('onresize'); }

/**********************************************************************
Statistieken teller.
**********************************************************************/
function pageHit(){
	p = escape(document.location.href);
	rfr = escape(document.referrer);
	if (rfr == "undefined"){ rfr = "";}
	sx = screen.width;
	sy = screen.height;
	sc = (navigator.appName.indexOf("Microsoft") > -1) ? screen.colorDepth : screen.pixelDepth;
	src = 'stats.php?p=' + p + '&rfr=' + rfr + '&sx=' + sx + '&sy=' + sy + '&sc=' + sc;
	src = '<img style="position:absolute;left:-10px;top:-10px;" src="' + src + '" width="1" height="1" border="0" alt="" />';
	document.getElementById('counter').innerHTML = src;
}

//onload = pageHit;
document.attachEvent("onload", pageHit);

/*******************************************
Hits tellen op telefoon nr's etc/
sType: (string) verkooppunt / merk
iID: (int) verkooppunt id
sObject: (string) omschrijving van het object waarop is geklikt (tel/fax/email/website/pagina)
*******************************************/
function countHit(sType,iID,sObject){

	jQuery.get("libs/ajax/counthit.php", {sType: sType, iID: iID, sObject: sObject}, function(data){
		//alert(data);
	});
}

/*******************************************
"kijk hier" linkje verbergen en de verborgen info tonen
oHideThis: (object) de "a" die verborgen moet worden (this gebruiken)
sShowThis: (string) id van het object wat getoond moet worden
*******************************************/
function kijkHier(oHideThis,sShowThis){
	oHideThis.style.display='none';
	document.getElementById(sShowThis).style.display='inline';
}

/*******************************************
De default value van Zoekvelden leegmaken
oThis: (object) het input veld
*******************************************/
function clearThis(oThis){
	if(oThis.value == 'Vul hier een trefwoord in' || oThis.value == 'Postcode of Plaats'){
		oThis.value = '';
	}
}

/*******************************************
De default value van Zoekvelden terugzetten als het input veld leeg verlaten wordt
oThis: (object) het input veld
*******************************************/
function restoreThis(oThis){
	if(oThis.value == ''){
		if(oThis.name == 'q')			oThis.value = 'Vul hier een trefwoord in';
		if(oThis.name == 'pc-plaats')	oThis.value = 'Postcode of Plaats';
	}
}

/*******************************************
Wordt gebruikt bij het aanmelden om
de verschillende abonnementvormen te tonen
*******************************************/
function moreInfo(sDivId){
	jQuery('#abonnementMerk').css("display","none");
	jQuery('#abonnementVerkoopadres').css("display","none");
	jQuery('#abonnementWebshop').css("display","none");

	jQuery('#'+sDivId).css("display","block");
}

/**************************************************************
Als een url met www begint, http:// ervoor plakken.
Gebruik: onBlur="fixUrl(this.id);"
***************************************************************/
function fixUrl(sElementId){
	sUrl = document.getElementById(sElementId).value;

	if(sUrl.substring(0,3) == 'www'){
		document.getElementById(sElementId).value = 'http://' + sUrl;
	}
}

/**************************************************************
Functies voor het toevoegen van producten bij het aanmelden
***************************************************************/
function productToevoegen(){
	window.open('aanmelden-product.php?action=add', 'Product', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=800,height=500');
}

function productVerwijderen(iKey){
	if(confirm('Weet u zeker dat u dit product wilt verwijderen?')){
		jQuery.get("libs/ajax/product.php", {sAction: 'productVerwijderen', iKey: iKey}, function(data){
			jQuery('#producten')[0].innerHTML =  data;
		});
	}
}

function productBewerken(iKey){
	window.open('aanmelden-product.php?action=edit&key='+iKey, 'Product', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=800,height=500');
}

function getProducten(){
	jQuery.get("libs/ajax/product.php", {sAction: 'getProducten'}, function(data){
		jQuery('#producten')[0].innerHTML =  data;
	});
}

function closeProductForm(){
	window.opener.getProducten();
	window.close();
}

/**************************************************************
De checkbox waarmee je je machtiging afgeeft tonen of verbergen,
afhankelijk van de gekozen optie
***************************************************************/
function flipMachtig(iChosen){
	$oMachtig = document.getElementById('machtig_1');
	if(iChosen == 1){
		// als je kiest voor de gratis optie "alleen in mijn postcodegebied", dan hoef je geen machtiging te geven.
		// Om ervoor te zorgen dat formhandler geen error geeft op het niet ingevuld zijn van de checkbox, wordt voor de checkbox wordt verborgen het vinkje aangezet.
		$oMachtig.checked = true;
		$oMachtig.parentNode.parentNode.style.display = 'none';
	} else {
		$oMachtig.checked = false;
		$oMachtig.parentNode.parentNode.style.display = '';
	}

}



function setListLink(){
    var oForm = document.getElementById('searchForm2');

    var sQ = '';
    var sPcPlaats = '';

    var sThema = oForm.thema.value;
    var sStraal = oForm.straal.value;

    if ( oForm.q.value != 'Vul hier een trefwoord in' ) {              var sQ = oForm.q.value; }
    if ( oForm['pc-plaats'].value != 'Postcode of Plaats' ) {  var sPcPlaats = oForm['pc-plaats'].value;   }

    document.getElementById('toonlijst').href = 'resultaten?q='+sQ+'&pc-plaats='+sPcPlaats+'&thema='+sThema+'&straal='+sStraal+'&tab=winkels';
}

function setMapLink(){
    var oForm = document.getElementById('searchForm2');

    var sQ = '';
    var sPcPlaats = '';

    var sThema = oForm.thema.value;
    var sStraal = oForm.straal.value;

    if ( oForm.q.value != 'Vul hier een trefwoord in' ) {              var sQ = oForm.q.value; }
    if ( oForm['pc-plaats'].value != 'Postcode of Plaats' ) {  var sPcPlaats = oForm['pc-plaats'].value;   }

    document.getElementById('toonlijst').href = 'kaart?q='+sQ+'&pc-plaats='+sPcPlaats+'&thema='+sThema+'&straal='+sStraal+'&tab=winkels';
}



function jsMapSearch(sQ, sPcPlaats, sStraal){
    var oForm = document.getElementById('searchForm2');

    oForm.straal.value = sStraal;

    if ( !sPcPlaats || sPcPlaats == null || sPcPlaats == '' ) {
        oForm['pc-plaats'].value = 'Postcode of Plaats';
    } else {
        oForm['pc-plaats'].value = sPcPlaats;
    }

    oForm.q.value = sQ;

    oGeoStart.loadObjects();
}


function loadSifr() {
    if ( typeof sIFR == "function" ) {

        sIFR.replaceElement(named({sSelector:"h2", sFlashSrc:"libs/sifr/Dax-Bold.swf", sColor:"#2e2e2e", sWmode: "transparent"}));

    }
}

function showKeurmerken(oLink){
	oLink.style.display='none';
	jQuery('#hiddenKeurmerken').css("display","block");
}

function updateFactuurAdres(){
	if( jQuery('#naam')[0].value == '') jQuery('#naam')[0].value = jQuery('#titel')[0].value;

	if( jQuery('#factuur_straat')[0].value == '') jQuery('#factuur_straat')[0].value = jQuery('#straat')[0].value;
	if( jQuery('#factuur_huisnummer')[0].value == '') jQuery('#factuur_huisnummer')[0].value = jQuery('#huisnummer')[0].value;
	if( jQuery('#factuur_postcode')[0].value == '') jQuery('#factuur_postcode')[0].value = jQuery('#postcode')[0].value;
	if( jQuery('#factuur_plaats')[0].value == '0') jQuery('#factuur_plaats')[0].value = jQuery('#plaats')[0].value;
}

function updateContactpersoon(){
	if( jQuery('#contact_telefoon')[0].value == '') jQuery('#contact_telefoon')[0].value = jQuery('#telefoon')[0].value;
	if( jQuery('#contact_email')[0].value == '') jQuery('#contact_email')[0].value = jQuery('#email')[0].value;
}

jQuery(document).ready(function(){
    // suggesties tonen als je iets in het zoekveld intypt
    suggestValues();

});

function suggestValues() {
    jQuery(".q").autocomplete("libs/ajax/suggestions.php", {
        width: 260,
        selectFirst: false
    });
}

