var featIndex = null;
var featured;
var featImgIndex = 0;           // we use two divs to be able to slide

window.addEvent('domready', function(){
    $('featPrevImg').setOpacity(0)
        .setStyle('visibility', 'visible');
    $('featNextImg').setOpacity(0)
        .setStyle('visibility', 'visible');
    
    //getFeatured();
    featIndex = 0;
    fillFeatured();
    
    autoSlide = (function(){
        featNext();
    }).periodical(7000);
    
    
    if (videoType == 'file'
        && playerType == 'flash'){
        if (!Browser.Plugins.Flash){
            $('playerWrapper').appendText('Requires Flash');
            return;
        }

        var vars = {
            "xmlPath": "vidXML.php?w=480&v=" + featID
        };
        
        var params = {"wmode":"opaque",
                      "allowfullscreen":"true",
                      "quality":"high",
                      "bgcolor":"#000000",
                      "allowscriptaccess":"sameDomain",
                      "allowFullScreen":"true",
                      "scale":""
                     };

	//var playerHeight = (featAspect == '16x9' ? 299 : 389);
	var playerHeight = 389;
	$('featVidWrapper').setStyle('height', playerHeight);

        var attObj = {
            "name":"flashContent",
            "align":"middle",
            "styleclass":"swfObject",
            "id":"flashContent",
            "width": 480,
            "height": playerHeight  // 4x3 + 29 for controls
        };

        var sxf = new Swiff('videoPlayer_480.swf', {'container': $('playerWrapper'),
                                                    'params': params,
                                                    'vars': vars,
                                                    'properties': attObj
						   });
    }
    //else if (videoType == 'embed'){
    //}
});

function getFeatured(id){
    var url = "featuredSvc.php";

    var req = new Request.JSON({url: url,
                                onComplete: function(message){
                                    if (message){
                                        if (message.status == 'success'){
                                            featured = message.data;

                                            // preload item images
                                            featured.each(function(featItem){
                                                switch(featItem.featType){
                                                case 'post':
                                                    imgUrl = postDir + featItem.postID + '/720x380.jpg';
                                                    break;
                                                case 'video':
                                                    imgUrl = videoDir + featItem.videoID + '/720x380.png';
                                                    break;
                                                }
                                                new Asset.image(imgUrl);
                                            });
                                            
                                            featIndex = 0;
                                            fillFeatured();
                                            
                                            autoSlide = (function(){
                                                featNext();
                                            }).periodical(7000);
                                            
                                        }
                                        else {
                                            alert(message.reason);
                                        }
                                    }
                                    else {
                                    }
                                }
                               });
    if (id){
        req.send("a=f&id=" + id);
    }
    else {
        req.send("a=mr");
    }
}

function featNext(e, stopAuto){
    if (e) {
        new Event(e).stop();
    }

    if (stopAuto){
        $clear(autoSlide);
    }

    if (featured.length == 1) return;

    // loop
    if (featIndex == featured.length - 1){
        featIndex = 0;
    }
    else {
        featIndex = Math.min(featured.length - 1, featIndex + 1);
    }
    fillFeatured();
}

function featPrev(e, stopAuto){
    if (e){
        new Event(e).stop();
    }

    if (stopAuto){
        $clear(autoSlide);
    }
    
    featIndex = Math.max(0, featIndex - 1);
    fillFeatured(true);
}

function featView(){
    var feat = featured[featIndex];
    switch(feat.featType){
    case 'post':
        location.href='news.php?a=v(' +feat.postID + ')';
        break;
    case 'video':
        location.href='media.php?a=v(' +feat.videoID + ')';
        break;
    case 'tetv':
        location.href='tetv.php?a=v(' +feat.videoID + ')';
        break;
    }
}

function fillFeatured(slideFromLeft){
    //    $('featTitle').setStyle('display', 'none');

    var data = featured[featIndex];

    var imgUrl;

    if (!data) {
        return false;
    }

    //    $('featTitle').empty();
    
    switch(data.featType){
    case 'post':        
        imgUrl = postDir + data.postID + '/720x380.jpg';
        /* $('featTitle').adopt(new Element('div', {'class': 'featSource'})
           .adopt(new Element('img', {'src': "img/featuredNews!.png"}))
           );
        */
	/*        $('featSource').empty()
		  .removeEvents('click')
		  .addEvent('click', function(){
                  location.href = '/news.php';
                  })
		  .appendText('via News'); */
        break;
    case 'video':
        imgUrl = "videos/" + data.videoID + '/720x380.png';
        $('featSource').empty()
            .removeEvents('click')
            .addEvent('click', function(){
                location.href = '/media.php';
            })
            .appendText('via Media');

        break;
    case 'tetv':
        $('featSource').empty()
            .removeEvents('click')
            .addEvent('click', function(){
                location.href = '/tetv.php';
            })
            .appendText('via T&ETV');

        imgUrl = "videos/" + data.videoID + '/720x380.png';
        break;
    }
    
    $('featTitleText').empty()
	.appendText(data.altTitle ? data.altTitle : data.title)
        .setStyle('display', 'block');


    var offset = 720;
    if (slideFromLeft){
        offset = -720;
    }

    switch(featImgIndex){
    case 0:
        $('featImg1').setStyles({'z-index': 2,
                                 'left': 0,
                                 'background-image': "url(" + imgUrl + ")" 
                                });
        $('featImg2').setStyles({'z-index': 1 });
        featImgIndex = 1;
        break;
    case 1:
        $('featImg2').setStyles({'left': offset,
                                 'z-index': 2,
                                 'background-image': "url(" + imgUrl + ")" });
        $('featImg1').setStyles({'z-index': 1 });
        
        $('featImg2').tween('left', 0);
        featImgIndex = 2;
        break;
    case 2:
        $('featImg1').setStyles({'left': offset,
                                 'z-index': 2,
                                 'background-image': "url(" + imgUrl + ")"});
        $('featImg2').setStyles({'z-index': 1 });
        
        $('featImg1').tween('left', 0);
        featImgIndex = 1;
    }
    

    $('featPrevImg').fade(featIndex > 0 ? 'in' : 'out');
    $('featNextImg').fade(featIndex < featured.length - 1 ? 'in' : 'out');    

}


