function alphanumeric(inputField){
    var alphanumericValue = inputField.value.toLowerCase().replace(/([^0-9a-z])/g,"");
    if (inputField.value != alphanumericValue)
        inputField.value = alphanumericValue;
}

function hashPassword(loginform) {
    var passwordField = document.getElementById("LoginForm_password");
    var usernameField = document.getElementById("LoginForm_username");
    
    if (passwordField.value.length != 64)
        passwordField.value = SHA256(usernameField.value + SHA256(passwordField.value));
    return true;
}


var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;
        
function jsddm_open(){
    jsddm_canceltimer();
    jsddm_close();
    ddmenuitem = $(this).find('ul').css('visibility', 'visible');
}

function jsddm_close(){
    if (ddmenuitem)
        ddmenuitem.css('visibility', 'hidden');
}

function jsddm_timer(){
    closetimer = window.setTimeout(jsddm_close, timeout);
}

function jsddm_canceltimer(){
    if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}


function slideSwitch() {
    var $active = $('#slideshow div.active');
    var $activeFloater = $('#floaters div.active');

    if ( $active.length == 0 ) $active = $('#slideshow div:last');
    if ( $activeFloater.length == 0 ) $active = $('#floaters div:last');

    var $next =  $active.next().length ? $active.next()
        : $('#slideshow div:first');
    var $nextFloater =  $activeFloater.next().length ? $activeFloater.next()
        : $('#floaters div:first');
        
    $active.addClass('last-active');
    $activeFloater.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 700, function() {
            $active.removeClass('active last-active');
            $activeFloater.removeClass('active last-active');
            $nextFloater.addClass('active');
        });
         
}

        
function init() {

    if ($("a.images").fancybox) {
        $("a.images").fancybox({
            'hideOnContentClick': true,
            'overlayOpacity': .6,
            'overlayColor': '#000000',
            'titlePosition'  : 'over'
        });
    }
    
    $('#menu > li').bind('mouseover', jsddm_open);
    $('#menu > li').bind('mouseout', jsddm_timer);
    
    document.onclick = jsddm_close;
    
    makeLinks('meili', 'span');
}


document.getElementsByClassName = function(clsName, tgName){
    var retVal = new Array();
    var elements = document.getElementsByTagName(tgName);
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}


function makeLinks(className, tgName) {
    var allElements = document.getElementsByClassName(className, tgName);
    for(var i = 0;i < allElements.length;i++){
        var temp = allElements[i].innerHTML;

        if (temp.indexOf(" at ") != -1 )
            var parts = temp.split(" at ");
        
        else if (temp.indexOf(" ät ") != -1 )
            var parts = temp.split(" ät ");

        else if (temp.indexOf("(a)") != -1 )
            var parts = temp.split("(a)");

        else
            continue;

        if (parts.length == 2) {
            for (var j = 0; j < 2; j++) {
                parts[j] = parts[j].replace(" piste ", ".");
                parts[j] = parts[j].replace(" dot ", ".");
                parts[j] = parts[j].replace(" ", "");
            }
            allElements[i].innerHTML = "<a href=\"mailto:" + parts[0] + "@" + parts[1] + "\">" + parts[0] + "@" + parts[1] + "</a>";
        }
    }
}
