/* Google Grabber v1.2 Coded by Maurizio Fonte */ function myCustomAnim() { if( $('#searchHolder').css('display') == 'none' ) $('#searchHolder').slideDown('slow'); } function myCustomNoResultsAnim() { $('#searchHolder').html('
Non ho trovato nulla...
'); $('#searchHolder').slideDown(500); $('#searchHolder').fadeOut(5000); } function myCustomCloserAnim() { $('#searchHolder').slideUp('slow'); } function myCustomBeginWaitingAnim() { $('#ajax-loader-wrapper').slideToggle(); } function myCustomEndWaitingAnim() { $('#ajax-loader-wrapper').slideToggle(); } function myCustomLinkClickEvent(link) { link = link.replace(/http:\/\//g, ''); window.open('http://www.mauriziofonte.it/link/search/' + link + '&query=' + _utf8_encode(lastQuery), 'Ricerca'); } var page = 1; var siteFilter = ''; // Non utilizzato, messo direttamente nel modulo grabber per evitare attacchi var fbid = '#fireSearch'; var qh = '#searchText'; var cd = '#searchHolder'; var lastQuery = ""; var animateSearchLoad = true; var animateFunction = myCustomAnim; var displayWaitingSomething = true; var beginWaitingAnimation = myCustomBeginWaitingAnim; var endWaitingAnimation = myCustomEndWaitingAnim; var customLinkClickBehaviour = true; var linkClickFunction = myCustomLinkClickEvent; var displayCloserTag = true; var closerAnimateFunction = myCustomCloserAnim; var customNoResultsBehaviour = true; var noResultsAnimateFunction = myCustomNoResultsAnim; var displayCustomSearchHeader = true; var customSearchHeader = 'Risultati Ricerca
'; $(document).ready(function(){ $(fbid).click(function() { if(displayWaitingSomething) beginWaitingAnimation(); $(cd).html(''); var query = $(qh).val(); if(lastQuery != query) page = 1; lastQuery = query; $.ajax({ type: 'GET', data: 'q=' + query + '&p=' + page, url: '/moduli/ajax/gb.php', dataType: 'xml', success: performSearch, error: function (a, b, e) { if(displayWaitingSomething) endWaitingAnimation(); alert('Errore stupido del tuo browser nel parsing della risposta XML... Cambia browser per evitare l\'errore...'); } }); }); }); function reloadSearchContent(pagina){ page = pagina; $(fbid).trigger('click'); } function reloadSearchString(string) { $(qh).val(string); $(fbid).trigger('click'); } performSearch = function(xml) { var output = ""; // Retrieving del numero di risultati, per vedere se mandare in output o no if ( parseInt( $(xml).find('infos res').text() ) >= 1 ) { var total = $(xml).find('infos total').text(); var pages = Math.round( total / 10 ); if ( pages > 10 ) pages = 10; if(displayCustomSearchHeader) output += 'Risultati Ricerca (Pagina ' + page + ' di ' + pages + ')
'; if(displayCloserTag) output += ''; // Retrieving dati della stringa sulla ricerca var searchString = $(xml).find('infos string').text(); //output += '' + searchString + '
'; // Retrieving del nesting di elementi $(xml).find('element').each(function() { var link = $(this).find('link').text(); var title = $(this).find('title').text(); var desc = $(this).find('description').text(); if(customLinkClickBehaviour) var linkHTML = '' + title + ''; else var linkHTML = '' + html_entity_decode(title) + ''; output += '' + linkHTML + '
' + html_entity_decode(desc) + '
'; }); //output += '' // Calcolo delle pagine plausibili var total = $(xml).find('infos total').text(); var pages = Math.round( total / 10 ); if (total > 10) { output += 'Forse Cercavi ' + forseCercavi + ' ??
'; $(cd).html(output); if(displayWaitingSomething) endWaitingAnimation(); if (animateSearchLoad) animateFunction(); } else { if(displayWaitingSomething) endWaitingAnimation(); if(customNoResultsBehaviour) noResultsAnimateFunction(); } } } function _utf8_encode(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) utftext += String.fromCharCode(c); else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return escape(utftext); } function html_entity_decode(str) { var ta=document.createElement("textarea"); ta.innerHTML=str.replace(//g,">"); return ta.value; }