var Incrementor = {
	'elements':[],
	'incrementValue':1,
	add:function( elementID, options ) {
		if( typeof( options ) == 'undefined' ) {
			options = {};
		}
		
		if( !options.allowNegative ) {
			options.allowNegative = 'no';
		}
		
		var el = {
			'manager':this,
			'id':elementID,
			'sourceEL':false,
			'options':options,
			init:function() {
				this.sourceEl = $(this.id);
				if( !this.sourceEl ) {
					return false;
				}
				
				this.sourceEl.insert( 
					{
						before: new Element( 
							'img', 
							{ 
								src:'/EVE_Online_Tools/img/increment_left.png', 
								onclick:'Incrementor.decrease(\''+this.id+'\')', 
								class:'IncrementControl' 
							} 
						) 
					} 
				);
				this.sourceEl.insert( 
					{
						after: new Element( 
							'img', 
							{ 
								src:'/EVE_Online_Tools/img/increment_right.png', 
								onclick:'Incrementor.increase(\''+this.id+'\')', 
								class:'IncrementControl' 
							} 
						) 
					} 
				);
			},
			increase:function()
			{
				this.sourceEl.value = Number( this.sourceEl.value ) + this.manager.incrementValue;
			},
			decrease:function()
			{
				this.sourceEl.value = Number( this.sourceEl.value ) - this.manager.incrementValue;
				if( this.options.allowNegative == 'no' && this.sourceEl.value < 0 ) {
					this.sourceEl.value = 0;
				}
			},
		};
		
		this.elements.push( el );
	},
	increase:function( elementID ) {
		var el = this.get( elementID );
		if( !el ) {
			return false;
		}
		
		el.increase();
	},
	decrease:function( elementID ) {
		var el = this.get( elementID );
		if( !el ) {
			return false;
		}
		
		el.decrease();
	},
	get:function( elementID )
	{
		for( var i=0; i < this.elements.length; i++ ) {
			if( this.elements[i].id == elementID ) {
				return this.elements[i];
			}
		}
		
		return false;
	},
	init:function() {
		for( var i=0; i < this.elements.length; i++ ) {
			this.elements[i].init();
		}
	}
};

function toggle( elID )
{
	var element = document.getElementById( elID );
	if( element.style.display == 'none' ) {
		element.style.display = 'block';
	} else {
		element.style.display = 'none';
	}
}

function toggleBlock( elID )
{
	toggle( elID );
}

function selectAll( fieldname )
{
	var els = document.getElementsByTagName( 'input' );
	for( var i=0; i < els.length; i++ ) {
		var el = els.item(i);
		if( el.getAttribute('name') == fieldname ) {
			el.checked = true;
		}
	}
}

function deselectAll( fieldname )
{
	var els = document.getElementsByTagName( 'input' );
	for( var i=0; i < els.length; i++ ) {
		var el = els.item(i);
		if( el.getAttribute('name') == fieldname ) {
			el.checked = false;
		}
	}
}

function initUI()
{
	Incrementor.init();
}

