/* Tsapper (c) LinkU Internet Media // Rens van Dongen 2007 - 2009 */ // browser history function historyPageload(hash) { if ( hash ) { if ( hash.match('=') ) { params = hash.split('|'); storage = []; for ( i = 0; i < params.length; i++ ) { splitted = params[i].split('='); storage[splitted[0]] = splitted[1] ? unescape(splitted[1]) : ''; } historyProcess(storage); } } } function initHistoryLinks() { $("a[rel='history']").click(function() { $.historyLoad(this.href.replace(/^.*#/, '')); return false; }); } // limiteer maximaal aantal keuzes function clickCheckboxLimited(obj, maxChecked) { hideLastErrorMsg(); if ( $(obj).attr('checked') ) { switch ( $("input[name='"+$(obj).attr('name')+"']:checked").length ) { case maxChecked: $(obj).parents('table').find('input').not(':checked').parent().addClass('inactive'); break; case maxChecked+1: $(obj).attr('checked', false); showErrorMsg('je mag niet meer dan '+getalWoorden[maxChecked]+' '+meervoud(maxChecked, 'keuze', 'keuzes')+' maken', ''); break; } } else { $(obj).parents('table').find('label').removeClass('inactive'); } } // voor opstarten van pagina function checkCheckboxLimited(inputName, maxChecked) { if ( $("input[name='"+inputName+"[]']:checked").length == maxChecked ) { $("input[name='"+inputName+"[]']:checked").eq(0).parents('table').find('input').not(':checked').parent().addClass('inactive'); } } // avatar block schakel functies function avatarBlockTerug() { if ( avatarBlockCurrent > 1 ) { avatarBlockCurrent--; $("#avatarBlockContainer").animate({left: (avatarBlockCurrent-1)*-270}, 500); $("#avatarBlockTeller").html(getalWoorden[avatarBlockCurrent]); if ( avatarBlockCurrent == 1 ) { $("#avatarBlockTerug").hide(); } $("#avatarBlockVerder").show(); } return false; } function avatarBlockVerder() { if ( avatarBlockCurrent < avatarBlockPaginas ) { avatarBlockCurrent++; $("#avatarBlockContainer").animate({left: (avatarBlockCurrent-1)*-270}, 500); $("#avatarBlockTeller").html(getalWoorden[avatarBlockCurrent]); if ( avatarBlockCurrent == avatarBlockPaginas ) { $("#avatarBlockVerder").hide(); } $("#avatarBlockTerug").show(); } return false; } // haalt zichzelf weg met zn parent (wordt gebruikt op nieuwshandle) function removeWithParent() { $(this).parent().remove(); return false; } // functie over de login velden function focusLoginDefault() { if ( $(this).val() == standaardNickname || $(this).val() == standaardPassword ) { $(this).val(''); } } // tel timer terug en koppel door function countAutoTimer(number) { if ( number > 0 ) { $("#autoTimer").html(number); number--; setTimeout('countAutoTimer('+number+');', 1000); } else { $("#autoTimer").html('0'); document.location.href = $("#autoTimer").parent().find('a:first').attr('href'); } } // verandert de header foto als er op het bijbehorende linker pijltje geklikt wordt function headerFotoLinks(fotoNr) { if ( headerFotoNr[fotoNr] == 0 ) { headerFotoNr[fotoNr] = headerFotoSet[fotoNr].length-1; } else { headerFotoNr[fotoNr]--; } headerFotoChange(fotoNr); return false; } // verandert de header foto als er op het bijbehorende rechter pijltje geklikt wordt function headerFotoRechts(fotoNr) { if ( headerFotoNr[fotoNr]+1 == headerFotoSet[fotoNr].length ) { headerFotoNr[fotoNr] = 0; } else { headerFotoNr[fotoNr]++; } headerFotoChange(fotoNr); return false; } // wijzigt header foto op locatie fotoNr naar opgeslagen #headerFotoNr[x] function headerFotoChange(fotoNr) { currentFotoSet = headerFotoSet[fotoNr][headerFotoNr[fotoNr]]; switch(currentFotoSet['koppelType']) { case 'plaats-uitgaan': $("#headerKoppelLink"+fotoNr).attr("href", "plaatskijk.php?plaatsId="+currentFotoSet['plaatsId']).html(kortaf(currentFotoSet['plaatsNaam'], 15, true)); break; case 'spot-uitgaan': case 'spot-gevel': case 'spot-logo': case 'spot-interieur': case 'spot-personeel': $("#headerKoppelLink"+fotoNr).attr("href", "spotkijk.php?spotId="+currentFotoSet['koppelId']).html(kortaf(currentFotoSet['spotNaam'], 15, true)); break; case 'onbekend-uitgaan': case 'prive': $("#headerKoppelLink"+fotoNr).attr("href", "profielkijk.php?userId="+currentFotoSet['userId']).html(kortaf(currentFotoSet['userNaam'], 15, true)); break; } $("#headerFotoThumb"+fotoNr).attr("src", "upload/image/thumb/"+currentFotoSet['fileDir']+'/'+currentFotoSet['fileLink']).next().attr("href", "fotokijk.php?fileId="+currentFotoSet['fileId']); } // maakt reactie abonnement function deleteAbbo() { $("#reactieKoppelingen").append(' '+htmlLoader); $.get('ajaxcall.php', {mode:'deleteReactieAbbo', emailId:reactieEmailId}, function() { $("#reactieKoppelingen").html('Abonneer op reacties'); }); return false; } // verwijdert reactie abonnement function newReactieAbbo() { $("#reactieKoppelingen").append(' '+htmlLoader); $.getJSON('ajaxcall.php', {mode:'newReactieAbbo', koppelType:'abbo_'+reactieKoppelType, koppelId:reactieKoppelId}, function(setEmailId) { $("#reactieKoppelingen").html('Abonnement op
reacties stopzetten
'); reactieEmailId = setEmailId; }); return false; } // maakt van 5 => vijf function getalNaarLabel(getal) { return getalWoorden[getal] == null ? formatNumber(getal) : getalWoorden[getal]; } // dumpt str als HTML in de body function debug(str) { $('body').append('

'+str+'

'); } // ligt over H1 tag heen als blok wordt uitgevouwen function prepareCloseH1(selector) { $(selector).css("cursor", "pointer").attr("title", "Klik om te sluiten").click(closeBoxOnH1); } // blablabla...blablabla function kortaf(str, maxchars, toonTitel) { if ( str.length > maxchars ) { if ( toonTitel ) { return ''+$.trim(str.substr(0, maxchars-2))+'..'+''; } else { return $.trim(str.substr(0, maxchars-2))+'..'; } } else { return str; } } // als er geplakt wordt in velden die moeten worden getypt function hitPasteError() { showErrorMsg('hier mag je niets plakken, type aub!', ''); markErrorField($(this).attr('name')); return false; } // van 01/03/2008 naar 1220392800000 function dateToStamp(formattedDate) { if ( formattedDate ) { dateObj = new Date(); dateObj.setFullYear(formattedDate.substr(6, 4), parseInt(formattedDate.substr(4, 2))-1, parseInt(formattedDate.substr(1, 2))); return Math.round(dateObj.getTime() / 1000); } else { return 0; } } // sluit de box als op de titel wordt geklikt function closeBoxOnH1() { $(this).parent().parent().parent().hide("slow"); } // applied classes op form inputs function bakeFormStyles() { // form styles $(':text, :password').addClass('text'); $(':radio').addClass('radio'); $(':checkbox').addClass('checkbox'); $(':submit, :reset, :button').addClass('button'); $(':file').addClass('file'); $(':image').not('.knopPijl').addClass('image'); // focus thingies $(':text,:password,textarea').focus(function(){$(this).addClass('inputHover');}); $(':text,:password,textarea').blur(function(){$(this).removeClass('inputHover');}); } // onclick op knop onder detailoverzicht, kijkt of er checkboxes zijn aangeklikt function checkCheckboxesIfAnyClicked(checkboxName, formUrl) { fileIds = returnCheckboxValues(checkboxName+'[]'); if ( fileIds.length == 0 && checkboxStorage.length == 0 ) { //document.location.href = '#errorDetailOverzicht'+ucfirst(checkboxName); $.scrollTo($('#errorDetailOverzicht'+ucfirst(checkboxName)), 500); showErrorMsg('maak eerst een selectie', 'detailOverzicht'+ucfirst(checkboxName)); } else { returnIds = checkboxStorage.length ? checkboxStorage.join(',') : fileIds; document.location.href = formUrl+'?'+checkboxName+'='+returnIds; } return false; } // IE radio loss fix; slaat alle gecheckte radio waardes op in een array function updateRadioStorage() { radioStorage[this.name] = varGet("input[name='"+this.name+"']:checked"); } // IE radio loss fix; activeert alle radio's die eerder aangetickt waren function processRadioStorage() { for( key in radioStorage ) { $("input[name='"+key+"']").each(function() { if ( $(this).val() == radioStorage[key] ) { $(this).attr("checked","checked"); } }); } } // onclicks op de checkboxes, werken waardes bij in checkboxStorage array function updateCheckboxStorageSingle() { if ( $(this).val() > 0 ) { if ( $(this).attr('checked') == true ) { checkboxStorage.push($(this).val()); } else { if ( checkboxStorage.length > 1 ) { for( key in checkboxStorage ) { if ( $(this).val() == checkboxStorage[key] ) { checkboxStorage.splice(key, 1); break; } } } else { checkboxStorage = []; } } } } // gebruikt array gegevens op de huidige checkboxes, en activeert ze waar nodig function applyCheckboxStorage(checkboxNaam) { totalCheckboxes = 0 totalTicked = 0; $("input[name='"+checkboxNaam+"[]']").each(function() { totalCheckboxes++; if ( $(this).val() ) { for( i=0; i'+hoofdletterEnPuntje(statusMsg)+'').fadeIn('slow'); hideMsgTimer("#"+statusMsgId); } // toon error box met message function showErrorMsg(errorMsg, useErrorId) { var errorMsgId = useErrorId ? 'error'+ucfirst(useErrorId) : 'errorMainContent'; $('#'+errorMsgId).html(''+hoofdletterEnPuntje(errorMsg)+'').fadeIn('slow'); hideMsgTimer(errorMsgId); $.scrollTo($('#'+errorMsgId), 500); } // haal van alle openstaande message boxjes de laatste weg function hideLastErrorMsg() { $("div.messageError:last").fadeOut("slow"); } // verberg message box op ID (vertraagd) function hideMsgTimer(msgId) { clearTimeout(msgTimerPointer); msgTimerPointer = setTimeout(function(){hideMsg(msgId)}, 10000); } // verberg message box op ID function hideMsg(msgId) { //$("#"+msgId).fadeOut("slow"); } // er wordt op een quote link geklikt, highlight het bijbehorende bron bericht function markQuote(reactieId) { $(".markQuote").removeClass("markQuote"); $("#reactie"+reactieId).addClass("markQuote").click(unmarkQuote); //document.location.href = '#reactie'+reactieId; $.scrollTo($('#reactie'+reactieId), 500); return false; } // haal de highlight class van het bron bericht weg function unmarkQuote() { $(this).css("cursor", "").removeClass("markQuote"); } // 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); }); } } } // kan door het invullen van een textveld een formulier blok in of uitschuiven function toggleFormSectionIfFilled(valueSelector, blockId, showOnFilledIn, opstart) { // verberg het veld meteen bij het laden van de pagina fieldValue = varGet(valueSelector); if ( fieldValue.length > 0 && showOnFilledIn ) { $("#"+blockId).show(opstart ? "" : "slow"); } else { $("#"+blockId).hide(opstart ? "" : "slow"); } if ( opstart ) { $(valueSelector).change(function() { toggleFormSectionIfFilled(valueSelector, blockId, showOnFilledIn, false); }); } } // bouw root voor de selectie menuutjes als wordt aangeroepen uit forum function getTsapperRoot(tsapperRootLevel) { portal_root_path = './'; for ( i=0; i'; var gemeenteObj = $("#"+label+"GemeenteId").parent().html(htmlLoader); var plaatsObj = $("#"+label+"PlaatsId").parent().html(htmlLoader); $.getJSON(portal_root_path+'ajaxcall.php', {mode:'updateGemeenteSelect',provincieId:$("#"+label+"ProvincieId").val(),tabIndex:tabIndex,label:label,tsapperRootLevel:tsapperRootLevel}, function(returnHtml) { gemeenteObj.html(returnHtml); updatePlaatsSelect(label, tabIndex+1, tsapperRootLevel, plaatsObj); }); } // er is een gemeente select aangepast; haal nieuwe plaatsen op function updatePlaatsSelect(label, tabIndex, tsapperRootLevel, plaatsObj) { htmlLoader = ''; if ( !plaatsObj ) { var plaatsObj = $("#"+label+"PlaatsId").parent().html(htmlLoader); } $.getJSON(getTsapperRoot(tsapperRootLevel)+'ajaxcall.php', {mode:'updatePlaatsSelect',gemeenteId:$("#"+label+"GemeenteId").val(),tabIndex:tabIndex,label:label}, function(returnHtml) { plaatsObj.html(returnHtml); }); } // maak een nieuwe box aan en style hem function redrawBoxContent(id, titel, content) { $("#"+id).html('

'+ucfirst(titel)+'

'+content+'
').fadeIn('slow'); initHistoryLinks(); } // <, 1, 2, 5, 6, 7, 12, 13, > function writePagination(totalResults, resultsPerPage, startPos, url, browserHistory, anchorLink) { lastNumber = Math.ceil(totalResults/resultsPerPage); if ( resultsPerPage * lastNumber <= startPos && totalResults ) { startPos = resultsPerPage * lastNumber - resultsPerPage; } anchorLink = browserHistory ? anchorLink+'|z=%d' : anchorLink; pagination = '
    '; //pagination += '
  • link
  • '; if ( totalResults > resultsPerPage ) { currentNumber = Math.floor(startPos/resultsPerPage) + 1; prevLink = (resultsPerPage * currentNumber) - (resultsPerPage * 2); nextLink = resultsPerPage * currentNumber; addOnclick = browserHistory ? ' rel="history"' : ''; numbers = []; for ( i = 1; i <= lastNumber; i++ ) { if ( lastNumber <= 9 || ( i <= 2 || (i >= currentNumber - 1 && i <= currentNumber + 1) || (lastNumber - 2) < i ) ) { if ( currentNumber == i ) { numbers.push('
  • '+i+'
  • '); } else { thisLink = resultsPerPage * (i-1); numbers.push('
  • '+i+'
  • '); } } else if ( numbers[numbers.length-1] != ' .. ' ) { //numbers.push(' .. '); } } /*if ( currentNumber > 2 ) { addOnclick = browserHistory ? ' rel="history"' : ''; pagination += '
  • <<
  • '; }*/ if ( currentNumber > 1 ) { addOnclick = browserHistory ? ' rel="history"' : ''; pagination += '
  • <
  • '; } pagination += numbers.join(''); if ( currentNumber != lastNumber ) { addOnclick = browserHistory ? ' rel="history"' : ''; pagination += '
  • >
  • '; /*if ( currentNumber+1 < lastNumber ) { lastLink = resultsPerPage * (lastNumber-1); addOnclick = onclickFunction ? ' rel="history"' : ''; pagination += '
  • >>
  • '; }*/ } return pagination; } else { return pagination+'
'; } } // searchbox met load thingy function showSearchLoading() { if ( parsedHash != 'loading' ) { parsedHash = 'loading'; redrawBoxContent('searchResults', 'resultaten', htmlLoader); } } // afsluitende functies bij het weergeven van zoekresultaten function closingSearchActions(formUrl, checkboxName) { if ( formUrl && checkboxName ) { // onclick handler op de kaart knop $("#check"+ucfirst(checkboxName)).click(function() { return checkCheckboxesIfAnyClicked(checkboxName, formUrl); }); // onclicks op de checkboxes $("input[name='"+checkboxName+"[]']").click(updateCheckboxStorageSingle); // sort $('table.detailOverzicht').tablesorter({headers:{0:{sorter:false}},widgets:['zebra']}); } else { // sort $('table.detailOverzicht').tablesorter({widgets:['zebra']}); } // als er geschakeld is, terug op juiste hoogte scrollen //document.location.href = '#searchResults'; $.scrollTo($('#searchResults'), 500); } // opent reactiescherm function popupReactie(parentId) { $("#parentId").val(parentId); $("#reactieContainer h1 span").html(parentId ? 'reageer op reactie' : 'deel je mening'); return false; }