var Azexis = Azexis || {};

var changeImage = function(obj, image) {
	obj.src = image;
}

$(window).load(function() {
	scroll(-1);
});

var tabs = new Array();

var addTab = function(id, content) {
	var tab = new Tab(id, content);
	
	tabs.push(tab);
	
	$("#" + id).click(function(e) {
		e.preventDefault();
		for(var i=0; i<tabs.length; i++) {
			$("#" + tabs[i].id).removeClass('active');			
			$("#" + tabs[i].content).css('display', 'none');
		}
		
		for(var i=0; i<tabs.length; i++) {
			if(tabs[i].id == id) {
				$("#" + tabs[i].id).addClass('active');		
				$("#" + tabs[i].content).css('display', 'block');
				if (window.positionLabels) {
					productsPanel($("#" + tabs[i].content));
				}
			}
		}
	});
}

function Tab(id, content) {
    this.id = id;
    this.content = content;
    
    /*this.getInfo = function() {
       
    };*/
}

/*
	Regions 
*/

var timeoutLimit = 1000;
var regions = new Array();

function Region(name) {
    this.name = name;
    this.timeout = null;
    this.timeout2 = null;
}

regions.push(new Region('RegionList'));
regions.push(new Region('AvailableFromList'));

var toggleRegionList = function(isActive, target, targetBackground, background) {
	var e = document.getElementById(target);
	var e2 = document.getElementById(targetBackground);
	
	var region = getRegion(target);

	if(e) {
		if(region) {
			if(region.timeout) {
				clearTimeout(region.timeout);
			}
			
			if(region.timeout2) {
				clearTimeout(region.timeout2);
			}
	
			if(isActive) {
				e.style.display = 'block';
				
				if(e2) {
					e2.style.backgroundImage = 'none';
				}
			} else {
				region.timeout = setTimeout(function() {
					e.style.display = 'none';
				}, timeoutLimit);
				
				if(e2) {
					if(background) {
						region.timeout2 = setTimeout(function() {
							e2.style.background = 'url(' + background + ')';
						}, timeoutLimit);
					}
				}
			}
		}
	}
}

var setListFocus = function(isHover, target, targetBackground, background) {
	var e = document.getElementById(target);
	var e2 = document.getElementById(targetBackground);
	
	var region = getRegion(target);

	if(e) {
		if(region) {
			if(region.timeout) {
				clearTimeout(region.timeout);
			}
			
			if(region.timeout2) {
				clearTimeout(region.timeout2);
			}
		
			if(!isHover) {
				region.timeout = setTimeout(function() {
					e.style.display = 'none';
				}, timeoutLimit);
				
				if(e2) {
					region.timeout2 = setTimeout(function() {
						e2.style.background = 'url(' + background + ')';
					}, timeoutLimit);
				}
			}
		}
	}
}

var getRegion = function(name) {
	for(var i=0; i<regions.length; i++) {
		if(regions[i].name == name) {
			return regions[i];
		}
	}
	
	return false;
}


/*
	Retailers 
*/

var scroll = function(direction) {
	var mask = $("#RetailerLogosMask");
	var logos = $("#RetailerLogos");

	var leftPosition = (direction > 0) ? 0 : (logos.width() - mask.width()) * direction;

	setTimeout(function() {
		logos.animate({left: leftPosition}, retailers * 2000, null, function() {
			scroll(direction * -1);
		});
	}, 2000);
}

Azexis.events = function() {
    var events = {};
    
    return {
        bind: function(name, fn) {
            events[name] = events[name] || [];
            events[name].push(fn);
        },
        trigger: function(name, obj) {
            if (!events[name]) return;
            jQuery.each(events[name], function(i, fn) { fn(obj || {}); });
        },
        unbind: function(name, fn) {
            if (!events[name]) return;
            events[name] = jQuery.grep(events[name], function(n) { return n != fn; });
        }
    };
};

