var an_item_ids;
var an_sign_ids;
var an_sign_names;
var an_sign_default;
var an_hsel_id;
var an_next_pos;
var an_play_stat;
var an_mouse_play_stat;
var an_timeout;
var an_time_counter;
var an_time_multiplier;
var an_as_multiplier;
var an_as_counter;
var an_as_id;
var an_as_stat;
var an_signs_link;

function an_start(item_ids, sign_ids, sign_names, hsel_id, sign_def, signs_link)
{
	var stat = an_load_cookie("stat");
	var next = an_load_cookie("next");

	an_time_multiplier    = 30;
	an_time_counter       = an_time_multiplier;
	an_timeout            = 3000;
	an_item_ids           = item_ids;
	an_sign_ids           = sign_ids;
	an_sign_names         = sign_names;
	an_sign_default       = sign_def;
	an_signs_link         = signs_link;
	an_hsel_id            = hsel_id;
	an_mouse_play_stat    = 1;
	an_play_stat          = 1;
	an_next_pos           = 0;
	an_as_multiplier      = 5;
	an_as_counter         = 0;
	an_as_stat            = 0;
	an_as_id              = 0;
	if (next != null) an_next_pos = parseInt(next);
	an_player_play();
	if (stat != null) an_play_stat = parseInt(stat);	
	an_show_player();
	an_show_memory();
}

function an_activate_next()
{
	if (an_next_pos < an_item_ids.length) an_activate(an_item_ids[an_next_pos]);
	else an_activate(an_hsel_id);
	an_save_cookie("next", an_next_pos);
	an_next_pos++;
	if ((an_next_pos > an_item_ids.length) || (!an_hsel_id && (an_next_pos >= an_item_ids.length))) an_next_pos = 0;
}

function an_player_play()
{
	if ((an_play_stat == 1) && (an_mouse_play_stat == 1)) {
		an_time_counter++;
		if (an_time_counter >= an_time_multiplier) {
			an_activate_next();
			an_time_counter = 0;
		}
	}
	if (an_as_stat) {
		an_as_counter++;
		if (an_as_counter >= an_as_multiplier) {
			an_activate(an_as_id);
			an_as_stat = 0;
			an_as_counter = 0;
			an_as_id = 0;
		}
	}
	setTimeout(function(){an_player_play()}, an_timeout/an_time_multiplier);
}

function an_activate_item(item_id)
{
	an_activate(item_id);
	an_time_counter = 0;
	if (item_id == an_hsel_id) an_next_pos = an_sign_ids.length;
	else for(i=0;i<an_sign_ids.length;i++) {
		if (an_item_ids[i] == item_id) an_next_pos = i+1;
	}	
}

function an_activate(item_id)
{
	var i;
	
	for(i=0;i<an_item_ids.length;i++){
		an_hide(an_item_ids[i]);
		an_selector_deactivate(an_item_ids[i]);
	}
	for(i=0;i<an_sign_ids.length;i++){
		an_hide(an_sign_ids[i]);
	}	
	if (an_hsel_id) an_selector_deactivate(an_hsel_id);
	
	if (item_id != an_hsel_id) an_show(item_id);
	else an_show_sign();
	an_selector_activate(item_id);
}

function an_selector_deactivate(item_id)
{
	var element;
	
	element = document.getElementById('active_news_item_selector_'+item_id);
	element.className = "active_news_selector";
	
	element = element.firstChild;
	while (element && (element.nodeType != 1)) element = element.nextSibling;
	element.attributes.getNamedItem("href").value = 'javascript:an_activate_item(\''+item_id+'\')';
}

function an_selector_activate(item_id)
{
	var element;
	var item;
	var links;
	
	for(i=0;i<an_sign_ids.length;i++) if (an_sign_ids[i] == item_id) item_id = 'horoscope';
	element = document.getElementById('active_news_item_selector_'+item_id);
	element.className = "active_news_selector active_news_selector_active";
	
	element = element.firstChild;
	while (element && (element.nodeType != 1)) element = element.nextSibling;	
	
	if (item_id == 'horoscope') {
		element.attributes.getNamedItem("href").value = an_signs_link;
	} else {
		item = document.getElementById('active_news_item_'+item_id);
		if (item) {
			links = item.getElementsByTagName('a');
			if (links[0]) {
				element.attributes.getNamedItem("href").value = links[0].attributes.getNamedItem("href").value;
			}
		}
	}
}

function an_hide(item_id)
{
	var element;
	
	element = document.getElementById('active_news_item_'+item_id);
	element.style.display = "none";
}

function an_show(item_id)
{
	var element;
	
	element = document.getElementById('active_news_item_'+item_id);
	element.style.display = "block";
}

function an_show_sign(sign_id)
{
	an_activate(an_get_sign_id(sign_id));
}

function an_get_sign_id(sign_id)
{
	for(i=0;i<an_sign_names.length;i++) if (an_sign_names[i] == sign_id) return an_sign_ids[i];
	
	var sign = an_load_cookie("sign");
	if (sign != null) for(i=0;i<an_sign_names.length;i++) if (an_sign_names[i] == sign) return an_sign_ids[i];
	
	for(i=0;i<an_sign_names.length;i++) if (an_sign_names[i] == an_sign_default) return an_sign_ids[i];
	
	return an_sign_ids[0];
}

function an_play()
{
	an_play_stat = 1;
	an_show_player();
	an_save_cookie("stat", 1); 
}	

function an_pause()
{
	an_play_stat = 0;
	an_show_player();
	an_save_cookie("stat", 0);
}

function an_mouse_play()
{
	an_mouse_play_stat = 1;
}	

function an_mouse_pause()
{
	an_mouse_play_stat = 0;
}

function an_show_player()
{
	var element;
	
	element = document.getElementById('active_news_play');
	if (an_play_stat) element.style.display = "none"; else element.style.display = "block";
	
	element = document.getElementById('active_news_pause');
	if (an_play_stat) element.style.display = "block"; else element.style.display = "none";
}

function an_sign_memory_remember(sign)
{
	an_save_cookie("sign", sign);
	an_show_memory();
}

function an_sign_memory_forget()
{
	an_save_cookie("sign", '');
	an_show_memory();
}

function an_show_memory()
{
	var element;
	var sign = an_load_cookie("sign");
	
	for(i=0;i<an_sign_names.length;i++) {
		element = document.getElementById('active_news_sign_forget_'+an_sign_names[i]);
		element.style.display = "none";
	
		element = document.getElementById('active_news_sign_remember_'+an_sign_names[i]);
		element.style.display = "block";
	}
	
	if (sign) {
		element = document.getElementById('active_news_sign_forget_'+sign);
		element.style.display = "block";
	
		element = document.getElementById('active_news_sign_remember_'+sign);
		element.style.display = "none";
	}
}

function an_save_cookie(name,value)
{
	var dt=new Date(); 
	dt.setDate(dt.getDate() + 365); 
	document.cookie = name+"="+value+"; expires="+dt.toGMTString()+"; path=/"; 
}

function an_load_cookie(name)
{
	var values = document.cookie.split(';');
	var setting;
	if (values.length) {
		for ( var i in values )	{
			if ((typeof values[i] == 'string') && (values[i].search(name+"=") >= 0)) { 
				setting = values[i];
				setting = setting.substr(setting.indexOf('=') + 1);
				if (setting) return setting;
				else return null;
			} 
		}
		return null;	
	} else {
		return null;	
	}
}

function an_mouse_out(id)
{
	an_as_stat = 0;
	an_as_counter = 0;
	an_as_id = 0;
}

function an_mouse_over(id)
{
	an_as_stat = 1;
	an_as_counter = 0;
	an_as_id = id;
}