function listingSelPage(ins,name,num)
{
	if (num.className.indexOf('selected')>-1) return;
	var len = $(ins+name+'_listing').getElementsByTagName('DIV').length;
	for(var i=1;i<len;i++)
	{
        var el = $(ins+name+'_listing_page_'+i);
        if (el)
        {
            el.style.display = 'none';
           	var inp = el.getElementsByTagName('INPUT');
	        var ln = inp.length;
	        for(var j=0;j<ln;j++) if (inp[j].type=='checkbox') inp[j].checked = false;
        }
	}
	el = $(ins+name+'_listing_chooser').getElementsByTagName('SPAN');
	len = el.length;
	for(var i=0;i<len;i++) el[i].className = 'listing_item';
	num.className += ' selected';
	var n = stripTags(num.innerHTML);
	window.coo.set('listing_'+name+'_page', n, '/');
	var sel = $(ins+name+'_listing_page_'+n);
	sel.style.display = 'block';
	if (!sel.innerHTML) sel.innerHTML = lang.load;
	var cb_all = $(ins+name+'_ch_select_all');
	if (cb_all) cb_all.checked = false;
	windowsLineUp();
	if(mWheel) mWheel.unreg();
}

function listingRowCount(ins,name,el,event)
{
	event = event ? event : window.event;
	if (el && event && event.keyCode!=13) return;
	if (!el) el = $(ins+name+'_listing_cnt');
	var v = parseInt(el.value);
	if (v+''=='NaN' || v<1)
	{
	    el.value = '';
	    el.focus();
	    return;
	}
	window.coo.set('listing_'+name, v, '/');
	loadWindow(ins);
}

function listingSelectAll(ins,name,el)
{
	var d = listingSelectedPage(ins,name);
	if (!d) return;
	var inp = d.getElementsByTagName('INPUT');
	var len = inp.length;
	for(var i=0;i<len;i++) if (inp[i].type=='checkbox') inp[i].checked = el.checked;
}

function listingSelectedCheckboxes(ins,name)
{
	var d = listingSelectedPage(ins,name);
	if (!d) return;
	var inp = d.getElementsByTagName('INPUT');
	var len = inp.length, r = [];
	for(var i=0;i<len;i++) if (inp[i].type=='checkbox' && inp[i].checked) r.push(inp[i].name);
	return r;
}

function listingSelectedPage(ins,name)
{
	var div = $(ins+name+'_listing').getElementsByTagName('DIV');
	var len = div.length, d = false;
	for(var i=0;i<len;i++)
	{
		if (!div[i].id) continue;
		if (div[i].id.indexOf('_listing_page_')<0) continue;
		if (div[i].style.display=='none') continue;
        d = div[i];
        break;
	}
	return d;
}

function listingOverload(ins,name)
{
    (new CAjax(true)).req('/overload/lst/'+name+'/'+inst(ins),function(q){
    	var n = q.selectNodes('lst/value');
    	var len = n.length;
    	for(var i=0;i<len;i++)
    	{
    		var p = $(ins+name+'_listing_page_'+n[i].getAttribute('page'));
    		if (p) p.innerHTML = xText(n[i]);
    	}
    	windowsLineUp();
    });
}

function listingNext(ins,num,next,wheel)
{
    var el1 = $(ins+'itemgroup_'+num);
    if(!el1) return;
    num = next ? num-0+1 : num-1;
    if(num<1) return;
    if(num>listingLastNum(ins, el1.parentNode || el1.parentElement || el1.parent)) return;
    el1.style.display = 'none';
    var el2 = $(ins+'itemgroup_'+num);
    if(!el2)
    {
        var h = $(ins+'itemgroup_2').getElementsByTagName('SPAN');
        var len = h.length;
        var e = [];
        for(var i=0;i<len;i++) if (parseInt(h[i].innerHTML)>0) e.push(h[i]);
        len = e.length;
        h = len*(num-2);

        var f;
        el2 = document.createElement('DIV');
        el2.id = ins+'itemgroup_'+num;
        if(mWheel)
        {
            el2.onmouseover = function(event){mWheel.reg(this,function(el,d){listingNext(ins,num,d>0?true:false,true)})};
            el2.onmouseout = function(event){mWheel.unreg()};
        }
        f = document.createElement('SPAN');
        f.style.cursor = 'pointer';
        f.onclick = function(event){listingNext(ins,num,false)};
        f.innerHTML = '←';
        el2.appendChild(f);
        f = document.createElement('SPAN');
        f.innerHTML = ' ';
        el2.appendChild(f);

        for(var i=0;i<len;i++)
        {
            f = document.createElement('SPAN');
            f.className = 'listing_item';
            f.innerHTML = parseInt(e[i].innerHTML)+h;
            f.onclick = e[i].onclick;
            el2.appendChild(f);
        }

        f = document.createElement('SPAN');
        f.innerHTML = ' ';
        el2.appendChild(f);

        f = document.createElement('SPAN');
        f.style.cursor = 'pointer';
        f.onclick = function(event){listingNext(ins,num,true)};
        f.innerHTML = '→';
        el2.appendChild(f);

        h = el1.parentNode || el1.parentElement || el1.parent;
        h.appendChild(el2);
    }
    else
    {
        el2.style.display = 'block';
    }
    if(wheel)
    {
        var el = el1.parentNode || el1.parentElement || el1.parent;
        var e = el.getElementsByTagName('DIV');
        var len = e.length;
        for(var i=0;i<len;i++)
        {
            if(e[i].id!=el2.id)	e[i].style.display = 'none';
        }
        if(document.all && !window.opera) el2 = $(ins+'itemgroup_'+num);
        mWheel.reg(el2,function(el,d){listingNext(ins,num,d>0?true:false,true)});
        if(document.all && !window.opera) mWheel.ieJust = true;
    }
}

function listingFirst(ins,name)
{
    var el = $(ins+name+'_listing_chooser');
    var e = el.getElementsByTagName('DIV');
    var len = e.length,n;
    for(var i=0;i<len;i++)
    {
    	n = e[i].id.replace(ins+'itemgroup_','');
    	e[i].style.display = n==1 ? 'block' : 'none';
    }
}

function listingLast(ins,name)
{
    var el = $(ins+name+'_listing_chooser');
    var e = el.getElementsByTagName('DIV');
    var len = e.length,m = 0,n;
    for(var i=0;i<len;i++)
    {
    	n = parseInt(e[i].id.replace(ins+'itemgroup_',''));
    	if (m<n) m = n;
    	e[i].style.display = 'none';
    }
    $(ins+'itemgroup_'+m).style.display = 'block';
}

function listingLastNum(ins,el)
{
    var e = el.getElementsByTagName('DIV');
    var len = e.length,m = 0,n;
    for(var i=0;i<len;i++)
    {
    	n = parseInt(e[i].id.replace(ins+'itemgroup_',''));
    	if (m<n) m = n;
    }
    return m;
}

