$('html').addClass('json');

var ua = navigator.userAgent;
ipad = (ua.match(/iPad/i)) ? true : false;

var citrusCMS = {
		
	load : function() {
		citrusCMS.coreFunctions();
		citrusCMS.autoSearch();
		citrusCMS.pagingButtons();	
		citrusCMS.imageHover();
		if ($('a.servicesButton')[0]){citrusCMS.servicesList();}
		citrusCMS.newsColour();
		citrusCMS.showcaseColour();
		citrusCMS.searchColour();
		citrusCMS.clientImages();
	},
	
		coreFunctions : function(){
			
	
		$('.openWindow').click(function() {pageTracker._trackPageview('/outbound/'+this.href.replace('http://','')); window.open(this.href); return false});
		$('.printWindow').click(function() {window.print()});
		
		$('.textform').focus(function() {
			if(this.nodeName != 'SELECT'){
				$('#' + this.id).attr('class', 'textformfocus');
				$('.textform').each(function(){if ($(this).attr('value')==''){$(this).attr('value',TitleCase($(this).attr('id').replace(/_/gi,' '))+' *...');} });
				if (this.value.substr(this.value.length-3,3) == '...') {this.value=''; }
						}
			});
		$('.textform:not(#keyword)').blur(function(){$('#' + this.id).attr('class', 'textform');});
		$('#contents').click(function() {$('.textform').each(function(){if ($(this).attr('value')==''){$(this).attr('value',TitleCase($(this).attr('id').replace(/_/gi,' '))+' *...');} });});
		
		
		$('.whatsnew').scrollable({ vertical: true });
		$('.workholder .showcase').scrollable({ vertical: false, circular: true }).navigator('.navi').autoscroll({interval: 5000});
		if ($('.tabon .navi')[0]){$('.tabon .showcase').scrollable({ vertical: false, circular: true }).navigator('.tabon .navi');}
		 
		if ($('#pane1')[0]){
			$('#showresults').removeClass('hidden');
			$('#pane1').jScrollPane({showArrows:true, scrollbarWidth: 16, arrowSize: 16});
		}

	
		$('.signupbutton').click(function(){
			$('#signup .popoverlay').css({ height: $(document).height()});
			$('#signup .popoverlay, #signup .popcontent').show();
			$('#signup .popcontent').css({ top: $(window).scrollTop()+ 'px' });
			$(document).unbind('keydown.fb').bind('keydown.fb', function(e) {
					if (e.keyCode == 27) {
					$('#signup .popoverlay, #signup .popcontent').hide();
					};
			 });
			submitSignup();
			return false;
		 });
		 $('#signup .close').click(function(){
			$('#signup .popoverlay, #signup .popcontent').hide();
			return false;
		 });
		
		function submitSignup() {
		$('#signupform').submit(function(){
			$('#signupform').ajaxStart(function() {
			  $('#signuptext').html('<p><img src="/_img/layup/loader2.gif" alt="" width="327" height="19" style="margin-left: -8px;" /></p><p>Your request is being processed</p>');
			});	
			
					$.post('/content/ajax/emailsignup.asp', $('#signupform').serialize(), function(data){
						 $('#signup').html(data);
						 $('#signup .popoverlay').css({ height: $(document).height()});
							$('#signup .popoverlay, #signup .popcontent').show();
							$('#signup .popcontent').css({ top: $(window).scrollTop()+ 'px' });
							$(document).unbind('keydown.fb').bind('keydown.fb', function(e) {
									if (e.keyCode == 27) {
									$('#signup .popoverlay, #signup .popcontent').hide();
									};
							 });
							 $('#signup .close').click(function(){
								$('#signup .popoverlay, #signup .popcontent').hide();
								return false;
							 });
						
						 submitSignup();
					});
				
			return false;							 
		});
		}
		 
		 sHeight = $('.list #maintext div.selected').height() ;
		 
		 $('.list #maintext div').each(function(){
				if ($(this).height() > sHeight) {sHeight = $(this).height();}								 
		 });
		 
		 sHeight = sHeight + ((sHeight * 11) /100);
		 $('.list #maintext').css({ height: sHeight});
		 
		 $('.listlink').click(function () {
			$('.listlink').removeClass('on');
			$(this).addClass('on');
			
			$('.list #maintext div.selected').animate({left: '484px'}, 350,
				function() {	
					var thislink = $('#leftnavi .on').attr('href');
					$(this).removeClass('selected');
					$(thislink).animate({left: '0'}, 350);
					$(thislink).addClass('selected');
			});
			$(':not .list #maintext div.selected').animate({left: '-484px'}, 0);
			return false;
		 });
		 
		 
		 $('.expandprofile').click(function(){
			
			if ($(this).parent().parent().parent()[0].className.indexOf('on') >=0){
				$(this).parent().parent().parent().removeClass('on');	
				$(this).parent().parent().parent().animate({height: '195px'}, 450);
			} else {
				$('#team div .profile').each(function(){
					if ($(this)[0].className.indexOf('on') > -1) {
						$(this).removeClass('on');$(this).animate({height: '195px'}, 450);
					}
				});
				$(this).parent().parent().parent().addClass('on');
				tHeight = $(this).parent().parent().height();								
				$('#team .on').animate({height: tHeight+15}, 450);
			}
			
			
		 });
		 
		 
		 $('#topnavi a, .servicesButton, .smap ul ul a').css('color', '#717475');
		
		 $('#topnavi a, .servicesButton, .smap ul ul a').hover(
			function () {
				$(this).stop().animate({ color: '#b8bbbd' }, 175);
			}, 
			function () {
				$(this).stop().animate({ color: '#717475' }, 175);
			}
		 );
		 
		 $('.b3 a, .b2 .signupbutton, .expandprofile, #cmsForm button, .viewsite, #maintext p a, .smap ul ul li .sub').css('color', '#b8bbbd');
		
		 $('.b3 a, .b2 .signupbutton, .expandprofile, #cmsForm button, .viewsite, #maintext p a, .smap ul ul li .sub').hover(
			function () {
				$(this).stop().animate({ color: '#ffffff' }, 175);
			}, 
			function () {
				$(this).stop().animate({ color: '#b8bbbd' }, 175);
			}
		 );
		 
		 $('#footer a').css('color', '#3d4042');
		
		 $('#footer a').hover(
			function () {
				$(this).stop().animate({ color: '#717475' }, 175);
			}, 
			function () {
				$(this).stop().animate({ color: '#3d4042' }, 175);
			}
		 );
		 
		 $('#topbar .logo, .b3 li a, #searchform button, .smllogo, .caseback').css('opacity', '0.6');
		
		 $('#topbar .logo, .b3 li a, #searchform button, .smllogo, .caseback').hover(
			function () {
				$(this).stop().animate({ opacity: '1.0' }, 175);
			}, 
			function () {
				$(this).stop().animate({ opacity: '0.6' }, 175);
			}
		 );
		 
		 $('.b2 .scrollable a .title').css('color', '#b8bbbd');
		
		 $('.b2 .scrollable a').hover(
			function () {
				$(this).children('.title').stop().animate({ color: '#ffffff' }, 175);
			}, 
			function () {
				$(this).children('.title').stop().animate({ color: '#b8bbbd' }, 175);
			}
		 );
		 
	},
	
	newsColour : function() {
		$('.news a span.title').css('color', '#b8bbbd');
		
		 $('.news a').hover(
			function () {
				$(this).children('.title').stop().animate({ color: '#ffffff' }, 200);
			}, 
			function () {
				$(this).children('.title').stop().animate({ color: '#b8bbbd' }, 250);
			}
		 );
		 
		 $('.news a span.date').css('color', '#717475');
		
		 $('.news a').hover(
			function () {
				$(this).children('.date').stop().animate({ color: '#b8bbbd' }, 200);
			}, 
			function () {
				$(this).children('.date').stop().animate({ color: '#717475' }, 200);
			}
		 );
	},
	
	showcaseColour : function() {
		$('.portfolio a .title').css('color', '#717475');
		
		 $('.portfolio a').hover(
			function () {
				$(this).children('.title').stop().animate({ color: '#b8bbbd' }, 200);
			}, 
			function () {
				$(this).children('.title').stop().animate({ color: '#717475' }, 200);
			}
		 );
		 
		 $('.portfolio a .desc').css('color', '#b8bbbd');
		
		 $('.portfolio a').hover(
			function () {
				$(this).children('.desc').stop().animate({ color: '#ffffff' }, 200);
			}, 
			function () {
				$(this).children('.desc').stop().animate({ color: '#b8bbbd' }, 200);
			}
		 );
	},
	
	searchColour : function() {
		$('#liveresults a .resulttitle, #liveresults a .resultdesc').css('color', '#8b8d90');
		
		 $('#liveresults a').hover(
			function () {
				$(this).children('.resulttitle').stop().animate({ color: '#c1c3c5' }, 200);
				$(this).children('.resultdesc').stop().animate({ color: '#c1c3c5' }, 200);
			}, 
			function () {
				$(this).children('.resulttitle').stop().animate({ color: '#8b8d90' }, 200);
				$(this).children('.resultdesc').stop().animate({ color: '#8b8d90' }, 200);
			}
		 );	
	},
	
	clientImages : function() {
		 $('.clients a').css('opacity', '0.5');
		
		 $('.clients a').hover(
			function () {
				$(this).stop().animate({ opacity: '1.0' }, 200);
			}, 
			function () {
				$(this).stop().animate({ opacity: '0.5' }, 200);
			}
		 );
		
	},
	
	imageHover : function(){
	
	if (mobiledevice == 0 && ipad !=true){
	$('.work a, #liveresults a').hover(
			function() {
				$(this).children('.imgover').stop(true, true).fadeIn(200);
			}, 
			function() {
				$(this).children('.imgover').stop(true, true).fadeOut(200);
		 });
	}
	},
	
	pagingButtons : function() {
		 $('.paging a').css('opacity', '0.6');
		
		 $('.paging a').hover(
			function () {
				$(this).stop().animate({ opacity: '1.0' }, 200);
			}, 
			function () {
				$(this).stop().animate({ opacity: '0.6' }, 200);
			}
		 );
	},
	
	
	autoSearch : function() {
	if (mobiledevice == 0 && ipad !=true){
		$('#searchform').attr('autocomplete','off');
		
		var t;
		var delay = 200;
		
		$('#keyword').keyup(function(){
			
			if (t) {
				clearTimeout(t);
			}
		keyword = $(this).attr('value');
		
		t =setTimeout('citrusCMS.fetchResults(keyword);', delay);
		});
		
	}
			
	},
	
	fetchResults : function(keyword){
		$.get('/content/ajax/search.asp','ajax=1&keyword=' + keyword, function(data){
			$('#showresults').html(data);		
			$('#pane1').jScrollPane({showArrows:true, scrollbarWidth: 16, arrowSize: 16});
			citrusCMS.imageHover();
			citrusCMS.searchColour();
				$('#liveresults .close').click(function(){
					$('#liveresults').fadeOut(350);
					return false;
				 });
			})	
	},
	
	projectTabs : function() {
	if ($('#tabs')[0]) {	
		$('#tabs > li').not(':only-child').click(function() {
				$('#tabs > li > a').each(function(){$(this).removeClass('on');})
				$('#relatedwork > div').each(function(){$(this).attr('class','taboff');})
					$(this).children().addClass('on'); 
					$('#'+$(this).children().attr('href').replace('#', '')).attr('class','tabon');
					if ($('.tabon .navi')[0]){$('.tabon .showcase').scrollable({ vertical: false, circular: true }).navigator('.tabon .navi');}
					return false;
		});	 
	}
	},
	
	carousel : function() {
		
	var autoscrolling = true;

		$('#showcase').infiniteCarousel().mouseover(function () {
			autoscrolling = false;
		}).mouseout(function () {
			autoscrolling = true;
		});
		
		setInterval(function () {
			if (autoscrolling) {
				$('#showcase').trigger('next');
			}
		}, 5000);
	},
	
	carousel2 : function() {
		
	var autoscrolling = false;

		$('#team').infiniteCarousel()
	},
	
	slideSwitch : function(){$('#thumbs').galleriffic();},
	
	servicesList : function() {
		$('a.servicesButton').click(function() {
			parentClass = $(this).closest('div')[0].className;
			
			if($(this).next().is(':visible')) {
				
				$('.' + parentClass + ' div.servicesContent').slideUp('normal');
				$('.' + parentClass + ' a.on').removeClass('on');
			} else {
				$('.' + parentClass + ' div.servicesContent').slideUp('normal');	
				$(this).next().slideDown('normal');
				$('.' + parentClass + ' a.on').removeClass('on');
				$(this).removeClass('on').addClass('on');
			}
			return false;
		});
			
	},
	
	newsPage : function(){
		
		$('.paging > ul > li > a').click(function(){
					thishref = $(this).attr('href');	
					thisID = $(this).attr('id');
				$('#shownews').fadeOut('slow', function(){							  
			$.get('/content/ajax/news.asp','ajax=1&p=' + thishref + '&filter=' + $('#categoryfilter').attr('value'), function(data) {
					$('#shownews').html(data).fadeIn('slow'); 
					citrusCMS.newsPage(); 
					citrusCMS.pagingButtons();	
					citrusCMS.imageHover();
				});
			$(this).addClass('on');
		});		
			return false;
			});
		
	},
	
	clientsPage : function(){
		pDiv = '';
		if ($('#showlist')[0]){n='c'}else{n='p'; pDiv = 'project'};
		$('.paging > ul > li > a').click(function(){
					thishref = $(this).attr('href');	
				$('#show'+pDiv+'list').fadeOut('slow', function(){							  
			$.get('/content/ajax/clients.asp','ajax=1&p=' + thishref + '&n=' + n + '&d=' + d + '&filter=' + $('#categoryfilter').attr('value'), function(data) {
					$('#show'+pDiv+'list').html(data).fadeIn('slow'); 
					citrusCMS.clientsPage(); 
					citrusCMS.pagingButtons();	
					citrusCMS.imageHover();
				});
			$(this).addClass('on');
		});		
			return false;
			});
		
	},
	
	GoogleMap : function(){
		
			var customStyles = [
				{
				  featureType: "all",
				  stylers: [
					{ saturation: -100 }
				  ]
				}
			  ];

			var showmap = new google.maps.LatLng(51.267513729662554,0.5212551355361938);
			
			  var mapOptions = {
				center: showmap,
				zoom: 14,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				styles: customStyles
			  };
			  
			  var map = new google.maps.Map(document.getElementById('googlemap'), mapOptions);
			  
			  var infowindow = new google.maps.InfoWindow(
				{ content: '<p style="width: 260px; height: 95px; overflow: hidden;"><span class="highlight3">tangerine uk ltd</span><br />64 college road<br />maidstone<br />kent me15 6sj<br /><a href="http://maps.google.co.uk/maps?daddr=ME15+6SJ" title="Link opens in a new window" target="_blank" class="plan">plan your journey</a></p>',
					size: new google.maps.Size(50,50),
					position: showmap
				});
			

			var image = '/_img/layup/map_pointer.png';
			var marker = new google.maps.Marker({
				  position: showmap, 
				  map: map,
				  icon: image,
				  title: 'Tangerine UK Ltd'
			  });
			
			google.maps.event.addListener(marker, 'click', function() {
			  infowindow.open(map,marker);
			});

			infowindow.open(map);
			

},
				
	customSelect : function(){
					// first locate all of the select tags on the page and hide them
		$('select.selectbox').css('display','none');
		//now, for each select box, run this function
		$('select.selectbox').each(function(){
			
			var curSel = $(this);
			// get the CSS width from the original select box
			var gddWidth = $(curSel).css('width');
			var gddWidthL = gddWidth.slice(0,-2);
			var gddWidth2 = gddWidthL - 28;
			var gddWidth3 = gddWidthL - 16;
			// build the new div structure
			var gddTop = '<div class="selectME" tabindex="0">';
			//get the default selected option
			var whatSelected = $(curSel).children('option:selected').text();
			//write the default
			var gddFirst = '<div class="first"><span class="selectME gselected">'+ whatSelected +'</span></div><ul class="selectME">';
			// create a new array of div options from the original's options
			var addItems = new Array();      
			$(curSel).children('option').each( function() {           
				var text = $(this).text();  
				var selVal = $(this).attr('value'); 
				var before =  '<li><a href="#" rel="' + selVal + '" tabindex="0" >';
				var after = '</a></li>';           
				addItems.push(before + text + after);
			});
			//hide the default from the list of options 
			var removeFirst = addItems.shift();
			// create the end of the div selectbox and close everything off
			var gddBottom ='</ul></div>'
			//write everything after each selectbox
			var GDD = gddTop + gddFirst + addItems.join('') + gddBottom;
			$(curSel).after(GDD);
			//this var selects the div select box directly after each of the origials
			var nGDD = $(curSel).next('div.selectME');
			
			$(nGDD).find('li:first').addClass("first");
			
			$(nGDD).find('li:last').addClass('last');
			//handle the on click functions - push results back to old text box
			$(nGDD).click( function(e) {
				 var myTarA = $(e.target).attr('rel');
				 var myTarT = $(e.target).text();
				 var myTar = $(e.target);
				
				 //if closed, then open
				 if( $(nGDD).find('li').css('display') == 'none')
					{
							//this next line closes any other selectboxes that might be open
							$('div.selectME').find('li').css('display','none');
							$(nGDD).find('li').css('display','block');
							
							//if user clicks off of the div select box, then shut the whole thing down
							$(document.window || 'body').click( function(f) {
									var myTar2 = $(f.target);
									if (myTar2 !== nGDD) {$(nGDD).find('li').css('display','none');}
							});
									return false;
					}
					else
					{      
							if (myTarA == null){
								$(nGDD).find('li').css('display','none');
										return false;
									}
									else {
										//set the value of the old select box
										$(curSel).val(myTarA);
											
										//* ajax filter *//
										if ($('#showlist')[0]){n='c'}else{n='p'};
										
										
										if ($('#shownews')[0]){
											$('.work a, #liveresults a').hover(function() {$(this).children('.imgover').stop();});
											$('#shownews').fadeOut('slow', function(){
											$.get('/content/ajax/news.asp','filter='+ myTarA + '&p='+n, function(data) {
													$('#shownews').html(data).fadeIn('slow'); citrusCMS.imageHover(); citrusCMS.newsColour();	citrusCMS.pagingButtons();	citrusCMS.newsPage();
											});
										});
										
										
										} else {
												if ($('#showlist')[0]){
														$('#showlist').fadeOut('slow', function(){		
														$.get('/content/ajax/clients.asp','filter='+ myTarA + '&cat='+$('#cat').attr('value')+'&n='+n, function(data) {
																$('#showlist').html(data).fadeIn('slow'); citrusCMS.imageHover(); citrusCMS.pagingButtons();	citrusCMS.clientImages(); citrusCMS.clientsPage();		
														});
													});
												}
												if ($('#showprojectlist')[0]){
													$('.work a, #liveresults a').hover(function() {$(this).children('.imgover').stop();});
													$('#showprojectlist').fadeOut('slow', function(){		
														$.get('/content/ajax/clients.asp','filter='+ myTarA + '&cat='+$('#cat').attr('value')+'&n='+n, function(data) {
																$('#showprojectlist').html(data).fadeIn('slow'); citrusCMS.imageHover(); citrusCMS.showcaseColour();	citrusCMS.pagingButtons();	citrusCMS.clientsPage();	
														});
													});
												}		
										}
										//set the text of the new one
										 $(nGDD).find('span.gselected').text(myTarT);
										 $(nGDD).find('li').css('display','none');
										 return false;
									}
					}
			//handle the tab index functions
			 }).focus( function(e) {        
						
		
				 $(nGDD).find('li:first').addClass('currentDD');
				 $(nGDD).find('li:last').addClass('lastDD');
				 function checkKey(e){
					//on keypress handle functions
					function moveDown() {
						var current = $(nGDD).find('.currentDD:first');
						var next = $(nGDD).find('.currentDD').next();
						if ($(current).is('.lastDD')){
						return false;
						} else {
							$(next).addClass('currentDD');
							$(current).removeClass('currentDD');
						}
					}
					function moveUp() {
						var current = $(nGDD).find('.currentDD:first');
						var prev = $(nGDD).find('.currentDD').prev();
						if ($(current).is('.first')){
						return false;
						} else {
							$(prev).addClass('currentDD');
							$(current).removeClass('currentDD');
						}
					}
					var curText = $(nGDD).find('.currentDD:first').text();
					var curVal = $(nGDD).find('.currentDD:first a').attr('rel');
				   switch (e.keyCode) {
						case 40:
							$(curSel).val(curVal);
							$(nGDD).find('span.gselected').text(curText);
							moveDown();
							return false;
							break;
						case 38:
							$(curSel).val(curVal);
							$(nGDD).find('span.gselected').text(curText);
							moveUp();
							return false;
							break;
						case 13:
							$(nGDD).find('li').css('display','none');
							}     
				}
				$(document).keydown(checkKey);	
			}).blur( function() {
					$(document).unbind('keydown');
			});
		});
							}
	
	
}


var citrusWeb = {}


var citrusAjax = {
	
	makeRequest: function(requestURL,getID){
		$.ajax({
		    url: requestURL,
		    success: function(data) {
			$(getID).html(data);
		  }
		});
	},
	
	submitForm : function(pageUrl) {
		
		$('#waiting').html('<img src="/_img/layup/loading.gif" />');
		$('#submitButton').type == 'button'; //if js then remove the submit function of the button
		$('#submitButton').disabled = 'disabled'; //when submited disable button
		
		waitPadd = (($('#cmsForm')).height() - 45) /2
		$('#waiting').css('paddingTop', waitPadd + 'px');
		$('#waiting').css('paddingBottom', waitPadd + 'px');
		$('#waiting').fadeIn(); //show waiting div
		
		//stops whole site appearing when ajax is called
		if(pageUrl) {pageLocation = pageUrl} else {pageLocation = window.location}
		
		$.post(pageUrl, 'ajax=1&' +  $('#cmsForm').serialize(), function(data){citrusAjax.showResponse(data)});
		
	},

	showResponse : function(originalRequest) {
			
			if(originalRequest.substring(0,4) == 'http') {
				window.location = originalRequest; //redirect
			  } else {
				$('#waiting').fadeOut() ; //hide waiting div
				$('#cmsForm').html(originalRequest); //show response
				//$('#submitButton').effect('shake', { times:3 }, 100);
				citrusCMS.load();
  			}

	}
	
}

$(document).ready(citrusCMS.load);

$(window).load(function(){
if ($('#pane1')[0]){
			$('#pane1').jScrollPane({showArrows:true, scrollbarWidth: 16, arrowSize: 16});
		}
})

  function TitleCase(objField) 
        {
            var objValues = objField.split(" ");
            var outText = "";
            for (var i = 0; i < objValues.length; i++) {
                outText = outText + objValues[i].substr(0, 1).toUpperCase() + objValues[i].substr(1).toLowerCase() + ((i < objValues.length - 1) ? " " : "");
            }
            return outText
		}
