var banner_xml="",banner;
var banner_imgs=new Array();
var paged=2,$clientsHolder,$clientsClone;
var interval;
var time = 100; //seconds * 10

var ins = ins || {};
ins.hp = ins.hp || {};
ins.hp.pb = ins.hp.pb || {};
ins.hp.pb.animating = false;
ins.hp.pb.millisec;
ins.hp.pb.timer;
ins.hp.pb.mo;

$(document).ready(function()
{
    $('.banner_wrapper').hide();

    $.ajax(
        {
            dataType:"xml",
            type:"GET",
            url:"/wp-admin/admin-ajax.php",
            success:displayBanners,
            data:"action=getbanners"
        });

    $("#more-happenings").click(function()
    {
        $.ajax(
        {
            dataType:"xml",
            type:"GET",
            url:"/wp-admin/admin-ajax.php",
            success:loadHappenings,
            data:"action=morehappenings&offset="+($("ul.happenings-holder li").length+1)
        });
    });

    $("#show-random, #show-recent").click(function()
    {
        var $this = $(this);
        var _data = ($(this).attr('id')=='show-random') ? 'action=morehappenings&orderby=rand' : 'action=morehappenings';
        $("ul.happenings-holder").animate({opacity:'0', height:0},500,function()
        {
            $("ul.happenings-holder").html('');
            $('.happenings-nav .active').removeClass('active');
            $($this).parent().addClass('active');
            $.ajax(
            {
                dataType:"xml",
                type:"GET",
                url:"/wp-admin/admin-ajax.php",
                success:loadHappenings,
                data:_data
            });
        });
    });

    $('li.mosaic-block').mosaic({
        animation	:	'slide',
        anchor_y	:	'bottom'
    });

    $(".mosaic-overlay").addClass(function() {
      return "type-" + $(this).parent().attr('data-cat');
    });
});

function loadHappenings(b,a)
{
    $(b).find("article").each(function()
    {
        tags = '';
		if( $(this).find("tags").text() != '' ){
			tags = '<span class="overlay-tags">'+$(this).find("tags").text()+'</span>';
		}
		
		$("ul.happenings-holder").append(
		'<li data-cat="'+$(this).find("category").text()+'" class="mosaic-block">' + 
			'<a class="mosaic-backdrop" href="' +$(this).find("url").text()+ '"><img src="'+$(this).find("image").text()+'" alt="' +$(this).find("title").text()+ '" /></a>' + 
			'<a class="mosaic-overlay" href="' +$(this).find("url").text()+ '">' + 
				'<span class="overlay-title">' +$(this).find("title").text()+ '</span>' + 
				tags + 
				'<span class="overlay-date">'+$(this).find("date").text()+'</span>' + 
			'</a>' + 
		'</li>'
		);
    });
    
    $('li.mosaic-block').mosaic({
		animation	:	'slide',
		anchor_y	:	'bottom'
	});
	
	$(".mosaic-overlay").addClass(function() {
		return "type-" + $(this).parent().attr('data-cat');
	});
    
    var _num = $("ul.happenings-holder li").length/3;
    var _height = $("ul.happenings-holder li").outerHeight() + 20;
    _height = _height*_num+'px';
    
    $("ul.happenings-holder").animate({opacity:'1', height: _height},500);
}

function displayBanners(d,c)
{
    
    banner_xml=d;
    $("body").prepend('<div id="pagebg"></div>');
    var a=$(banner_xml).find("banner").length;
    var b=10;
    var e=(980-(a*b))/a;
    
    $("#banner").after('<ul id="banner-nav"></ul>');
    $(banner_xml).find("banner").each(function()
    {
        $("#banner-nav").append('<li style="width:'+e+'px;" bid="'+$(this).attr("id")+'">'+$(this).find("title").text()+"</li>")
    });
    
    $("#banner-nav li").click(function()
    {
        clearTimeout(ins.hp.pb.timer);
        ins.hp.pb.reset();
        displayBanner($(this).attr("bid"));
    });
    
    displayBanner($(banner_xml).find("banner").eq(0).attr("id"));
    ins.hp.pb.init();
    //interval=setInterval('tick()',time);
}

function tick()
{
    if(($(banner_xml).find('banner[status="current"]').index()+1)==$(banner_xml).find("banner").length)
    {
        var f=$(banner_xml).find("banner").first();
    }else
    {
        var f=$(banner_xml).find('banner[status="current"]').next();
    }
    displayBanner(f.attr("id"));}

function displayBanner(a)
{
    ins.hp.pb.animating = true;
    banner=$(banner_xml).find('banner[id="'+a+'"]');
    $(banner_xml).find('banner[status="current"]').attr("status","");
    $(banner_xml).find('banner[id="'+a+'"]').attr("status","current");
    $("#banner").animate(
    {
        opacity:0
    },400,function()
    {
        $(".bubbles").animate({opacity: 0}).remove();
        $("#pagebg").animate(
        {
            opacity:0
        },400,function()
        {
            
            if(banner_imgs[a]||banner.find("image").text()=="")
            {
                $("#banner-nav li.active").removeClass("active");
                $('#banner-nav li[bid="'+a+'"]').addClass("active");
                $("#pagebg").css("background","url("+banner.find("image").text()+") top center no-repeat");
                $("#banner").html(banner.find("content").text());
                animateBanner();
            }else
            {
                var b=new Image();
                $(b).attr("src",banner.find("image").text()).load(function()
                {
                    $("#banner-nav li.active").removeClass("active");
                    $('#banner-nav li[bid="'+a+'"]').addClass("active");
                    $("#pagebg").css("background","url("+banner.find("image").text()+") top center no-repeat");
                    $("#banner").html(banner.find("content").text());
                    animateBanner();
                    banner_imgs[a]=$(this)
                });
            }
        });
    });
}

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    
    return vars;
}

/* Banners */
var animateBanner = function()
{
    if($('.banner_wrapper').hasClass('buzz'))
    {
        if(!$.support.leadingWhitespace)
    	{
    		$('body')
        	.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#C8C8C8", gradientType=0)');
    	}
    	else
    	{
    		$('body')
        	.css('background','-webkit-gradient(linear, center top, center bottom, color-stop(0.1, #FFFFFF), color-stop(0.99, #C8C8C8))')
        	.css('background','-moz-linear-gradient(center top , #FFFFFF, #C8C8C8) repeat scroll 0 0 transparent')
        	.css('background','-o-linear-gradient(top center, #FFFFFF 0%, #C8C8C8 100%)');
    	}
        
        $('header').css('background','url("/wp-content/themes/insivia/media/images/header-bg8.png") repeat-x scroll 0 0 transparent');
        $('nav h1').css('background','url(/wp-content/themes/insivia/media/images/logo.png) no-repeat scroll 0 0 transparent');
        $('.wf-active #nav > li a').css({'color':'#fff'});
        
        $('#pagebg').after('<div class="bubbles"></div>');
        $('.bubbles').css("background","url('/wp-content/uploads/2011/10/bubbles.png') top center no-repeat");
        $('.bubbles').css('width','100%').css('height','100%').css('position','absolute').css('top','96px').css('opacity','0');
        $('#video').css('display','none').css('position','absolute').css('top','89px').css('left','347px').css('opacity','0');
        var ipadEndLeft = parseInt($('.ipad').css('left'));
        var ipadStartLeft = ipadEndLeft-100;
        var simonEndLeft = parseInt($('.simon').css('left'));
        var simonStartLeft = simonEndLeft+100;
        $('h2, h3').css('opacity', '0');
        $('.ipad').css('opacity','0').css('left', ipadStartLeft+'px').rotate('-30deg');
        $('.ipad a').css('display','block')
        $('.simon').css('opacity','0').css('left', simonStartLeft+'px');
        $("#banner").css('opacity', '1');
        
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','98px').css('background-repeat','repeat-x');
        $("#pagebg").animate({opacity: 1},500,function()
        {
            $(".bubbles").animate({opacity: 1});
        });
        
        $('h2, h3').animate({opacity:1}, 700);
        $('.bubbles img').load(function(){$('.bubbles').animate({opacity: '1'}, 500);});
        $('.ipad img').load(function(){$('.ipad').animate({rotate: '0deg', left: ipadEndLeft+'px', opacity: '1'}, 500);});
        $('.simon img').load(function(){$('.simon').animate({left: simonEndLeft+'px', opacity: '1'}, 500);});
        $('.ipad a').bind('click',function()
        {
            clearTimeout(ins.hp.pb.timer);
            $('#video').css('display','block').animate({opacity:1},500);
        });
    }
    else if($('.banner_wrapper').hasClass('rohrer'))
    {
        if(!$.support.leadingWhitespace)
    	{
    		$('body')
        	.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#C8C8C8", gradientType=0)');
    	}
    	else
    	{
    		$('body')
        	.css('background','-webkit-gradient(linear, center top, center bottom, color-stop(0.1, #FFFFFF), color-stop(0.99, #C8C8C8))')
        	.css('background','-moz-linear-gradient(center top , #FFFFFF, #C8C8C8) repeat scroll 0 0 transparent')
        	.css('background','-o-linear-gradient(top center, #FFFFFF 0%, #C8C8C8 100%)');
    	}
        
        $('header').css('background','url("/wp-content/themes/insivia/media/images/header-bg8.png") repeat-x scroll 0 0 transparent');
        $('nav h1').css('background','url(/wp-content/themes/insivia/media/images/logo.png) no-repeat scroll 0 0 transparent');
        $('.wf-active #nav > li a').css({'color':'#fff'});
        
        $('h2, h3').css('opacity', '0');
        $('.laptop').css('opacity','0');
        $('.batteries').css('opacity','0').css('left', '-130px');
        $("#banner").css('opacity', '1');
        
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','98px');
        $("#pagebg").animate({opacity: 1});
        
        $('h2, h3').animate({opacity:1}, 700);
        $('.laptop img').load(function(){$('.laptop').animate({left: '-36px', top:'84px', opacity: '1'}, 500);});
        $('.batteries img').load(function(){$('.batteries').animate({left: '-30px', top:'255px', opacity: '1'}, 500);});
        
    }
    else if($('.banner_wrapper').hasClass('wendy'))
    {
    	if(!$.support.leadingWhitespace)
    	{
    		$('body')
        	.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", gradientType=0)');
    	}
    	else
    	{
    		$('body')
        	.css('background','-webkit-gradient(linear, center top, center bottom, color-stop(0.1, #000), color-stop(0.99, #000))')
        	.css('background','-moz-linear-gradient(center top , #000, #000) repeat scroll 0 0 transparent')
        	.css('background','-o-linear-gradient(top center, #000 0%, #000 100%)');
    	}
        
        
        $('header').css('background','none');
        $('nav h1').css('background','url(/wp-content/themes/insivia/media/images/logo.png) no-repeat scroll 0 0 transparent');
        $('.wf-active #nav > li a').css({'color':'#fff'});
        
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','45px');
        $('.soldier').css('opacity','0');
        $('.rubble').css('opacity','0');
        $("#banner").animate({opacity: 1});
        $("#pagebg").animate({opacity: 1});
        
        $('.soldier img').load(function(){$('.soldier').animate({opacity: 1});});
        $('.rubble img').load(function(){$('.rubble').animate({opacity: 1});});
        
        $('h2, h3').animate({opacity:1}, 700);
    }
    else if($('.banner_wrapper').hasClass('csg'))
    {
        if(!$.support.leadingWhitespace)
    	{
    		$('body')
        	.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#C8C8C8", gradientType=0)');
    	}
    	else
    	{
    		$('body')
        	.css('background','-webkit-gradient(linear, center top, center bottom, color-stop(0.1, #FFFFFF), color-stop(0.99, #C8C8C8))')
        	.css('background','-moz-linear-gradient(center top , #FFFFFF, #C8C8C8) repeat scroll 0 0 transparent')
        	.css('background','-o-linear-gradient(top center, #FFFFFF 0%, #C8C8C8 100%)');
    	}
    	
        $('header').css('background','url("/wp-content/themes/insivia/media/images/header-bg8.png") repeat-x scroll 0 0 transparent');
        $('nav h1').css('background','url(/wp-content/themes/insivia/media/images/logo.png) no-repeat scroll 0 0 transparent');
        $('.wf-active #nav > li a').css({'color':'#fff'});
        
        $('h2, h3').css('opacity', '0');
        $("#banner").animate({opacity: '1'});
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','25px');
        $("#pagebg").animate({opacity: '1'});
        
        $('.browser').css('opacity','0');
        $('.crane').css('opacity','0');
        $('.banner').css('opacity','0');
        $('.man').css('opacity','0');
        $('.dozer').css('opacity','0');
        
        $('h2, h3').animate({opacity:'1'}, 700);
        
        $('.browser img').load(function()
        {
            $('.browser').animate({opacity: '1'},500);
        });
        $('.crane img').load(function()
        {
            $('.crane').animate({opacity: '1'},500);
        });
        $('.banner img').load(function()
        {
            $('.banner').animate({opacity: '1'},500);
        });
        $('.man img').load(function()
        {
            $('.man').animate({opacity: '1'},500);
        });
        
        $('.dozer img').load(function()
        {
            $('.dozer').animate({opacity: '1'},500);
        });
    }
    else if($('.banner_wrapper').hasClass('gca'))
    {
        $('body').css('background','#a8d7ff');
        $('header').css('background','none');
        $('.wf-active #nav > li a').css({'color':'#2a4ca0'});
        $('nav h1').animate({'opacity':'0'},'medium',function()
        {
            $('nav h1').css({'background':'url(/wp-content/themes/insivia/media/images/logo_alt.png) no-repeat scroll 0 0 transparent'});
            $('nav h1').animate({'opacity':'1'});
        });
        
        $('h2, h3').css('opacity', '0');
        $("#banner").animate({'opacity': '1'});
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','0px').css('background-repeat','repeat-x');
        $("#pagebg").animate({'opacity': '1'});
        
        $('.fishLeft').css('opacity','0');
        $('.fishMid').css('opacity','0');
        $('.fishRight').css('opacity','0');
        $('.bubbles').css('opacity','0');
        $('.computer').css('opacity','0');
        
        $('h2, h3').animate({'opacity':'1'}, 700);
        $('.fishLeft img').load(function()
        {
            $('.fishLeft').animate({'opacity': '1'},500);
        });
        $('.fishMid img').load(function()
        {
            $('.fishMid').animate({'opacity': '1'},500);
        });
        $('.fishRight img').load(function()
        {
            $('.fishRight').animate({'opacity': '1'},500);
        });
        $('.bubbles img').load(function()
        {
            $('.bubbles').animate({'opacity': '1'},500);
        });
        $('.computer img').load(function()
        {
            $('.computer').animate({'opacity': '1'},500);
        });
    }
    else if($('.banner_wrapper').hasClass('insivia'))
    {
    	if(!$.support.leadingWhitespace)
    	{
    		$('body')
        	.css('filter','progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#C8C8C8", gradientType=0)');
    	}
    	else
    	{
    		$('body')
        	.css('background','-webkit-gradient(linear, center top, center bottom, color-stop(0.1, #FFFFFF), color-stop(0.99, #C8C8C8))')
        	.css('background','-moz-linear-gradient(center top , #FFFFFF, #C8C8C8) repeat scroll 0 0 transparent')
        	.css('background','-o-linear-gradient(top center, #FFFFFF 0%, #C8C8C8 100%)');
    	}
    	
    	$('header').css('background','url("/wp-content/themes/insivia/media/images/header-bg8.png") repeat-x scroll 0 0 transparent');
    	$('nav h1').css('background','url(/wp-content/themes/insivia/media/images/logo.png) no-repeat scroll 0 0 transparent');
    	$('.wf-active #nav > li a').css({'color':'#fff'});
        
        $('h2, h3, h4').css('opacity', '0');
        
        $('.lines_left').css('opacity', '0').css('width','0').css('left','480px');
        $('.lines_right').css('opacity', '0').css('width','0');
        
        $('#pagebg').css('width','100%').css('height','100%').css('position','absolute').css('top','206px');
        $("#banner").animate({opacity: '1'});
        
        $('#pagebg').animate({opacity:'1'}, 400);
        /*
        $('h3').animate({opacity:1}, 400);
        $('h2').delay(1000).animate({opacity:1}, 800);
        $('h4').delay(1800).animate({opacity:1}, 800);*/
        
        $('h2').animate({opacity:1}, 700);
        $('h3').delay(1000).animate({opacity:'1'}, 700);
        $('h4').delay(2000).animate({opacity:'1'}, 700, function()
        {
            $('.lines_left').animate({opacity: '1', width: 463, left: 17});
            $('.lines_right').animate({opacity: '1', width: 463});
        });
    }
    else
    {
        $("#banner").animate({opacity: 1});
        $('h2, h3').animate({opacity:1}, 700);
    }
    ins.hp.pb.rotate();
};

ins.hp.pb = 
{   
    init: function()
    {
        ins.hp.pb.millisec = 0;
        
        $('#banner-nav li').bind('mouseenter',ins.hp.pb.mouseenter).bind('mouseleave',ins.hp.pb.mouseleave);
        
        $('#banner-nav li').each(function()
        {
            var $this = $(this);
            $this.html('<div class="fill"></div><div class="progress"></div>');
            $('.progress').css('float','right').css('width',$this.outerWidth()+'px').css('height','4px').css('background','#2e66af').css('position','absolute').css('bottom','0').css('right','0').css('display','none');
            $('.fill').css('float','right').css('width',$this.outerWidth()+'px').css('height','4px').css('background','#ccc').css('position','absolute').css('bottom','0').css('right','0');
        });
        
        $('#banner-nav li.active').find('.progress').css('display','block');
    },
    rotate: function()
    {
        $('#banner-nav li').each(function()
        {
            $('li .progress').css('width','100%').css('opacity','0');
        });
        
        $('#banner-nav li.active').find('.progress').css('opacity','0').css('display','block').animate({opacity: 1});
        
        if(ins.hp.pb.mo==true)
        {
            $('#banner-nav li').bind('mouseleave',ins.hp.pb.mouseleave);
            clearTimeout(ins.hp.pb.timer);
        }
        else
        {
            $('#banner-nav li').bind('mouseenter',ins.hp.pb.mouseenter);
            ins.hp.pb.tick();
        }
        ins.hp.pb.animating = false;
    },
    tick: function()
    {   
        ins.hp.pb.millisec ++;
        if(ins.hp.pb.millisec >= time)
        {
            $('li.active .progress').css('width','0');
            clearTimeout(ins.hp.pb.timer);
            ins.hp.pb.reset();
            tick();
        }
        else
        {
            var totalWidth = $('#banner-nav li').outerWidth();
            var percentOfTime = (ins.hp.pb.millisec/time)*100;
            $('li.active .progress').css('width',(100-percentOfTime)+'%');
            ins.hp.pb.timer = setTimeout("ins.hp.pb.tick()",100);
        }
    },
    reset: function()
    {
        clearTimeout(ins.hp.pb.timer);
        ins.hp.pb.timer = 0;
        ins.hp.pb.millisec = 0;
    },
    mouseenter: function()
    {
        ins.hp.pb.mo = true;
        $('#banner-nav li').unbind('mouseenter',ins.hp.pb.mouseenter);
        $('#banner-nav li').bind('mouseleave',ins.hp.pb.mouseleave);
        clearTimeout(ins.hp.pb.timer);
        $(this).find('.fill, .progress').animate({height: '10px'});
    },
    mouseleave: function()
    {
        ins.hp.pb.mo = false;
        $('#banner-nav li').unbind('mouseleave',ins.hp.pb.mouseleave);
        $('#banner-nav li').bind('mouseenter',ins.hp.pb.mouseenter);
        if(ins.hp.pb.animating == false){ins.hp.pb.timer = setTimeout("ins.hp.pb.tick()",100);}
        $(this).find('.fill, .progress').animate({height: '4px'});
    }
};

function onVidLoaded()
{
    $('iframe').addEvent( 'onFinish', function(){console.log('complete');});
    //$('iframe').addEvent( 'onFinish', function(){ins.hp.pb.tick();});
};


function randomFromTo(from, to)
{
    return Math.floor(Math.random() * (to - from + 1) + from);
}
function float(elm)
{
    var inc = 5;
    var _this = elm;
    var position = $(_this).position();
    var curx = position.left;
    var cury = position.top;
    var minx = curx - inc;
    var maxx = curx + inc;
    var miny = cury - inc;
    var maxy = cury + inc;
    
    var newx = randomFromTo(minx, maxx);
    var newy = randomFromTo(miny, maxy);
    
    $(_this).animate({'top':newy, 'left':newx},1000,'linear');
}
