window.isFF2Mac = (BrowserDetect.browser == 'Firefox' && BrowserDetect.version < 3 && BrowserDetect.OS == "Mac");

//var arrCaseStudies = [["Company", "Title", "/case-studies"]];
var arrCaseStudies = [["New York Stock Exchange", "Order Management: TradeWorks", "/work/case-studies/nyse-order-management"],["Picis", "Product Dashboard and UI", "/work/case-studies/picis-product-dash-and-ui"],["GamerVision", "Social Network", "/work/case-studies/gamervision-social-network"],["Liquid Generation", "Social Network", "/work/case-studies/liquid-generation-social-network"],["New York Stock Exchange", "Fraud Surveillance System", "/work/case-studies/nyse-fraud-surveillance"],["Rohm and Haas", "SAP Business Warehouse Dashboard", "/work/case-studies/rohm-and-haas-sap-business"],["Wyeth Pharmaceuticals", "Human Relations Portal", "/work/case-studies/wyeth-pharm-hr-portal"],["Pearson Technology Center", "Corporate Intranet", "/work/case-studies/pearson-tech-center-corporate"],["HSBC", "Web site: Portal", "/work/case-studies/hsbc-web-site-portal"],["MBNA", "Web site: Customer Portal", "/work/case-studies/mbna-web-site-portal"],["AstraZeneca", "Global Web Framework", "/work/case-studies/astrazeneca-global-web"],["Oppenheimer Funds", "Web site: Customer Portal", "/work/case-studies/oppenheimer-funds-website-portal"],["Reuters", "Web site: Customer Portal", "/work/case-studies/reuters-wesite-customer-portal"]];
/* begin global vars */

var arrSelectedCaseStudies = new Array();

function getThreeCaseStudies(intCount)
{
	var randomnumber=Math.floor(Math.random()*arrCaseStudies.length);
	arrSelectedCaseStudies.include(randomnumber);
	//console.log(randomnumber+' - '+intCount);
	if (arrSelectedCaseStudies.length != 4 && intCount < 100 )
	{
		intCount ++;
		getThreeCaseStudies(intCount);
	}
	
}

/* end global vars */

function expandWidgetSpace() {
	if(isFF2Mac) { $('hero-left').style.display='none'; }
	$('flash_widget_container').setStyle('width', '960px')
}

function collapseWidgetSpace() {
	if(isFF2Mac) { $('hero-left').style.display=''; }
	$('flash_widget_container').setStyle('width', '240px')
}

function startSlideshow(argId, numDelay, delayFirst) {
	
	var objImages = $$('div#' + argId + ' .SectionImage');
	var numImages = objImages.length;
	
	if (numImages > 1)
	{
		
		objImages.each(function(objImage, numIndex)
		{
			objImage.setStyle("display", "block");
			objImage.setStyle("z-index", (numImages - numIndex));
		});

		setTimeout("SlideShow('" + argId + "', 0, " + delayFirst + ")", numDelay);
	}
}

function SlideShow(argId, argIndex, delayFirst) {
	
	var objImages = $$('div#' + argId + ' .SectionImage');
	
	var numIndex = argIndex;
	var numImages = objImages.length;
	var objEffect = new Fx.Style(objImages[numIndex], 'opacity', 
		{
			duration: 2000,
			onComplete: function()
			{
				objImages.each(function(objImage, numIndex2)
				{
					if (numIndex == numIndex2)
					{
						objImage.setStyle("z-index", 1);
						objImage.setStyle("display", "block");
						objImage.setStyle("opacity", 1);
					}
					else
					{
						objImage.setStyle("z-index", parseFloat(objImage.getStyle('z-index')) + 1);
					}
				});

				numIndex++;
				if (numIndex == numImages) 
				{
					numIndex = 0;
				}
				
				if (numIndex == 0 && delayFirst)
				{
					setTimeout("SlideShow('" + argId + "'," + numIndex + "," + delayFirst + ")", 11500);
				}
				else
				{
					setTimeout("SlideShow('" + argId + "'," + numIndex + "," + delayFirst + ")", 4000);
				}
			}
		}).start(0);
}

window.addEvent('domready', function() 
{
//add copyright year
var d = new Date();
$('yearcopy').innerHTML = d.getFullYear();

	// updated tabindexes for lab rental form
	if($('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2285')){
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2285').setProperty('tabindex', '1');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2286').setProperty('tabindex', '2');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2287').setProperty('tabindex', '3');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2288').setProperty('tabindex', '4');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2289').setProperty('tabindex', '5');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2290').setProperty('tabindex', '6');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2291').setProperty('tabindex', '7');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2292').setProperty('tabindex', '8');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2293').setProperty('tabindex', '9');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2294').setProperty('tabindex', '10');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2302').setProperty('tabindex', '11');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2296').setProperty('tabindex', '12');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2297').setProperty('tabindex', '13');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementTextBox2303').setProperty('tabindex', '14');
		$('ctl00_ctl00_ctl00_ContentPlaceHolderDefault_PageContent_ed_form_5_edFormElementCheckBox2299').setProperty('tabindex', '15');
		$$('.ed_form_submit_button')[0].setProperty('tabindex', '16');
	}


	// initialize slideshows for homepage
	var numSlideTime = 4000;
	
	if ($('home'))
	{
		numSlideTime = 11500;
		startSlideshow('hero-left', numSlideTime, true);
	}
	else if ($('lab-map')){
		startSlideshow('hero-left', numSlideTime, false);
		startSlideshow('lab-map', numSlideTime, false);
	}
	else
	{
		startSlideshow('hero-left', numSlideTime, false);
	}

//	if($('hero').hasClass('flash_widget')) {
//		var so = new SWFObject('/widget/widget.swf?ver=1', 'widget_swf', '960', '280', '8')
//		so.addParam("wmode", "transparent");
//		so.write('flash_widget');
//	}
	
	/* begin widget code */
	
	if(typeof so != 'undefined' && so.installedVer.versionIsValid('8')) {
		var htmlWidget = $('widget')
		htmlWidget.parentNode.removeChild(htmlWidget);
	} else {
		getThreeCaseStudies(1);
	
		var strCaseStudiesList = '<ul>';
	
		arrSelectedCaseStudies.each(function(objCaseStudy)
		{
			strCaseStudiesList += '<li><a href="' + arrCaseStudies[objCaseStudy][2] + '" title="' + arrCaseStudies[objCaseStudy][0] + '">' + arrCaseStudies[objCaseStudy][0] + '</a><br />' + arrCaseStudies[objCaseStudy][1] + '</li>';	
		});
	
		strCaseStudiesList += '</ul>';

		//$('wrapper').innerHTML = $('wrapper').innerHTML + strCaseStudiesList;
	}
	/* end widget code */

	/* begin client list swapping code */

	if ($('ProjectTypeList'))
	{
		$('ProjectTypeList').setStyle('display', 'none');
		$('Vertical').getParent().addClass('current');

		// temporarily start on project type
		//$('VerticalTypeList').setStyle('display', 'none');
		//$('ProjectType').getParent().addClass('current');
		
		$('ProjectType').addEvent('click', function()
		{
			$('ProjectType').getParent().addClass('current');
			$('Vertical').getParent().removeClass('current');
			$('ProjectTypeList').setStyle('display', 'block');
			$('VerticalList').setStyle('display', 'none');
		});
		
		$('Vertical').addEvent('click', function()
		{
			$('Vertical').getParent().addClass('current');
			$('ProjectType').getParent().removeClass('current');
			$('VerticalList').setStyle('display', 'block');
			$('ProjectTypeList').setStyle('display', 'none');
		});		
	}
	
	/* end client list swapping code */
	
	/* begin case study photo swapping code */
	
	if ($('PhotoContainer'))
	{
		$('PhotoContainer').getChildren().each(function(objImage, numIndex)
		{
			if (numIndex > 0)
			{
				objImage.setStyle('display', 'none');
			}
		});
	}
	
	if ($('PhotoNavigation'))
	{
		$('PhotoNavigation').getChildren().each(function(objListElement, numIndex)
		{
			
			var objLink = objListElement.getChildren()[0];
			
			if (numIndex == 0)
			{
				objLink.addClass('current');
			}
			
			objLink.addEvent('click', function()
			{
				
				$('PhotoContainer').getChildren().each(function(objImage)
				{
					objImage.setStyle('display', 'none');
				});
				
				$('PhotoContainer').getChildren()[numIndex].setStyle('display', 'block');
				
				$('PhotoNavigation').getChildren().each(function(objListElement)
				{
					objListElement.getChildren()[0].removeClass('current');
				});
				
				objLink.addClass('current');
				
			});
		});
	}

	/* end case study photo swapping code */

	/* design for business read more */
	$$('.read-more').each(function(item){  
		var thisSlider = new Fx.Slide( item.getElement('.read-more-box'));  
		thisSlider.hide();  
		item.getElement('.read-more-link').addEvent( 'click', function(){ 
			thisSlider.toggle(); 
			if($(this).hasClass("collapse")){
				$(this).innerHTML = "Read more";
				$(this).removeClass("collapse");
			}else{
				$(this).innerHTML = "Collapse text";
				$(this).addClass("collapse");
			}

		} );
 	} );
	/* end dfb read more */
	
});

/* For Contact Page Validation */
// form validation function //
function validateForm() {
  var fname = document.getElementById('first-name').value;
  var lname = document.getElementById('last-name').value;
  var email = document.getElementById('email-address').value;
  var phone = document.getElementById('phone').value;
  var company = document.getElementById('company').value;
  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	//window.alert(fname+' '+lname+' '+email); //return false;
  if(fname == "") {
    inlineMsg('first-name','You must enter your first name.',2);
    return false;
  }else if(!fname.match(nameRegex)) {
    inlineMsg('first-name','You have entered an invalid last name.',2);
    return false;
  }
  if(lname == "") {
    inlineMsg('last-name','You must enter your first name.',2);
    return false;
  }else if(!lname.match(nameRegex)) {
    inlineMsg('last-name','You have entered an invalid last name.',2);
    return false;
  }
  if(company == "") {
    inlineMsg('company','You must enter your company.',2);
    return false;
  }else if(!company.match(nameRegex)) {
    inlineMsg('company','You have entered an invalid company.',2);
    return false;
  }
  if(email == "") {
    inlineMsg('email-address','<strong>Error</strong><br />You must enter your email.',2);
    return false;
  }else if(!email.match(emailRegex)) {
    inlineMsg('email-address','<strong>Error</strong><br />You have entered an invalid email.',2);
    return false;
  }
  if(phone == "") {
    inlineMsg('phone','<strong>Error</strong><br />You must enter your phone number.',2);
    return false;
  }
  return true;
}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  msgarrow = new Image(7,80); 
  msgarrow.src = "/i/msg_arrow.gif"; 
}
/* End Contact Page Validation */