var dont_close_feedback=0;
var dont_close_track=0;
var show_feedback = 0;
var return_grade_div = 0;

function set_grade(book,grade) {
    if($('star_saving_div_'+book) && show_feedback == 0) { // if feedback is 0 only show a text quickly while saving
	$('star_saving_div_'+book).style.display='inline';
    }
    if($('star_saving_div_popup'+book) && show_feedback == 0) { // if feedback is 0 only show a text quickly while saving
	$('star_saving_div_popup'+book).style.display='inline';
    }
    var pars='javascript=yes&id='+book+'&grade='+grade+'&return_grade_div='+return_grade_div;
    
    new Ajax.Request('/book/set_grade.cgi',
		     { method: 'post',
			     parameters: pars,
			     onSuccess: function (transport) { _grade_set_ok(transport,book,grade); }
                     });
    
}


var stars = new Hash();
function mark_grade(book,grade) {
    for(var i=1; i<=grade; i++) {
	var id = 'star_'+book+'_'+i;
	stars.set(id,$(id).src);
	$(id).src = $(id).src.substr(0,$(id).src.lastIndexOf('/')) + '/voteStarOn.png';
    }
    for(var i=grade+1; i<=5; i++) {
	var id = 'star_'+book+'_'+i;
        if($(id)) {
	    stars.set(id,$(id).src);
	    $(id).src = $(id).src.substr(0,$(id).src.lastIndexOf('/')) + '/voteStar.png';
	}
    }
}

function unmark_grade(book) {
    for(var i=1; i<=5; i++) {
	var id = 'star_'+book+'_'+i;
	if(stars.get(id)) {
	    $(id).src = stars.get(id);
	}

    }

}

function response(transport, group, book) {
    var arr = transport.responseText.split(":");
    if (arr[0] == "") {
	$('group_read').innerHTML = '';
    }
    else if (arr[0] == "0") {
	$('group_read').innerHTML = '<div id="group_interest_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'interest\', 1, ' + group + ',0);return false;">Lägg till i hyllan ' + arr[4] + '</a></div>';
    }
    else {
	$('group_read').innerHTML = '<div id="group_interest_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'interest\', 0, ' + group + ',0);return false;">Ta bort från hyllan ' + arr[4] + '</a></div>';
    }

    if (arr[1] == "") {
	$('group_wanted').innerHTML = '';
    }
    else if (arr[1] == "0") {
	$('group_wanted').innerHTML = '<div id="group_wanted_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'wanted\', 1, ' + group + ',0);return false;">Lägg till i hyllan ' + arr[5] + '</a></div>';
    }    
    else {
	$('group_wanted').innerHTML = '<div id="group_wanted_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'wanted\', 0, ' + group + ',0);return false;">Ta bort från hyllan ' + arr[5] + '</a></div>';
    }

    if (arr[2] == "") {
	$('group_consuming').innerHTML = '';
    }
    else if (arr[2] == "0") {
	$('group_consuming').innerHTML = '<div id="group_consuming_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'consuming\', 1,' + group + ',0);return false;">Lägg till i hyllan ' + arr[6] + '</a></div>';
    }
    else {
	$('group_consuming').innerHTML = '<div id="group_consuming_' + book + '"><a href="#" onclick="track_object_group(' + book + ', \'consuming\', 0,' + group + ',0);return false;">Ta bort från hyllan ' + arr[6] + '</a></div>';
    }

    if (arr[3] == "") {
	$('group_bookmark').innerHTML = '';
    }
    else if (arr[3] == "0") {
	$('group_bookmark').innerHTML = '<div id="group_bookmark"><a href="#" onclick="add_bookmark(\'book\', ' + book + ', ' + group + ', \'yes\');return false;",0>Skapa genväg hit i gruppen</a></div>';
    }
    else {
	$('group_bookmark').innerHTML = '<div id="group_bookmark"><a href="#" onclick="delete_bookmark(\'book\', ' + book + ', ' + group + ', \'yes\');return false;",0>Ta bort gruppens genväg hit</a></div>';
    }
}

function track_object(object, type, value) {
	show_info_func = function (transport) { confirm_action(type, object, transport); };
    var pars = 'object=' + object + "&type=" + type + "&value=" + value;
	var myAjax = new Ajax.Request('/book/ajax/save_tracking.cgi',
	                              { method: 'get',
		                            parameters: pars,
	                                onSuccess: show_info_func
	                              });
}

function track_object_group(object, type, value, group, remove) {
    show_info_func = function (transport) { confirm_action('group_' + type, object, transport); };
    var pars = 'object=' + object + "&type=" + type + "&value=" + value + "&group=" + group + "&delete=" + remove;
	var myAjax = new Ajax.Request('/book/ajax/save_tracking.cgi',
	                              { method: 'get',
		                            parameters: pars,
	                                onSuccess: show_info_func
	                              });
}

function confirm_action(type, object, transport) {
    if (transport.responseText == 'ok') {
	   if ($('wanted_' + object + '_confirm')) {
            $('wanted_' + object + '_confirm').style.display='none';
            $('consuming_' + object + '_confirm').style.display='none';
        }
        if ($('group_wanted_' + object + '_confirm')) {
            $('group_wanted_' + object + '_confirm').style.display='none';
            $('group_consuming_' + object + '_confirm').style.display='none';
            $('group_interest_' + object + '_confirm').style.display='none';
        }
        if ($(type+'_' + object + '_confirm')) {
            $(type+'_' + object + '_confirm').style.display='block';
        	setTimeout("$('" + type + "_" + object + "_confirm').style.display='none'",3000);
        	setTimeout("close_feedback_div("+object+")",2500);
        }
        if ($(type+'_'+object)) {
            $(type+'_'+object).style.display='none';
        }
        if (type.match('group_')) {
            $('standard_confirm_'+object).style.display='block';
        	setTimeout("$('standard_confirm_" + object + ").style.display='none'",3000);
        }            
        $('alert_' + object).style.display='block';
    	setTimeout("close_track_div("+object+")",3000);
	}
}


function close_track_div(object) {
    if(dont_close_track) {
	setTimeout("close_track_div("+object+")",200);
	return false;
    }
    if($('alert_'+object)) {
	$('alert_'+object).style.display='none';
    }
}

function close_feedback_div(book) {
    if(dont_close_feedback) {
	setTimeout("close_feedback_div("+book+")",200);
	return false;
    }
    if($('grade_feedback_'+book) && $('grade_feedback_'+book).style.display != 'none') {
	//	$('grade_feedback_'+book).style.display='none';
        new Effect.Fade($('grade_feedback_'+book),{duration:0.5});
    }
    if ($('comment_feedback_'+book) && $('comment_feedback_'+book).style.display != 'none') {
        new Effect.Fade($('comment_feedback_'+book),{duration:0.5});
    }
        
    if($('alert_'+book)) {
        $('alert_'+book).style.display='none';
    }
}

function _grade_set_ok(transport,book,grade) {

    if($('star_saving_div_'+book)) {
	setTimeout("$('star_saving_div_"+book+"').style.display='none'",300);
    }

    if($('grade_feedback_'+book) && show_feedback) {
	$('grade_feedback_'+book).style.display='block';
	setTimeout("close_feedback_div("+book+")",3000);

	if(grade==0) {
	    if($('grade_removed_'+book) && $('grade_changed_'+book)) {
		$('grade_removed_'+book).style.display='inline';
		$('grade_changed_'+book).style.display='none';
	    }
	}
	else {
	    if($('grade_removed_'+book) && $('grade_changed_'+book)) {
		$('grade_removed_'+book).style.display='none';
		$('grade_changed_'+book).style.display='inline';
	    }
	}

    }

    if ($('large_grade_div_'+book)) {
	get_large_grade_div(book);
    }


    if ($('grade_setting_'+book) && $('grade_setting_'+book).style.display=='block') {
	$('grade_setting_'+book).style.display='none';
	$('grade_setting_'+book).innerHTML='';
    }


	if ($('cover_span_' + book)) {
		if (grade > 0) {
//			$('cover_span_' + book).style.color = "#fff";
//			$('cover_span_' + book).style.backgroundColor = "#ff0033";
			$('cover_span_' + book).className = "listGradeSmallRead listGradeTextRead";
		} else {
//			$('cover_span_' + book).style.backgroundColor = "#fff";
//			$('cover_span_' + book).style.color = "#ff0033";
			$('cover_span_' + book).className = "listGradeSmall listGradeText";
		}
		if (grade == 0) {
			$('cover_span_' + book).innerHTML = '?';
		} else {				
			$('cover_span_' + book).innerHTML = grade;
		}
	}


	if (!$('star_'+book+'_1')) {
		return; // Return if no list of stars is available.
	}
	
    for(var i=1; i<=grade; i++) {
	var id = 'star_'+book+'_'+i;
	$(id).src = $(id).src.substr(0,$(id).src.lastIndexOf('/')) + '/voteStarOn.png';
	stars.set(id,$(id).src);
    }
    for(var i=grade+1; i<=5; i++) {
	var id = 'star_'+book+'_'+i;
        if($(id)) {
	    $(id).src = $(id).src.substr(0,$(id).src.lastIndexOf('/')) + '/voteStar.png';
	    stars.set(id,$(id).src);
	}
    }

//    if($('states')) {
//	new Ajax.Request('/member/show_states.cgi',
//			 { method:'post',
//				 onSuccess: function (transport) { _update_states_div(transport); }
//			 });
//  }
    if ($('book_grades')) {
        $('book_grades').innerHTML = transport.responseText;
    }
    if ($('show_list_book_grades_'+book)) {
        $('show_list_book_grades_'+book).innerHTML = transport.responseText;
    }

    if ($('comment_option_'+book)) {
        $('comment_option_'+book).style.display='block';
        if ($('placeholder_' + book)) {
            $('placeholder_'+book).style.display='none';
        }        
    }
    
    if ($('other_grade_show_'+book)) {
        $('other_grade_show_'+book).style.display='none';
    }
    
}

function _update_states_div(transport) {
    var html = transport.responseText;
    if($('states')) {
	$('states').innerHTML=html;

	var x = $('states').getElementsByTagName("script"); 
	for(var i=0;i<x.length;i++)
	    {
		eval(x[i].text);
	    }
    }
}


function add_to_list(object, list) {
    new Ajax.Request('/lists/save_list_admin.cgi',
		     { method: 'post',
			     parameters: 'redir=ajax&action=add_object&object='+object+'&list='+list,
			     onSuccess: function (transport) { _add_to_list_ok(transport,object,list,'activelist'); }
                     });
}    

function add_to_some_list(object, list) {
    if (list.match('remove_grade')) {
        return set_grade(object,0);
    }
    if (list.match('wanted')) {
        return track_object(object, 'wanted', list.match(/\d/));
    }
    if (list.match('consuming')) {
        return track_object(object, 'consuming', list.match(/\d/));
    }
    if (list.match('group')) {
        var group = list.match(/\d+/);
        new Ajax.Request('/groups/ajax/save_book_in_shelf.cgi',
			 { method: 'post',
				 parameters: 'group=' + group + '&book=' + object,
				 onSuccess: function (transport) { _add_to_group_ok(transport,object,group,'somelist'); }
			 });
        return;
    }
    list = list.match(/\d+/);
    if(object > 0 && list > 0) {
	new Ajax.Request('/lists/save_list_admin.cgi',
			 { method: 'post',
				 parameters: 'redir=ajax&action=add_object&object='+object+'&list='+list,
				 onSuccess: function (transport) { _add_to_list_ok(transport,object,list,'somelist'); }
			 });
    }
}    


function _add_to_group_ok(transport,object,group,type) {
 	$('add_to_some_group_feedback_' + object).style.display = 'block';
    $('alert_' + object).style.display='block';
//    $('some_group_shelf_name_' + object).innerHTML = transport.responseText;
    $('group_link_' + object).href='groups/group.cgi?id='+group;
    setTimeout("close_track_div("+object+")",3000);
	setTimeout("$('add_to_some_group_feedback_"+object+"').style.display='none'",4000);
}

function _add_to_list_ok(transport,object,list,type) {
    if(type == 'activelist') {
	$('add_to_list_' + object).innerHTML = "Adderad";
    }
    if(type == 'somelist') {
	$('add_to_some_list_feedback_' + object).style.display = 'block';
    $('alert_' + object).style.display='block';
    $('list_link_' + object).href='lists/list_admin.cgi?list='+list;
    setTimeout("close_track_div("+object+")",3000);
	setTimeout("$('add_to_some_list_feedback_"+object+"').style.display='none'",4000);
    }
    if($('states')) {
	new Ajax.Request('/member/show_states.cgi',
			 { method:'post',
				 onSuccess: function (transport) { _update_states_div(transport); }
			 });
    }
}

function get_grade_setting(book) {
    new Ajax.Request('/book/ajax/get_grade_setting.cgi',
		     { method: 'post',
			     parameters: 'book='+book,
			     onSuccess: function (transport) { _update_grade_setting(transport,book); }
             });
}

function _update_grade_setting(transport, book) {
	$('grade_setting_'+book).style.display="block";
	$('grade_setting_'+book).innerHTML=transport.responseText;
}
             
function get_large_grade_div(book) {
    new Ajax.Request('/book/ajax/get_large_grade_div.cgi',
		     { method: 'post',
			     parameters: 'book='+book,
			     onSuccess: function (transport) { _update_large_grade_div(transport,book); }
             });
}

function _update_large_grade_div(transport, book) {
	$('large_grade_div_'+book).innerHTML=transport.responseText;
}
             
function submit_comment(book) {
    var pars = $('submit_comment_'+book).serialize();
    new Ajax.Request('/book/ajax/submit_comment.cgi',
		     { method: 'post',
			     parameters: pars,
			     onSuccess: function (transport) { _comment_submitted(transport,book); }
             });
}

function submit_comment_and_reload(book) {
    var pars = $('submit_comment_'+book).serialize();
    new Ajax.Request('/book/ajax/submit_comment.cgi',
		     { method: 'post',
			     parameters: pars,
			     onSuccess: function (transport) { reload(); }
             });
}

function submit_inline_comment_and_reload() {
    var pars = $('inline_comment_form').serialize();
    new Ajax.Request('/book/ajax/submit_comment.cgi',
		     { method: 'post',
			     parameters: pars,
			     onSuccess: function (transport) { reload(); }
             });
}

function _comment_submitted(transport,book) {
    if ($('comment_option_'+book)) {
        $('comment_option_'+book).style.display='none';
    }
    if ($('comment_link_'+book)) {
        $('comment_link_'+book).style.display='block';
    }
    if ($('comment_feedback_'+book)) {
        $('alert_' + book).style.display='block';
        $('comment_feedback_'+book).style.display='block';
      	setTimeout("close_feedback_div("+book+")",3000);
    }  

}
    
function reload() {
    window.location.reload();
}