/**
* ITAjax_search_html.js
*
* author: Enrique Meléndez Estrada
* version: 1.0 (03/12/2009)
* description: funcion que devuelve un string con el HTML necesario para colocar un buscador/filtrador en una página
* dicha función se puede ejecutar tanto en el cliente como en el servidor (es preferible en el servidor).
*/

function ITAjax_search_html(o){ // o = {mode: 0, table: '' ,id: '',rows: [0,10,25,50,100], rs: null, db: null, action: null, html: null, target: null}
    var o = o || {};
    // o.mode
    // 0 (default) : full search/filter
    // 1 : no add field to be filtered (show/hide all)
    // 2 : no filtered by fields (no 'advanced search' button)
    // o.rows
    // array of possible number of rows
    // default : [0,10,25,50,100]
	// html : 'tbody' (default), 'table', 'div'
	// target : '#listado tbody' (default), 'div.ANUNCIOS div.body', etc...
    o.mode = o.mode || 0;
    var _recordCount =     (o.rs && o.rs.recordCount > -1      && o.rs.recordCount) || '';
    var _pageCount =       (o.rs && o.rs.pageCount > -1        && o.rs.pageCount) || '';
    //var _absolutePage =  (o.rs && o.rs.absolutePage > -1     && o.rs.absolutePage) || '';
    var _absolutePosition =(o.rs && o.rs.absolutePosition > -1 && o.rs.absolutePosition) || '';
	var _pageSize =         o.pageSize || -1;
    return  '<div id="search">'+
            '    <form class="kike-search-form" method="post">'+
            '        <div class="kike-search-all">'+
            '            <h2>Buscar/Filtrar</h2>'+
			'            <input type="hidden" id="kike-search-target" value="'+    (o.target || '#listado tbody') +'" />'+
			'            <input type="hidden" id="kike-search-html" value="'+      (o.html   || '')               +'" />'+
			'			 <input type="hidden" id="kike-search-action" value="'+    (o.action || '')               +'" />'+
   //       '            <input type="hidden" id="kike-search-dbname" value="'+    (o.db     || '')               +'" />'+
   //       '            <input type="hidden" id="kike-search-tablename" value="'+ (o.table  || '')               +'" />'+
            '            <input type="hidden" id="kike-grid-idfieldname" value="ID" />'+
            '            <input type="hidden" id="kike-grid-idfieldvalue" value="'+(o.id     || '')               +'" />'+
            '            <input type="hidden" id="kike-grid-absolutePosition" value="'+ _absolutePosition         +'" />'+
            '            <input type="hidden" id="kike-grid-pageCount" value="'+        _pageCount                +'" />'+
            '            <input type="hidden" id="kike-grid-timeServer" />'+
            '            <input type="hidden" id="kike-grid-timeClient" />'+
            '            <input type="hidden" id="kike-search-fields" value="[]"/>'+
            '            <input type="text" name="search-all-fields" value="" class="search-all-fields" />'+
            '            <input type="submit" value="Buscar" class="kike-button kike-button-search"/>'+
        //  '            <input type="reset"  value="Borrar" class="kike-button kike-button-secondary kike-button-reset"/>'+
(o.mode<2 ? '            <input type="button" value="Filtrar por..." id="kike-search-advanced"  class="kike-button kike-button-filter kike-state-on"/>':'')+
            '        </div>'+
(o.mode<2 ? '        <div class="kike-search">'+
(o.mode<1 ? '            <div class="kike-search-selectfields"></div>':'')+
            '            <div class="kike-search-filterfields"></div>'+
            '            <div class="kike-search-submitfields">'+
            '                <input type="submit" value="Buscar" class="kike-button kike-button-search"/>'+
            '                <input type="reset"  value="Borrar" class="kike-button kike-button-secondary kike-button-reset"/>'+
            '            </div> '+
            '        </div>' : '')+
            '        <hr />'+
            '        <div class="kike-grid-navigation">'+
            '            <button type="button" id="kike-grid-moveFirst" class="kike-button kike-button-gofirst">Primero</button>'+
            '            <button type="button" id="kike-grid-movePrev" class="kike-button kike-button-goprev">Anterior</button>'+
            '            <select id="kike-grid-absolutePage"></select>'+
            '            <span>, de </span><span id="kike-grid-recordCount">'+ _recordCount +'</span>'+
            '            <button type="button" id="kike-grid-moveNext" class="kike-button kike-button-gonext">Siguiente</button>'+
            '            <button type="button" id="kike-grid-moveLast" class="kike-button kike-button-golast">Último</button>'+
            '        </div>'+
            '        <div class="kike-grid-pageSize">'+
            '            ver '+
            '            <select id="kike-grid-pageSize">'+
            (function (){
                for (var r = o.rows || [0,10,25,50,100], s = '', i = 0, l = r.length; i < l; i++){
					r[i] = '<option value="'+ r[i] +'" '+ (r[i]===_pageSize ? 'selected="selected"':'') +'>'+ (r[i] || 'todas las') +'</option>';
					}
                return r.join('');
                })() +
        //  '                <option value="0" > todas las</option>'+
        //  '                <option value="10" >  10</option>'+
        //  '                <option value="25" >  25</option>'+
        //  '                <option value="50" >  50</option>'+
        //  '                <option value="100" > 100</option>'+
            '            </select>'+
            '            filas'+
            '        </div>'+
            '    </form>'+
            '</div>';
};