var showreel = {
    dur: 800,
    pulse: 4 * 1000,
    easing: 'swing',
    play: true,
    playing: false,
    cur: 0,
    reel: [],
    imgs: [],
    timer: null,
    cb: null,
    init: function () {
        showreel.reel = $("*[rel='reelimages']");

        showreel.imgs = $('#show-images a');
        $('#showreel').append('<div id="show-controls"></div>');
        $('#showreel').addClass('position:relative;');
        showreel.imgs.css({
            top: 0,
            left: $('#showreel').width() + 2,
            position: 'absolute'
        }).each(function (i) {
			var ii = i + 1;
            $('#show-controls').append('<a id="dimple-' + i + '" class="dimple" href="#" onclick="showreel.move_to(' + i + ',true);return false;">' + (ii) + '</a>')
        }).slice(0, 1).css({
            left: 0
        });
        $('#show-controls').width(showreel.imgs.length * 30);
        $('#dimple-0').addClass('dimpleon');
		document.getElementById("simg").filters[0].Apply();
		document.getElementById("simg").filters[0].Play(duration=2);
		document.getElementById("simg").filters[0].transition=26; 
		document.getElementById("simg").src = showreel.reel[0].src;
        if (showreel.play) showreel.timer = window.setTimeout(showreel.move_next, showreel.pulse * 1.5)
    },
    move_next: function () {
        showreel.move_to(showreel.cur >= showreel.imgs.length - 1 ? 0 : showreel.cur + 1, false);
        showreel.load_image(showreel.cur + 1)
    },
    move_to: function (n, click) {
        if (showreel.playing || n == showreel.cur) return false;
        showreel.playing = true;
        showreel.load_image(n);
        click && showreel.load_image(n + 1);
        window.clearTimeout(showreel.timer);
        if (showreel.play) showreel.timer = window.setTimeout(showreel.move_next, showreel.pulse);
        $('.dimple', '#show-controls').removeClass('dimpleon').filter('#dimple-' + n).addClass('dimpleon');

        $c = showreel.imgs.slice(showreel.cur, showreel.cur + 1);
        $n = showreel.imgs.slice(n, n + 1);
		/*
        if ($c.is(':animated')) {
            $c.stop(false, true);
            showreel.cb.stop(false, true)
        }
        $c.css({
            zIndex: 10
        }).stop().css({
                left: $('#show').width()
            });
		*/
		showreel.playing = false;
		document.getElementById("simg").filters[0].Apply();
		document.getElementById("simg").filters[0].Play(duration=2);
		document.getElementById("simg").filters[0].transition=26; 
		document.getElementById("simg").src = showreel.reel[n].src;

        $n.css({
            zIndex: 100
        }).stop().css({
            left: 0
        });
        showreel.cur = n;
        showreel.cb = $c


		//showreel.change_image(n);
		/*
        $n.css({
            zIndex: 100
        }).stop().animate({
            left: 0
        },
        showreel.dur, showreel.easing,
        function () {
            showreel.playing = false
        });
		*/

        
        
    },
	change_image: function(n){
//		showreel.show_image(n)
		var rnum = parseInt(Math.random()*3+1);
		if(rnum==1){
			$('#show-images').fadeOut(300,function(){showreel.show_image(n)});
		}else if(rnum==2){
			$('#show-images').hide(300,function(){showreel.show_image(n)});
		}else if(rnum==3){
			$('#show-images').slideUp(300,function(){showreel.show_image(n)}); 
		}else{
			$('#show-images').hide(300,function(){showreel.show_image(n)});
		}
	},
	show_image: function (n){
        $c = showreel.imgs.slice(showreel.cur, showreel.cur + 1);
        $n = showreel.imgs.slice(n, n + 1);
        if ($c.is(':animated')) {
            $c.stop(false, true);
            showreel.cb.stop(false, true)
        }
        $c.css({
            zIndex: 10
        }).stop().animate({
            left: -($('#showreel').width())
        },0);
		$n.css({
			zIndex: 100
		}).stop().animate({
			left: 0
		},0);
		
		var rnum = parseInt(Math.random()*3+1);
		if(rnum==1){
			$('#show-images').fadeIn(500,function(){showreel.playing = false;});
		}else if(rnum==2){
			$('#show-images').show(500,function(){showreel.playing = false;});
		}else if(rnum==3){
			$('#show-images').slideDown(500,function(){showreel.playing = false;}); 
		}else{
			$('#show-images').show(500,function(){showreel.playing = false;});
		}
		showreel.cb = $c
		showreel.cur = n;
	},
    toggle_play: function () {
        showreel.play = !showreel.play;
        $('#toggle-play').toggleClass('paused');
        window.clearTimeout(showreel.timer);
        if (showreel.play) showreel.timer = window.setTimeout(showreel.move_next, showreel.pulse)
    },
    load_image: function (n) {
        if (showreel.imgs.slice(n, n + 1).html() == '') {
            showreel.imgs.slice(n, n + 1).html('<img src="" alt="" style="display:none;" />').find('img').load(function () {
				$(this).show(500);
            }).error(function () {
                $(this).attr('src', showreel.reel[n].src);
            }).attr('src', showreel.reel[n].src)
        }

    }
};

function reSizeImage(imgSource,maxWidth,maxHeight){ 
	var flag=false; 
	var imgNew=new Image(); 
	imgNew.src=imgSource.src; 
	if(imgNew.width>0 && imgNew.height>0){ 
		flag=true; 
		if(imgNew.width/imgNew.height>= maxWidth/maxHeight){ 
			if(imgNew.width>maxWidth){
				imgSource.width=maxWidth; 
				imgSource.height=(imgNew.height*maxWidth)/imgNew.width; 
			}else{ 
				imgSource.width=imgNew.width;
				imgSource.height=imgNew.height; 
			} 
		}else{ 
			if(imgNew.height>maxHeight){
				imgSource.height=maxHeight; 
				imgSource.width=(imgNew.width*maxHeight)/imgNew.height; 
			}else{ 
				imgSource.width=imgNew.width;
				imgSource.height=imgNew.height; 
			} 
		} 
	}
}


