(function(){
this.facecontainer = $('facecon');
this.swf = new Swiff('/inc/template/maxgiermann/kopf_video.swf', {
id: 'faceswf',
width: 965,
container: this.facecontainer,
height: 541,
params: {
wmode: 'Transparent'
}
});
Element.implement( {
getCossBrowserScrollSize : function() {
var custom_y = this.measure(function() {
this.setStyle('position', 'static');
tempHeight = this.getScrollSize().y;
this.setStyle('position', 'relative');
return tempHeight;
});
return { x : this.getScrollSize().x, y : custom_y};
}
});
$('gbsave').addEvent('click', function(){
$('gbErrorMsg').set('html', '');
if( $('gbName').value == '' || $('gbName').value == 'Name' ){
$('gbName').highlight();
$('gbErrorMsg').set('html', 'Gib einen Namen ein.
');
return;
}
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if( ($('gbMail').value == '') || reg.test( $('gbMail').value ) == false ){
$('gbMail').highlight();
$('gbErrorMsg').set('html', 'Nur gültige E-Mail-Adressen :-)
');
return;
}
if( $('gbMessage').value == '' ){
$('gbMessage').highlight();
$('gbErrorMsg').set('html', 'Gib eine Nachricht ein.
');
return;
}
new Request.JSON({url: '/', onComplete: function( pRes ){
$('gbName').set('value', '');
$('gbMail').set('value', '');
$('gbMessage').set('value', '');
loadgbPage( $('gbCountCur').get('text') );
}}).post({
kGetPage: 20,
guestbookSave: 1,
json: 1,
name: $('gbName').value,
email: $('gbMail').value,
entry: $('gbMessage').value
});
});
initCustomScrollBar = function() {
try {
var scrollBar = $('customScrollbar');
var textElem = $('gbentries');
if (!textElem.retrieve('origWidth'))
textElem.store('origWidth', textElem.getSize().x);
textElem.setStyles({
'width': textElem.retrieve('origWidth'),
'overflow': 'auto'
});
scrollBar.hide();
if (window.customScrollbar && window.customScrollbar.detach) {
window.customScrollbar.detach();
delete window.customScrollbar;
$(document.body).removeEvents('mouseleave');
$$(textElem, scrollBar).removeEvents('mousewheel');
}
if (textElem.getCossBrowserScrollSize().y <= textElem.getSize().y)
return;
scrollBar.show();
var newWidth = textElem.getSize().x - scrollBar.getSize().x;
textElem.setStyles({
'overflow': 'hidden',
'width': newWidth
});
scrollBar.setStyle('height', textElem.getSize().y);
var steps = textElem.getCossBrowserScrollSize().y - textElem.getSize().y;
window.customScrollBar = new Slider('customScrollbar', 'customHandle', {
steps: steps,
mode: 'vertical',
onChange: function(step){
textElem.scrollTo(0, step);
}
}).set(0);
$$(textElem, scrollBar).addEvent('mousewheel', function(e){
e = new Event(e).stop();
var step = window.customScrollBar.step - e.wheel * 30;
window.customScrollBar.set(step);
});
$(document.body).addEvent('mouseleave', function(){
window.customScrollBar.drag.stop()
});
}catch(e) {}
};
var renderGBEntries = function( pEntries ){
$('gbentries').empty();
pEntries.each(function(item, index){
var main = new Element('div', {'class': 'gbentry'}).inject($('gbentries'));
if( index%2 )
main.addClass('gbentry-scnd');
new Element('div', {
'class': 'gbowner',
text: item.name
}).inject(main);
new Element('div', {
'class': 'gbdate',
text: (new Date(item.time*1000)).format('%d.%m.%Y')
}).inject(main);
new Element('div', {
'class': 'gbmessage',
text: item.entry
}).inject(main);
});
initCustomScrollBar();
};
var maxPages = 1;
var loadgbPage = function( pPage ){
if( pPage > maxPages || pPage <= 0 ){
return;
}
$('gbentries').set('text', 'Lade ...');
new Request.JSON({url: '/', onComplete: function(pRes){
if( !pRes ){
$('gbentries').set('text', 'Backend error. :(');
} else {
$('gbCountCur').set('text', pPage);
$('gbCountMax').set('text', pRes.max);
maxPages = pRes.max;
renderGBEntries(pRes.items);
}
}}).get({kGetPage: 20, json: 1, page: pPage});
};
$('goleft').addEvent('click', function(){
loadgbPage( $('gbCountCur').get('text').toInt()-1 );
});
$('goright').addEvent('click', function(){
loadgbPage( $('gbCountCur').get('text').toInt()+1 );
});
loadgbPage( 1 );
/*document.addEvent('mousemove', function(ev){
var start = 90;
var end = 1865;
var pos = ( ((ev.page.y/window.getSize().y)*(end-start) )+start ) / 100;
pos = pos.toFixed(0);
console.log(pos);
document['mgswf'].goToAndStop( pos );
})*/
/*
renderGBEntries(
[
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'},
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'},
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'},
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'},
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'},
{owner: 'Testuser', created: '1.2.2010', message: 'Ganz cool'}
]
);*/
})();