function newXmlRequestObj() {
    var result = null;
	try {
		result = new XMLHttpRequest();
	} catch (e) {
		try {
			result = ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				result = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
    			alert("Your browser does not support XMLHttpRequest !!!!");
			}
		}
	}
	return result;
}

var Trailers = [];
var Current = 2;
var trailersPerBlock = 2;
var LastState = 'right';
var sended = false;
var timer = null;

function getTrailers(countPerSession) {
    var r = newXmlRequestObj();
    var event = 'getTrailers';
    r.open("GET", "/ajax.php?event=" + event + "&c=" + countPerSession, true);
    r.onreadystatechange = function() {
        if (r.readyState == 4) {
             var result = eval('('+r.responseText+')');
             if (result.status == 1) {
                 itemsLength = result.items.length;
                 for(var i = 0; i < itemsLength; i++) {
                     Trailers[i] = result.items[i];
                 }
             }
        }
    }
    r.send(null);
}

function rotate(direction) {
    if (Trailers.length == 0) {
		if (!sended) {
        getTrailers(10);
		sended = true;
		}
		if (timer == null) {
			timer = setInterval('rotate("'+ direction +'")', 100);
		}
		return;
	} else {
		 clearInterval(timer);
	
    }
    var TrLen = Trailers.length;
    var container = document.getElementById('tralerContainer');
    container.innerHTML = '';
    if (container) {
        switch (direction) {
            case 'right' :
                if (LastState == 'left') {
                    Current += trailersPerBlock;
                }
                if ((Current >= TrLen)) {
                    Current = 0;
                }
                var Next = Current;
                for (var i = Next; i < Next + trailersPerBlock; i++) {
                    if (Trailers[i]) {
                        renderTrailer(Trailers[i], container);
                    }
                }
                Current += trailersPerBlock;
             break;
             
             case 'left' :
                if (LastState == 'right') {
                    Current -= trailersPerBlock;
                }
                if (Current <= 0) {
                    Current = TrLen;
                }
                var Prev = Current;
                for (var i = Prev - trailersPerBlock; i < Prev ; i++) {
                    if (Trailers[i]) {
                        renderTrailer(Trailers[i], container);
                    }
                }
                Current -= trailersPerBlock;
             break;
        }
    }
    LastState = direction;
}

function renderTrailer(item, container) {
    var html = '<div class="trailer" align="center">';
    html += '<div class="trailer-bg" align="center">';
    html += '<div style="width:120px;height:90px;"><a href="/trailers/' + item.MvId + '"><img id="' + item.MvId + '" src="' + item.Image + '" width="120" height="90" border="0"></a></div>';
    html += '<div class="caption"><a href="/trailers/' + item.MvId + '">' + item.Title + '</a></div>';
    html += '</div>';
    html += '</div>';
    container.innerHTML += html;
}