﻿function ShowErrorPopup(){
    ShowAlertPopup(null, true);
    return false;
}

function RatingCallBack(rateValue, rateInfo){            
    if(IS_AUTHENTICATED == "OK"){
        Pyco.Mitsubishi4WD.UI.UserStoryView.RateStory(rateValue, rateInfo.storyID, rateInfo.userID, UpdateRatingCallback);        
    }
}

function UpdateRatingCallback(result){
    
    var rateInfoStr = result.value;
    if( rateInfoStr == "IS_OWN_STORY") {
        ChangeError("IS_OWN_STORY");
        ShowErrorPopup();
    }
    else if( rateInfoStr == "NOT_ALLOW") {
        ChangeError("NOT_ALLOW_RATE");
        ShowErrorPopup();
    }
    else {
        var rateInfo = rateInfoStr.split(",");
        $("#runWapper").rate({startValue: rateInfo[0] ,enable: false});
    }
}

function addFavourite(){
    if(IS_AUTHENTICATED == "OK"){
        Pyco.Mitsubishi4WD.UI.UserStoryView.AddFavourite(ONLINE_USER_ID, USER_ID, AddFavouriteCallback);
    }
    else{
        ChangeError("addFavourites");
        ShowErrorPopup();
    }    
    return false;
}

function AddFavouriteCallback(result){
    var res = result.value;
    var $parent = $("a.AddFav").parent();
    $("a.AddFav").remove();
    $parent.append("<a class=\"AddFav\" title=\"Remove from my favourites\" href=\"#\">Remove from my favourites</a>");                
    $("a.AddFav").click(removeFavourite);
}

function removeFavourite(){
    if(IS_AUTHENTICATED == "OK"){

        Pyco.Mitsubishi4WD.UI.UserStoryView.RemoveFavourite(ONLINE_USER_ID, USER_ID, RemoveFavouriteCallback);
    }
    else{
        ChangeError("removeFavourites");
        ShowErrorPopup();
    }    
    
    return false;
}

function RemoveFavouriteCallback(result){
    var res = result.value;
    var $parent = $("a.AddFav").parent();
    $("a.AddFav").remove();
    $parent.append("<a class=\"AddFav\" title=\"Add to favourites\" href=\"#\">Add to favourites</a>");                
    $("a.AddFav").click(addFavourite);
}

function ChangeError(type){
    var string = "";
    $("#loginZoneWapper").show();
    if(type == "rate"){
        string = "You must be logged in to rate a story.";        
    }
    else if(type == "comment") {
        string = "You must be logged in to comment a story.";
    }
    else if(type == "addFavourites"){
        string = "You must be logged in to add to your favourites.";
    }
    else if(type == "removeFavourites"){
        string = "You must be logged in to remove from your favourites.";
    }
    else if(type == "NOT_ALLOW_RATE"){
        string = "You have already rated this story.";        
        $("#loginZoneWapper").hide();
    }
    else if(type == "IS_OWN_STORY"){
        string = "Sorry, you can't rate your own story.";        
        $("#loginZoneWapper").hide();
    }
    else if(type == "stories_pending_approval"){
        string = "Your story is pending for approval.";        
        $("#loginZoneWapper").hide();
    }
    $("#errorMessage").html(string);
    
}

