﻿/// <reference path="/advSearch.aspx" />
//список книг
var BookList={
  lastSearch:null //для Cancel при edit
, Author: function(obj){
		BookList.search(obj.innerHTML.replace(/\<BR\>/g,','),'author');
	}
, searchKey: function(ev){
		if(ev && ev.keyCode!=13) return;
		var t=$('#txtSearch');
		t.blur();
		if(t.hasClass('hint')) return;
		var v=t[0].value;
		if(v.length>0) BookList.search(v);
	}
, search: function(value,type,page,node){
		//nodeID указывается при отображении персоналий
		BookList.lastSearch={value:value, type:type};
		if(!node) Tree.unsel();
		var target=(type && type.startWith('alph') && node)?'dvPerson':'tdBody';
		$.ajaX({
			target:{obj:target,img:'#circle'}
			,url:'/BookList.aspx'
			,q:{
				  t: type || 'search'
				, CollID: Main.CollectionID
				, value:value
				, page:page || 1
				,node:node
			}
			,method:'POST'
		});
		return false;
	}
, pg: function(page)
{
		BookList.search(BookList.lastSearch.value, BookList.lastSearch.type, page);
	}
, searchFocus: function(){
		var t=$('#txtSearch');
		if(t.hasClass('hint')) {t[0].value=''; t.removeClass('hint'); }
	}
, searchBlur: function(){
		var t=$('#txtSearch');
		var b=(t[0].value.trim().length==0);
		if(b)	{t[0].value='Название, автор или ключевые слова'; t.addClass('hint');}
	}
, reload: function(){
		if(BookList.lastSearch)
			BookList.search(BookList.lastSearch.value, BookList.lastSearch.type);
		else if(Tree.curNodeID)
			Tree.sel(Tree.curNodeID);
		else
			$load('/news.aspx');
	}
, advSearch: function(){
		$.ajaX({
			target:{obj:'tdBody',img:'#circle'}
			,url:'/advSearch.aspx'
		});
	}
, advSearchGo: function(){
		var s='', v='';
		//collection
		var sel=$e('selAdvSearch').options;
		if(!sel[0].selected)
			for(var i=1;i<sel.length;i++) if (sel[i].selected) s+=','+sel[i].value;
		if(s.length>0)  v+='\fcoll\b'+s.substring(1);
		
		var a=$e('tblAdvSearch').getElementsByTagName("input");
		for(var i=0;i<a.length;i++)
		{
			s=a[i].value.trim();
			if(s.length==0) continue;
			v+='\f'+a[i].name+'\b'+s;
		}
		if(v.length==0) return;
		BookList.search(v.substring(1),'advSearch');
		//frmAdvSearch.
	}
, info: function(id,ev){
				//alert(document.body.offsetHeight);
				//debugger
		var x=ev.clientX, y=ev.clientY;
		var pop=$E('dvInfo');
		var maxX,maxY;
		if(document.all)
			{maxY=document.body.offsetHeight+document.documentElement.scrollTop; maxX=document.body.offsetWidth+document.documentElement.scrollLeft;}
		else
			{maxY=window.innerHeight+window.pageYOffset; maxX=window.innerWidth+window.pageXOffset;}
		if (x+pop.offsetWidth>maxX) x=maxX-pop.offsetWidth-10;
		if (y+pop.offsetHeight>maxY) y=maxY-pop.offsetHeight-10;
		
		pop.html('').setStyle({left:x+'px',top:y+'px'}).reveal();
		$.ajaX({
			url:"/info.aspx"
			,q:{id:id}
			,target:{obj:'dvInfo',img:'#circle'}
		});

	}
, infoClose: function(){
		$e('dvInfo').html('').conceal();
	}
}