$(document).ready(function(){

	if($('#googledata').length>0){
		var date=new Date();
		$("#gEndDate").val(('0' + date.getDate()).slice(-2)+"/"+('0' + date.getMonth()).slice(-2)+"/"+date.getFullYear());
		var lastWeek = new Date(date.getTime()-1000*60*60*24*28);
		$("#gStartDate").val(('0' + lastWeek.getDate()).slice(-2)+"/"+('0' + lastWeek.getMonth()).slice(-2)+"/"+lastWeek.getFullYear());
		var dates = $( "#gStartDate,#gEndDate" ).datepicker({
			defaultDate: "+1w",
			changeMonth: true,
			numberOfMonths:1,
			dateFormat:"dd/mm/yy",
			onSelect: function( selectedDate ) {
				var option = this.id == "gStartDate" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat,selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
			}
		});
		$('#gUpdate').click(function(){
			updateGoogleOutput();
		})
		$("#gTabs").tabs();
		$("#gTabs li a").click(updateGoogleOutput)
		updateGoogleOutput();
	}

	var popcounttry=0;
	if($('#sitestable').length>0){
		$('#sitestable').optiTable({url:'/duocms/duodesign/servers2/',
								selectable:true,
								dblclick:function(data){
									window.open("http://"+data[0][0]);
								},
								filter:function(datarow){return searchResults(datarow);},
								rowstyle:function(datarow){return rowStyle(datarow);},
								rowcontent:function(datarow){return addInput(datarow);}
							});
		$('#sitesearch').keyup(function(){
			$('#sitestable').optiTable('update');
		});
		
		$('.servertick').click(function(){
			$('#sitestable').optiTable('update');
		});
		
		//$.style.insertRule(['#sitestable .opticol0'], 'width:10px;');
	}
	
	function addInput(dataRow){
		//dataRow[4]="<input value='"+dataRow[4]+"' />";
		return dataRow;
	}
	
	function rowStyle(dataRow){
		if(dataRow[4]=="Melbourne"){
			return "";//"melbourne";
		}
	}
	
	function searchResults(dataRow){
		var searchval=$('#sitesearch').val();
		if($('#srvm:checkbox:checked').val()!="on" && dataRow[4]=="Melbourne"){
			return false;
		}
		if($('#srvv').val()){
			if(dataRow[2]!=$('#srvv').val()){
				return false;
			}
		}
		if($('#srvu:checkbox:checked').val()!="on" && dataRow[4]=="UK2"){
			return false;
		}
		if($('#srvn:checkbox:checked').val()!="on" && (dataRow[4]=="Other" || dataRow[4]==" ") ){
			return false;
		}
		if(searchval.length>0){
			searchval=searchval.replace(' ',".+");
			var reg=new RegExp(".*?"+searchval+".+","i");
			if(dataRow[0].match(reg)){
				return true;
			}
			if(dataRow[1].match(reg)){
				return true;
			}
			
		}else{
			return true;
		}
	}
	
	
	//highlight keylinks
	$('#keylinks a').each(function(){
		if($(this).attr('href')==window.location.pathname){
			$(this).addClass('active');
			$(this).html($(this).html()+'<img src="/images/2010_site_bits/featurearrow.gif/" />');
		}
	});
	
	
	$('#callBackForm input').focus(function(){
		if($(this).attr('type')!="submit"){
			$(this).css('background','#fff');
		}
	});
	
	$('#callBackForm input').blur(function(){
		if($(this).val()==''){
			$(this).css('background','transparent');
		}
	});
	
	$('#convertTable').click(convertTable);

	//try fancy box
	$(".webfoliogrid a.imgSurround").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'padding'		: 	1,
		'cyclic'		:	true,
		'titlePosition'	:	'over'
		
	});


	//Popup box add to site
	/*
	$('.dl_webfolio_grid a').click(function(event){
		var nextBlock;
		var id=$(event.target).parents('a').attr('class').replace(/[^0-9]+/,'');
		if($.browser=="ie"){
			window.location.href=$(event.target).parents('a').attr('href');
			return;
		}
		
		event.preventDefault();
		$.getJSON('/duocms/duodesign/popupdata/'+id, function(data){
			//add a div around clicked item		
			var position = $(event.target).offset();
			var origWidth=$(event.target).width()+8;
			var origHeight=$(event.target).height()+8;
			var origLeft=position.left-$(document).scrollLeft();
			var origTop=position.top-$(document).scrollTop();
			$("#webfolio_grid_pop").remove();
			$("#popUpCloseButton").remove();
			bigImagePath=data.image;
			linkthrough=$(event.target).parents('a').attr('href');
			$("body").append('<div id="webfolio_grid_pop" style="width:'+origWidth+'px;height:'+origHeight+'px;position:fixed;top:'+origTop+'px;left:'+origLeft+'px;"><div class="imageBox"><img src="'+bigImagePath+'"/></div><div class="nextprev"><span id="prevPopUp"><a href="javascript:void(0)">previous</a></span> | <span id="nextPopUp"><a href="javascript:void(0)">next</a></span></div>  <div class="moreinfo"><a href="'+linkthrough+'">more information &rsaquo;</div></div>');
			popcounttry=10;
			if(window.location.href.match(/\/services\/design\//)){
				$(".moreinfo").hide();
			}

			var endWidth=data.width;
			var endHeight=data.height;
			if(!endWidth){
				window.location.href=$(event.target).parents('a').attr('href');
			}else{
				popupWindow(origWidth,origHeight,origLeft,origTop,endWidth,endHeight,data.image);
			}
			
			$('#nextPopUp').click(function(event2){
				nextBlock=$(event.target).parents('li').next().find('img');
				if(nextBlock.length==0){
					nextBlock=$(event.target).parents('ul').find('img').first();
				}
				closePopUpWindow(origWidth,origHeight,origLeft,origTop,'nextBlock.trigger(\'click\');');
			});
			$('#prevPopUp').click(function(event2){
				nextBlock=$(event.target).parents('li').prev().find('img');
				if(nextBlock.length==0){
					nextBlock=$(event.target).parents('ul').find('img').last();
				}
				closePopUpWindow(origWidth,origHeight,origLeft,origTop,'nextBlock.trigger(\'click\');');
			});
			
		});
	
	
		function popupWindow(origWidth,origHeight,origLeft,origTop,endWidth,endHeight,path){		
			//ANIMATE BOX OPEN
			$('#container').animate({opacity:0.5},200,function(){	
				var middleX=$(window).width()/2;
				var middleY=$(window).height()/2;
				endWidth=endWidth+20;
				endHeight=endHeight+39;
				var endMarg=0-endWidth/2
				var endMargTop=0-(endHeight/2);
				
				if((middleY+endMargTop)<0){
					//alert('below zero');
					endMargTop=10-middleY;
					endHeight=$(window).height()-20;
				}
				$("#webfolio_grid_pop").animate({width:endWidth,left:middleX,top:middleY,marginLeft:endMarg,marginTop:endMargTop,height:endHeight,opacity:1},500,function(){
					$("#webfolio_grid_pop").css('left','50%');
					$("#webfolio_grid_pop").css('top','50%');
					$('#webfolio_grid_pop img').animate({opacity:1},200);
					
					$("body").append('<div id="popUpCloseButton" style="top:50%;left:50%;margin-top:'+(endMargTop-10)+'px;margin-left:'+(endMarg-10)+'px">x</div>');
					
					$("#popUpCloseButton").click(function(event){
						closePopUpWindow(origWidth,origHeight,origLeft,origTop,'');
					});
					$("#container").click(function(event){
						closePopUpWindow(origWidth,origHeight,origLeft,origTop,'');
					});
				});
			});	
		}
		
		function closePopUpWindow(origWidth,origHeight,origLeft,origTop,callBack){
			//ANIMATE BOX CLOSED
			$("#webfolio_grid_pop").css('left',$(window).width()/2);
			$("#webfolio_grid_pop").css('top',$(window).height()/2);
			$("#popUpCloseButton").remove();
			$('#webfolio_grid_pop img').animate({opacity:0},200,function(){
				$("#webfolio_grid_pop").animate({width:origWidth,left:origLeft,top:origTop,marginLeft:0,marginTop:0,height:origHeight,opacity:0},500,function(){
					$("#webfolio_grid_pop").remove();
					if(callBack){
						eval(callBack);
					}else{
						$('#container').animate({opacity:1},200);
						$('#container').unbind('click');
					}
				});
			});
		}
	
	});*/
	
	
	if(window.location.href.match('/_duoEdit/')){
		$('#banner').css('overflow-y','auto');	
	}else{
		if($.browser.msie && $.browser.version=="6.0"){
				$('#bannerCropBlock img').each(function(){
					var img=$(this).attr('src');
					var width=$(this).width();
					var height=$(this).height();
					$(this).after('<div><img src="/duocms-resources/blank.gif" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+img+'\', sizingMethod=\'scale\');width:'+width+'px;height:'+height+'px" /></div>');			
					$(this).remove();
				});
			}
	
		//slideshow
		if($('#bannerOuter img').length>1){
			//if ie6 swap img tags for div tags with background img
			if($.browser.msie && $.browser.version=="6.0"){
				$('#bannerOuter img').each(function(){
					var img=$(this).attr('src');
					var width=$(this).width();
					var height=$(this).height();
					$(this).after('<div><img src="/duocms-resources/blank.gif" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+img+'\', sizingMethod=\'scale\');width:'+width+'px;height:'+height+'px" /></div>');			
					$(this).remove();
				});
			}

			function bannerScroll(){
				var bannerTopHalf=($('#banner img').length*359)/2;
				var newPos=$('#banner').scrollTop()-359;
				if(newPos<0){
					$('#banner').scrollTop(bannerTopHalf);
					newPos=bannerTopHalf-359;
				}
				$('#banner').animate({scrollTop:newPos},1000);			
				setTimeout(bannerScroll,4000);
			}
			var origHTML=$('#banner').html();
			$('#banner').html(origHTML+origHTML);
			setTimeout(bannerScroll,2000);			
		}
		//fade hover on blocks
		$('.gridBlock').hover(function(){
		    $(this).stop().animate({backgroundColor: '#4c4c4c'},250);
		}, function() {
		    $(this).stop().animate({backgroundColor: 'white'},250);
		});
		
		$('.dl_carousel li').hover(function(){
		    $(this).stop().animate({shadowColor: '#4c4c4c'},250);
		}, function() {
		    $(this).stop().animate({shadowColor: 'white'},250);
		});
		
		
		$('.gridBlock').click(function(){
			window.location.href=$(this).find('a').attr('href');
		});
		
		//carousel Bit
		//double the html
		var origHTML=$('#carousel .dl_carousel').first().html();
		$('#carousel .dl_carousel').first().html(origHTML+origHTML);
		$('#carousel .dl_carousel').first().width($('#carousel .dl_carousel li').length*311);
		var carroselHalf=(($('#carousel .dl_carousel').width())/2);
		var carrAnimating=false;
		var autoScroll=true;
		
		$('#carouselOuter').mouseover(function(){
			autoScroll=false;
		});
		$('#carouselOuter').mouseleave(function(){
			autoScroll=true;
		});
		
		$('#carArrow1').click(function(){
			if(carrAnimating){return;}
			var newPos=$('#carousel').scrollLeft()-311;
			if(newPos<0){
				$('#carousel').scrollLeft(carroselHalf);
				newPos=carroselHalf-311;
			}
			carrAnimating=true;
			$('#carArrow1').fadeTo(500,1);
			$('#carousel').animate({scrollLeft:newPos},500,function(){
				carrAnimating=false;
				$('#carArrow1').fadeTo(500,0.2);
			});
			
		});
		
		$('#carArrow2').click(function(){
			if(carrAnimating){return;}
			var newPos=$('#carousel').scrollLeft()+311;
			var overflowSize=$('#carousel .dl_carousel').first().width()-$('#carousel').width();
			
			if(newPos>carroselHalf){
				$('#carousel').scrollLeft($('#carousel').scrollLeft()-carroselHalf);
				newPos=$('#carousel').scrollLeft()+311;
			}
			carrAnimating=true;
			$('#carArrow2').fadeTo(500,1);
			$('#carousel').animate({scrollLeft:newPos},500,function(){
				carrAnimating=false;
				$('#carArrow2').fadeTo(500,0.2);
			});
		});
		
		function autoCarrScroll(){
			if(autoScroll){
				$('#carArrow1').trigger('click');
			}
			setTimeout(autoCarrScroll,8000);
		}
		
		//logoscroll thing
		if($('.dl_default_greyscale').length>0){
			
			$('.greyscale img').css('opacity',0.5);
			var origHTML=$('.dl_default_greyscale').first().html();
			var origWidth=$('.dl_default_greyscale').first().children().length*126;
			$('.dl_default_greyscale').first().html(origHTML+origHTML);

			$('.greyscale img').mouseover(function(){
				var newsrc=$(this).attr('src').replace(/\/flg-/i,'/rs-');
				var oldsrc=$(this).attr('src');
				$(this).css('opacity',1);
				$(this).attr('src',newsrc);
				$(this).mouseout(function(){
					$(this).attr('src',oldsrc);
					$(this).unbind('mouseout');
					$(this).css('opacity',0.5);
				});
			});
			
			var newPos=origWidth;
			function logoScrollLeft(){
				$('.dl_default_greyscale').first().scrollLeft(0);
				$('.dl_default_greyscale').first().animate({scrollLeft:newPos},50000,'linear',logoScrollLeft);
			}
			logoScrollLeft();
		}
		setTimeout(autoCarrScroll,3000);
	}
	
	function convertTable(event){
	
	var allTDs=$('.websiteTableBlock').first().find('td');
	var webtype=$(allTDs[1]).html();
	var location=$(allTDs[3]).html();
	var features=$(allTDs[5]).html();
	var launchDate=$(allTDs[7]).html();
	var webAddress=$(allTDs[9]).html();
	
	var content='\
		<h3><b>Website Type</b></h3>\
		<p>'+webtype+'</p>\
		<hr>\
		<h3><b>Client Location</b></h3>\
		<p>'+location+'</p>\
		<hr>\
		<h3>Features</h3>\
		<p>'+features+'</p>\
		<hr>\
		<h3>Launch Date </h3>\
		<p>'+launchDate+'\
		</p>\
		<hr>\
		<h3>Website Address</h3>\
		<p>'+webAddress+'</p>';

	$('.websiteTableBlock').first().find('.duoEditArea').html(content);
	
	
	}
	
});

function ukDateToSQL(origDate){
	var parts=origDate.match(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})/);
	if(parts && parts.length>2){
		return(parts[3]+"-"+parts[2]+"-"+parts[1]);
	}
	return false;
}

function updateGoogleOutput(){
		var startDate=ukDateToSQL($("#gStartDate").val());
		var endDate=ukDateToSQL($("#gEndDate").val());
		var path=window.location.href.replace(/http:\/\/[^\/]+/,'');
		path=path.replace(/#.+/,'');
		path=path.replace(/\/+/g,'|');

		//after setup trigger tab 1
		var selected = $("#gTabs").tabs('option', 'selected'); // => 0
				if(selected=='0'){
			$('#gcountries').html("<p>Loading Data From Google</p>");
			$('#gcountries').optiTable('destroy');
			$('#gcountries').optiTable({url:'/duocms/analytics/countries/'+path+'/'+startDate+'/'+endDate+'/',
				selectable:false,
				click:function(data){
					//stockSelected=data[0];
				}
			});
		}

		if(selected=='1'){
			$('#gtraffic').html("<p>Loading Data From Google</p>");
			$('#gtraffic').optiTable('destroy');
			$('#gtraffic').optiTable({url:'/duocms/analytics/referers/'+path+'/'+startDate+'/'+endDate+'/',
				selectable:false,
				click:function(data){
					//stockSelected=data[0];
				}
			});
		}
		
		if(selected=='2'){
			$('#gkeywords').html("<p>Loading Data From Google</p>");
			$('#gkeywords').optiTable('destroy');
			$('#gkeywords').optiTable({url:'/duocms/analytics/keywords/'+path+'/'+startDate+'/'+endDate+'/',
				selectable:true,
				click:function(data){
					if(data[0][0]=='google'){
						window.open('http://www.google.co.uk/search?q='+data[0][1]);
					}
					if(data[0][0]=='bing'){
						window.open('http://www.bing.com/search?q='+data[0][1]);
					}
		
					if(data[0][0]=='yahoo'){
						window.open('http://uk.search.yahoo.com/search?p='+data[0][1]);
					}
				}
			});
		}
		
		if(selected=='3'){
			$('#gperday').html("<p>Loading Data From Google</p>");
			$.getJSON('/duocms/analytics/perday/'+path+'/'+startDate+'/'+endDate+'/',function(data){
				//create data
				$('#gperday').html('');
				var visits=new Array();
				var dt;
				var bits;
				for(var i=0;i<data.info.length;i++){
					dt=data.info[i][0];
					bits=dt.match(/([0-9]{4})([0-9]{2})([0-9]{2})/);
					var visit=new Array();
					visit.push(bits[1]+"-"+bits[2]+"-"+bits[3]);
					visit.push(parseInt(data.info[i][1]));
					visits.push(visit);
				}
				var pageviews=new Array();
				for(var i=0;i<data.info.length;i++){
					dt=data.info[i][0];
					bits=dt.match(/([0-9]{4})([0-9]{2})([0-9]{2})/);
					var visit=new Array();
					visit.push(bits[1]+"-"+bits[2]+"-"+bits[3]);
					visit.push(parseInt(data.info[i][2]));
					pageviews.push(visit);
				}
				var plot1 = $.jqplot ('gperday',[pageviews,visits],{
      					axes: {
        					xaxis: {
        						renderer:$.jqplot.DateAxisRenderer,
         						pad: 0,
         						tickOptions:{
									formatString:'%b %#d',
								}
        					},
        					yaxis: {
        						pad: 0,
          						tickOptions:{
									formatString:'%d'
								}
        					}
      					},
      					legend: {
            				show: true,
            				location: 'nw'
            			},
      					series:[
				            {label:'Page Views'},
				            {label:'Visits'}
				        ],
    				});
    				
			});
		}
		
		if(selected=='4'){
			$('#gperweek').html("<p>Loading Data From Google</p>");
			$.getJSON('/duocms/analytics/perweek/'+path+'/'+startDate+'/'+endDate+'/',function(data){
				//create data
				var sDate1=startDate.split('-');
				var sDate=new Date();
				sDate.setFullYear(parseFloat(sDate1[0]),1,1);
				$('#gperweek').html('');
				var visits=new Array();
				var dt;
				for(var i=0;i<data.info.length;i++){
					dt=parseInt(data.info[i][0]);
					var visit=new Array();
					var sDate2=new Date(parseFloat(sDate.getTime())+(dt*7*24*60*60*1000));
					visit.push(sDate2.getFullYear()+"-"+sDate2.getMonth()+"-"+sDate2.getDate());
					visit.push(parseInt(data.info[i][1]));
					visits.push(visit);
				}
				var pageviews=new Array();
				for(var i=0;i<data.info.length;i++){
					dt=parseInt(data.info[i][0]);
					var visit=new Array();
					var sDate2=new Date(parseFloat(sDate.getTime())+(dt*7*24*60*60*1000));
					visit.push(sDate2.getFullYear()+"-"+sDate2.getMonth()+"-"+sDate2.getDate());
					visit.push(parseInt(data.info[i][2]));
					pageviews.push(visit);
				}
				
				var plot1 = $.jqplot ('gperweek',[pageviews,visits],{
      					axes: {
        					xaxis: {
        						renderer:$.jqplot.DateAxisRenderer,
         						pad: 0,
         						tickOptions:{
									formatString:'%b %#d',
								}
        					},
        					yaxis: {
        						pad: 0,
          						tickOptions:{
									formatString:'%d'
								}
        					}
      					},
      					legend: {
            				show: true,
            				location: 'nw'
            			},
      					series:[
				            {label:'Page Views'},
				            {label:'Visits'}
				        ],
    				});
    				
			});
		}

}
