// JavaScript Document
var holderheight;
var holderwidth;
var hide;
var holdershowing = 0;
	holderheight = 243;
	holderwidth = 411;
	
function frontchangepage(url,id,title){
	var fadeonly = new Fx.Style('dHolder', 'opacity' ,{duration:250}); //animate with no oncomplete
	
	var fadeajax = new Fx.Style('dHolder', 'opacity' ,{//animate with oncomplete
		duration:250,
		//on complete loading page 
		onComplete: function() {
				
			new Ajax(url, {
			method: 'get',
			update: $('dHolder'),
			evalScripts: true,
			onComplete: function() {
			//on complete fade in using ainmation with on oncomplete
	
	
				pageTracker._trackPageview(url);
	
				fadeonly.start(0, 1);
			}
		}).request();
		
			}
	});
		
		fadeajax.start(1, 0)
		
}
	

function createdisplay(holderwidth,holderheight,ajax,url,autohide){
	
	opacity = 0.4;

if(holderwidth == undefined){
	holderwidth=411
}else{
	this.holderwidth=holderwidth;
}
	
if(holderheight == undefined){
	holderheight=243
}else{
	this.holderheight=holderheight
}

if(autohide == undefined){
	autohide=true;
}

if(ajax == undefined){
	ajax=0
}

if(!$('dOverlay')){ // create the divs
	overlay = new Element('div', {'id': 'dOverlay'}).injectInside(document.body);
		
	overlay.setStyles({'top': window.getScrollTop(), 'height': window.getScrollHeight(), 'opacity':'0',
									'position':'absolute',
									'top':'0px',
									'left':'0px' });	
	
	screenwidth = $('dOverlay').clientWidth;
	screenheight = window.getHeight();
	
	holder = new Element('div', {'id': 'dHolder'}).injectInside(document.body);
	
	$('dHolder').setStyles({
	//								 'height':0, 
	//								 'width':0
										'height':holderheight, 
										'width':holderwidth
									 });
	$('dHolder').setStyles({
									 'top':((screenheight-holder.getStyle('height').toInt())/2+'px'), 
									 'left':((screenwidth-holder.getStyle('width').toInt())/2+'px'),
									 'overflow':'hidden',
									'opacity':0
									 });
	
}else{
	
	$('dHolder').innerHTML = '';
	resizeoverlay()
}// end create the divs

var overlayfx = new Fx.Style('dOverlay', 'opacity', {duration:250, wait:true});
var holderfx = new Fx.Style('dHolder', 'opacity', {duration:250, wait:true});

$('dOverlay').addEvent('click', function(e) { //finds 'id=dOverlay' and add an onclick event
		e = new Event(e).stop();
		 closedisplay();
});


currentopacity = $('dOverlay').style.opacity;

	overlayfx.start(currentopacity,opacity).chain(function(){
		// executes immediately after completion of above effect
		if(holdershowing == 0){
			holderfx.start(0,1);
			holdershowing = 1;
		}
		
	});


	theinnerlinks = $ES('.link');
	theinnerlinks.each(function(el){
		el.removeClass('current');
	});
	
	file = url.split('.php');
	checkvar = file[0].replace("http://"+location.host+'/', "");
	
	//$(checkvar).addClass('current');
	
	
	
	switch(checkvar)
		{
		case "clients":
			$('menu_clients').addClass('current');
		 	 break;    
		case "dna":
		  	$('menu_dna').addClass('current');
			break;
		case "testimonials":
		  	$('menu_testimonials').addClass('current');
			break;
		case "blogs":
			$('menu_blog').addClass('current');
		  	break;
		case "tocreateis":
		  	$('menu_tocreateis').addClass('current');
			break;
		case "creds":
		  	$('menu_creds').addClass('current');
			break;

		default:
			break;
	}
	
	//alert(checkvar+'-test');
	
	el = 'dHolder';
if(ajax > 0){
	$(el).addClass('loading');
	if(currentopacity >= opacity){
		frontchangepage(url,id,title);
	}else{
		loadajax(url,el);
	}
}


overlayfx.start({
			'margin-left': 5,
			'background-color': '#666',
			'color': '#ff8'
});
if(autohide==true){
hide=setTimeout('autohide()',4000)
}
}

var p = new Preloader();
 
function preImgs() {
	$$('.preLoad').each(function(img) {
		p.addEventOnLoad(img.src, function() {
			img.getParent().setStyle('background', 'none');
			img.getParent().getParent().setStyle('display', 'block');
			img.setStyle('opacity', 0)		
			img.style.display = 'block';
			img.effect('opacity').start(0,1);
			//pageScroller.update();
		});			
	p.addToQueue(img.src)		
});
}


function loadajax(url,ele){
	
	loadpage = new Ajax(url, {
									method: 'get',
									update: $(ele),
									evalScripts: true,  //for the scroll bar in the new page loaded
									onComplete: function(){
										$(ele).removeClass('loading');
										preImgs();
									}											
	});
	
	loadpage.request();
}

function findshow(){
			$ES('.show').addEvent('click', function(e) { //find all 'class=show' and add an onclick event
					e = new Event(e).stop();
					//holderheight = 243;
					//holderwidth = 411;
					createdisplay(469,580,1,this.href);
				});
	}

function resizeoverlay(){
if($('dOverlay')){ // create the divs
	$('dOverlay').setStyles({'top': 0, 'height': window.getScrollHeight()});	
	var holderfx = new Fx.Styles('dHolder', {duration:250, wait:true});
	
	if( typeof( window.innerHeight ) == 'number' ) {
		newwidth = ($('dOverlay').getStyle('width').toInt()-holderwidth)/2+'px'
	} else if( document.documentElement &&( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		newwidth = (document.documentElement.clientWidth-holderwidth)/2+'px'
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		newwidth = (document.body.clientWidth-holderwidth)/2+'px'
	}
	if($('dHolder')){
	if($('dHolder').getStyle('width').toInt() > 0){
	holderfx.start({
						'height': holderheight, 
						'width': holderwidth,
						'top':((window.getHeight()-holderheight)/2+'px'),
						'left':(newwidth)
	});
	}
	}
}
}

function closedisplay(blog){
	
	//alert('closing');
	
	$('dHolder').innerHTML = '';
	
	if(blog == undefined){
		blog=0;
	}

theinnerlinks = $ES('.link');
theinnerlinks.each(function(el){
	el.removeClass('current');
});

if(blog==1){
	$('menu_blog').removeClass('readblog');
	$('menu_blog').addClass('current');
	$('blogmenu').addClass('hide');
}

var overlayfx = new Fx.Style('dOverlay', 'opacity', {duration:250, wait:true});
var holderfx = new Fx.Styles('dHolder', {duration:250, wait:true});

$('dOverlay').addEvent('click', function(e) {e = new Event(e).stop();})

		holderfx.start({
//						'height':0, 
//						'width':0,
//						'top':((screenheight)/2+'px'),
//						'left':((screenwidth)/2+'px'),
						'opacity':0
		}).chain(function(){
							holdershowing = 0;
							var d = detectMacXFF(); //mac firefox fix
							if (d) {
									$('dOverlay').style.visibility = "hidden";
							}else{
								overlayfx.start(opacity,0);
							}
		});

}
function autohide(){
	
if(currentopacity >= opacity){
var overlayfx = new Fx.Style('dOverlay', 'opacity', {duration:250, wait:true });
var holderfx = new Fx.Styles('dHolder', {duration:250, wait:true});

				var d = detectMacXFF();
				if (d) {
					var overlayfx = new Fx.Styles('dOverlay', {
					duration:250, 
					wait:true,
					onComplete:function(){
							$('dOverlay').style.visibility = "hidden";
						}
					});
					
					overlayfx.start({'background-color':'#ffffff'});
						$('dHolder').style.visibility = "hidden";
				}else{
						holderfx.start({
										// hack for big active
										'opacity':0
							}).chain(function(){
							holdershowing = 0;
							overlayfx.start(opacity,0);
							
							});
			}
}

}

function detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}

function getlinks(){
	// for ajax loaded pages
	innerlinks = $ES('.link').addEvent('click', function(e) { //find all 'class=link' and add an onclick event
	e = new Event(e).stop();
	
	this.removeClass('current');
	
 	url = this.href; //pull url from a href (a tag only for SEO)
	id = this.rev
	
	if(id=='menu_blogs'){
		$('blogmenu').removeClass('hide');
		$('menu_blog').addClass('current');	
	}else{
		//$(id).addClass('current');
	}
	title = this.href.slice(this.href.indexOf('?') + 1);//this.title;
	
	
	
	
	
		if(url != "#" && url != ""){
				$(document.body).scrollTo(0,0);
				pageTracker._trackPageview(url);
				createdisplay(469,580,1,url,false)
				
		}
		
});
}

function getpagechangelinks(){
	// for ajax loaded pages
	innerlinks = $ES('.innerlink').addEvent('click', function(e) { //find all 'class=staffurl' and add an onclick event
	e = new Event(e).stop();
	
	newid = "";
 	url = this.href; //pull url from a href (a tag only for SEO)
	id = this.rev
	title = this.href.slice(this.href.indexOf('?') + 1);//this.title;
	
	if(id=="bloglink"){
		if(url != "#" && url != ""){
				$(document.body).scrollTo(0,0);
				pageTracker._trackPageview(url);
				createdisplay(469,610,1,url,false)
				
		}
		
	}else{
		if(url != "#" && url != ""){
				scroll(0,0);
				addhistoryvar = 1;
				frontchangepage(url,id,title);
				
		}
	}
	
});
	
	
	
	

	
	
}


function redirect(hasharray){
	
					if(hasharray.length>0){
					
						switch(hasharray[0])
							{
							case "clients":
								
								if(hasharray.length>1){
									
									frontchangepage('casestudy.php?ID='+hasharray[1],'','');
								}else{
									//createdisplay(469,580,1,'clients.php',false);
									frontchangepage('clients.php','','');
								}
								 break;    
							case "whoweare":
									//createdisplay(469,580,1,'dna.php',false);
									frontchangepage('dna.php','','');
								break;
							case "testimonials":
									//createdisplay(469,580,1,'testimonials.php',false);
									frontchangepage('testimonials.php','','');
								break;
							case "blog":
								if(hasharray.length>1){
									//createdisplay(469,610,1,'blogs.php?ID='+hasharray[1],false);
									frontchangepage('blogs.php?ID='+hasharray[1],'','');
								$('blogmenu').removeClass('hide');
								}else{
									//createdisplay(469,580,1,'bloglist.php',false);
									frontchangepage('bloglist.php','','');
								$('blogmenu').removeClass('hide');
								}
								break;
							case "welove":
									//createdisplay(469,580,1,'tocreateis.php',false);
									frontchangepage('tocreateis.php','','');
								break;
							case "creds":
									//createdisplay(469,580,1,'creds.php',false);
									frontchangepage('terms.php','','');
								break;
							case "terms":
									//createdisplay(469,580,1,'terms.php',false);
									frontchangepage('terms.php','','');
								break;
							case "privacy":
									//createdisplay(469,580,1,'privacy.php',false);
									frontchangepage('privacy.php','','');
								break;
							default:
								
							break;
							  
							}
							
							return true;
						}else{
							return false;	
						}
					
	
}

function strpos( haystack, needle, offset){
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Onno Marsman    
    // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
    // *     returns 1: 14
 
    var i = (haystack+'').indexOf( needle, offset ); 
    return i===-1 ? false : i;
}

 function updatescroll(title){
	 
// 	new MooScroller($E('.'+title+'_scroller'), $E('.'+title+'_scrollKnob'), {
//		scrollLinks: {
//			forward: $E('.'+title+'_scrollForward'),
//			back: $E('.'+title+'_scrollBack')
//		},
//	scrollSteps:100
//	});
//	
//	if(scrollups<25){
//	window.setTimeout('updatescroll("'+title+'")',5000);
//	}
//	
//	scrollups = scrollups + 1;

	pageScroller.update()
 }

window.addEvent('domready', findshow);
window.onresize = resizeoverlay;