var fxTopHeaderHeight, fxTopHeaderContentOpacity;

function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function toggleHeader() {
    if ($chk($('toggleHeaderButtonLink'))) {
        if ($('topHeader').getStyle('height') == '101px') {
            createCookie('banner', '1', 365);

            $('toggleHeaderButtonLink').className = 'minimizeHeaderButton';

            fxTopHeaderHeight.start(279);
        } else {
            createCookie('banner', '0', 365);
        
            $('toggleHeaderButtonLink').className = 'maximizeHeaderButton';

            fxTopHeaderHeight.start(101);
        }
    }
}

function switchPageLeft(element) {
    if ($('page' + --page)) {
        element.toElement('page' + page);
    } else {
        page = 1;
    }
}

function switchPageRight(element) {
    if (!$('page' + ++page)) page = 1;
        
    element.toElement('page' + page);
}

function showError(block, sources, title, description, titleColor) {
    var errorElement = block.getElement('div[class=errorContent]');
    var errorTitleElement = errorElement.getElement('div[class=errorTitle]');
    var errorDescriptionElement = errorElement.getElement('div[class=errorDescription]');
    
    if ($chk(title)) {
        errorTitleElement.setHTML(title);
        errorTitleElement.style.color = ($chk(titleColor)) ? titleColor : '';
    }
    
    if ($chk(description)) {
        errorTitleElement.setStyle('padding-top', '');
        errorDescriptionElement.setStyle('display', '');
        errorDescriptionElement.setHTML(description);
    } else {
        errorTitleElement.setStyle('padding-top', '13px');
        errorDescriptionElement.setStyle('display', 'none');
        errorDescriptionElement.setHTML(description);
    }
    
    block.getElements('p[class=error]').each(function(element) {
        element.className = '';
    })
    
    if ($chk(sources)) {
        sources.each(function(source) {
            $(source).className = 'error';
        });
        
        $(sources[0]).getElement('input').focus();
    }
    
    errorElement.effect('height', {
        duration: 300
    }).start(50);
}

function hideError(block, onComplete) {
    var errorElement = block.getElement('div[class=errorContent]');
    
    if (errorElement.getStyle('height') != '0px') {
        block.getElements('p[class=error]').each(function(element) {
            element.className = '';
        })

        errorElement.effect('height', {
            duration: 300,
            onComplete: onComplete
        }).start(0);    
    } else {
        onComplete();
    }
}

function parseID(text) {
    var pattern = /\d+$/;
    
    return parseInt(pattern.exec(text));
}

function parseImageName(text) {
    var pattern = /([\.\w]+?)_.+?.gif$/;
    
    return pattern.exec(text)[1];
}

function signOut() {
    new Json.Remote('/rpc/logout/', {
        onComplete: function(response) {
            window.location = response.redirectLocation;  
        }
    }).send();
}

// cookie functions

function createCookie(name,value,days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
} else var expires = "";
var ck = name+"="+value+expires+"; path=/";
document.cookie = ck;
}

function readCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
for(var i=0;i<ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
    return null;
}

function setBanner() {
    var wbanner = readCookie('banner');
    
    if (wbanner == null || wbanner == 1) {
        toggleHeader();
    }
}

window.addEvent('domready', function() {
    var wbanner;

    fxTopHeaderHeight = new Fx.Style('topHeader', 'height', {
        duration: 200
    });
});