function replacer(key, value) {
    if (typeof value === 'number' && !isFinite(value)) {
        return String(value);
    }
    return value;
}


 function onInnerSearchLinkTrigger(data){
   var keyword=$("input:text[name=keywordtext_inner]");
   keyword.val(data.psi.infos.si[0].value);
    $('#searchForm_inner').submit();
  
  } 

 function triggerInnerKeywordSearch(wid,data){
	  var keyword=$("input:text[name=keywordtext_inner]");
	  var keywordStr= data.psi.infos.si[0].value;
	  if(keywordStr!='unknow')
	     keyword.val(keywordStr);
	  
	  $('#searchForm_inner').submit(function() {
	 
	  var hiddenitem= $("input:hidden[name=queryData_"+wid+"]");  
	  data.psi.infos.si[0].value=keyword.val();
	  var text = JSON.stringify(data, replacer);
	  hiddenitem.val(text);
	  return true;
	});
	}

function pageselectCallback_inner(page_index, jq){
                
                
                var items_per_page = $('#items_per_page').val();
                var max_elem = Math.min((page_index+1) * items_per_page, products.length);
                var newcontent = '';
                
              
                for(var i=page_index*items_per_page;i<max_elem;i++)
                {
                    var content=  renderProduct(i);
                    newcontent += content;
                }
               
                // Replace old content with new content
                $('#searchresult').html(newcontent);
                
                // Prevent click eventpropagation
                return false;
              
            }

function getOptionsFromForm_inner(){
                var opt = {callback: pageselectCallback_inner};
                
                $("input:hidden").each(function(){
                    opt[this.name] = this.className.match(/numeric/) ? parseInt(this.value) : this.value;
                });
                
                var htmlspecialchars ={ "&":"&amp;", "<":"&lt;", ">":"&gt;", '"':"&quot;"}
                $.each(htmlspecialchars, function(k,v){
                    opt.prev_text = opt.prev_text.replace(k,v);
                    opt.next_text = opt.next_text.replace(k,v);
                })
                return opt;
            }


function triggerInnerPagination(wid,total){
	
	 var optInit = getOptionsFromForm_inner();
         $("#pagination_"+wid).pagination(total, optInit);
         
}



$.fn.hoverClass = function(c) {
			return this.each(function(){
				$(this).hover( 
					function() { $(this).addClass(c);  },
					function() { $(this).removeClass(c); }
				);
			});
		};	