/*
 * JavaScript definitions for Wutoeschingen's wes_assistant
 * tx.wesassistant.js
 *
 * Version 1.0.0
 * Copyright (C) Weber eBusiness Services
 * http://www.weber-ebusiness.de
 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * C H A N G E L O G (add changes to top of list)
 *
 *  1.0.0 2010-05-06 Andre Simmert
 *
 *    - Initial Release
 */

var langOneKeyword = "Bitte nur EIN Stichwort eingeben.";
var langMinChars = "Bitte min. 4 Zeichen eingeben.";
var langSearching = "Ich suche…";

jQuery.noConflict();

jQuery(document).ready(function(){

    var minKeywordLength = 4;

    var enterKeyword = jQuery(".tx_wesassistant .searchForm .keyword").attr("value");
    var enterFeedback = jQuery(".tx_wesassistant .feedbackForm .text").attr("value");

    // Toggle default search phrase in search form
    jQuery(".tx_wesassistant .searchForm .keyword").focus(function(){
        showTyping();
        if (jQuery(this).attr("value") == enterKeyword) {
            jQuery(this).attr("value", "");
        }
    }).blur(function() {
        clearStatus();
        if (!jQuery(this).attr("value")) {
            jQuery(this).attr("value", enterKeyword);
        }
    });

    // Toggle default search phrase in feedback form
    jQuery(".tx_wesassistant .feedbackForm .text").focus(function(){
        if (jQuery(this).attr("value") == enterFeedback) {
            jQuery(this).attr("value", "");
        }
    }).blur(function() {
        if (!jQuery(this).attr("value")) {
            jQuery(this).attr("value", enterFeedback);
        }
    });

    // Do not allow spaces in the keyword
    jQuery(".tx_wesassistant .searchForm .keyword").keypress(function(event) {
        hideError();
        code = (event.keyCode ? event.keyCode : event.which);
        if (code == '32') {
            showError(langOneKeyword);
            return false;
        }
    });
    
    // Only keywords longer than 3 chars are allowed
    jQuery(".tx_wesassistant .searchForm").submit(function(event) {
        keyword = jQuery(this).children(".keyword").attr("value");
        if (keyword == enterKeyword || keyword.length < minKeywordLength) {
            showError(langMinChars);
            return false;
        } else {
            showSearching();
        }
    });

    // Toogle overly bubble
    jQuery(".tx_wesassistant a.hideResult").click(function(){
        jQuery(".tx_wesassistant .content_result_container").hide();
        return false;
    });
    
    jQuery(".tx_wesassistant a.showResult").click(function(){
        jQuery(".tx_wesassistant .content_result_container").show();
        return false;
    });
});



function clearStatus()
{
    hideTyping();
    hideError();
}


function showSearching()
{
    jQuery("#body .tx_wesassistant").css("background", "none");
    jQuery("#body .tx_wesassistant .searchForm .submit").val("").addClass("submit_loading");
}


function showError(message)
{
    jQuery("#body .tx_wesassistant .searchForm .keyword").addClass("error");
    showMessage(message);
}


function hideError(message)
{
    jQuery("#body .tx_wesassistant .searchForm .keyword").removeClass("error");
    hideMessage(message);
}


function showMessage(message)
{
    jQuery("#body .tx_wesassistant p.error").fadeOut("medium", function() {
        jQuery(this).text(message).fadeIn();
    });
}


function hideMessage()
{
    jQuery("#body .tx_wesassistant p.error").fadeOut();
}


function showTyping()
{
    jQuery("#body .tx_wesassistant .avatar_container .avatar_typing").fadeIn();
}


function hideTyping()
{
    jQuery("#body .tx_wesassistant .avatar_container .avatar_typing").fadeOut();
}

