// JavaScript Document
var avComplete = new Class({
						   
				   options:	{
						myElement:	null,
						minChars:   3,
						container: null,
						width:		0,
						leftPos:	0,
						topPos:		0,
						phpFile:	null
					},
					
					initialize:	function(options){
					this.setOptions(options);	
					if(options['myElement']){
						this.myElement = options['myElement'];
						var r = this.myElement.getCoordinates();
						this.leftPos = r.left;
						this.topPos = r.top + r.height + 10;
						this.width = r.width;
						}
					if(options['minChars']) this.minChars = options['minChars'];
					if(options['phpFile']) this.phpFile = options['phpFile'];
					$(this.options.myElement).addEvent('keyup',this.searcher.bindWithEvent(this));
				
					},
					
					
					
					createContainer: function(){
						
							var el = new Element('div',{
								'styles': {

									'width' : 300,
									'height' : 200,
									'background-color':'#fff',
									'border':'1px solid #eee',
									'line-height':'16px',
									'font-size':'12px',
									'color:':'#333',
									'position':'absolute',
									'left': this.leftPos + "px",
									'top': this.topPos + "px",
									'overflow':'auto'
								},
								'id': 'contentcontainer'
						   })
							if($('contentcontainer') == null){
								el.injectInside(document.body);
								
							}
					},
					
					
					searcher: function(){
						

						var key = this.options.myElement.get('value');
						if(key.length > this.options.minChars){
							
							if($('contentcontainer') == null){
								this.createContainer();
								this.container = $('contentcontainer');
								
							}
						

						$('contentcontainer').addClass('loading');
						
						var req = new Request({ url:this.phpFile+"?keywords="+escape(key)+"&element="+$(this.myElement).get('id'), method:'get',encoding:'utf-8',onComplete:function(responseText){
                        if(responseText == ''){$('contentcontainer').dispose() }else{
                        $('contentcontainer').set('html',responseText); $('contentcontainer').removeClass('loading'); }
						}}).send();
							
						}
					}
					
						
						
})

avComplete.implement(new Options);
avComplete.implement(new Events);