/**
 * goldmarie Namensraum
 */
var goldmarie = {};

/**
 *
 */
goldmarie.base = {};

/**
 *
 */
goldmarie.base.decorateAjaxElements = function () {
    $('.content-ajax-request').mouseover(function () {
        $(this).addClass('content-ajax-request-hover');
    }).mouseout(function () {
        $(this).removeClass('content-ajax-request-hover');
    });
};

goldmarie.base.registerAjaxEvents = function () {
    $('#ecology_more').click(function () {
        $.ajax({
            url: 'Ajax.php',
            data: {'action': 'ecology_more'},
            success: function(data) {
                $('#content').animate({
                    opacity: 0
                }, 500 );

                setTimeout(function() {
                    $('#content').html(data);
                    $('#content').animate({
                        opacity: 1
                    }, 500 );
                }, 600);
            }
        });
    })
}

/**
 *
 */
goldmarie.navigation = {};

/**
 *
 */
goldmarie.navigation.activateMouseoverNavButtons = function () {
    var el = $([]).add('#n-call-back span').add('#n-contact span').add('#n-feedback span');
	goldmarie.helper.activateMouseoverMouseout(el, 'white');
};

/**
 * leistung
 */

goldmarie.offerings = {};

goldmarie.offerings.prepare = function () {
	var diagSel = "#dialog-offering",
	el = $([]).add(".show-more-leistung").add(".show-more-leistung-sep");
	goldmarie.helper.activateMouseoverMouseout(el, 'gold');
	
	$(".show-more-leistung, .show-more-leistung-sep").mouseover(function () {
        $(this).css('cursor', 'pointer');
    }).mouseout(function () {
        $(this).css('cursor', 'default');
    });
	
	var offeringDialog = $(diagSel).dialog({
        title: 'dummy',
        height: "auto",
        width: 480,
        autoOpen: false,
        resizable: false,
        modal: true

    });
	
	var buildPrice = function (v) {
		if (v.match(/ab/)) {
			var result = "<span style='font-size:11px;font-weight:normal;'>";
			var split = v.split(" ");
			for (i = 0; i < split.length - 1; i++) {
				result = result + split[i] + " ";
			}
			result = result + "</span> " + split[split.length - 1];
			return result;
		}
		return v;
	};
	
	$('td.show-more-leistung').click(function () {
		var tdid = $(this).attr('id');
		
		// Content löschen
		$(".dialog-offering-table").html("");
		
		$(diagSel).dialog('option', 'title', $.resources.offering.headline[tdid]);
		$(diagSel + " .dialog-offering-text").text($.resources.offering.text[tdid]);
		
		$("<tr/>")
			.append(
				$("<td/>").addClass("dialog-offering-content").html($.resources.offering.content[tdid])
			).append(
				$("<td/>").addClass("dialog-offering-price").html( 
					$("<span/>").addClass("price").html(buildPrice($.resources.offering.price[tdid]) + " &euro;")
				).append(
					"<br />zzgl. 19% MwSt."
				)
			).appendTo(".dialog-offering-table");
		
		$(diagSel).dialog("open");
		
	});
	
	$('td.show-more-leistung-sep').click(function () {
		var tdid = $(this).attr('id');
		
		// Content löschen
		$(".dialog-offering-table").html("");
		
		$(diagSel).dialog('option', 'title', $.resources.offering.headline[tdid]);
		$(diagSel + " .dialog-offering-text").text($.resources.offering.text[tdid]);
		
		$($.resources.offering.content[tdid]).each(function(i, v) {
			$("<tr/>")
				.append(
					$("<td/>").addClass("dialog-offering-content").html(v)
				).append(
					$("<td/>").addClass("dialog-offering-price").html( 
						$("<span/>").addClass("price").html(buildPrice($.resources.offering.price[tdid][i]) + " &euro;")
					).append(
						"<br />zzgl. 19% MwSt."
					)
				).appendTo(
					".dialog-offering-table"
				).addClass("dialog-offering-table-tr-sep");
		});
		
		$(".dialog-offering-table-tr-sep:last").removeClass("dialog-offering-table-tr-sep");
		
		$(diagSel).dialog("open");
	});
};

/**
 *
 */
goldmarie.dialog = {};

/**
 *
 */
goldmarie.dialog.prepare = function () {
    var	tips = $('.dialog-info').hide();

    var	name = $("#name");
    var contact = $("#contact");
    var comment = $("#comment");
    var inputFields = $([]).add(name).add(contact).add(comment).addClass('ui-corner-all-small');

    var callback = false;
    var emailback = false;
    var feedback = false;

    var send = function () {
        var contactValid = true;
        var action = null;
        tips.val("");
        inputFields.removeClass('error-input').addClass('ui-widget-content');
        contactValid = contactValid &&
                       goldmarie.dialog.checkLength(name, 'Name', 1, 60, tips) &&
                       goldmarie.dialog.checkRegexp(name, /^([a-zäüöß ])+$/i, tips,
                           'Das Feld Name enthält ungültige Zeichen.');
        if (emailback) {
            contactValid = contactValid &&
                           goldmarie.dialog.checkRegexp(contact, /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i,
                               tips, 'Bitte geben Sie eine gültige E-Mail-Adresse an.');
        } else if (feedback) {
            contactValid = contactValid &&
                           goldmarie.dialog.checkRegexp(contact, /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i,
                               tips, 'Bitte geben Sie eine gültige E-Mail-Adresse an.') &&
                           goldmarie.dialog.checkLength(comment, 'Kommentar', 3, 1000, tips);

        } else {
            contactValid = contactValid &&
                           goldmarie.dialog.checkRegexp(contact, /^[\d\/\\\s+-]+$/,
                               tips, 'Bitte geben Sie eine gültige Telefonnummer an.');
        }
        if(contactValid) {
            tips.slideUp(250);

            if (callback) {
                action = 'callback';
            } else if (emailback) {
                action = 'emailback';
            } else { // feedback
                action = 'feedback';
            }

            $.ajax({
                url: 'Ajax.php',
                data: {
                    'action': action,
                    'name': $('#name').val(),
                    'contact': $('#contact').val(),
                    'comment': $('#comment').val()
                },
                dataType: 'json',
                beforeSend: function(XMLHttpRequest) {
                    $('.ui-dialog-buttonpane .ui-button').addClass('invisible');
                    $("<img src='img/ui-anim_basic_16x16.gif' style='padding:14px 0 0 1em' />").insertAfter('.ui-dialog-buttonpane .ui-button:last');
                },
                success: function(data, textStatus, XMLHttpRequest) {
                    var message = data.message;
                    goldmarie.dialog.addMsgToForm(tips, message);
                    if (data.success) {
                        $("#dialog-form").dialog("option", "buttons", {
                            "Schließen": function() {
                                closeDialog();
                            }
                        });
                    } else {
                        resetButtons();
                    }
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    goldmarie.dialog.addMsgToForm(tips, "Ein unerwarteter Fehler ist aufgetreten: " + errorThrown);
                    $("#dialog-form").dialog("option", "buttons", {
                        "Schließen": function() {
                            closeDialog();
                        }
                    });
                }
            });
        } else {
            $('.ui-dialog button').removeClass('ui-state-focus');
        }
    }

    var closeDialog = function () {
        $("#dialog-form").dialog("close");
        goldmarie.dialog.reset(tips, inputFields);
        callback = false; emailback = false; feedback = false;
        resetButtons();
    };

    var resetButtons = function () {
        $("#dialog-form").dialog("option", "buttons", {
            "Absenden": send,
            "Abbrechen": function() {
                closeDialog();
            }
        });
    };

    $("#dialog-form").dialog({
        title: 'dummy',
        height: 347,
        width: 430,
        autoOpen: false,
        resizable: false,
        modal: true,
        buttons: {
            'Absenden': send,
            'Abbrechen': function() {
                closeDialog();
            }
        },
        close: function() {
            goldmarie.dialog.reset(tips, inputFields);
            callback = false; emailback = false; feedback = false;
        }
    });

    // Fürn Reload
    closeDialog();

    /*
     * User clicks 'call us' button.
     */
    $('#n-call-back').click(function() {
        callback = true;
        $('label[for=contact]').text('Telefonnummer');
        $('label[for=comment]').text('Mein Anliegen');
        $('#dialog-form').dialog('option', 'title', 'Wir hängen uns schleunigst an die Strippe.');
        $('#dialog-form').dialog('open');
        $('#name').focus();
    });

    /*
     * User clicks 'send mail' button.
     */
    $('#n-contact').click(function() {
        emailback = true;
        $('label[for=contact]').text('E-Mail-Adresse');
        $('label[for=comment]').text('Mein Anliegen');
        $('#dialog-form').dialog('option', 'title', 'Geschwind hauen wir in die Tasten und melden uns zurück.');
        $('#dialog-form').dialog('open');
        $('#name').focus();
    });

    /*
     * User clicks 'feedback' button.
     */
    $('#n-feedback').click(function() {
        feedback = true;
        $('label[for=contact]').text('E-Mail-Adresse');
        $('label[for=comment]').text('Mein Loblied / Meine Schelte');
        $('#dialog-form').dialog('option', 'title', 'Tosender Applaus oder Tomaten?');
        $('#dialog-form').dialog('open');
        $('#name').focus();
    });

    $("#dialog-impressum").dialog({
        title: 'Impressum',
        width: 734,
        autoOpen: false,
        resizable: false,
        modal: true,
        buttons: {
            'Schließen': function() {
                $(this).dialog('close');
            }
        }
    });

    $("#dialog-impressum").html($.resources.about);

    $("#link-impressum").click(function ()  {
        $("#dialog-impressum").dialog("open");
        return false;
    });

    $("#dialog-haftungsausschluss").dialog({
        title: 'Haftungsausschluss (Disclaimer)',
        width: 734,
        autoOpen: false,
        resizable: false,
        modal: true,
        buttons: {
            'Schließen': function() {
                $(this).dialog('close');
            }
        }
    });

    $("#dialog-haftungsausschluss").html($.resources.disclaimer);

    $("#link-haftungsausschluss").click(function ()  {
        $("#dialog-haftungsausschluss").dialog("open");
        return false;
    });

    // Nur, wenn wir uns auf der startseite befinden...
    if ($("#index")[0]) {
        goldmarie.dialog.index.prepare();
    }

    // Nur, wenn wir uns auf Naturtalente befinden...
    if ($("#naturtalente")[0]) {
        goldmarie.dialog.order.prepare();
    }
};

goldmarie.dialog.index = {};
goldmarie.dialog.index.prepare = function () {
	$("#goldmarie-bl, #naturtalente-button").mouseover(function () {
        $(this).css('cursor', 'pointer');
    }).mouseout(function () {
        $(this).css('cursor', 'default');
    });
	
	$("#goldmarie-bl, #home-button").click(function () {
        window.location.href = $("a[href='goldstuecke.html']").attr("href");
    });
	
    // $("#naturtalente-button").click(function () {
    //     window.location.href = $("a[href='naturtalente.html']").attr("href");
    // });
};

goldmarie.dialog.order = {};
goldmarie.dialog.order.prepare = function () {

    var	tips = $('.order-info').hide();

    var	vorname = $("#order-vorname");
    var nachname = $("#order-nachname");
    var adresse = $("#order-adresse");
    var adresszusatz = $("#order-adresszusatz");
    var plzort = $("#order-plz-ort");
    var email = $("#order-email");
    var emailwiederholung = $("#order-email-wiederholung");
    var inputFields = $([]).add(vorname).add(nachname).add(adresse)
                           .add(adresszusatz).add(plzort).add(email)
                           .add(emailwiederholung).addClass('ui-corner-all-small');

    var resetOrderForm = function () {
        inputFields.val('');
        goldmarie.dialog.order.setSelects(0);
        $("#t-shirt-preview").attr('src', 'img/shirt_mann_schwarz.png');
        inputFields.removeClass('error-input').addClass('ui-widget-content');
        tips.text('').hide();
        $('.ui-dialog button').removeClass('ui-state-focus');
        $("#order-form").dialog("option", "buttons", {
            'Absenden': send,
            'Schließen': function(){
                $(this).dialog('close');
                resetOrderForm();
            }
        });
    };

    var resetButtons = function () {
        $("#order-form").dialog("option", "buttons", {
            'Absenden': send,
            'Schließen': function(){
                $(this).dialog('close');
                resetOrderForm();
            }
        });
    }

    var send = function () {
        var allValid = true;
        tips.val("");
        inputFields.removeClass('error-input').addClass('ui-widget-content');
        allValid = allValid && goldmarie.dialog.checkLength(vorname, 'Vorname', 3, 30, tips)
                            && goldmarie.dialog.checkRegexp(vorname, /^([a-zäüöß ])+$/i, tips, 'Das Feld Vorname enthält ungültige Zeichen.');
        allValid = allValid && goldmarie.dialog.checkLength(nachname, 'Nachname', 3, 30, tips)
                            && goldmarie.dialog.checkRegexp(nachname, /^([a-zäüöß ])+$/i, tips, 'Das Feld Nachname enthält ungültige Zeichen.');
        allValid = allValid && goldmarie.dialog.checkLength(adresse, 'Adresse', 3, 60, tips)
                            && goldmarie.dialog.checkRegexp(adresse, /^([a-zäüöß0-9 ])+$/i, tips, 'Das Feld Adresse enthält ungültige Zeichen.');
        allValid = allValid && goldmarie.dialog.checkLength(adresszusatz, 'Adresszusatz', 0, 60, tips);
        allValid = allValid && goldmarie.dialog.checkLength(plzort, 'Postleitzahl, Ort', 9, 60, tips)
                            && goldmarie.dialog.checkRegexp(plzort, /^\d{5}([,.\/\-:\s])+([a-zäüöß ])+$/i, tips, 'Das Feld Postleitzahl, Ort enthält ungültige Zeichen.');
        allValid = allValid && goldmarie.dialog.checkRegexp(email, /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i, tips, 'Bitte geben Sie eine gültige E-Mail-Adresse an.');
        allValid = allValid && goldmarie.dialog.checkEquality(email, emailwiederholung, tips, "Bitte geben Sie zwei identische E-Mail-Adressen an.");

        if (allValid) {
            tips.slideUp(250);

            $.ajax({
                url: 'Ajax.php',
                data: {
                    'action': 'order',
                    'vorname': vorname.val(),
                    'nachname': nachname.val(),
                    'adresse': adresse.val(),
                    'adresszusatz': adresszusatz.val(),
                    'plzort': plzort.val(),
                    'email': email.val(),
                    'emailwiederholung': emailwiederholung.val(),
                    'geschlecht': $('select#order-geschlecht option:selected').text(),
                    'farbe': $('select#order-farbe option:selected').text(),
                    'motiv': $('select#order-motiv option:selected').text(),
                    'motivfarbe': $('select#order-motiv-farbe option:selected').text(),
                    'groesse': $('select#order-groesse option:selected').text(),
                    'anzahl': $('select#order-anzahl option:selected').text()
                },
                dataType: 'json',
                beforeSend: function(XMLHttpRequest) {
                    $('.ui-dialog-buttonpane .ui-button').addClass('invisible');
                    $("<img src='img/ui-anim_basic_16x16.gif' style='padding:14px 0 0 1em' />").insertAfter('.ui-dialog-buttonpane .ui-button:last');
                },
                success: function(data, textStatus, XMLHttpRequest) {
                    var message = data.message;
                    goldmarie.dialog.addMsgToForm(tips, message);
                    if (data.success) {
                        $("#order-form").dialog("option", "buttons", {
                            "Schließen": function() {
                                   $(this).dialog('close');
                                resetOrderForm();
                            }
                        });
                    } else {
                       resetButtons();
                    }
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    goldmarie.dialog.addMsgToForm(tips, "Ein unerwarteter Fehler ist aufgetreten: " + errorThrown);
                    $("#order-form").dialog("option", "buttons", {
                        "Schließen": function() {
                            $(this).dialog('close');
                            resetOrderForm();
                        }
                    });
                }
            });
        } else {
            $('.ui-dialog button').removeClass('ui-state-focus');
        }
    };

    $("#order-form").dialog({
        title: 'Bestellung',
        width: 650,
        autoOpen: false,
        resizable: false,
        modal: true,
        close: function () {
            resetOrderForm();
        }
    });

    resetButtons();
    resetOrderForm();

    $("#link-order, #naturtalente-2l, #naturtalente-2r, #naturtalente-bl, #naturtalente-br").click(function (){
        $(".ui-corner-bottom, .dialog-row a").addClass('ui-corner-all-small');
        $("#order-form").dialog("open");
        return false;
    }).mouseover(function () {
        $(this).css('cursor', 'pointer');
    }).mouseout(function () {
        $(this).css('cursor', 'default');
    });

    goldmarie.dialog.order.setSelects(0);

    $("#dialog-bestellinformationen").dialog({
        title: 'Bestellinformationen',
        width: 726,
        autoOpen: false,
        resizable: false,
        modal: true,
        buttons: {
            'Schließen': function() {
                $(this).dialog('close');
            }
        }
    });

    $("#dialog-bestellinformationen").html($.resources.orderinformation);

    $("#link-bestellinformationen").click(function ()  {
        $("#dialog-bestellinformationen").dialog("open");
        return false;
    });
};

goldmarie.dialog.order.combinations = {
    schwarz : {
        dorftrottel : {
            'backsteinrot' : 'backsteinrot',
            'putzbeige': 'putzbeige'
        },
        hinterwaeldler : {
            'fichtenwaldgruen': 'fichtenwaldgrün',
            'zapfenbeige': 'zapfenbeige'
        },
        landratte : {
            'rattenschwanzgrau': 'rattenschwanzgrau',
            'mausgrau': 'mausgrau'
        },
        hornochse : {
            'kuhfladenbraun': 'kuhfladenbraun',
            'fellnasenbeige': 'fellnasenbeige'
        }
    },
    weiss : {
        dorftrottel : {
            'backsteinrot' : 'backsteinrot',
            'nachtschwarz': 'nachtschwarz',
            'putzbeige': 'putzbeige'
        },
        hinterwaeldler : {
            'fichtenwaldgruen': 'fichtenwaldgrün',
            'zapfenbeige': 'zapfenbeige',
            'nachtschwarz': 'nachtschwarz'
        },
        landratte : {
            'rattenschwanzgrau': 'rattenschwanzgrau',
            'mausgrau': 'mausgrau',
            'nachtschwarz': 'nachtschwarz'
        },
        hornochse : {
            'kuhfladenbraun': 'kuhfladenbraun',
            'fellnasenbeige': 'fellnasenbeige',
            'nachtschwarz': 'nachtschwarz'
        }
    },
    oliv : {
        dorftrottel : {
            'putzbeige': 'putzbeige',
            'nachtschwarz': 'nachtschwarz'
        },
        hinterwaeldler : {
            'zapfenbeige': 'zapfenbeige',
            'nachtschwarz': 'nachtschwarz'
        },
        landratte : {
            'rattenschwanzgrau': 'rattenschwanzgrau',
            'mausgrau': 'mausgrau',
            'nachtschwarz': 'nachtschwarz'
        },
        hornochse : {
            'kuhfladenbraun': 'kuhfladenbraun',
            'fellnasenbeige': 'fellnasenbeige',
            'nachtschwarz': 'nachtschwarz'
        }
    },
    natur : {
        dorftrottel : {
            'backsteinrot' : 'backsteinrot',
            'nachtschwarz': 'nachtschwarz'
        },
        hinterwaeldler : {
            'fichtenwaldgruen': 'fichtenwaldgrün',
            'nachtschwarz': 'nachtschwarz'
        },
        landratte : {
            'rattenschwanzgrau': 'rattenschwanzgrau',
            'mausgrau': 'mausgrau',
            'nachtschwarz': 'nachtschwarz'
        },
        hornochse : {
            'kuhfladenbraun': 'kuhfladenbraun',
            'nachtschwarz': 'nachtschwarz'
        }
    }
};

goldmarie.dialog.order.setSelects = function (level) {
    switch (level) {
        case 0: // Geschlecht
            if (goldmarie.dialog.order.gender !== undefined) {
                goldmarie.dialog.order.gender.selectmenu('destroy');
                $('select#order-geschlecht option:first').attr('selected', true);
            };
            goldmarie.dialog.order.gender = $('select#order-geschlecht').selectmenu({
                width: 178,
                menuWidth: 178,
                style: 'dropdown',
                change: goldmarie.dialog.order.eventHandler.gender
            });
        case 1: // Farbe
            if (goldmarie.dialog.order.color !== undefined) {
                goldmarie.dialog.order.color.selectmenu('destroy');
                $('select#order-farbe option:first').attr('selected', true);
            };
            goldmarie.dialog.order.color = $('select#order-farbe').selectmenu({
                width: 178,
                menuWidth: 178,
                style: 'dropdown',
                change: goldmarie.dialog.order.eventHandler.color
            });
        case 2: // Motiv
            if (goldmarie.dialog.order.logo !== undefined) {
                goldmarie.dialog.order.logo.selectmenu('destroy');
                $('select#order-motiv option:first').attr('selected', true);
            };
            goldmarie.dialog.order.logo = $('select#order-motiv').selectmenu({
                width: 178,
                menuWidth: 178,
                style: 'dropdown',
                change: goldmarie.dialog.order.eventHandler.logo
            });
        case 3: // Motiv-Farbe
            if (goldmarie.dialog.order.logocolor !== undefined) {
                goldmarie.dialog.order.logocolor.selectmenu('destroy');
                $('select#order-motiv-farbe option:first').attr('selected', true);
            };
            goldmarie.dialog.order.eventHandler.generatLogoColorSelection(
                $("select#order-farbe option:selected").val(), 0
            );
        case 4: // Größe
            if (goldmarie.dialog.order.size !== undefined) {
                goldmarie.dialog.order.size.selectmenu('destroy');
                $('select#order-groesse option:first').attr('selected', true);
            };
            goldmarie.dialog.order.size = $('select#order-groesse').selectmenu({
                width: 178,
                menuWidth: 178,
                style: 'dropdown'
            });
        case 5: // Anzahl
            if (goldmarie.dialog.order.quantity !== undefined) {
                goldmarie.dialog.order.quantity.selectmenu('destroy');
                $('select#order-anzahl option:first').attr('selected', true);
            };
            goldmarie.dialog.order.quantity = $('select#order-anzahl').selectmenu({
                width: 178,
                menuWidth: 178,
                style: 'dropdown'
            });
        default:
            ;
    }
};

goldmarie.dialog.order.eventHandler = {};

goldmarie.dialog.order.eventHandler.gender = function(event, selectedOption){
    goldmarie.dialog.order.setSelects(1);
    if (selectedOption.value === 0) { // 'männlich'
        $("#t-shirt-preview").attr('src', 'img/shirt_mann_schwarz.png')
    } else if (selectedOption.value === 1) { // 'weiblich'
        $("#t-shirt-preview").attr('src', 'img/shirt_frau_schwarz.png')
    }
};

goldmarie.dialog.order.eventHandler.color = function (event, selectedOption) {
    var gender;
    goldmarie.dialog.order.setSelects(2);
    if ($("select#order-geschlecht option:selected").val() === 'maennlich') {
        gender = 'mann';
    } else {
        gender = 'frau';
    }

    if (selectedOption.value === 0) { // 'schwarz'
        $("#t-shirt-preview").attr('src', 'img/shirt_' + gender + '_schwarz.png')
    } else if (selectedOption.value === 1) { // 'weiß'
        $("#t-shirt-preview").attr('src', 'img/shirt_' + gender + '_weiss.png')
    } else if (selectedOption.value === 2) { // 'oliv'
        $("#t-shirt-preview").attr('src', 'img/shirt_' + gender + '_oliv.png')
    } else if (selectedOption.value === 3) { // 'natur'
        $("#t-shirt-preview").attr('src', 'img/shirt_' + gender + '_natur.png')
    }
};

goldmarie.dialog.order.eventHandler.logo = function (event, selectedOption) {
    var color = $("select#order-farbe option:selected").val();
    goldmarie.dialog.order.eventHandler.generatLogoColorSelection(color, selectedOption.value);
};

goldmarie.dialog.order.eventHandler.generatLogoColorSelection = function (color, logoId) {
    var logo, newElements = "";
    switch(logoId) {
        case 0:
            logo = 'dorftrottel';
            break;
        case 1:
            logo = 'hinterwaeldler';
            break;
        case 2:
            logo = 'landratte';
            break;
        case 3:
            logo = 'hornochse';
            break;
    }

    if (goldmarie.dialog.order.logocolor !== undefined) {
        goldmarie.dialog.order.logocolor.selectmenu('destroy');
        $('select#order-motiv-farbe option').remove();
    };

    $.each(goldmarie.dialog.order.combinations[color][logo], function (value, text) {
        newElements+="<option value='" + value + "'>" + text + "</option>";
    });

    $('select#order-motiv-farbe').html(newElements);

    goldmarie.dialog.order.logocolor = $('select#order-motiv-farbe').selectmenu({
        width: 178,
        menuWidth: 178,
        style: 'dropdown',
        change: goldmarie.dialog.order.eventHandler.logocolor
    });

    $("#t-shirt-logo-preview").attr('src',
        'img/'  + logo + '_' + $("select#order-motiv-farbe option:first").val() + '.png');
};

goldmarie.dialog.order.eventHandler.logocolor = function (event, selectedOption) {
    var logo = $("select#order-motiv option:selected").attr('value');
    $("#t-shirt-logo-preview").attr('src',
        'img/'  + logo + '_' + $("select#order-motiv-farbe option:selected").attr("value") + '.png');
};

/**
 *
 * @param {Object} message
 */
goldmarie.dialog.addMsgToForm = function (elem, message) {
    elem.text(message).addClass('error-info');
    elem.slideDown(250);

    setTimeout(function() {
        elem.removeClass('error-info', 1000);
    }, 500);
};

/**
 *
 * @param {Object} input
 * @param {Object} n
 * @param {Object} min
 * @param {Object} max
 */
goldmarie.dialog.checkLength = function (input, n, min, max, elem) {
    if (input.val().length > max || input.val().length < min ) {
        input.removeClass('ui-widget-content').addClass('error-input');
        if (min === 0) {
            goldmarie.dialog.addMsgToForm(elem, "'" + n + "' muss zwischen " + min + " und " + max + " Zeichen lang sein.");
        } else {
            goldmarie.dialog.addMsgToForm(elem, "'" + n + "' ist eine Pflichangabe und darf maximal " + max + " Zeichen lang sein.");
        }
        input.focus();
        return false;
    } else {
        return true;
    }
};

/**
 *
 * @param {Object} input
 * @param {Object} regexp
 * @param {Object} message
 */
goldmarie.dialog.checkRegexp = function (input, regexp, elem, message) {
    if (!(regexp.test(input.val()))) {
        input.removeClass('ui-widget-content').addClass('error-input');
        goldmarie.dialog.addMsgToForm(elem, message);
        input.focus();
        return false;
    } else {
        return true;
    }
};

goldmarie.dialog.checkEquality = function (input1, input2, elem, message) {
    if (input1.val() !== input2.val()) {
        input1.removeClass('ui-widget-content').addClass('error-input');
        input2.removeClass('ui-widget-content').addClass('error-input');
        goldmarie.dialog.addMsgToForm(elem, message);
        input1.focus();
        return false;
    } else {
        return true;
    }
}

/**
 *
 */
goldmarie.dialog.reset = function (elem, inputFields) {
    inputFields.removeClass('error-input').addClass('ui-widget-content');
    $('.ui-dialog button').removeClass('ui-state-focus');
    inputFields.val('');
    elem.text('').hide();
};

/**
 * Slideshow
 */
goldmarie.slideshow = {};

goldmarie.slideshow.prepare = function () {
    $('#slideshow').cycle({
        fx: 'fade',
        timeout: 6000
    });
};

/**
 * Helper
 */
goldmarie.helper = {}; 

goldmarie.helper.activateMouseoverMouseout = function (el, cssClass) {
	if(!$.isArray(el)) {
		el = $([]).add(el);
	}
    el.mouseover(function () {
        $(this).addClass(cssClass);
    }).mouseout(function () {
        $(this).removeClass(cssClass);
    });
};

/**
 * Blog
 */ 
goldmarie.blog = {};

goldmarie.blog.prepareNavigation = function () {
	$('#wp-nav .widget-container:last').css('border', 'none');
};

$(function () {
    goldmarie.base.decorateAjaxElements();
    goldmarie.navigation.activateMouseoverNavButtons();
    goldmarie.dialog.prepare();
    goldmarie.slideshow.prepare();
    goldmarie.base.registerAjaxEvents();
	// Nur, wenn wir uns auf der Goldesel-Seite befinden...
	if ($("#goldesel")[0]) {
		goldmarie.offerings.prepare();
	}
	// Nur wenn wir uns im Blog befinden
	if ($("#goldgrube")[0]) {
		goldmarie.blog.prepareNavigation();
	}
});

