/**
 * **********************************************************************
 * **********************************************************************
 * skan.ch website behavior.
 *
 * @author stefan kloiber, <stk@coma.de>
 * @date 2008-08
 *
 * @version 0.10
 *
 *
 * @tested Firefox 3.0.1, IE 6.0.2, Opera 9.5, Safari 3.1.2 (PC)
 * **********************************************************************
 * **********************************************************************
 */



/* define namespace */
var cm; // declares a global symbol
if (!cm) cm = {};
    else if (typeof cm != 'object')
        throw new Error('cm existiert bereits, ist aber kein objekt!');


/**
 * customized form
 */
cm.cf =
{
   /**
    * customized select form
    */
    select :
    {
        timeoutId : false,

        toggleList : function(ev)
        {
            jQuery('div#lang_selection div.select_btn').addClass('active');
            // toggle
            jQuery('div#lang_select ul').slideToggle(1,function()
            {
                if (jQuery('div#lang_select ul:visible').length > 0)
                {
                    jQuery('div#lang_select').hover(
                    // over
                    function()
                    {
                        if (cm.cf.select.timeoutId !== false)
                        {
                            clearTimeout(cm.cf.select.timeoutId);
                            cm.cf.select.timeoutId = false;
                        }
                    },
                    // out
                    function()
                    {
                        cm.cf.select.timeoutId = setTimeout("jQuery('div#lang_select ul').slideUp(1,function(){jQuery('div#lang_selection div.select_btn').removeClass('active');})", 1000);
                    });

                    // click list element
                    jQuery('div#lang_select ul li a').click(cm.cf.select.changeValue);
                }
            });
        },

        changeValue : function(ev)
        {
            //ev.preventDefault(); // prevents the browser from executing the default action
            jQuery('div#lang_selection div.selected').html(jQuery(this).text());
            jQuery('input#lang_selected_value').val(jQuery(this).text());
            jQuery('div#lang_select ul').slideUp(1,function(){jQuery('div#lang_selection div.select_btn').removeClass('active');});
            clearTimeout(cm.cf.select.timeoutId);
        }
    },

   /**
    * customized search box
    */
    search :
    {
        defaultValue : "Suchbegriff",
        setDefaultValue : function()
        {
            var selectedLang = jQuery('div#lang_selection div.selected').text();
            jQuery.ajax({
                url:'fileadmin/resources/behavior/locallang.xml',
                dataType:'xml',
                success: function(xml) {
                    cm.cf.search.defaultValue = jQuery('T3locallang data languageKey[index=' +selectedLang+ '] label[index=searchValue]',xml).text();
                    jQuery('input#search_input').val(cm.cf.search.defaultValue);
                }
            });
        },
        clearDefault : function()
        {
            if (jQuery(this).val() === cm.cf.search.defaultValue)
            {
                jQuery(this).val('').addClass('active');
            }
            jQuery(this).blur(function(ev)
            {
                if (jQuery(this).val() === "")
                {
                    jQuery(this).val(cm.cf.search.defaultValue).removeClass('active');
                }
            });
        }
    },

   /**
    * initialize customized forms
    */
    init : function()
    {
        jQuery('div#lang_selection div.selected, div#lang_selection div.select_btn').hover
        (
            function(){
                jQuery('div#lang_selection div.select_btn').addClass('hover'); }, 
            function(){
                jQuery('div#lang_selection div.select_btn').removeClass('hover'); }
        );
        jQuery('div#lang_selection div.selected, div#lang_selection div.select_btn').click(this.select.toggleList);
        this.search.setDefaultValue();
        jQuery('input#search_input').focus(cm.cf.search.clearDefault);
        jQuery('div#search_submit').click(function(ev) { jQuery('form#search_form').submit(); });
    }
};


cm.appForm = function() {
	var appAs = jQuery('form#form_offer select#application_as'),
		appFor = jQuery('form#form_offer select#application_for');
	if (appAs.length > 0) {
		// initial on page load
		if (appAs.val() === "Initiativbewerbung") {
			appFor.attr('disabled','');
		}
		// on change
		appAs.change(function(event) {
			if (jQuery(this).val() === "Initiativbewerbung") {
				appFor.attr('disabled','');
			}
			else {
				appFor.attr('disabled','disabled');
			}
		});
	}
}


cm.zebraStripes = function() {
    jQuery('div.tx-indexedsearch-res div:odd').addClass('even');
    jQuery('div.tx-indexedsearch-res div:even').addClass('odd');
    
}


/**
 * things to do when the dom is available
 */
jQuery(document).ready(function()
{
    // avoid the outline that appears around links upon clicking 
    // them and make them active. used for ie.
    jQuery('a').click(function() { this.blur(); });

    // ie 6 css hacks
    jQuery('div#main div.wrapper>h2').css('margin', '0 10px');
    jQuery('div.tx-indexedsearch-browsebox ul.browsebox li:first-child').css('border-left','0 none');

    // initiate customized select box
    cm.cf.init();
	
	// application form behavior
	cm.appForm();

    // zebra stripe the search results
    cm.zebraStripes();
});

