// Written by Mike Horn 01/07
function addEvent(obj, evType, fn, useCapture){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, useCapture);
        return true;
    }
    else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    }
    else {
        alert("Handler could not be attached");
    }
}

function getTarget(e) {
	var target = new Array();

	if (window.event && window.event.srcElement)
	{
		target['el'] = window.event.srcElement;
	}
	else if (e && e.target)
	{
		target['el'] = e.target;
	}
	if (!target['el'])
		return false;

	while (target['el'] != document.body && target['el'].nodeName.toLowerCase() != 'a')
		target['el'] = target['el'].parentNode;
	if (target['el'].nodeName.toLowerCase() != 'a')
		return false;

	target['value'] = target['el'].name;
	//var nameSplit = new Array();
	//nameSplit = target['el'].name.split('-');
	return target;
}

function handleHover(e) {
	var target = getTarget(e);
	var percent = target['value'] * 10;
	$('artist-vote').getElementsByTagName('div')[0].style.width = percent + '%';
	document.getElementById('rate_num').value=target['value'];
}

function cancelVote() {
	document.getElementById('rate_num').value=0;
	if (!$('startAddVoteListeners').className) {
		$('artist-vote').getElementsByTagName('div')[0].style.width = $('artist-vote').getElementsByTagName('div')[0].className + "%";
	} else if ($('startAddVoteListeners').className != 'anon') {
		$('artist-vote').getElementsByTagName('div')[0].style.width = $('startAddVoteListeners').className;
	}
}

function handleVote(e) {
	var target = getTarget(e);
	$('artist-vote').getElementsByTagName('div')[0].style.width = $('startAddVoteListeners').className = target['value'] * 10 + "%";
	submitRating(target['value'], e);
	toggleListeners('none');
	return false;
}

function addVoteListeners() {

	if (!document.getElementById) return;

	var all_links = $('artist-vote').getElementsByTagName('a');

	for (var i=0;i<all_links.length; i++) {
		addEvent(all_links[i], 'mouseover', handleHover, false);
		addEvent(all_links[i], 'mouseout', cancelVote, false);
		if ($('startAddVoteListeners').className != 'anon') {
			all_links[i].onclick = handleVote;
		}
	}

}

function submitRating(user_rating, elem){
	
	//creer un appel à un fichier
	//window.alert(item_type);
	//window.alert(item_id);
	//window.alert(user_rating);
	document.getElementById('rate').value=user_rating;
	document.forms['rateform'].submit();
	//window.alert(document.getElementById('rate').value);
	//document.rateform.submit();


}

function resetRating(item_type, item_id){
    $('artist-vote').getElementsByTagName('div')[0].style.width = 0;
	submitRating(item_type, item_id, 0);    
	$('startAddVoteListeners').className = '0';
	toggleListeners('inline');
}

function toggleListeners(state) {
	var all_links = $('artist-vote').getElementsByTagName('a');

	for (var i=0;i<all_links.length; i++) {
		all_links[i].style.display = state;
	}
}

// let's get this party started!
if ($('artist-vote')) {
	addVoteListeners();

	// already voted
	if ($('startAddVoteListeners').className != '' && $('startAddVoteListeners').className != 'anon') {
		toggleListeners('none');
	}
}
