// JavaScript Document
function setGroup(ob){
	if(!ob.value) return;
	
	$('type').innerHTML = '';
	
	new Ajax.Request('/ecat/searchgroup/id/'+ob.value+'/request/ajax',{
   		method:'get',
    	onSuccess: function(transport){
      		var response = transport.responseText || "no response text";
			$el = $('manuf');
			$el.innerHTML = response;
    	},
    	onFailure: function(){ alert('Something went wrong...') }
  	});
}

function setType(ob){
	if(!ob.value) return;
	
	var ecat = $('ecat');
	var id = ecat.value;
	
	if(!id) return;
	
	new Ajax.Request('/ecat/searchtype/id/'+id+'/man/'+ob.value+'/request/ajax',{
   		method:'get',
    	onSuccess: function(transport){
      		var response = transport.responseText || "no response text";
			$el = $('type');
			$el.innerHTML = response;
    	},
    	onFailure: function(){ alert('Something went wrong...') }
  	});
}

function getProducts(ob){
	var filter = ob.value;
	var id = $('ecat').value;
	var man = $('manufacturer').value;
	
	if(!filter || !id || !man) return;
	window.location = "/ecat/search/id/"+id+"/filter/"+filter+"/man/"+man;
}

function text2pass(pass, passcontainer, string){
	var passOb = $(pass);
	var css = passOb.getStyles();
	var passcontainerOb = $(passcontainer);
	if(passOb.value == string){
		passcontainerOb.innerHTML="<input id=\""+pass+"\" name=\"password\" type=\"password\" style=\"width:150px;color:#1B69B3\" maxlength=\"40\" onKeyPress=\"return submitenter(this,event)\"/>" ;
		var passOb = $(pass);
		passOb.setStyle(css);
		passOb.focus();
		passOb.string = string;
		passOb.onblur = function(){
			if(!this.value){
				var css = this.getStyles();
				passcontainerOb.innerHTML="<input id='"+pass+"' type='text' style='width:150px;color:#1B69B3' value='"+this.string+"' onFocus=\"text2pass('"+pass+"','"+passcontainer+"', '"+this.string+"')\">" ;
				$(pass).setStyle(css);
			}
		}
	}

}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}


//news ticker
Effect.Scroll = Class.create();
Object.extend(Object.extend(Effect.Scroll.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    var options = Object.extend({
      x:    0,
      y:    0,
      mode: 'absolute'
    } , arguments[1] || {}  );
    this.start(options);
  },
  setup: function() {
    if (this.options.continuous && !this.element._ext ) {
      this.element.cleanWhitespace();
      this.element._ext=true;
      this.element.appendChild(this.element.firstChild);
    }

    this.originalLeft=this.element.scrollLeft;
    this.originalTop=this.element.scrollTop;

    if(this.options.mode == 'absolute') {
      this.options.x -= this.originalLeft;
      this.options.y -= this.originalTop;
    } else {

    }
  },
  update: function(position) {   
    this.element.scrollLeft = this.options.x * position + this.originalLeft;
    this.element.scrollTop  = this.options.y * position + this.originalTop;
  }
});
function moveTo(container, element){
  Position.prepare();
  container_y = Position.cumulativeOffset($(container))[1];
  element_y = Position.cumulativeOffset($(element))[1];
  new Effect.Scroll(container, {x:0, y:(element_y-container_y)});
  return false;
}
n_curr = 0;
n_pos = 'down';
n_count = 3;
n_last = 0;
n_time = 4;
function scrollNews(){
	if(n_count < 2) return;
	n_last = n_curr;
	
	if(n_pos == 'down'){
		n_curr++;
		if(n_curr == n_count){
			n_pos = 'up';
			n_curr -= 2;
		}
	}else{
		n_curr--;
		if(n_curr < 0){
			n_pos = 'down';
			n_curr += 2;
		}
	}
	if(!$('el'+n_curr)) return;
	
	moveTo('news_ticker', 'el'+n_curr);
}
function n_rollBack(el){
	var eff = Effect.Queues.get('global');
	eff.each(function(effect) { effect.cancel(); });
	n_curr = n_last;
	moveTo('news_ticker', el.id);
}

function n_onRollOver(){
	if(n_count < 2) return;
	pe.stop();
}
function n_onRollOut(){
	if(n_count < 2) return;
	pe = new PeriodicalExecuter(scrollNews, n_time);
}
function init_news_ticker(count, sec){
	n_count = count;
	if(count < 2){
		return;
	}
	n_count = count;
	
	if(sec)
	n_time = sec;
	
	n_onRollOut();
}

