/**
 * Top City Application Framework JavaScript
 *
 * @package Application
 * @category JavaScript
 * @subpackage simple page navgation
 * @author Rick
 * @version $0.3$
 * @copyright 2006-12-13 16:46:38
 */

var SITEURL = "http://www"+domain+"/";
var PageNav = {
	_setting : {'Prefix':'PageNav_','Previous':'<span style=font-size:14px;>&laquo</span>'+getJs(1419),'Next':getJs(1420)+'<span style=font-size:14px;>&raquo;</span>','PageLimit':10,
	'HolderCss':'padding:3px 0px!important;clear:both!important;text-align:right!important;',
	'LinkDefaultCss':'padding:2px 3px!important;margin:0px 0px 0px 4px!important;text-decoration:none!important;border:1px solid #36c!important;',
	'LinkHoverCss':'color:white!important;background-color:#36c!important;border:1px solid blue!important;',
	'LinkNoHoverCss':'color:black!important;background-color:transparent!important;border:none!important;',
	'LinkBCss':'color:#999!important;background-color:transparent!important;border:none!important;font-weight:bolder;padding:0px 3px 0px 7px;',
	'LinkActiveCss':'color:white!important;font-weight:bold!important;background-color:#36f!important;border:1px solid #36c!important;'
	},
	setHolder : function(_holder)
	{	this._setting.HolderCss+=_holder;
	},
	_addClass : function(o)
	{	
		o.removeAttribute('style');

		_prefix = 'div.'+this._setting.Prefix+'Holder';
		css.add(_prefix,this._setting.HolderCss);
		css.add(_prefix+' a ',this._setting.LinkDefaultCss);
		css.add(_prefix+' a:hover ',this._setting.LinkHoverCss);
		css.add(_prefix+' a.Active ',this._setting.LinkActiveCss);
		css.add(_prefix+' a.Active:hover ',this._setting.LinkActiveCss);
		css.add(_prefix+' a.NoHover ',this._setting.LinkNoHoverCss);
		css.add(_prefix+' a.NoHover:hover ',this._setting.LinkNoHoverCss);
		css.add(_prefix+' b ',this._setting.LinkBCss);
	},
	_setBaseLink : function(_baselink)
	{	if (!_baselink || !isNaN(_baselink))
		{	_baselink=window.location.href;	}
		if (_baselink.indexOf('#')>=0){_baselink = _baselink.split('#')[0];}
		//alert(_baselink);
		if (_baselink.indexOf('/Page:')<0)
		{	this._baseLink = _baselink + '/Page:';	}
		else
		{	this._baseLink = SITEURL;
			_search = _baselink.split('/');
			//alert(_search);
			for (i=3;i<_search.length;i++)
			{	if (_search[i].toLowerCase().indexOf('page:')<0 && _search[i].length)
				{	this._baseLink += _search[i] + '/';	}
			}
			this._baseLink += 'Page:';
			//alert(this._baseLink);
		}
	},
	_drawLink : function(_name,_link,_active)
	{	var linktab = makex('a');
		linktab.innerHTML = _name;
		if (_active == true)
		{	linktab.className = 'Active';
			linktab.href = this._baseLink + _name.toString();
		}
		else if (_active == 'NoHover')
		{	linktab.className = 'NoHover';
			linktab.href = this._baseLink + _link.toString();
		}
		else if (_active == 'PreOrNext')
		{
			linktab.href = this._baseLink + _link.toString();
		}
		else
		{	linktab.href = this._baseLink + _name.toString();	}
		//alert(_name);
		addx(this._NavHolder,linktab);
	},
	_drawLine : function(_content)
	{	var linktab = makex('b');
		linktab.innerHTML = _content;
		
		addx(this._NavHolder,linktab);
	},
	_drawTab : function(_index,_total)
	{	start = Math.floor((_index - 1)/this._pageLimit)*this._pageLimit;
		end = Math.min(start+this._pageLimit,_total)+1;
		if(_index > 1)
		{
			this._drawLink(this._setting.Previous,_index-1,'PreOrNext');
		}
		if (_index > this._pageLimit)
		{	this._drawLink(1);
			//this._drawLink(this._setting.Previous,start,'NoHover');
			this._drawLine('&hellip;');
		}
		for (i = start+1; i < end; i++)
		{	this._drawLink(i,i,(i==_index)?true:false);	}
		if (end<_total+1)
		{	//this._drawLink(this._setting.Next,end,'NoHover');
			this._drawLine('&hellip;');
			//this._drawLink(_total);
		}
		if(_index < _total)
		{
			this._drawLink(this._setting.Next,_index+1,'PreOrNext');
		}
		
	},
	drawBox : function(o,_index,_total,_pageLimit,_baselink)
	{	_NavHolder=getx(o);if (!_NavHolder) return;
		if (isNaN(_total) || _total<=1) return;
		if (isNaN(_index) || _index<=1) _index=1;
		else if (_index>_total) _index=1; 
		_NavHolder.className=this._setting.Prefix+'Holder';
		this._addClass(_NavHolder);
		this._NavHolder=_NavHolder;
		this._pageLimit = (isNaN(_pageLimit)||_pageLimit<=1)?this._setting.PageLimit:_pageLimit;
		this._setBaseLink(_baselink);
		this._drawTab(_index,_total);
	}
}
function filter(n,v)
{	this.nav = {'skip':filter.skip||3};
	//var _baseLink=window.location.href.split('?')[0]+'?';
	//_search=window.location.search.substr(1).split('&');
	var _baseLink = SITEURL;
	var pos = _baseLink.length;
	//alert(pos);
	_search=window.location.href.substr(pos).split('/');
	//alert(_search);
	for (var i=0;i<_search.length;i++)
	{	var p=_search[i];
		if(/^View/.test(p)){this.nav.view=p;delete(_search[i]);}
		if(/^Sort/.test(p)){this.nav.sort=p;delete(_search[i]);}
		if(/^By/.test(p)) {this.nav.by=p;delete(_search[i]);}
		if(/^LastName/.test(p)){this.nav.name=p;delete(_search[i]);}
		if(/^Page/i.test(p)){this.nav.page=p;delete(_search[i]);}
	}
	if (n=='View'){this.nav.view=v?n+':'+v:'';}
	else if (n=='By')
	{	if(!v||v!=this.nav.skip)this.nav.name='';
		if(!v){if(this.nav.by)this.nav.sort='';else this.nav.sort=this.nav.sort?'':'Sort:';}
		else{if(n+':'+v==this.nav.by)this.nav.sort=this.nav.sort?'':'Sort:';else this.nav.sort='';}
		this.nav.by=v?n+':'+v:'';
	}
	else if (n=='LastName'){this.nav.name=v?n+':'+v:'';}
	_search.push((this.nav.view||''));
	_search.push((this.nav.sort||''));
	_search.push((this.nav.by||''));
	_search.push((this.nav.name||''));
	_search.push((this.nav.page||''));
	_search=_search.join('/').replace(/[/]+/g,"/").replace(/[/]$/,"");
	window.location=_baseLink+_search+window.location.hash;
}

var FloatHolder={
	_adj:90,
	Run : function(_holder_id,_column_count)
	{	this._holder=getx(_holder_id);if (!this._holder) return;
		var _items=this._holder.getElementsByTagName('dl');
		var _floatnum=_items.length; // must calc here !!!
		for (i=0;i<_floatnum;i++)
		{	var _item=_items[0];
			if (i%_column_count==0){_holder=this._makeHolder();}
			var _img=_item.getElementsByTagName('img')[0];
			if (_img.height!=undefined&&_img.height>0&&_img.height<this._adj)
			{_img.style.marginTop=Math.floor((this._adj-_img.height)/2).toString() + 'px';}
			addx(_holder,_item);
		}
	},
	_makeHolder : function()
	{	var _holder=makex('div');
		_holder.className='clearfix';
		_holder.style.padding='9px 0px';
		addx(this._holder,_holder);
		return _holder;
	},
	adjustone : function(_img,_adj)
	{	var _img=getx(_img).getElementsByTagName('img')[0];
		if (!_img)return;
		_adj=_adj||this._adj;
		if (_img.height!=undefined&&_img.height>0&&_img.height<_adj)_img.style.marginTop=Math.floor((_adj-_img.height)/2).toString() + 'px';
	},
	adjust : function(_holder,force,elm)
	{	if (!getx(_holder))return;
		if (force) var _imgs=getx(_holder).getElementsByTagName('img');
		else var _imgs=getx(_holder).getElementsByTagName(elm||'th');
		for (i=0;i<_imgs.length;i++)
		{	if (force) var _img=_imgs[i];
			else var _img=_imgs[i].getElementsByTagName('img')[0];
			if (_img.height!=undefined&&_img.height>0&&_img.height<this._adj)_img.style.marginTop=Math.floor((this._adj-_img.height)/2).toString() + 'px';
		}
	}
}
