var cnt = 0;

function swapDivs(objId)
{
    for(i = 1; i <= cnt; i++){
		$('#fTable'+i).style.display = 'none';
		$('#link'+i).attr('style','cursor: pointer;color: #6b487b;text-decoration: underline;');
	}
	$('#fTable'+objId).style.display = 'block';
	$('#link'+objId).attr('style','');
}

function swapDescription(description){
    $('#photoDescription').html(description);
    $('#flickrImageLink').attr('title', description);
}

function doSwap(inputObj)
{
    for(i = 1; i <= cnt; i++){
        inputElements = $('fTable'+i+' input');
	elementLength = inputElements.length;
        for(x = 0; x < elementLength; x++){
            inputElements[x].checked = false;   
        }
    }
    inputObj.checked = true;
}
  
function swapFlickrDivs(objId)
{
	for(i = 1; i <= projectFlickrCount; i++){
		try{
            $('#fTable'+i+' img').fadeOut('slow');
			document.getElementById('fTable'+i).style.display = 'none';
		}catch(e){
            //empty in here.  If no more divs to swap do nothing
		}
	}
	images = $('#fTable'+objId+' img').fadeIn('slow');
    document.getElementById('fTable'+objId).style.display = 'block';
}
      
function swapFlickrImage(obj, src, flickrLink, boolVar)
{
    $('#flickrImage').attr('src', '/fg2site/images/ajax-loader.gif');
    imageElements = $('#projectContentRightPhotoScroll img');
    imElementsLength = imageElements.length;
    for(i = 0; i < imElementsLength; i++){
        imageElements[i].style.border = 'none';
        imageElements[i].style.margin = '0px 0px 0px 0px';
    }
    if(boolVar){
        $('#flickrImageLink').attr('rel', 'shadowbox;width=425;height=344;player=swf');
        $('#flickrImageLink').attr('href', flickrLink);
        Shadowbox.setup($('#flickrImageLink'));
    }else{
        $('#flickrImageLink').attr('rel', 'shadowbox');
        $('#flickrImageLink').attr('href', flickrLink);
        Shadowbox.setup($('#flickrImageLink'));
    }
    
    if(!document.all){
        obj.style.border = '2px solid #f57e20';
        obj.style.margin = '-2px 0px 0px 0px';
    }else{
        obj.style.border = '1px solid #f57e20';
        obj.style.margin = '0px 0px 0px -2px';
    }
    $('#flickrImage').attr('src', src);

}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		dataLength = data.length;
		for (var i=0;i<dataLength;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

/* 
 * XHTML documment.write() Support (v1.5.2) - Parses string argument into DOM nodes
 *     appends them to the document immediately after the last loaded SCRIPT element,
 *     or to the BODY if the document has been loaded.
 *  by Weston Ruter, Shepherd Interactive <http://www.shepherd-interactive.com/>
 *  <http://weston.ruter.net/projects/xhtml-document-write/>
 * 
 * Copyright 2008, Shepherd Interactive. Licensed under GPL <http://creativecommons.org/licenses/GPL/2.0/>
 * Incorporates HTML Parser By John Resig <http://ejohn.org/files/htmlparser.js>
 * Original code by Erik Arvidsson, Mozilla Public License
 *
 * $Id$
 */

try {
	document.write('');
	//Opera doesn't seem to complain, so make it complain if XHTML
	if(window.opera && document.documentElement.namespaceURI)
		throw Error();
}
catch(e){
	(function(){
	var htmlns = 'http://www.w3.org/1999/xhtml';
	var win = window;
	var doc = document;
	
	//Keep track of when the document has been loaded
	var isDOMLoaded = false;
	function markLoaded(){
		isDOMLoaded = true;
	}
	if(doc.addEventListener)
		doc.addEventListener('DOMContentLoaded', markLoaded, false);
	if(win.addEventListener)
		win.addEventListener('load', markLoaded, false);
	if(win.attachEvent)
		win.attachEvent('onload', markLoaded);

	//Any script element IDs specified here will cause them to be ignored
	var scriptIgnoreIDs = makeMap("_firebugConsoleInjector,_firebugConsole");
	
	var parentNode;
	var lastScript;
	var parser;

	doc.write = function(str){
		//Find where new nodes will be placed
		var thisScript;
		if(!isDOMLoaded){
			//Get the last script element, the one that is calling document.write()
			var scripts = doc.getElementsByTagNameNS(htmlns, 'script');
			scriptLength = scripts.length;
			for(var i = scriptLength-1; i >= 0; i--){
				if(!scripts[i].id || !scriptIgnoreIDs[scripts[i].id]){
					thisScript = scripts[i];
					break;
				}
			}
			
			//Set where new nodes will be appended to
			if(!parentNode){
				parentNode = thisScript.parentNode;
			}
			
			//If we're in the same script element, then continue where left off, 
			//  but if calling from new script element, reset the parentNode.
			//  It will be better in the future to actually keep track of the 
			//  nodes in between the two script elements and to move them to be
			//  inside of any HTML fragment that had yet to be closed.
			if(thisScript != lastScript) {
				parentNode = thisScript.parentNode;
				parser = null; //destroy the parser
				lastScript = thisScript;
			}
		}
		else if(!parentNode) {
			parentNode = doc.getElementsByTagNameNS(htmlns, 'body')[0];
		}
		
		if(parser){
			parser.parse(str);
		}
		else {
			parser = new HTMLParser(str, {
				start:function(tag, attrs, unary){
					var el = doc.createElementNS(htmlns, tag);
					attrsLength = attrs.length;
					for(var i = 0; i < attrsLength; i++)
						el.setAttribute(attrs[i].name, attrs[i].value);
					
					parentNode.appendChild(el);
					if(!unary)
						parentNode = el;
				},
				end:function(tag){
					parentNode = parentNode.parentNode;
				},
				chars:function(text){
					if(text){
						parentNode.appendChild(doc.createTextNode(text));
					}
				},
				comment:function(text){
					parentNode.appendChild(doc.createComment(text));
				}
			});
		}
	};
	
	

	//-- Begin HTML Parser By John Resig (ejohn.org) ---------------------
	// Regular Expressions for parsing tags and attributes
	var startTag = /^<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,
		endTag = /^<\/(\w+)[^>]*>/,
		attr = /(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;
		
	// Empty Elements - HTML 4.01
	var empty = makeMap("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed");

	// Block Elements - HTML 4.01
	var block = makeMap("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul");

	// Inline Elements - HTML 4.01
	var inline = makeMap("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var");

	// Elements that you can, intentionally, leave open
	// (and which close themselves)
	var closeSelf = makeMap("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");

	// Attributes that have their values filled in disabled="disabled"
	var fillAttrs = makeMap("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected");

	// Special Elements (can contain anything)
	var special = makeMap("script,style");

	//document.write(): this HTMLParser function has been turned into an object which allows
	//  for incremental parsing via HTMLParser.parse(moreHTML). This conversion was done late
	//  at night so it surely has areas of stylistic and functional improvement
	var HTMLParser /*= this.HTMLParser*/ = function( html, handler ) {
		var index, chars, match, stack = [];//, last = html;
		stack.last = function(){
			return this[ this.length - 1 ];
		};
		
		//parse method added for document.write()
		this.parse = function(moreHTML){
			last = html = moreHTML;
		while ( html ) {
			chars = true;

			// Make sure we're not in a script or style element
			if ( !stack.last() || !special[ stack.last() ] ) {

				// Comment
				if ( html.indexOf("<!--") == 0 ) {
					index = html.indexOf("-->");
	
					if ( index >= 0 ) {
						if ( handler.comment )
							handler.comment( html.substring( 4, index ) );
						html = html.substring( index + 3 );
						chars = false;
					}
	
				// end tag
				} else if ( html.indexOf("</") == 0 ) {
					match = html.match( endTag );
	
					if ( match ) {
						html = html.substring( match[0].length );
						match[0].replace( endTag, parseEndTag );
						chars = false;
					}
	
				// start tag
				} else if ( html.indexOf("<") == 0 ) {
					match = html.match( startTag );
	
					if ( match ) {
						html = html.substring( match[0].length );
						match[0].replace( startTag, parseStartTag );
						chars = false;
					}
				}

				if ( chars ) {
					index = html.indexOf("<");
					
					var text = index < 0 ? html : html.substring( 0, index );
					html = index < 0 ? "" : html.substring( index );
					
					if ( handler.chars )
						handler.chars( text );
				}

			} else {
				html = html.replace(new RegExp("(.*)<\/" + stack.last() + "[^>]*>"), function(all, text){
					text = text.replace(/<!--(.*?)-->/g, "$1")
						.replace(/<!\[CDATA\[(.*?)]]>/g, "$1");

					if ( handler.chars )
						handler.chars( text );

					return "";
				});

				parseEndTag( "", stack.last() );
			}

			if ( html && html == last )
				throw "Parse Error: " + html;
			last = html;
		}
		};

		// Clean up any remaining tags
		//parseEndTag(); //for document.write(), do not do this!

		function parseStartTag( tag, tagName, rest, unary ) {
			if ( block[ tagName ] ) {
				while ( stack.last() && inline[ stack.last() ] ) {
					parseEndTag( "", stack.last() );
				}
			}

			if ( closeSelf[ tagName ] && stack.last() == tagName ) {
				parseEndTag( "", tagName );
			}

			unary = empty[ tagName ] || !!unary;

			if ( !unary )
				stack.push( tagName );
			
			if ( handler.start ) {
				var attrs = [];
	
				rest.replace(attr, function(match, name) {
					var value = arguments[2] ? arguments[2] :
						arguments[3] ? arguments[3] :
						arguments[4] ? arguments[4] :
						fillAttrs[name] ? name : "";
					
					attrs.push({
						name: name,
						value: value,
						escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') //"
					});
				});
	
				if ( handler.start )
					handler.start( tagName, attrs, unary );
			}
		}

		function parseEndTag( tag, tagName ) {
			// If no tag name is provided, clean shop
			if ( !tagName )
				var pos = 0;
				
			// Find the closest opened tag of the same type
			else
				for ( var pos = stack.length - 1; pos >= 0; pos-- )
					if ( stack[ pos ] == tagName )
						break;
			
			if ( pos >= 0 ) {
				// Close all the open elements, up the stack
				for ( var i = stack.length - 1; i >= pos; i-- )
					if ( handler.end )
						handler.end( stack[ i ] );
				
				// Remove the open elements from the stack
				stack.length = pos;
			}
		}
		
		//This gets everything going
		this.parse(html);
	};

	function makeMap(str){
		var obj = {}, items = str.split(",");
		itemLength = items.length;
		for ( var i = 0; i < itemLength; i++ )
			obj[ items[i] ] = true;
		return obj;
	}
	//-- End HTML Parser By John Resig (ejohn.org) ---------------------
	
	})();
}

function fixEmptyImageContainers(){
    var imageElements = document.getElementsByClassName('featuredItems')[0].getElementsByTagName('img');
    for(var i=0; i<imageElements.length;i++){
        if(document.all){
            if(!imageElements[i].src.match(/jpg/gi)) imageElements[i].src = 'http://farm4.static.flickr.com/3415/3639598792_ba6dea9b60_m.jpg';
        }
        if(imageElements[i].getAttribute('src') == ''){
            imageElements[i].setAttribute('src', 'http://farm4.static.flickr.com/3415/3639598792_ba6dea9b60_m.jpg');
        }
    }
}

var tagListArray = false;
var linkListArray = false;
var titleListArray = false;
var listTraverse = 0;
var cellTraverse = 0;
var imageHTMLString = '<tr>';
var totalPageCount = 0;
var pagination = '';
var galleryUlObj = '';
var pageTrack = 1;

function getFlickrGallery(){
    if(!tagListArray){
        var argList    = getFlickrGallery.arguments;
        tagListArray   = argList[0].split(',');
        linkListArray  = argList[1].split(',');
        titleListArray = argList[2].split('|');
        tempPageCount = Math.floor(tagListArray.length/8);
 
        if(tagListArray.length%8) tempPageCount++;
        totalPageCount = tempPageCount;
        
        for(i = 1; i <= totalPageCount; i++){
            if(i == 1) color = '#f47f22';
            else color = '#37a9cd';
            pagination += '<font style="cursor:pointer;color:'+color+';margin-right:3px;margin-left:3px;" onclick="resetGallery('+i+');swapPage('+i+');getFlickrGallery();">'+i+'</font>';    
        }
        if(tagListArray.length <= 7){
            $('#flickrGalleryContainer').html ( '<div><div id="resultCount" style="float:left;width:180px;"><b>Results:</b> 1-'+(tagListArray.length)+' out of '+tagListArray.length+
            ' total</div></div><br class="clear" />' );
        }else {
           $('#flickrGalleryContainer').html('<div><div id="resultCount" style="float:left;width:180px;"><b>Results:</b> 1-8 out of '+tagListArray.length+
            ' total</div><div style="float:right;"><img src="fg2site/images/blueBulletLeft.gif" style="cursor:pointer;margin-right:5px;" onclick="tickLeft();"/>'+
            pagination+'<img src="fg2site/images/blueBullet.gif" style="margin-left:5px;cursor:pointer;" onclick="tickRight();" /></div></div><br class="clear" />');
        }
    }
    if(listTraverse < tagListArray.length){
        buildFlickrGallery(tagListArray[listTraverse],linkListArray[listTraverse],titleListArray[listTraverse]);
    }else{
        if(document.getElementById('flickrGalleryContainer').offsetHeight < defaultHeight){
            $('#flickrGalleryContainer').attr('style','min-height:'+defaultHeight+'px;');
            if(cellTraverse < 5){
                $('#flickrGalleryContainer').attr('style','min-height:'+(defaultHeight+100)+'px;');   
            }
        }
        if($("#scrollDown").offset()) $('html, body').animate({scrollTop: $("#scrollDown").offset().top}, 2000);
    }
}

function createGalleryUL() {
    galleryUlObj = document.createElement('ul');
    if(document.all && BrowserDetect.version != 8) galleryUlObj.setAttribute('className', 'flickrGallery');
    else galleryUlObj.setAttribute('class', 'flickrGallery clear');
    document.getElementById('flickrGalleryContainer').appendChild(galleryUlObj);
}



function tickLeft(){
    if(pageTrack != 1){
        pageTrack--;
        count = pageTrack;
        resetGallery(count);
        swapPage(count);
        getFlickrGallery();
    }
}

function tickRight(){
    if(pageTrack != totalPageCount){
        pageTrack++;
        count = pageTrack;
        resetGallery(count);
        swapPage(count);
        getFlickrGallery();
    }
}

function resetGallery(count){
    listTraverse = (count-1)*8;
    cellTraverse = 0;
    var container = document.getElementById('flickrGalleryContainer');
    for(var i = container.childNodes.length - 1; i >= 0 ; i--) {
        if(container.childNodes[i].nodeName.toLowerCase() == "ul") {
            container.removeChild(container.childNodes[i]);
        }
    }
}

function swapPage(count){
    if(pageTrack != count) pageTrack = count;
    var fontElements = $('#flickrGalleryContainer font');
    fontElementLength = fontElements.length;
    for(i=0;i<fontElementLength;i++){
        fontElements[i].setAttribute('style', 'cursor:pointer;color:#37a9cd;margin-right:3px;margin-left:3px;');
        if(document.all && BrowserDetect.version != 8){
            fontobj = fontElements[i];
            _setStyle(fontobj, 'cursor:pointer;color:#37a9cd;margin-right:3px;margin-left:3px;');
        }
    }
    fontElements[count-1].setAttribute('style', 'cursor:pointer;color:#f47f22;margin-right:3px;margin-left:3px;');
    if(document.all && BrowserDetect.version != 8){
        fontobj = fontElements[count-1];
        _setStyle(fontobj, 'cursor:pointer;color:#f47f22;margin-right:3px;margin-left:3px;');
    }
    if(count == 1) {
        resultStart = 1;
    }else {
        resultStart = ((count-1)*8)+1;        
    }
    resultEnd = (resultStart-1)+8;
    if(resultEnd > tagListArray.length) resultEnd = tagListArray.length;
    $('#resultCount').html( '<b>Results:</b> '+resultStart+'-'+resultEnd+' out of '+tagListArray.length+' total' );
}

var imgElement = [];
var defaultHeight = '';
function buildFlickrGallery(tag, link, title){
    var param           = 'photoID='+tag;
    if(listTraverse % 4 === 0) createGalleryUL();
    var liElement    = document.createElement('li');
    var linkElement1 = document.createElement('a');
    var linkElement2 = document.createElement('a');
    if(!imgElement[listTraverse]){
        imgElement[listTraverse] = document.createElement('img');
        imgElement[listTraverse].setAttribute('src', 'fg2site/images/ajax-loader_75x75.gif');
        imgElement[listTraverse].style.border = 'none';
        //imgElement[listTraverse].style.width  = '75px';
        //imgElement[listTraverse].style.height = '75px';
	//imgElement[listTraverse].style.background = '#ffffff';
        flickrGalleryAjaxCall(imgElement[listTraverse], param);
    }    
    if(document.all && BrowserDetect.version != 8) {  
        liElement.setAttribute('className', 'flickrGalleryThumbnail');
        linkElement2.setAttribute('className', 'featureLink');
        linkElement1.setAttribute('className', 'imageLink');
    }else {
        liElement.setAttribute('class', 'flickrGalleryThumbnail');
        linkElement2.setAttribute('class', 'featureLink');
        linkElement1.setAttribute('class', 'imageLink');
    }
    linkElement2.setAttribute('href', link);
    linkElement2.setAttribute('title', title);
    linkElement2.setAttribute('alt', 'Go to '+title);
    linkElement1.setAttribute('href', link);
    linkElement1.setAttribute('title', title);
    linkElement1.setAttribute('alt', 'Go to '+title);
    linkElement2.innerHTML = title;
    linkElement1.appendChild(imgElement[listTraverse]);
    liElement.appendChild(linkElement1);
    liElement.appendChild(linkElement2);
    galleryUlObj.appendChild(liElement);    
    if(cellTraverse <= 6){        
        listTraverse++;
        cellTraverse++;
        getFlickrGallery();
    }else{
        if(defaultHeight == ''){
            defaultHeight = document.getElementById('flickrGalleryContainer').offsetHeight;
        }else{
            if(document.getElementById('flickrGalleryContainer').offsetHeight > defaultHeight){
                defaultHeight = document.getElementById('flickrGalleryContainer').offsetHeight; 
            }
        }
    }
}

function flickrGalleryAjaxCall(imgElement, param){
   $.ajax({
        url: 'http://'+location.hostname+'/home/getFlickrPhoto?'+param,
        async: true,
        success: function(response){
		if(BrowserDetect.browser == 'Opera'){
                    xmlObj = response;
                }else{
		    xmlText = response;
		    xmlText = xmlText.replace(/media="photo" >/g, 'media="photo" ></size>');
		    if(document.all){
		        response = new ActiveXObject("Microsoft.XMLDOM");
		        response.async="false";
		        response.loadXML(xmlText);
		    }else response = (new DOMParser()).parseFromString(xmlText, "text/xml");
		    xmlObj = response;
		}
            var root   = xmlObj.getElementsByTagName('rsp')[0];
            if(root.getAttribute('stat') == 'ok'){                
                var photos = root.getElementsByTagName('size');
                imgElement.src =  photos[0].getAttribute('source');               
            }else{
               // alert("Oops!<br>Can not communicate with server.<br>Please try again.");
                return false;
            } 
        },
        error: function(response){
            return false;
        }
    });
}

function fadeFlickr() {
        jQuery("img.flickr").load(
            function(event){
                jQuery(this).fadeIn(500);
            }
        );
        
}

var outerFlickrCount = 0;

function resetClientInfo(){
 for(i = 1; i <= 9; i++){
        $('#flickr'+i).attr('src', '');
        $('#flickr'+i).attr('style', 'width:0px;height:0px;');
    }
    $('#clientOneTestimonial').html('');
    $('#clientOneTestimonialInfo').html('');
    $('#clientOneDescription').html('');
    $('#clientOneTestimonial').attr('style', 'display:none;');
    $('#clientOneTestimonialInfo').attr('style', 'display:none;');
    $('#clientOneDescription').attr('style', 'display:none;');  
}

function showClientInfo(ClientCaseStudyLinks,flickrList,ClientTestimonialID,ClientID, Pos)
{
    resetClientInfo();
    tempObj = document.getElementById('clientInfoOneContainer');
    if(document.getElementById('clientInfoOneContainer').style.display!='none'){
        $('#clientInfoOneContainer').slideUp('slow', function(){
            document.getElementById('clientInfoOneContainer').parentNode.removeChild(document.getElementById('clientInfoOneContainer'));
                if(Pos >= 1 && Pos <= 3){        
                    document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('secondUl'));
                }else if(Pos > 3 && Pos < 7){                   
                    document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('thirdUl'));
                }else if(Pos > 6 && Pos < 10){                
                    document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('fourthUl'));
                }else if(Pos > 9 && Pos < 13){                
                    document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('fifthUl'));
                }else if(Pos > 12 && Pos < 16){                
                    document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('sixthUl'));
                }
                else{            
                    document.getElementById('firstUl').parentNode.appendChild(tempObj);
                }
                if(Pos == 7 || Pos == 4 || Pos == 1 || Pos == 10 || Pos == 13 || Pos == 16){
                    if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topLeft');
                    else $('#clientExpandedInfoOne').attr('class', 'topLeft');
                }else if(Pos == 9 || Pos == 6 || Pos == 3 || Pos == 12 || Pos == 15 || Pos == 18 ){
                    if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topRight');
                    else $('#clientExpandedInfoOne').attr('class', 'topRight');
                }else{
                    if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topMiddle');
                    else $('#clientExpandedInfoOne').attr('class', 'topMiddle');
                }
                getClientInfo(ClientCaseStudyLinks,flickrList,ClientTestimonialID,ClientID, Pos);
        }); 
    }else{
        document.getElementById('clientInfoOneContainer').parentNode.removeChild(document.getElementById('clientInfoOneContainer'));
        if(Pos >= 1 && Pos <= 3){        
            document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('secondUl'));
        }else if(Pos > 3 && Pos < 7){
            document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('thirdUl'));
        }else if(Pos > 6 && Pos < 10){
            document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('fourthUl'));
        }else if(Pos > 9 && Pos < 13){
            document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('fifthUl'));
        }else if(Pos > 12 && Pos < 16){                
            document.getElementById('firstUl').parentNode.insertBefore(tempObj, document.getElementById('sixthUl'));
        }else{
            document.getElementById('firstUl').parentNode.appendChild(tempObj);
        }
        if(Pos == 7 || Pos == 4 || Pos == 1 || Pos == 10 || Pos == 13 || Pos == 16){
            if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topLeft');
            else $('#clientExpandedInfoOne').attr('class', 'topLeft');
        }else if(Pos == 9 || Pos == 6 || Pos == 3 || Pos == 12 || Pos == 15 || Pos == 18){
            if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topRight');
            else $('#clientExpandedInfoOne').attr('class', 'topRight');
        }else{
            if(document.all && BrowserDetect.version != 8) $('#clientExpandedInfoOne').attr('className', 'topMiddle');
            else $('#clientExpandedInfoOne').attr('class', 'topMiddle');
        }
        getClientInfo(ClientCaseStudyLinks,flickrList,ClientTestimonialID,ClientID, Pos);
    }
    $('html, body').animate({scrollTop: $("#clientInfoOneContainer").offset().top}, 2000);
}

var ccArray = '';
function getClientInfo(ClientCaseStudyLinks,flickrList,ClientTestimonialID,ClientID, Pos){
    ccArray = ClientCaseStudyLinks.split('|');
    $('#clientInfoOneContainer').slideDown('slow');
    outerFlickrCount = 0;
    if(ClientID != ''){
        var param = 'clientID='+ClientID;
        $.ajax({
            url: 'http://'+location.hostname+'/home/getClientDescription?'+param,
            async: true,
            success: function(response, ClientCaseStudyLinks){
                var responseArray = response.split('|');
                document.getElementById('clientOneDescription').innerHTML = '<b>'+responseArray[0]+'</b>'+'<br/><p>'+responseArray[1].replace('&apos;', "'")+'</p>';
                $('#clientOneDescription').show('slow');
		ccArrayLength = ccArray.length;
                for(i=0;i<ccArrayLength;i++){
                    lnks = ccArray[i].split(',');
                    if(lnks[1] && lnks[1].length > 1)document.getElementById('clientOneDescription').innerHTML += '<a href="'+lnks[0]+'" >View '+lnks[1]+' Case Study</a><br/>';
                }
            },
            error: function(response){
                return false;
            }
        });
        
    }  
    if(ClientTestimonialID != ''){
        var param = 'testimonialID='+ClientTestimonialID;
        $.ajax({
            url: 'http://'+location.hostname+'/home/getClientTestimonial?'+param,
            async: true,
            success: function(response){
                var responseArray = response.split('|');           
                document.getElementById('testimonialID').style.display = 'block';
                document.getElementById('clientOneTestimonial').innerHTML += '<p style="margin-top:-30px;">'+responseArray[0]+'</p>';
                $('#clientOneTestimonial').show('slow');
                document.getElementById('clientOneTestimonialInfo').innerHTML = '<b>'+responseArray[1]+'</b>, <font style="color:#91908e;">'+responseArray[2]+'</font>';
                $('#clientOneTestimonialInfo').show('slow');
            },
            error: function(response){
                return false;
            }
        });
    }else{
        document.getElementById('testimonialID').style.display = 'none';
    }
    if(flickrList != ''){
        var flickrArray = flickrList.split('|');
        var flickrStart = 1;
	flickrArrayLength = flickrArray.length;
        for(i = 1; i<=flickrArrayLength; i++){
            var flickr = flickrArray[i-1].split(',');            
            if(document.all){
                document.getElementById('flickr'+i).setAttribute('src', 'http://'+location.hostname+'/fg2site/images/ajax-loader_75x75.gif');
                document.getElementById('flickr'+i).style.width  = '40px';
                document.getElementById('flickr'+i).style.height = '40px';
                document.getElementById('flickr'+i).setAttribute('title', 'Click here to view '+flickr[2]+' Project Page');
                document.getElementById('flickr'+i).attachEvent('onclick', function(){window.location = "http://"+location.hostname+"/"+flickr[1];}); 
            }else{
                $('#flickr'+i).attr('src', 'http://'+location.hostname+'/fg2site/images/ajax-loader_75x75.gif');
                $('#flickr'+i).attr('style', 'width:40px;height:40px;');
                $('#flickr'+i).attr('title', 'Click here to view '+flickr[2]+' Project Page');
                $('#flickr'+i).attr('onclick', 'window.location = "http://'+location.hostname+'/'+flickr[1]+'"');
            }
         
        }
        for(i=0; i<flickrArrayLength; i++){
            var flickr = flickrArray[i].split(',');
            var param           = 'photoID='+flickr[0];
            $.ajax({
                url: 'http://'+location.hostname+'/home/getFlickrPhoto?'+param,
                async: true,
                success: function(response){
                    xmlText = response;
                    xmlText = xmlText.replace(/media="photo" >/g, 'media="photo" ></size>');
                    if(document.all){
                        response = new ActiveXObject("Microsoft.XMLDOM");
                        response.async="false";
                        response.loadXML(xmlText);
                    }else response = (new DOMParser()).parseFromString(xmlText, "text/xml");
                    xmlObj = response;
                    var root   = xmlObj.getElementsByTagName('rsp')[0];
                    if(root.getAttribute('stat') == 'ok'){                
                        var photos = root.getElementsByTagName('size');
                        var count = outerFlickrCount + 1;
                        outerFlickrCount++;
                        if($('#flickr'+count)) {
                            $('#flickr'+count).attr('src', photos[0].getAttribute('source'));
                        }
                    }else{
                        return false;
                    }
                },
                error: function(response){
                    return false;
                }
            });
        }
        
    }
}

function rzCC(s){
   // thanks http://www.ruzee.com/blog/2006/07/\
   // retrieving-css-styles-via-javascript/
   for(var exp=/-([a-z])/; 
       exp.test(s); 
       s=s.replace(exp,RegExp.$1.toUpperCase()));
   return s;
 }

function _setStyle(element, declaration) {
   if (declaration.charAt(declaration.length-1)==';')
     declaration = declaration.slice(0, -1);
   var k, v;
   var splitted = declaration.split(';');
   splittedLength = splitted.length;
   for (var i=0, len=splittedLength; i<len; i++) {
      k = rzCC(splitted[i].split(':')[0]);
      v = splitted[i].split(':')[1];
      eval("element.style."+k+"='"+v+"'");

   }
 }
 
 function iconClick(){
  try{
        //var href = $('#flickrImageLink').attr('href');
        //if(href.indexOf('.pdf') != -1){
       //     window.open($('#flickrImageLink').attr('href'),'_blank');
       // }else{
            $('#flickrImageLink').click();
       // }
   }catch(e){
        window.open($('#flickrImageLink').attr('href'),'_blank');
   }
 }

function sFB(selectObj)
{
    index = selectObj.selectedIndex;
    value = selectObj[index].value;
    if(value == 'career') document.getElementById('fileuploadcontainer').style.display = 'block';
    else document.getElementById('fileuploadcontainer').style.display = 'none';
}

function toggleLabArchive(labArchiveListID){
    if(document.getElementById('labArchiveList_'+labArchiveListID).style.display == 'none'){
        $('#labArchiveList_'+labArchiveListID).slideDown('fast');
        document.getElementById('labArchiveClick_'+labArchiveListID).innerHTML = '-';
    }else{
        $('#labArchiveList_'+labArchiveListID).slideUp('fast');
        document.getElementById('labArchiveClick_'+labArchiveListID).innerHTML = '+';
    }
}

document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
var elemLength = elem.length;
for (var i = 0; i < elemLength; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};

function expand(id, obj){
    if(document.getElementById(id).style.display == 'none'){
        $('#'+id).slideDown('fast');
        //obj.innerHTML = '-';
    }else if(document.getElementById(id).style.display == 'block'){
        $('#'+id).slideUp('fast');
        //obj.innerHTML = '<img src="fg2site/images/sm_000_oo.gif" />';
    }else{
        $('#'+id).slideDown('fast');
        //obj.innerHTML = '-';
    }
}