/**
* @package mod_vm_live_product
*
* @license		http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
* VM Live Product Search is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/

/**
 * VM Live Product Search
 *
 * Used to process Ajax searches on a Virtuemart 1.1.2 Products.
 * Based on the excellent mod_pixsearch live search module designed by Henrik Hussfelt (henrik@pixpro.net - http://pixpro.net)
 * @author		John Connolly <webmaster@GJCWebdesign.com>
 * @package		mod_vm_live_product
 * @since		1.5
 * @version     0.6.0
 */

/*
Global language vars, to be set from languagefiles through mod_vm_live_product.
*/
var _txtResults	= null;
var _txtClose	= null;
var _txtSearch	= null;
var _txtOneresult= null;
var _txtRedirect=null;
var _txtSearchLink=null;
var _txtURIBase	= null;
var _vmtemplate=null;
var _txtNoResult=null;
var _searchBy=null;
var _redirecturl=null;
/*
Set global language vars
*/
function setSpecifiedLanguage(a,b,c,d,e,f,g,h,j,k,l){
	_txtResults	= a;
	_txtClose	= b;
	_txtSearch	= c;
	_txtOneresult= d;
	_txtRedirect=e;
	_txtSearchLink=f;
	_txtURIBase	= g;
	_vmtemplate = h;
	_txtNoResult = j;
	_searchBy   = k;
	_redirecturl   = l;
}

/*
When DOMReady, execute js_code.
*/
window.addEvent('domready', function() {
	var addSearchResult = function() {
		var result_div = $('vmlp_results');
		var row="vmlp_row_2";
		var requrl = (_redirecturl)+"index.php?keyword1="+$('vmlp_search_str').value+"&Search=Search&Itemid=41&option=com_virtuemart&page=shop.browse&search_limiter="+(_searchBy);
		
		var res_header = new Element('div', {'class': 'vmlp_header' }).setHTML(_txtResults).injectInside(result_div);
		var link = new Element('a', {'id': 'vmlp_link' }).setProperty('href','#').setHTML(_txtClose).injectBefore(res_header);
		$('vmlp_link').addEvent('click', function(e) {
			e = new Event(e).stop();
			$('vmlp_search_str').value = _txtSearch;
			$('vmlp_results').setHTML('<a href="http://www.gjcwebdesign.com"></a>').removeClass('vmlp_results').setStyle('visibility', 'hidden');
		});

		result_div.addClass('vmlp_results');
		 var testresult = $$('#vmlpsearch_tmpdiv #zero_results');
		  search_res = $$('#vmlpsearch_tmpdiv '+_vmtemplate);	  
		var test2 = search_res.length;
	    var test1 =testresult.length;
		var test3= test2+test1;
		
		/*************NO result***/
		if (test3==1){
		var el = new Element('div', {'class': row }).setHTML(_txtNoResult );	
						el.inject(result_div);
					}
		/***** more than 1 result****/
			if(test3 > 1) search_res.each(function(res) {
		var res_data='';
			res_data=res.getChildren();	
			
				if(res_data.length > 0){
						res_data.each(function(r) {	
								if(row == "vmlp_row_2") row = "vmlp_row_1";
									else row = "vmlp_row_2";
										var suri=r.getProperty('href');
										
										var suri2=suri.replace(/index2/,"index");
												var el = new Element('div', {'class': row });
												var link = new Element('a').setProperty('href',suri2).injectInside(el);
												var name = new Element('p').setHTML(r.getText()).injectInside(link);
						el.inject(result_div);
			});
		}
	});
		/*************One result***/
			if (test3==0){
			var el = new Element('div', {'class': row }).setHTML(_txtOneresult+' "'+$('vmlp_search_str').value+'"'+_txtRedirect+'&nbsp; <img src="'+_txtURIBase+'modules/mod_vm_live_product/css/loadingcircle.gif" height="16px" width="16px"><br/><br/>' );	
						el.inject(result_div);
     		/*redirect to single result product page or no result*/
        this.location.href = requrl;
		}
	}
				/*replace Search... text*/
	$('vmlp_search_str').addEvent('click', function(e) {
		if($('vmlp_search_str').value == _txtSearch) $('vmlp_search_str').value = '';
	});

	$('vmlp_search_str').onkeyup = function(){
		var curtime = new Date();
		var url = _txtURIBase+'index2.php';
				/*show throbber*/
			$('vmlp_timer').setStyle('visibility', 'visible');
				/*check search string length > 2*/
		tt=$('vmlp_search_str').value;
		tl=tt.length
			if(tl<3){
			$('vmlp_results').empty().removeClass('vmlp_results').setStyle('visibility', 'hidden');
					/*show 3 letter message*/
			$('vmlp_3letters').setStyle('visibility', 'visible');
		}
		else{
			var req = new Ajax(url, {
				method: 'get',
				delay : 300,
				data: {
				'option' : 'com_virtuemart',
				'page' : 'shop.browse',
				'keyword1' : $('vmlp_search_str').value,
				'search' : 'search' ,
				'search_limiter' : _searchBy,
				'r' : curtime.getTime()
				
				},
				onComplete: function(results) {
						/*hide throbber*/
			$('vmlp_timer').setStyle('visibility', 'hidden');
						/*hide 3 letter message*/
			$('vmlp_3letters').setStyle('visibility', 'hidden');
      
                   var theNewEle = new Element('div');
						theNewEle.setHTML(results);
						var vmlpsearch_tmpdiv = $('vmlpsearch_tmpdiv');
						var zr_list = theNewEle.getElements('.zero_results');//test for no result
						var zeroResults = (zr_list.length > 0);
						if (zeroResults)
						{
							var el = new Element('div', {'id': 'zero_results' }).setHTML(zr_list[0].innerHTML );	
						el.inject(vmlpsearch_tmpdiv);
						}
	
					else{
						theNewEle.getElements('.browseProductTitle').each(function(r) {
						vmlpsearch_tmpdiv.appendChild(r);
						});
				}

					$('vmlp_results').empty().removeClass('vmlp_results').setStyle('visibility', 'visible');
					addSearchResult();
					$('vmlpsearch_tmpdiv').empty().setStyle('visibility','visible');
					
				}	
		});
			var rq = req.request.delay(1000,req);
			$('vmlp_search_str').onkeydown = function(){$clear(rq);};
		}
	}
});

