// ::: MOOTOOLS ::: //
var Site = {

	start : function(){
		
		//Site.HomeBanner('banner2_General');
		//Site.HomeBannerClick();
		
		Site.CarouselTabs();
		Site.LoadCarousel('ct_audi');
		
		Site.SignUp('footer_signup_form','footer_subscribe');
		Site.SignUp_validate('footer_signup_form');
		
		//Site.SidebarAccordion();
		
		//Site.ProdTabs(1);
		
		//Site.CompBanner();
		
	},
	
	HomeBanner : function(str1){
	
		if($('banner_home')){

			$('banner_home').removeClass('banner_home_img');
			$('banner_home').addClass('loading_bar');	
			$('inner_banner_bar').addClass('hide');
			
			$('inner_banner').set('html', '');
			
			var str1_array=str1.split("_");
			var banner_text = str1_array[0];
			var banner_video = str1_array[1];
			
			var fx = new Fx.Morph($('banner_home'));
			
			fx.start({
				//'opacity': .3
			}).chain(function(){
				this.start.delay(200, this, {
					
				});
			}).chain(function() {
				
				$('banner_home').removeClass('loading_bar');	
				$('inner_banner_bar').removeClass('hide');
				
				var NewsSlide = new Fx.Slide('inner_banner_bar', {mode: 'horizontal'});
				NewsSlide.hide();
				NewsSlide.toggle();
				
				$('inner_banner_bar').addClass(banner_text);	
				
				$('inner_banner').setProperty('html','<div id="inner_banner_flash"></div>');
			
				var params = {};
				params.wmode = "transparent";
				
				swfobject.embedSWF(web_address+"assets/swf/"+banner_video+".swf", "inner_banner_flash", "970", "395", "6.0.0","expressInstall.swf", '', params);
				
				$('banner_home').addClass('banner_home_img');		
				
				
			});	

		}
		
	},
	
	HomeBannerClick : function(){
		
		if($('banner_home_link')){
			
			var banner_home_link = 	$('banner_home_link');	
			var inner_banner_bar = $('inner_banner_bar');	
			
			banner_home_link.addEvent('click', function(e) {
														
			var set_banner_home_rel = banner_home_link.getProperty('rel');	
			
				if(banner_home_link.getProperty('rel') == 'banner2_General'){
					
					inner_banner_bar.removeClass('banner1');
					banner_home_link.setProperty('rel','banner3_dtm');	
					
				}else if(banner_home_link.getProperty('rel') == 'banner3_dtm'){
					
					inner_banner_bar.removeClass('banner2');
					banner_home_link.setProperty('rel','banner4_as4');	
					
				}else if(banner_home_link.getProperty('rel') == 'banner4_as4'){
					
					inner_banner_bar.removeClass('banner3');
					banner_home_link.setProperty('rel','banner5_golf');	
					
				}else if(banner_home_link.getProperty('rel') == 'banner5_golf'){
					
					inner_banner_bar.removeClass('banner4');
					banner_home_link.setProperty('rel','banner1_gtr');	
					
				}else if(banner_home_link.getProperty('rel') == 'banner1_gtr'){
					
					inner_banner_bar.removeClass('banner5');
					banner_home_link.setProperty('rel','banner2_General');	
					
				}
				
				Site.HomeBanner(set_banner_home_rel);	
					
			});
			
		}
		
	},

	CarouselTabs : function(){
		if($('carousel_tabs')){
			$('carousel_tabs').getElements('li').each(function(i) {
				i.addEvent('click', function(event){
					event.stop();
					Site.LoadCarousel(i.get('id'));
				});
			});
		}
		
	},
	
	LoadCarouselAction : function(key){
		
		$('carousel_tabs').getElements('li').each(function(i) {
			i.addClass('carousel_tabs_off');
		})
		$(key).removeClass('carousel_tabs_off');
		
		Site.LoadCarousel(key);
		
	},
	
	LoadCarousel : function(key){
		
		if($('carousel_tabs')){
			
			$('carousel_tabs').getElements('li').each(function(i) {
				i.addClass('carousel_tabs_off');
			})
			$(key).removeClass('carousel_tabs_off');
				
			
			var req = new Request({
				url: web_address + index_page + 'home/carousel/' + key,
				method: 'get',
				evalScripts: true,
				onRequest: function() {
					$('carousel_ajax').set('html','');
					$('carousel_ajax').addClass('carousel_loading');
				},
				onSuccess: function(responseText) {
					
					$('carousel_outer').removeClass('carousel_outer');
					
					$('carousel_ajax').removeClass('carousel_loading');
					$('carousel_ajax').set('html',responseText);
					
					Site.CarouselContent();
				}
			}).send();
		}
		
	},
	
	
	CarouselContent : function(){
		
		/*For Carousal 1 */
		var c1_w = 120;							// Carousal Item Width 
		var c1_n = $('model_count').value; 		// Total Number of Carousal Items  
		var c1_pp = 2  							// Number of  Carousal Items  perpage
		var c1_marginFactor = 120;
		
		var c1_sss = c1_w * c1_pp ; //sss = slide step size 
		var c1_ns =  parseInt(((c1_w * c1_n)/c1_sss) + .5); //ns= number of slides 
		c1_sss += c1_marginFactor ; //sss = slide step size , 51 for margins
	
		var carousel1 =  new MooCarousel('carousel_items_wrapper','carousel_items','arrow_left','arrow_right',c1_ns,c1_sss, false); //c_ns= number of slides , c_sss = slide step size
		
	},
	
	SidebarAccordion : function(str1){
		
		// stop real links
		$$('li.sb_tog').each(function(item){
			
			item.addEvent('click',function(e) {
				e.stop();
			});		
			
		});
		
		// renable links within
		$$('li.sb_el_li').each(function(item){
			
			item.addEvent('click',function(e) {
				window.location = e.target.get('href');
			});		
			
		});
		
		var myAccordion = new Accordion($('sidebar'), 'li.sb_tog', 'ul.sb_el', {
			opacity: false,
			display: str1,
			onActive: function(toggler, element){
				toggler.stop;
				toggler.setStyle('font-weight', 'bold');
				toggler.setStyle('font-style', 'italic');
			},
			onBackground: function(toggler, element){
				toggler.setStyle('font-weight', 'normal');
				toggler.setStyle('font-style', 'normal');
			}
		});
		
	
	},
	
	
	ProdTabs : function(str1){
		
		if($('prod_details')){
			
			var tabs = new SimpleTabs('prod_details', {
				show: str1,				  
				selector: 'h3',
				classWrapper: 'prod_details-wrapper',
				classMenu: 'prod_details-menu',
				classContainer:'prod_details-container',
				onSelect: function(toggle, container, index) {
					toggle.addClass('tab-selected');
					container.setStyle('display', '');
					
					if($$('.tab-selected a').get('id') == 'Carconfigurator_li') {
						window.open("http://www.abt-configurator.com/index.html?lang=en");	
						//toggle.removeClass('tab-selected');
						//container.setStyle('display', 'none');
						//tabs.select(1);	
						
					};
				}
			});
			
			if($('showdownloadstab')){
				$('showdownloadstab').addEvent('click', function(e) {
																 
					var scroll = new Fx.Scroll(window, {
						wait: true,
						duration: 1000,
						offset: {'x': 0, 'y': 0},
						transition: Fx.Transitions.Quad.easeInOut
					});	
				
					scroll.toElement('prod_details');
					tabs.select(0);	
					
				});
			}
			
			
		}
		
	},
	
	
	SignUp : function(str1,str2){
		
		$(str1).addEvent('submit', function(e) {
			
			e.stop();
			this.set('send', {evalScripts: true, onComplete: function(response) { 
						
				if(response == "success"){
					$(str2).value="Thanks for signing up!";
					$(str2).setStyle('background-color','#FFFFFF');
				}else{
					$(str2).value=response;
					$(str2).setStyle('background-color','#FFB2B2');
				}
				
			}});
			
			this.send();
		});
			
		
	},
	
	SignUp_validate : function (str1){
	
		 var myValidator = new fValidator(str1,{
			
				msgClass:"fValidator-sidebar-msg",
				styleNeutral: {"background-color": "#FFFFFF", "border": "0"},
				styleInvalid: {"background-color": "#FFB2B2", "border": "0"},
				styleValid: {"background-color": "#FFFFFF", "border": "0"}
			
		});
	
	},
	
	CompBanner : function (){
		
		var myCookie = Cookie.read('abt_competition1');
		
		if(myCookie != "true"){
			
			var docHeight = $('wrapper').getHeight();
			
			$(document.body).adopt(new Element('div', {id: 'site_overlay'}));
					
			$("site_overlay").setStyle('height',docHeight);
			$("site_overlay").setStyle('opacity',0);
			
			var fx = new Fx.Morph($('site_overlay'));
			
			fx.start({
				
			}).chain(function(){
				this.start.delay(1000, this, {
					'opacity': 0,
					'display': 'block'
				});
			}).chain(function() {
				this.start.delay(600, this, {
					'opacity': .7
				});
				
			}).chain(function() {
				$(document.body).adopt(new Element('div', {id: 'comp_message'}).set('html','<a href="'+web_address+index_page+'competition"><img src="'+web_address+'assets/img/banners/competition/CompTicketMain.jpg" height="240"/></a><p><a href="'+web_address+index_page+'home/index/nothanks" class="aunder">No Thanks</a> &raquo; | <a href="'+web_address+index_page+'competition" class="aunder">Show me more</a> &raquo;</p>'));
			});	
				
		}
		
			
	}
	
};

window.addEvent('domready', Site.start);
// ::: MOOTOOLS END ::: //


// ::: GENERAL JAVASCRIPT FUNCTIONS ::: //

//Pop Up
function popup(theURL,winName,features) {
	window.open(theURL,winName,features);
}

// Show Div
function showdiv(divid){
	document.getElementById(divid).style.display = (document.getElementById(divid).style.display == "none") ? "" : "none";
}
function hidediv(divid){
	document.getElementById(divid).style.display = "none";
}

// clearfields
function clearfield(thisfield){ 
	thisfield.value = "";
}

// Check Login
function CheckLoginForm()
{    
	var msg,submitFlag, f;
	msg = "";
	var flagfail = false;
	f = document.loginform;
	                 
	if(f.lem.value.indexOf("@") == -1 || f.lem.value.indexOf(".") == -1 || f.lem.value ==  "") 
	{	
    	msg = msg +  "  - A valid e-mail address\n";
		flagfail = true;
	}
	
	if(f.lpw.value ==  "")
	{
		msg = msg +  "  - Your password\n";
		flagfail = true;
	}
	
		
	msg = "Please complete the following field(s):\n\n" + msg;
	
	if (flagfail == true){
		alert(msg);
		return false;
	}
	
}

// Check Register
function CheckRegForm()
{    
	var msg,submitFlag, f;
	msg = "";
	var flagfail = false;
	f = document.new_account;
	                 
	if(f.reg_email_address.value.indexOf("@") == -1 || f.reg_email_address.value.indexOf(".") == -1 || f.reg_email_address.value ==  "") 
	{	
    	msg = msg + "	- A valid email address\n";
		flagfail = true;
	}
		
	if(f.reg_password.value ==  "")
	{
		msg= msg + "	- Your password\n";
		flagfail = true;
	}
	
	if(f.reg_password.value.toUpperCase() != f.confirm_password.value.toUpperCase())
	{
		msg= msg + "	- Passwords must match\n";
		flagfail = true;
	}
	
	
	if(f.reg_email_address.value.toUpperCase() != f.confirm_email_address.value.toUpperCase())
	{
		msg= msg + "	- Email Addresses must match\n";
		flagfail = true;
	}
		
	
	if (flagfail == true){
		msg = "Please complete the following field(s):\n\n" + msg;
		alert(msg);
		return false;
	}
	
}

function CheckSubForm()
{    
	var msg,submitFlag, f;
	msg = "";
	submitFlag = 0;
	f = document.subform;
	
	                 
	if(f.sube.value.indexOf("@") == -1 || f.sube.value.indexOf(".") == -1 || f.sube.value ==  "") 
	{	
    	msg = msg +  " Please enter a valid email address";
		submitFlag = 1;
	}
	
			
	if(submitFlag == "1")
	{
		alert(msg);
		return (false);
	}

	else 
	{
	     return (true);
	}
}

// Check Contact Us form
function Checkform()
{    
	var msg,submitFlag, f;
	msg = "";
	submitFlag = 0;
	f = document.contact;
	                 
	
	if(f.Full_Name.value ==  "")
	{
		msg= msg + "     - Your Name \n";
		submitFlag = 1;
	}

	if(f.Email_Address.value.indexOf("@") == -1 || f.Email_Address.value.indexOf(".") == -1 || f.Email_Address.value ==  "") 
	{	
		msg= msg + "     - Email Address \n";
		submitFlag = 1;
	}
	
	if(f.Subject.value ==  "")
	{
		msg= msg + "     - Subject \n";
		submitFlag = 1;
	}
	
	
	if(f.Message.value ==  "")
	{
		msg= msg + "     - Message \n";
		submitFlag = 1;
	}
	
	
	msg = "Please complete the following before continuing :\n\n" + msg;
			
	if(submitFlag == "1")
	{
		alert(msg);
		return (false);
	}

	else 
	{
	      return (true);
	}
}


// Check Review  form
function CheckRevForm()
{    
	var msg,submitFlag, f;
	msg = "";
	submitFlag = 0;
	f = document.add_customer_review;
	                 
	
	if(f.cust_name.value ==  "")
	{
		msg= msg + "     - Name \n";
		submitFlag = 1;
	}

	if(f.cust_email.value.indexOf("@") == -1 || f.cust_email.value.indexOf(".") == -1 || f.cust_email.value ==  "") 
	{	
		msg= msg + "     - Email Address \n";
		submitFlag = 1;
	}
	
	if(f.cust_review_title.value ==  "")
	{
		msg= msg + "     - Title \n";
		submitFlag = 1;
	}
	
	if(f.cust_review.value ==  "")
	{
		msg= msg + "     - Review \n";
		submitFlag = 1;
	}
	
	if(f.cust_rating.value ==  "")
	{
		msg= msg + "     - Rating \n";
		submitFlag = 1;
	}
	
	
	msg = "Please complete the following before continuing :\n\n" + msg;
			
	if(submitFlag == "1")
	{
		alert(msg);
		return (false);
	}

	else 
	{
	      return (true);
	}
}


// Check call back form
function CheckCallBack()
{    
	var msg,submitFlag, f;
	msg = "";
	submitFlag = 0;
	f = document.callback;
	                 
	
	if(f.Full_Name.value ==  "")
	{
		msg= msg + "     - Your Name \n";
		submitFlag = 1;
	}

	if(f.Email_Address.value.indexOf("@") == -1 || f.Email_Address.value.indexOf(".") == -1 || f.Email_Address.value ==  "") 
	{	
		msg= msg + "     - Email Address \n";
		submitFlag = 1;
	}
	
	if(f.Telephone_Number.value ==  "")
	{
		msg= msg + "     - Contact Number \n";
		submitFlag = 1;
	}	
	
	msg = "Please complete the following before continuing :\n\n" + msg;
			
	if(submitFlag == "1")
	{
		alert(msg);
		return (false);
	}

	else 
	{
	      return (true);
	}
}


function textCounter(field,cntfield,maxlimit) {
	
	f = document.add_customer_review;
	flength = f.cust_review.value.replace(' ',"");
	fspaces = f.cust_review.value.split(' ').length;
	
	if (flength.length > maxlimit) // if too long...trim it!
	f.custom_name.value = f.custom_name.value.substring(0,((maxlimit+fspaces)-1));
	// otherwise, update 'characters left' counter
	else
	$(cntfield).innerHTML = maxlimit - (flength.length);
	
}


function checksearch(str1)
{    
	var msg,submitFlag, f;
	msg = "";
	submitFlag = 0;
	if(str1 == 0){
		f = document.searchform;
	}else{
		f = document.searchform_left;
	}
	
	                 
	if(f.searchfld.value ==  "" || f.searchfld.value ==  "Product Name or Type") 
	{	
    	msg = msg +  "Please enter a Product Name or Type";
		submitFlag = 1;
	}
	
			
	if(submitFlag == "1")
	{
		alert(msg);
		return (false);
	}

	else 
	{
	     return (true);
	}
	
}

function checkInvite() {
	var your_name = document.getElementById("your_name").value;
	var your_postcode = document.getElementById("your_postcode").value;
	var your_surname = document.getElementById("your_surname").value;
	var your_email = document.getElementById("your_email").value;
	var security_code = document.getElementById("security_code").value;
	var terms = document.competition_form.terms.checked;
	var email1 = document.getElementById("friend_email1").value;
	var name1 = document.getElementById("friend_name1").value;
	var email2 = document.getElementById("friend_email2").value;
	var name2 = document.getElementById("friend_name2").value;
	var email3 = document.getElementById("friend_email3").value;
	var name3 = document.getElementById("friend_name3").value;
	if (your_name != '' && your_surname != '' &&  your_email != '' &&  your_postcode != '' && security_code != '' && terms) {
		if ((email1 == '' || email1 == 'Enter email') || (name1 == '' || name1 == 'Enter name') || (email2 == '' || email2 == 'Enter email') || (name2 == '' || name2 == 'Enter name') || (email3 == '' || email3 == 'Enter email') || (name3 == '' || name3 == 'Enter name')) {
			if (confirm('You are about to submit your entry without recommending your friends and doubling you chances to winning')) {
				return true;
			}else{
				return false;
			}
		}else{
			return true;
		}			 
	}else{
		alert("Please complete all required fields marked with *");
		return false;
	}
}



var win=null;
  
function open_window(mypage,myname,w,h,scroll,status,pos){
if(pos=="center"){
  LeftPosition=(screen.width)?(screen.width-w)/2:100;
  TopPosition=(screen.height)?(screen.height-h)/2:100;
}
else if((pos!="center" && pos!="random") || pos==null){
  LeftPosition=0;
  TopPosition=20;
}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status='+status+',menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
}

// ::: GENERIC JAVASCRIPT FUNCTIONS END ::: //
