var gen7 = {
	
}

gen7.ui = {
    /* homepage slideshow */
    'homepage_slides': undefined,
    'homepage_current_slide': undefined,
    'homepage_is_animating': false,
    'homepage_slideshow_init': function() {
        gen7.ui.homepage_slides = [
			new homepage_slide('home_bg_1', 'slide_1', 'button_1', 'pat1'),
			new homepage_slide('home_bg_2', 'slide_2', 'button_2', 'pat2'),
			new homepage_slide('home_bg_3', 'slide_3', 'button_3', 'pat3'),
			new homepage_slide('home_bg_4', 'slide_4', 'button_4', 'pat4')
		];
        $.each(gen7.ui.homepage_slides, function(index, value) { $('#' + value.getbgDiv()).hide(); });
        $.each(gen7.ui.homepage_slides, function(index, value) {
            $('#' + value.getbuttonDiv()).bind('click', gen7.ui.homepage_slideshow_move_to);
        });
        $('#' + gen7.ui.homepage_slides[0].getbgDiv()).show();
        $('#' + gen7.ui.homepage_slides[0].getbuttonDiv()).css('background-position', '0 0').css('cursor', 'default');
        gen7.ui.homepage_current_slide = 0;
        $('#text-2 div.text-body').html($('#' + gen7.ui.homepage_slides[0].getPatDiv()).html());
        gen7.ui.homepage_slideshow_rotate();
    },
    'homepage_slideshow_rotate': function() {
        setInterval(function() {
            if (!gen7.ui.homepage_is_animating) {
                gen7.ui.homepage_is_animating = true;
                var next = gen7.ui.homepage_current_slide + 1;
                if (next == gen7.ui.homepage_slides.length) {
                    next = 0;
                    $('.slides').css('left', '1200px');
                }
                $.each(gen7.ui.homepage_slides, function(index, value) {
                    $('#' + gen7.ui.homepage_slides[index].getbuttonDiv()).css('background-position', '-14px 0').css('cursor', 'pointer');
                });

                $('#' + gen7.ui.homepage_slides[gen7.ui.homepage_current_slide].getbgDiv()).fadeOut(150);
                $('#' + gen7.ui.homepage_slides[next].getbgDiv()).fadeIn(150, function() {
                    $('.slides').animate({
                        left: '-' + (next * 1200) + 'px'
                    }, 450, function() {
                        $('#' + gen7.ui.homepage_slides[next].getbuttonDiv()).css('background-position', '0 0').css('cursor', 'default');
                        $('#text-2 div.text-body').html($('#' + gen7.ui.homepage_slides[next].getPatDiv()).html());
                        gen7.ui.homepage_current_slide = next;
                        gen7.ui.homepage_is_animating = false;
                    });
                });;
            }
        }, 13000);
    },
    'homepage_slideshow_move_to': function() {
        if (!gen7.ui.homepage_is_animating) {
            gen7.ui.homepage_is_animating = true;
            var selectedButtonId = $(this).attr('id');
            $.each(gen7.ui.homepage_slides, function(index, value) {
                $('#' + gen7.ui.homepage_slides[index].getbuttonDiv()).css('background-position', '-14px 0').css('cursor', 'pointer');
                if (gen7.ui.homepage_slides[index].getbuttonDiv() == selectedButtonId) {
                    var amountLeft;
                    if (index > gen7.ui.homepage_current_slide) {
                        amountLeft = '-' + (index * 1200) + 'px'
                    } else {
                        amountLeft = '-' + ((gen7.ui.homepage_current_slide * 1200) - (gen7.ui.homepage_current_slide - index) * 1200) + 'px';
                    }
                    $('#' + gen7.ui.homepage_slides[gen7.ui.homepage_current_slide].getbgDiv()).fadeOut(150);
                    $('#' + gen7.ui.homepage_slides[index].getbgDiv()).fadeIn(150, function() {
                        $('.slides').animate({
                            left: amountLeft
                        }, 450, function() {
                            $('#' + gen7.ui.homepage_slides[index].getbuttonDiv()).css('background-position', '0 0').css('cursor', 'default');
                            $('#text-2 div.text-body').html($('#' + gen7.ui.homepage_slides[index].getPatDiv()).html());
                            gen7.ui.homepage_current_slide = index;
                            gen7.ui.homepage_is_animating = false;
                        });

                    });
                }
            });
        }
    }
}

/* homepage slide object */
function homepage_slide(bgDiv, messageDiv, buttonDiv, patDiv) {
	this._bgDiv = bgDiv;
	this._messageDiv = messageDiv;
	this._buttonDiv = buttonDiv;
	this._patDiv = patDiv;
}

homepage_slide.prototype.getbgDiv = function() {
	return this._bgDiv;
}

homepage_slide.prototype.getmessageDiv = function() {
	return this._messageDiv;
}

homepage_slide.prototype.getbuttonDiv = function() {
	return this._buttonDiv;
}

homepage_slide.prototype.getPatDiv = function() {
    return this._patDiv;
}

/* mini slide show object */
function mini_slide_show(params){
	this._current_slide = 0;
	this._targetDiv = params.targetDiv;
	this._controlDiv = params.controlDiv;
	this._width = params.sWidth;
	this._height = params.sHeight;
	this._slides = [];
	var slides = this._slides;
	var targetDiv = this._targetDiv
	var controlDiv = this._controlDiv;
	var moveTo = this.move_to
	var currentSlide = this._current_slide;
	var width = this._width;
	var height = this._height;
	var instance = this;
	$.ajax({
		url: params.xmlPath,
		type: 'GET',
		async: false,
		success: function(data) {
			$.each(data.getElementsByTagName('Image'),function(index,value){
				slides.push(new mini_slide($(value).attr('src'),controlDiv,targetDiv,index,width,height));
			});
			$.each(slides,function(index,value){
				var x = '#'+targetDiv+' #'+value.getId();
				$('#'+targetDiv+' > div').hide();
			});
			$.each($('#'+targetDiv+' > div'),function(index,value){
				if ($(value).attr('id') == 0) $(value).show();
			});
			$.each($('#'+controlDiv+' > div'),function(index,value){
				if ($(value).attr('id') == 0) {
					$(value).css('background-position','0 0').css('cursor','default');
				}
				$(value).bind('click',{instance:instance},function(event){
					if ($(this).css('cursor') == 'pointer'){
						var selectedButton = $(this);
						var miniSlide;
						$.each(event.data.instance._slides,function(index,value){
							if (event.data.instance._slides[index].getId() == selectedButton.attr('id')){
								miniSlide = value;
							}
						});
						$.each($('#'+event.data.instance._controlDiv+' > div'),function(index,value){
							$(value).css('background-position','-14px 0').css('cursor','pointer');
							if ($(value).attr('id') == miniSlide.getId()) {
								$(value).css('background-position','0 0').css('cursor','default');
							} 
						});
						$.each($('#'+event.data.instance._targetDiv+' > div'),function(index,value){
							if ($(value).attr('id') == event.data.instance._current_slide) {
								$(value).fadeOut(150);
							}
							if ($(value).attr('id') == miniSlide.getId()) {
								$(value).fadeIn(150);
							}
						});
						event.data.instance._current_slide = miniSlide.getId();
					}
				});
			});
			currentSlide = 0;
		}
	});
}

/* mini slide object */
function mini_slide(imagePath,buttonDiv,targetDiv,id,width,height) {
	this._imagePath = imagePath;
	this._buttonDiv = buttonDiv;
	this._id = id;
	$('#'+targetDiv).append('<div id="'+id+'" style="background-image:url('+imagePath+'); width:'+width+'px; height:'+height+'px; position:absolute;"></div>');
	$('#'+buttonDiv).append('<div id="'+id+'" class="button"></div>');
}

mini_slide.prototype.getimagePath = function () {
	return this._imagePath;
}

mini_slide.prototype.getbuttonDiv = function() {
	return this._buttonDiv;
}

mini_slide.prototype.getId = function() {
	return this._id;
}
