CmaVision = {};

CmaVision.Global = {
	// Initialise, called on page load
	init: function() {			
		CmaVision.Global.dropDowns();
		CmaVision.Global.marketFlash();
		CmaVision.Global.tableHelper();
		CmaVision.Global.popUpHelper();
		
		var msie6 = $.browser == 'msie' && $.browser.version < 7;

		$('html').addClass('js');
		
		// Add disappearing hint (value comes from title attrib on element itself)
		$('input[title!=""], textarea[title!=""]').hint();
				
		$('a.zoom').each(function() {
			$(this).fancyZoom({width:520, height:299});
		});
		
		$('.clickable').click(function(){
			window.location=$(this).find("a").attr("href"); return false;
		});
		
		if ($('#data-access-box').length) {
			$('#data-access-box-link').fancyZoom({width:400, height:300});
		}

	},
	
	popUpHelper: function() {
		// External Links
		$('a[rel~=external]').click( function() {
			window.open(this.href);
			return false;
		});
		
		$('a[rel~=popup]').click(function(){
			var href = $(this).attr('href');
			window.open(href,'popup','location=0,status=1,scrollbars=1,resize=1,width=820,height=600');
			return false;
		});	
	},
	
	tableHelper: function() {
		$("table.data tbody tr:nth-child(odd)").addClass("odd");
		$("table.data tbody tr:nth-child(even)").addClass("even");
		$('table.data tbody tr').hover(
			function() {
				$(this).addClass('over');
			},
			function() {
				$(this).removeClass('over');
			}
		);
	},
	
	dropDowns: function() {
		var navMenu = $(".dropdown-nav");		
		//add indicator and hovers to submenu parents
		navMenu.find("li").each(function() {
			if ($(this).find("ul").length > 0) {
				//show subnav on hover
				$(this).mouseenter(function() {
					$(this).find("ul").stop(true, true).slideDown('Fast');
				});
				//hide submenus on mouse out
				$(this).mouseleave(function() {
					$(this).find("ul").stop(true, true).slideUp(100);
				});
			}
		});
	},
	
	marketFlash: function() {
		//Expander
		/*
		var expander = $('#market-flash-aside');
		var targetForm = $(expander).next();
        $(expander).toggle(
			function() {
			    $(targetForm).slideDown();
			},
			function() {
			 	$(targetForm).slideUp();
			}
		); 
		*/
		//ajax submit
		$("#mf-submit").click(function() {
			
			var hasError = false;
		//	var emailReg = /^([w-.]+@([w-]+.)+[w-]{2,4})?$/;
			var emailReg = /.+@.+\.[a-zA-Z]{2,4}$/;
			var emailToVal = $("#email").val();
			
			if(emailToVal == '') {
   				$("#mf-submit").after('<p class="error">Please enter your email address</p>');
   					hasError = true;
   					return false;
  				} else if(!emailReg.test(emailToVal)) {
   					$("#mf-submit").after('<p class="error">Please enter a valid email address</p>');
   					return false;
   					hasError = true;
  			}
		
			if(hasError == false) {
				$('.error').fadeOut();
				var formData = $("#market-flash").serialize();  
				var f = $('#market-flash');
				$.ajax({
					type: "POST",
					url: "thankyou",
					data: formData,
			    	success: function(data){
	                	// alert('success callback');
	                	$(f).html('<div class="msg round4"><p>Thanks for signing up for Market flash!</p></div>');
	                	$('#freeform-container').delay(1800).fadeOut(500);
	            	},
	            	error: function(req,error){
	            		if(error === 'error'){error = req.statusText;}
	                	var errormsg = '<p>Oops, there was a communication error, please refresh the page and try again: ' + error + '</p>';
						f.html(errormsg);
	            	},
	            	beforeSend: function(data){
	        			$("#mf-submit").replaceWith('<img class="spinner" src="/assets/2010/img/loading.gif" alt="" />');
	      			}
	
				});
			}
			return false;
		}); 
	}
};

CmaVision.News = {	
	init: function() {		
		$("#nav-years").find("a").each(function(){        
    		if(location.href.indexOf(this.href) != -1) {            
        		$(this).parent().addClass("here");
        	}    
    	});
	}	
};

CmaVision.Data = {	
	init: function() {		

	}	
};


CmaVision.Article = {	
	init: function() {		
		var printLink = '<li id="print"><a href="javascript:window.print()">Print</a></li>';
		$('li#email').after(printLink);
	}	
};

CmaVision.CaseStudies = {
	init: function() {		
		$("#tabs").tabs({ fxSlide: true, fxFade: true, fxSpeed: 'fast' });
		// $('#tabs').tabs(1);
		var expander = $('h2.expander');
        $(expander).toggle(
			function() {
			    $(this).removeClass('closed').addClass('open');
			    $(this).next().slideDown();
			},
			function() {
				$(this).addClass('closed').removeClass('open');
			 	$(this).next().slideUp('fast');
			}
		);
	}	
};

CmaVision.DownloadExpander = {
	init: function() {		
		var expander = $('.expander-p');
		// var targetElem = $(expander).next().next();
        $(expander).toggle(
			function() {
			    $(this).removeClass('closed').addClass('open');
			    $(this).next().next().slideDown();
			},
			function() {
				$(this).addClass('closed').removeClass('open');
			 	$(this).next().next().slideUp('fast');
			}
		);
	}	
};


CmaVision.Home = {	
	// Initialise, called on page load	
	init: function() {		
		CmaVision.Home.twitterWidgit();
		CmaVision.Home.clientNav();
		CmaVision.Home.inFocus();
		// CmaVision.Home.loadMarketData();
	},
	
	twitterWidgit: function() {
		new TWTR.Widget({
		  profile: true,
		  id: 'twtr-profile-widget',
		  loop: true,
		  width: 354,
		  height: 282,
		  theme: {
		    shell: {
		      background: '#E3EAF0',
		      color: '#333333'
		    },
		    tweets: {
		      background: '#ffffff',
		      color: '#333333',
		      links: '#1985b5'
		    }
		  }
		}).render().setProfile('CMANews').start();
	},
	
	clientNav: function() {
		// nav by clients
		var switches = $('.switches > li');
		var slides = $('#slides > div');
		switches.each(function(idx) {
		    $(this).data('slide', slides.eq(idx));
		        }).hover(
		        function() {
		            switches.removeClass('active');
		            slides.removeClass('active');             
		            $(this).addClass('active');  
		            $(this).data('slide').addClass('active');
		        });
			$('#client-nav').hover(
				function() {
					switches.removeClass('active');
					slides.removeClass('active'); 
		});	
	},
	
	inFocus: function() {
		if ($("#in-focus").length) {
			$('#in-focus-inner').cycle({
				fx:     'fade',
				speed:  '800',
				timeout: 10000,
				next:   '#focus-next',
				
				next:   '#focus-next',
				prev:   '#focus-prev'
				
			});
		}	
	},
	
	// TODO: Load Market Data with Ajax
	loadMarketData: function() {
		var includePath = 'http://ftp.creditma.com/webmovers/market_data.html';
		var dataContainer = $('#market-data-wrap');
		$.ajax({
			type: 'GET',
		    timeout: 7000,
		    url: includePath,
		    success: function(data){
                dataContainer.html(data);
            },
            error: function(req,error){
            	if(error === 'error'){error = req.statusText;}
                	var errormsg = '<p>Oops, there was a communication error, please refresh the page and try again: ' + error + '</p>';
					dataContainer.html(errormsg);
            },
            beforeSend: function(data){
                dataContainer.html('<img alt="" class="loading" src="/assets/img/icons/loading16.gif" />');
            
            }
		});
	}	
};
