/**
 * @author mathieso
 */

//Time to show dog text in ms.
var TEXT_DELAY = 1500;

//Path from the current page to the Web's root.
//Pages in subdirs can override this value.
var path_to_root = '';

var teaching_dog = [
    'dey_cute.png',
    'nap_101.png',
    'faint.png'
];
var teaching_menu_index = -1;
var research_dog = [
    'what_that.png',
    'me_catch.png',
    'grrr.png',
    'catch_soon.png'
];
var research_menu_index = -1;
var fun_dog = [
    'me_dance.png',
    'wee_hoo.png',
    'feet_flying.png',
    'dancing_queen.png'
];
var fun_menu_index = -1;
//Vars to hold the images to put statements in.
var teaching_statement;
var research_statement;
var fun_statement;
function menu_statement(menu_type) {
    if (animation_running) {
        return;
    }
    animation_running = true;
    var image = $('#'+menu_type+'_statement');
    eval(menu_type+'_menu_index++');
    if ( eval(menu_type+'_menu_index') >= eval(menu_type+'_dog.length') ) {
        eval(menu_type+'_menu_index = 0');
    }
    var image_name = eval(menu_type+'_dog[' + menu_type + '_menu_index]');
    image.attr('src', path_to_root+'images/dog_talk/' + image_name);
    image.fadeIn('medium', function() {
        //Delay for a second.
        image.animate({opacity: 1.0}, TEXT_DELAY, function() {
            image.fadeOut('medium', function() {
                animation_running = false;
            });
        });
    });
}

$(document).ready(function() {
    //Set up the images to put the statements in.
	var header = $('#header');
    dog_statement = $('<img>').attr('id', 'dog_statement').appendTo(header);
    dog_reply = $('<img>').attr('id', 'dog_reply').appendTo(header);
    teaching_statement = $('<img>').attr('id', 'teaching_statement').appendTo(header);
    research_statement = $('<img>').attr('id', 'research_statement').appendTo(header);
    fun_statement = $('<img>').attr('id', 'fun_statement').appendTo(header);
    preload_images();
    $('#dog_look_up').hover(function(){
        dog_look_up_click();
    });
    $('#teaching').hover(function(){
        menu_statement('teaching');
    });
    $('#research').hover(function(){
        menu_statement('research');
    });
    $('#fun').hover(function(){
        menu_statement('fun');
    });
});

function preload_images() {
    var a = teaching_dog.concat(research_dog, fun_dog);
    for ( i in a ) {
        dog_statement.attr('src', path_to_root + 'images/dog_talk/' + a[i]);
    }
    for ( i in sleep_dog_conversations ) {
        dog_statement.attr('src', path_to_root + 'images/dog_talk/' + sleep_dog_conversations[i][0]);
        dog_statement.attr('src', path_to_root + 'images/dog_talk/' + sleep_dog_conversations[i][1]);
    }
}

var sleep_dog_conversations = [
    ['wake_up.png', 'go_away.png'],
    ['we_play.png', 'me_sleep.png'],
    ['roll_in_stink.png', 'grrr.png'],
    ['chase_rabbit.png', 'me_bite.png'],
    ['we_run.png', 'you_go.png']
];

var dog_conversation_index = -1;
var dog_statement, dog_reply;
var animation_running = false;
function dog_look_up_click() {
    if (animation_running) {
        return;
    }
    animation_running = true;
    dog_conversation_index ++;
    if ( dog_conversation_index >= sleep_dog_conversations.length ) {
        dog_conversation_index = 0;
    }
    dog_statement.attr('src', path_to_root + 'images/dog_talk/' + 
        sleep_dog_conversations[dog_conversation_index][0]);
    dog_statement.fadeIn('medium', function() {
        //Delay for a second.
        dog_statement.animate({opacity: 1.0}, TEXT_DELAY, function() {
            dog_statement.fadeOut('medium', function() {
                dog_reply.attr('src', path_to_root + 'images/dog_talk/' + 
                    sleep_dog_conversations[dog_conversation_index][1]);
                dog_reply.fadeIn('medium', function() {
                    dog_reply.animate({opacity: 1.0}, TEXT_DELAY, function() {
                        dog_reply.fadeOut('medium', function() {
                            animation_running = false;
                        })
                    });
                });
            });
        });
    });
}