// carusel object, loads data about users and makes slide show var carousel = (function(/*Variant*/container, /*Boolean*/autoload){ var _carousel = {}; // domain var fixDomain = ["www.", "dev.", "local."]; var domain = location.hostname; for (var i = 0, p; p = fixDomain[i]; i += 1) { domain = domain.replace(p, ""); } var domainSplit = domain.split("."); domain = domainSplit[0]; // check for browser compatibility var isIE6 = navigator.userAgent.indexOf('MSIE 6') > -1; // vars for navi var pE = false, nE = false; // vars for slide animation var numItems=0, totalWidth = 0, tt=300 /*total time*/, acc= 1 /*acceleration type 0, 1, 2, 3 */, off = 545/*Offset*/, lastItem = 0; // timer object var timer; // keep old responce var oldResponse = ''; // main wrapper var wrapper = document.createElement('div'); // previous item button var prev = document.createElement('div'); var prevBtn = new Image(); // next item button var next = document.createElement('div'); var nextBtn = new Image(); // clip region var clip = document.createElement('div'); // list of items var list = document.createElement('ul'); // loader div for start var loader = document.createElement('div'); // Animation object var anim; // load url var loadURL = "/?carousel_items"; $get(wrapper).setStyle({ 'width' : '546px', 'padding' : isIE6 ? '0 21px 0 7px' : '0 14px 0 10px', 'margin' : 0, 'overflow' : 'hidden', 'position' : 'relative' }); $get(prev).setStyle({ 'position' : 'absolute', 'left' : 0, 'top' : 0, 'cursor' : 'pointer', 'z-index' : 3 }); $get(next).setStyle({ 'position' : 'absolute', 'right' : 0, 'top' : 0, 'cursor' : 'pointer', 'z-index' : 3 }); $get(clip).setStyle({ 'margin' : '0 auto', 'overflow' : 'hidden', 'position' : 'relative' }); $get(list).setStyle({ 'display' : 'block', 'position' : 'relative', 'margin' : 0, 'padding' : 0, 'line-height' : 0, 'height' : '193px', 'width' : 1e+7 + 'px', 'z-index' : 1, 'left' : 0 }); $get(loader).setStyle({ 'width' : '545px', 'height' : '193px', 'position' : 'relative', 'background' : '#fff url(ajax-loader.gif) no-repeat scroll center center' }); function newCycle() { var c = arguments.length && arguments[0] == true; if (anim) { anim.pause(); anim = null; } var _list = list.getElementsByTagName('li'); var last = _list[lastItem]; if (parseInt(numItems - 1) !== lastItem) { lastItem = parseInt(numItems - 1); } list.insertBefore(last, list.firstChild); list.style.left = '0px'; timer = Timer(7000, numItems); timer.on(Timer.TIMER, showNext); if (c) { timer.on(Timer.COMPLETE, newCycle, [true]); } else { timer.on(Timer.COMPLETE, function(){newCycle(false); new Net.Loader(loadURL + '&ts=' + new Date().getTime(), {onComplete : checkNewProfiles});}); } timer.start(); nextEnabled(); prevDisabled(); } // check if there are fresh profiles, add them to the list and start cycling again function checkNewProfiles(transport) { var response = transport.responseText; if (response && response !== oldResponse) { var item; var r = /