  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23698104-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

var pages = [
	 	"homepage",				1, "homepage",
		
	 	"brands",				1, "secondary",
	 	"about",				1, "secondary",
	 	"clients",				1, "secondary",
	 	"partner",				1, "secondary",
	 	"buy",					1, "secondary",
	 	"contact",				1, "secondary",
		
		"cejon-accessories",	6, "brand",
		"soaked",				7, "brand",
		"peace-of-cake",		7, "brand",
		"steve-madden",			6, "brand",
		"betsey-johnson",		8, "brand",
		"big-buddha",			5, "brand",
	 	"andrew-marc",			6, "brand",
		"marc-newyork",			4, "brand"
	 ];

var popups = [ 
			  "", "",
			  "terms" , "Terms of Use",
			  "privacy" , "Privacy Policy",
			  "press", "Cejon in the Press" 
			 ];
	
var page_information = [
	 	// "Page Title", "Description", "Meta"
		
		"Cejon Accessories Inc.", "Cejon Accessories, Inc. is one of the leading creative powerhouses of women's accessories for retail throughout North America.", "",
		
		"Cejon Brands", "", "",
		"About Cejon", "", "",
		"Clients", "", "",
		"Partner With Us", "", "",
		"Buy From Us", "", "",
		"Contact Us", "", "",
		
		"Cejon Accessories", "", "",
		"Soaked", "", "",
		"Peace of Cake", "", "",
		"Steve Madden", "", "",
		"Betsey Johnson", "", "",
		"Big Buddha", "", "",
		"Andrew Marc", "", "",
		"Marc New York", "", ""
	];

var homepage =
	[
		"cejon-accessories",	3,
		"soaked",				4,
		"peace-of-cake",		4,
		"steve-madden",			3,
		"betsey-johnson",		4,
		"big-buddha",			3,
	 	"andrew-marc",			3,
		"marc-newyork",			4
	 ];

var slides =
	[
	 	[ null ], false,	// homepage
		
	 	[ null ], false,	// brands
		[ null ], false,	// about
		[ null ], false,	// clients
		[ null ], false,	// partner
		[ null ], false,	// buy
		[ null ], false,	// contact
		
		[ "o93ELmuOMto" ], false,								// cejon accessories
		[ "K1btxJHd9jc" ], false,								// soaked
		[ "kVlHZXm5VKY" ], false,								// peace of cake
		[ "2LepY4tfVUY" ], false,								// steve madden
		[ "4YOiBAgQDDI" ], false,								// betsey johnson
		[ null ], false,										// big buddha
		[ "BjSmhrFsb_U" ], false,								// andrew marc
		[ "rqANznCWPRc" ], false								// marc newyork
	];
		
var settings =
	{
		html5:			false,
		
		homepageCurrentFrame:	0,
		homepageCurrentSlide:	0,
		homepageFlipTime:		6,
		homepageFlipTimeMax:	6,
		homepageSwitchTime:		12,
		homepageSwitchTimeMax:	12,
		homepageDecrease:		0.1,
		
		pagesCount:		15,
		currentDiv:		0,
		currentSlide:	0,
		currentPage:	-1,
		slowSpeed:		4,
		fadeSpeed:		8,
		direction:		0, // -1 = previous, 1 = next
		
		history:        0,
		updateHistory:  true,
		
		animating:		true
	};
var interval = false;

$( document ).ready(
	function()
	{
		/*if ( isMobile() )
		{
			settings.html5 = isMobile();
			$( ".page-wrapper" ).addClass( "html5" );
			$( ".page-wrapper" ).bind( 'webkitTransitionEnd',	function(){ cejonpage_animateEnd() } );
			$( ".page-wrapper" ).bind( 'transitionend',			function(){ cejonpage_animateEnd() } );
			$( ".page-wrapper" ).bind( 'OTransitionEnd',		function(){ cejonpage_animateEnd() } );
		}*/
		
		if ( isIE() ) // Internet Explorer renders slow -> make it faster
		{
			settings.slowSpeed = 1.2;
		}
		if ( isMobile() )
		{
			settings.slowSpeed = 2;
		}
		
		//cejonpage_resetSlideshow( 0 );
		evaluate_url(true);
	}
);

$( document ).keydown(
	function( e )
	{
		if ( e.keyCode == 37 ) // Left
		{
			var newcurrent = settings.currentPage;
			newcurrent --;
			if ( newcurrent < 0 )
				newcurrent = settings.pagesCount - 1;
			
			cejonpage_goto( newcurrent, -1 );
			cejon_selectSlide( 0 );
		}
		else if ( e.keyCode == 38 ) // Up
		{
			cejonpage_previous_slide();
		}
		else if ( e.keyCode == 39 ) // Right
		{
			var newcurrent = settings.currentPage;
			newcurrent ++;
			if ( newcurrent > ( settings.pagesCount - 1 ) )
				newcurrent = 0;
			
			cejonpage_goto( newcurrent, 1 );
			cejon_selectSlide( 0 );
		}
		else if ( e.keyCode == 40 ) // down
		{
			cejonpage_next_slide();
		}
		else if ( e.keyCode == 66 )
		{
			cejonpage_goto_byname( "brands" );
		}
		
	}
);

function isMobile() {
	if( navigator.userAgent.match(/Android/i) ||
		navigator.userAgent.match(/webOS/i) ||
		navigator.userAgent.match(/iPhone/i) ||
		navigator.userAgent.match(/iPad/i) ||
		navigator.userAgent.match(/iPod/i)
	){
		return true;
	}
	else {
		return false;
	}
}

function isIE()
{
  return (/msie/i).test( navigator.userAgent );
}

function cejon_loadVideo( video )
{
	$( ".slide.video" ).empty();
	
	_gaq.push(['_trackPageview', '/indirect/' + pages[ settings.currentPage * 3 ] + '/video']);
	if ( interval ) {return false};
	var code = isMobile() ? '<iframe width="572" height="322" src="http://www.youtube.com/embed/'+video+'?controls=0&autoplay=1&playlist=1&wmode=transparent" frameborder="0" allowfullscreen></iframe>' : '<embed src="swfs/player.swf" quality="medium"  wmode="opaque" width="572" height="322" name="video" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" wmode="transparent" FlashVars="video='+video;
	code += isMobile() ? '' : '&playing=true'; //( slides[ settings.currentPage * 2 + 1 ] ) ? '&playing=false' : '&playing=true';
	code += isMobile() ? '' : '" />';
	slides[ settings.currentPage * 2 + 1 ] = true;
	//var code = '<iframe width="572" height="322" src="http://www.youtube.com/embed/'+video+'?controls=0&autoplay=1&playlist=1&wmode=transparent" frameborder="0" allowfullscreen></iframe>';
	$( ".page-wrapper:eq(" + settings.currentDiv + ") .canvas .slide:eq(" + settings.currentSlide + ")" ).html( code );
}

function cejon_selectSlide( num )
{
	$( ".slide" ).hide();
	settings.currentSlide = num;
	if ( pages[ settings.currentPage * 3 + 2 ] == "brand" && settings.currentSlide > 0 )
	{
		_gaq.push(['_trackPageview', '/indirect/' + pages[ settings.currentPage * 3 ] + '/slide/' + num]);
		//var image = '<img src="images/' + pages[ settings.currentPage * 3 ] + '/slides/' + settings.currentSlide + '.jpg" />';
		//$( ".page-wrapper:eq(" + settings.currentDiv + ") .canvas .slide:eq(" + settings.currentSlide + ")" ).html( image );
	}
	else
	{
		var video = slides[ settings.currentPage * 2 ][ settings.currentSlide ];
		if ( video != null ) cejon_loadVideo( video );
	}
	$( ".page-wrapper:eq(" + settings.currentDiv + ") .canvas .slide:eq(" + settings.currentSlide + ")" ).show();
	$( ".canvas .slide, .canvas .track" ).removeClass( "active" );
	$( ".page-wrapper:eq(" + settings.currentDiv + ") .canvas .slide:eq(" + num + ")" ).addClass( "active" );
	$( ".page-wrapper:eq(" + settings.currentDiv + ") .canvas .track:eq(" + num + ")" ).addClass( "active" );
}

function cejon_animateHomepage( num )
{
	if ( num != null )
	{
		settings.homepageCurrentSlide = num;
		var image = '<img src="images/' + homepage[ settings.homepageCurrentFrame * 2 ] + '/homepage/' + ( settings.homepageCurrentSlide + 1 ) + '.jpg" />';
		$( ".homepage .frame-" + homepage[ settings.homepageCurrentFrame * 2 ] + " .frame-slide" ).html( image );
	}
	else
	{
		$( ".homepage .frame-" + homepage[ settings.homepageCurrentFrame * 2 ] + " .frame-slide" ).empty();
	}
}

function cejonpage_resetSlideshow( num )
{
	settings.history = 1;
	cejonpage_stopSlideshow();
	cejonpage_startSlideshow();
	cejonpage_goto( num, 1 );
	cejon_selectSlide( 0 );
};

function cejonpage_startSlideshow()
{
	if ( interval == false )
	{
		interval = window.setInterval( "cejonpage_animate()", 10 );
	}
	cejonpage_init();
};

function cejonpage_stopSlideshow()
{
	if ( interval != false )
	{
		window.clearInterval( interval );
		interval = false;
		settings.history = 0;
	}
}

function cejonpage_goto( num, dir )
{
	if ( settings.currentPage == num ) return;
	else if ( dir == null ) dir = ( num < settings.currentPage ) ? -1 : 1;
	
	
	if ( settings.currentPage != -1 )
	{
		_gaq.push(['_trackPageview', '/indirect/' + pages[ num * 3 ]]);
	}
	
	if(!History.emulated.pushState)
	{
		/* Update page history and META */
		if(settings.updateHistory)
		settings.history = 1;
		History.pushState(null, page_information[(num*3)], pages[(num*3)]+"?");
	}


	if(settings.first_time)
		document.title = page_information[(num*3)];	
	
	/* Update settings direction */
	settings.currentDiv = 1 + dir;
	
	/* Reset html5 transitions */
	//if ( settings.html5 ) $( ".page-wrapper" ).removeClass( "html5" );
	
	/* Variable to store dynamically added content */
	var innerContent = "";
	
	/* Grab window width and height */
	$windowWidth = Math.max( $( window ).width(), 1000 );
	$windowHeight = Math.max( $( window ).height(), 600 );
	
	/* Fill the page wrappers to the window */
	$( ".page-wrapper" ).css( { width: $windowWidth + "px", height: $windowHeight + "px" } );
	
	/* Cycle through each of the three page wrappers and apply appropriate changes */
	$( ".page-wrapper" ).each(
		function()
		{
			place = $( ".page-wrapper" ).index( this );
			left = $windowWidth * ( place - 1 );
			$( this ).css( { left: left + "px" } );
			
			if ( place == settings.currentDiv )
			{
				var innerContent = '<div class="' + pages[ num * 3 + 2 ] + '">' + $( ".page-container:eq(" + num + ")" ).html() + '</div>';
				$( this ).attr( "id", pages[ num * 3 ] );
				$( this ).html( innerContent );
			}
			else if ( place == 1 )
			{
				var innerContent = '<div class="' + pages[ settings.currentPage * 3 + 2 ] + '">' + $( ".page-container:eq(" + settings.currentPage + ")" ).html() + '</div>';
				$( this ).attr( "id", pages[ settings.currentPage * 3 ] );
				$( this ).html( innerContent );
			}
			else
			{
				$( this ).attr( "id", "none" );
				$( this ).empty();
			}
		}
	);
	
	/* Rebind click functions */
	$( ".arrow.previous" ).click( function() { cejonpage_previous(); } );
	$( ".arrow.next" ).click( function() { cejonpage_next(); } );
	
	/* Update slideshow and begin transition */
	settings.currentPage = num;
	
	if ( num == 0 )
	{
		$( "body" ).addClass('ishomepage');
		$( "#nav-wrapper" ).fadeOut( 600 );
		$( "#footer-wrapper" ).fadeOut( 600 );
	}
	else {
		$( "body" ).removeClass('ishomepage');
		$( "#nav-wrapper" ).fadeIn( 600 );
		$( "#footer-wrapper" ).fadeIn( 600 );
	}
	
	settings.animating = true;
	
	//if ( !settings.html5 )
	//{
		cejonpage_startSlideshow();
	/*}
	else // Html 5
	{
		$( ".page-wrapper" ).addClass( "html5" );
		$( ".page-wrapper" ).each(
			function()
			{
				//alert( $( this ).html() );
				place = $( ".page-wrapper" ).index( this );
				left = $windowWidth * ( place - 1 - dir );
				$( this ).css( { left: left + "px" } );
			}
		);
		if ( settings.currentPage == 0 )
		{
			cejonpage_startSlideshow();
		}
		else
		{
			cejonpage_stopSlideshow();
		}
	}*/
}

function cejonpage_goto_byname( str )
{	
	for ( i = 0; i < settings.pagesCount; i ++ )
	{
		if ( pages[ i * 3 ] == str )
		{
			cejonpage_goto( i, null );
			cejon_selectSlide( 0 );
		}
	}
	return false;
}

function cejonpage_previous()
{
	if ( settings.currentSlide > 0 )
	{
		cejon_selectSlide( settings.currentSlide - 1 );
	}
	else
	{
		var newcurrent = settings.currentPage;
		newcurrent --;
		if ( newcurrent < 7 )
			newcurrent = settings.pagesCount - 1;
		
		cejonpage_goto( newcurrent, -1 );
		var numSlides = pages[ newcurrent * 3 + 1 ];
		cejon_selectSlide( numSlides - 1 );
	}
}

function cejonpage_next()
{
	var numSlides = pages[ settings.currentPage * 3 + 1 ];
	
	if ( settings.currentSlide < ( numSlides - 1 ) )
	{
		cejon_selectSlide( settings.currentSlide + 1 );
	}
	else
	{
		var newcurrent = settings.currentPage;
		newcurrent ++;
		if ( newcurrent > ( settings.pagesCount - 1 ) )
			newcurrent = 7;
		
		cejonpage_goto( newcurrent, 1 );
		cejon_selectSlide( 0 );
	}
}

function cejonpage_previous_slide() {
	if ( settings.currentPage < 7 ) return false;
	if ( settings.currentSlide > 0 )
	{
		cejon_selectSlide( settings.currentSlide - 1 );
	}
	else
	{
		var numSlides = pages[ settings.currentPage * 3 + 1 ];
		cejon_selectSlide( numSlides - 1 );
	}
}
function cejonpage_next_slide() {
	if ( settings.currentPage < 7 ) return false;
	var numSlides = pages[ settings.currentPage * 3 + 1 ];
	
	if ( settings.currentSlide < ( numSlides - 1 ) )
	{
		cejon_selectSlide( settings.currentSlide + 1 );
	}
	else
	{
		cejon_selectSlide( 0 );
	}
}

function cejonpage_animate()
{
	$windowWidth = Math.max( $( window ).width(), 1000 );
	$windowHeight = Math.max( $( window ).height(), 600 );
	$( ".page-wrapper" ).css( { width: $windowWidth + "px", height: $windowHeight + "px" } );
	if ( /*!settings.html5 &&*/ settings.animating )
	{
		$( ".page-wrapper" ).each(
			function()
			{
				$("#tooltip").remove();
				thisnum = $( ".page-wrapper" ).index( this );
				place = settings.currentDiv - thisnum;
				
				$windowWidth = $( window ).width();
				$objWidth = $( this ).width();
				
				destY = 0;
				if ( place != 0 )
				{
					destX = $objWidth * place * -1;
				}
				else
				{
					destX = 0;
					destX = Math.max( destX, 0 );
				}
				
				curLeft = parseFloat( $( this ).css( "left" ) );
				
				slowX = curLeft + ( destX - curLeft ) / settings.slowSpeed;
				if ( Math.abs( destX - slowX ) > 0.01 )
				{
					$( this ).css( "left", slowX + "px" );
				}
				else
				{
					$( this ).css( "left", destX + "px" );
					if ( place == 0 )
					{
						settings.animating = false;
						if ( settings.currentPage != 0 ) cejonpage_stopSlideshow(); // Timer still runs on the homepage
						$( ".page-wrapper" ).each(
							function()
							{
								thisnum2 = $( ".page-wrapper" ).index( this );
								if ( thisnum2 != settings.currentDiv )
								{
									$( this ).attr( "id", "none" );
									$( this ).empty();
								}
								else
								{
									var video = slides[ settings.currentPage * 2 ][ settings.currentSlide ];
									if ( video != null ) cejon_loadVideo( video );
									$("#tooltip").remove();
								}
							}
						);
					}
					$( ".page-wrapper" ).css( { width: "100%", height: "100%" } );
				}
			}
		);
	}
	else if ( settings.currentPage == 0 ) // Homepage
	{
		//$( ".home-frame" ).css({opacity: 0.5});
		//return;
		if ( settings.homepageSwitchTime > 0 ) // Time before switching frames
		{
			settings.homepageSwitchTime -= settings.homepageDecrease;
		}
		else // Frame time switch ready, wait for slide show
		{
			if ( settings.homepageFlipTime <= 0
				 && settings.homepageCurrentSlide >= ( homepage[ settings.homepageCurrentFrame * 2 + 1 ] - 1 ) ) // Slideshow finished -> switch frame & reset timer
			{
				settings.homepageSwitchTime		= settings.homepageSwitchTimeMax;
				settings.homepageFlipTime		= 0;
				cejon_animateHomepage( null );
				settings.homepageCurrentFrame	= ( settings.homepageCurrentFrame + 1 ) % 8;
				//cejon_animateHomepage( 0 );
				settings.homepageCurrentSlide	= -1;
			}
			else // Slideshow playing
			{
				if ( settings.homepageFlipTime > 0 )
				{
					settings.homepageFlipTime -= settings.homepageDecrease;
				}
				else
				{
					settings.homepageFlipTime = settings.homepageFlipTimeMax;
					var newSlide = settings.homepageCurrentSlide + 1;
					cejon_animateHomepage( newSlide );
				}
			}
		}
	}
}
function cejonpage_animateEnd()
{
	if ( settings.animating )
	{
		settings.animating = false;
		$( ".page-wrapper" ).each(
			function()
			{
				thisnum = $( ".page-wrapper" ).index( this );
				if ( thisnum != settings.currentDiv )
				{
					$( this ).attr( "id", "none" );
					$( this ).empty();
				}
				else
				{
					var video = slides[ settings.currentPage * 2 ][ settings.currentSlide ];
					if ( video != null ) cejon_loadVideo( video );
					$( "#tooltip" ).remove();
				}
			}
		);
		$( ".page-wrapper" ).css( { width: "100%", height: "100%" } );
	}
}

function cejonpage_init() {
	
	$('.t_arrows').click(function() { $("#tooltip").remove(); });
	$('.prev_brand').click(function() {cejonpage_previous_brand();});
	$('.prev_slide').click(function() {cejonpage_previous_slide();});
	$('.next_slide').click(function() {cejonpage_next_slide();});
	$('.next_brand').click(function() {cejonpage_next_brand();});

	$("#tooltip").remove();
	
	tooltip();
	swipeinit();
	
	$('.track').click(function () {
		cejon_selectSlide($(this).attr('rel'));
	});

}


function cejonpage_previous_brand() {
	var newcurrent = settings.currentPage;
	newcurrent --;
	if ( newcurrent < 7 )
		newcurrent = settings.pagesCount - 1;
	
	cejonpage_goto( newcurrent, -1 );
	var numSlides = pages[ newcurrent * 3 + 1 ];
	cejon_selectSlide( 0 );	
}

function cejonpage_next_brand() {
	var newcurrent = settings.currentPage;
	newcurrent ++;
	if ( newcurrent > ( settings.pagesCount - 1 ) )
		newcurrent = 7;
	
	cejonpage_goto( newcurrent, 1 );
	cejon_selectSlide( 0 );	
}


function tooltip() { // Obtained from cssglobe.com
	$( "#tooltip" ).remove();
	
	/* CONFIG */        
	xOffset = -20;
	yOffset = -20;       
	// these 2 variable determine popup's distance from the cursor
	// you might want to adjust to get the right result     
	/* END CONFIG */        
	
    $( "a.t_arrows" ).hover(
		function( e )
		{
			$( "#tooltip" ).remove();
			this.t = this.title;
			this.title = "";                                      
			$( "body" ).append( "<div id='tooltip'>" + this.t + "</div>" );
			$( "#tooltip" )
				.css( "top", ( e.pageY - xOffset ) + "px" )
				.css( "left", ( e.pageX + yOffset ) + "px" )
				.fadeIn( "fast" );        
		},
		function()
		{
			this.title = this.t;
			$( "#tooltip" ).remove();
		}
	);

    $("a.t_arrows").mousemove(function(e){
        $("#tooltip")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px");
    });         
}

function swipeinit() {
	if (isMobile()) {
		$('.canvas').swipe({
     swipeLeft: function() { if ( !settings.animating ) cejonpage_next(); },
     swipeRight: function() { if ( !settings.animating ) cejonpage_previous(); }
		});
	}
}







/* ANTHONYS FUNCTIONS */

function evaluate_url(first_time)
{
	var hash = window.location.hash.substring(1);
	hash = hash.split('?');
	hash = hash[0];
	if(hash != '' && inPagesArray(hash, pages))
	{
		loc = hash;
	}
	else
	{
		var loc = window.location.pathname;
		loc = loc.split('?');
		loc = loc[0].split('#');
		if(loc.length>1)
			loc = loc[1];
		else
			loc = loc[0].substring(1);
	}
	
	if(i = inArray(loc, popups, 2))
	{
		open_lightbox(loc);
		cejonpage_resetSlideshow( 0 );	
		document.title = popups[(i)+1];
	}
	else if(inArray(loc, pages, 3) && loc != '')
	{
		if(first_time)
			settings.first_time = true;
		cejonpage_goto_byname( loc );	
		settings.first_time = false;
	}
	else
	{
		cejonpage_resetSlideshow( 0 );	
	}
}

function inArray(needle, haystack, skip) {
    var length = haystack.length;
    for(var i = 0; i < length; i = i + skip) {
        if(haystack[i] == needle) return i;
    }
    return false;
}


$(document).ready(function(){ 
	if (isIE()) {
		//$(document).pngFix(); 
	}
}); 

(function(window,undefined){
	var
		History = window.History,
		State = History.getState();
	
	History.Adapter.bind(window,'statechange',function(){
		var State = History.getState();

		if(settings.history!=1)
		{
			settings.updateHistory = false;
			evaluate_url(false); 
			settings.updateHistory = true;
		}
	});
})(window);

