/**
 * Created by JetBrains PhpStorm.
 * User: Main
 * Date: 6/19/11
 * Time: 2:21 AM
 * To change this template use File | Settings | File Templates.
 */
var currentID;

function ready() {
    $(".content").mouseenter(over);
    $(".content").click(over);
    $(".content").mouseleave(out);
    $("a#mywebsites").fancybox();
    $("a#contact").click(resetContactForm);
    $("a#contact").fancybox({
        'speedIn'        :    300,
        'speedOut'        :    300
    });
    $("#saveForm").click(sendForm);
    setGlobalTimer();
    preloadImages();

}

function over(event) {
    var target = event.target;
    var id = target.id;
    var content = $("#" + id);
    content.addClass("contentSelected");
    hideCursor();
    playSound();
    if (currentID == id) return;
    var desc = $("#" + id + "_desc");
    $("body").stopTime("menu");
    $("body").oneTime(150, "menu", function() {
        currentID = id;
        replaceMsg(desc.html());
        resetGlobalTimer();
    });
}

function clicked(event) {
    var target = event.target;
    var id = target.id;
    var desc = $("#" + id + "_desc");
    $("body").stopTime("menu");
    replaceMsg(desc.html());
    resetGlobalTimer();
}

function out(event) {
    var target = event.target;
    var id = target.id;
    $("#" + id).removeClass("contentSelected");
//    if(currentID==id) currentID="";
    showCursor();
    $("body").stopTime("menu");
    resetGlobalTimer();
}

function replaceMsg(str) {
    var msg = $("#message");
    //if message box already empty, no need to fade out
    var time = (msg.html() != "") ? 200 : 0;
    msg.stop();
    msg.animate({opacity:0}, time, animComplete);
    if ($("#hoverMessage:visible"))
        $("#hoverMessage").fadeOut(500);

    function animComplete() {
        var msg = $("#message");
        msg.html(str);
        msg.animate({opacity:1}, 600);
    }
}

function hideCursor() {
    $("body").addClass("invisibleCursor")
}

function showCursor() {
    $("body").removeClass("invisibleCursor")
}

function setGlobalTimer() {
    var delay = 9;
    $("body").oneTime(delay * 1000, "global", function() {
        console.log("id:" + currentID);
        if (!currentID) return;
        if (currentID == "") return;
        if (currentID == "default") return;
        console.log("continuing");
        currentID = "default";
        var desc = $("#" + currentID + "_desc");
        replaceMsg(desc.html())
    });
}

function resetGlobalTimer() {
    $("body").stopTime("global");
    setGlobalTimer();
}

var ajaxCall;

function sendForm() {
    var firstname = $("input#firstname").val();
    var lastname = $("input#lastname").val();
    var email = $("input#email").val();
    var subject = $("input#subject").val();
    var message = $("textarea#message").val();

    $("label#firstname_error").hide();
    $("label#lastname_error").hide();
    $("label#subject_error").hide();
    $("label#email_error").hide();

    if (firstname == "") {
        $("label#firstname_error").show();
        $("input#firstname").focus();
        return false;
    }

    if (lastname == "") {
        $("label#lastname_error").show();
        $("input#lastname").focus();
        return false;
    }
    if (email == "") {
        $("label#email_error").show();
        $("input#email").focus();
        return false;
    }

    if ((email.indexOf("@") == "-1") || (email.indexOf(".") == "-1")) {
        $("label#email_error").show();
        $("input#email").focus();
        return false;
    }

    if (subject == "") {
        $("label#subject_error").show();
        $("input#subject").focus();
        return false;
    }

    $('#contactus form').hide();
    $('#contactus').append("<div class='preloader'>Please wait..</div>")
            .hide()
            .fadeIn(400);
    try {
        var dataString = 'firstname=' + firstname + '&lastname=' + lastname + '&email=' + email + '&subject=' + subject + '&message=' + message;
        console.log(dataString);
        ajaxCall = $.ajax({
            type: "POST",
            url: "email.php",
            data: dataString,
            success: emailSent
        });
    } catch(err) {
        alert("Error: " + err);
    }
    return false;
}

function emailSent(event) {
    if ($('#contactus .preloader').length != 1) return;
    $('#contactus form').hide();
    $('#contactus .preloader').hide();
    $('#contactus').append("<div class='message'></div>");
    $('#contactus .message').append("<h2>Email Sent!</h2>")
            .append("<p class='thanks'>I'll be in touch with you soon.</p>")
            .hide()
            .fadeIn(500);
}

function resetContactForm() {
    if (ajaxCall)
        ajaxCall.abort();
    $('#contactus form').show();
    $('#contactus .preloader').remove();
    $('#contactus .message').remove();
}

function preloadImages() {
    if (document.images) {
        img1 = new Image();
        img1.src = "images/webOn.gif";
        img1.src = "images/crosshair.png";
        img1.src = "images/ajax-loader.gif";
    }
}


function playSound() {
    getFlashMovie("sound").playSound();
}

function getFlashMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}

