function gup(name, href)
{

    if (href == null) {
        href = window.location.href;
    }

    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");

    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(href);

    if (results == null)
        return "";
    else
        return results[1];

}

function readCookie() {
    try {
        return document.cookie;
    } catch(e) {
        alert("error " + e);
        return "";
    }
}

function getCookie(key) {

    var values = readCookie().split("; ");

    for (var i = 0; i < values.length; i++) {
        var entry = values[i];
        var keyvalue = entry.split("=");
        if (keyvalue[0] == key) {
            if (keyvalue[1]) {
                return unescape(keyvalue[1]);
            } else {
                return "";
            }
        }
    }

    return "";

}

function getCookieParams() {
    var val = getCookie("json");
    if (val == "") {
        val = "{}";
    }
    return JSON.parse(val);
}

function putCookieParam(params) {
    var current = getCookieParams();
    for (var k in params) {
        var val = params[k];
        current[k] = val;
    }
    setCookieParams(current);
}

function setCookieParams(params) {
    params = JSON.stringify(params);
    setCookie("json", params);
}

function setCookie(key, val) {
    var cookie = key + "=" + escape(val) + ";;path=/";
    document.cookie = cookie;
}

function deleteCookie(key) {
    var t = new Date(new Date().getTime() - 1);
    document.cookie = key + "=; expires=" + t.toGMTString() + "; path=/";
}

jQuery(document).ready(function($) {

    window.$ = $;

    var selectLanguage = function(lang, href) {

        if (!lang) {
            lang = "en";
        }

        if (lang != "en" && lang != "de") {
            lang = "en";
        }

        setCookie("lang", lang);

        location.reload();

        return lang;

    };

    // init language

    //var lang = selectLanguage(getCookie("lang"));


    $("#footer a.lang").click(function() {
        var lang = $(this).attr("lang");
        selectLanguage(lang, $(this).attr("href"));
        return false;
    });

    $("img.do-fade").each(function() {

        var im$ = $(this);

        var url = $(this).attr("src");

        var image = new Image();
        image.src = "";
        $(image).load(function() {
            im$.fadeOut(0, function() {
                im$.css("visibility", "visible");
                im$.fadeIn(500);
            })
        });
        image.src = url;

    });


    var dressdetails$ = $("#dress-details");

    var dressshowdetails$ = $("#dress-show-details");


    var showDressDetails = function(onoff, setcookie) {

        if (onoff) {
            if (setcookie) {
                setCookie("dress-details", "1");
            }
            dressdetails$.fadeIn(300, function() {
                dressshowdetails$.toggleClass("hidden", "shown");
            });
        } else {
            if (setcookie) {
                setCookie("dress-details", "0");
            }
            dressdetails$.fadeOut(50, function() {
                dressshowdetails$.toggleClass("hidden", "shown");
            });
        }

    };

    if (getCookie("dress-details") == "1") {
        showDressDetails(true, false);
    }

    $("#dress-show-details a").click(function() {

        var t$ = $(this);

        var href = t$.attr("href");

        //alert("href "+href);

        if (href == "#show") {
            showDressDetails(true, true);
        } else if (href = "#hide") {
            showDressDetails(false, true);
        }

        return false;

    });

    $(".subscribe-to-newsletter-action").click(function() {
        openNewsletterDialog($);
        return false;
    })

    $(".show-imprint-action").click(function() {
        openDialog($, "imprint");
        return false;
    })

    $("#newletter-subscribe-form").submit(function() {
        submitSubscribeNewsletter($);
        return false;
    });

    $(".email-field").focus(function() {
        if ($(this).attr("initialized")=="1") {
            $(this).val("");
            $(this).attr("initialized", "");
        }
    })

});


function submitSubscribeNewsletter($) {

    var email = $(".email-field").val();

    $.post("subscribe-newsletter.php", {
        email: email
    }, function(res) {
        if (res=="ok") {
            openDialog($, "newsletter-ok");
        }
    })


}

function openDialog($, dialog, oncomplete) {

    if (!$) {
        $ = window.$;
    }

    var overlay$ = $("#overlay");

    overlay$.attr("class", dialog+"-option");

    overlay$.fadeIn(oncomplete);

}

function openNewsletterDialog($) {

    if (!$) {
        $ = window.$;
    }

    $(".email-field").val("<enter your email address here>");

    $(".email-field").attr("initialized", "1");    

    openDialog($, "newsletter", function() {

    });

}

