// JavaScript Document

			//console.log('READY');

			// ---------------------------------------------
			// for TABS				
			// ---------------------------------------------
			
			$(document).ready(function() { // NB. wait till the document has loaded before executing this
			
					var tabContainers = $('div.tabs > div'); // grab all tab containers
					
					tabContainers.hide().filter(':first').show(); // show first tab as default on page load
					
					$('div.tabs ul.tabNavigation a').mouseover(function () {
							tabContainers.hide(); // hide all tabs
							tabContainers.filter(this.hash).show(); // show this selected tab
							$('div.tabs ul.tabNavigation a').removeClass('selected'); // remove selected css class 
							$(this).addClass('selected'); // indicate selected li (switch css class)
							return false; // removes default browser action (jumping to hash - lower down screen)
					}).filter(':first').mouseover();
					
					$('div.tabs ul.tabNavigation a').click(function () {
																	 
						return false; // prevent default action											 
																	 
					}); // end click
					
			});
			
			// ---------------------------------------------
			// ESCAPE strings for URL query string
			// ---------------------------------------------

			function queryESC(qs) { 
			
				// This function, takes a querystring, breaks it into an array, 
				// escapes values, joins into and returns new 'escaped' string
				// NB. > hu = window.location.search.substring(1); // standard DOM method
			
				gy = qs.split("&");
				
				var escArray = [];
				count = 0;
				for (i=0;i<gy.length;i++) {
					ft = gy[i].split("=");
					var keyname = ft[0];
					var keyvalue = escape(ft[1]); // escape value
					escArray[count] = (keyname + "=" + keyvalue);
					count=count+1;
				}
				var escString = escArray.join('&'); // concat array into string
				return escString;
			}

	
		// ---------------------------------------------
		// for AJAX GET calls 				
		// ---------------------------------------------
		
		// PART ONE doAjax - obtains links from specified DOM target
		// PART TWO callGETAJAX - returns data or failed message and adds this html to taget div
		// PART THREE - the calling arguments to PART ONE doAjax function 
		// PART FOUR - calls first listings in columns on initial page load
		
		// NB. NEEDS queryESC FUNCTION 
			
		$(document).ready(function() { // NB. wait till the document has loaded before executing this
						
		function doAjax(target,targetDiv) {
		
		//console.log(target);
		//console.log(targetDiv);

		$(target).each(function() {
		
				$(this).click(function() {
					
					var val = $(this).find('a').attr('href'); // obtain original hyperlink & querystring
		  
					var callServerScript = val.substr(0, [val.indexOf('?')]); // split + obtain server page	      
					var ref = val.slice(val.indexOf('?')+1); // split + obtain query string
					var rand = ((new Date()).getTime()); // generate random number (prevent GET cache problem)
					var querystring = (ref + '&rnd=' + rand);
					
					var querystringESC = queryESC(querystring); // returns escaped values
						   
							//console.log(callServerScript);
							//console.log(querystringESC);
						   
							callGETAJAX(callServerScript, querystringESC, targetDiv); // make ajax call
						   
					return false; // stop hyperlink (default action)
				 
				}); // end this function
	
			});	// end each function	
			
			} // end doAjax
			
			// ---------------------------------------------------	
			// PART TWO 
			// ---------------------------------------------------	
			
			function callGETAJAX(callServerScript, querystringESC, targetDiv){
			
				$.get(callServerScript, querystringESC, function(data,status){ // callback function	  
					  	 
				if (status=="success") {
				
						$(targetDiv).html(data); // target DIV for ourput from server  
																								
				} else {
				
					var instructs = '<p class="itemIntro">Sorry, info not available at this time, please try again later.</p>';
					$(targetDiv).html(instructs); // target DIV for ourput from server  //.before
														
				} // end of status						  
					  	  
				}); // end get & callback function
						  			
			} // end callAJAX
			
			// ---------------------------------------------------	
			// PART THREE - call doAjax function - CUSTOMISE THIS PART per page
			// ---------------------------------------------------	
			
			// call doAjax function for each tab within service details area
			
			var target = '#first .dtlsListing ul li';
			var targetDiv = '#first .serviceoutputArea'; // #servicedetailsoutputArea 
			doAjax(target,targetDiv);		
				
			var target = '#second .dtlsListing ul li';
			var targetDiv = '#second .serviceoutputArea'; // #servicedetailsoutputArea 
			//var targetDiv = '#second #servicedetailsoutputArea #clientdetailsoutputArea';
			doAjax(target,targetDiv);
			
			var target = '#third .dtlsListing ul li';
			var targetDiv = '#third .serviceoutputArea'; // #servicedetailsoutputArea 
			//var targetDiv = '#third #servicedetailsoutputArea #casesdetailsoutputArea';
			doAjax(target,targetDiv);			
			
			//var target = '#accordion div a';
			//var targetDiv = '#third #servicedetailsoutputArea #casesdetailsoutputArea';
			//doAjax(target,targetDiv);				
			
		});	// end document ready function
		

			// ---------------------------------------------------	
			// PART FOUR
			// ---------------------------------------------------	
		
		$(document).ready(function() { 
								   
			// NB. within listings tabs on services pages					   
		
			$('#first .dtlsListing ul li:first').click(); // initial call to first service link on page load
			
			$('#second .dtlsListing ul li:first').click(); // initial call to first client link on page load

		});
		
			// ----------------------------
			// accordian script -----------
			// ----------------------------
			
			// NB. dynamic change of open panel with PHP 0 or 1 as required
			
			$(document).ready(function() {
			  $("#accordion").accordion({
				header:'h2',
				active: 0,
				autoHeight: true
			  });
			});
			
			// ---------------------------------------------
			// javascript for greybox
			// ---------------------------------------------
						
			$(document).ready(function() { // NB. wait till the document has loaded before executing this
			var caption = 'view';
			  var gbOptions = {
				gbWidth: 800,
				gbHeight: 600,
				caption: caption

			  };
			  
		var target = "#accordion div";	  
			  
		$(target).each(function() {
		
				$(this).click(function() {
									   
					var val = "";			   
					
					var val = $(this).find('a.story'); // obtain original hyperlink & querystring
					
					//console.log(gbOptions);
					//console.log(val);
					
					$(val).greybox(gbOptions);
					
					return false; // stop hyperlink (default action)
					
									   }); // end this
			  
								}); // end each
			  
			});	// end document ready		