// ::: MOOTOOLS ::: //
var Site = {

	start : function(){
		
		Site.LoginToggle();
		Site.welcome_load();
		
		//Site.CategoryTabs(0);
		Site.removeTabclass();
		Site.TopProdTabs();
		Site.ProdTabs();
		
		Site.TopTips();
		//Site.FAQ_Accordion();
		
		Site.active_field();
		Site.form_tips();
		Site.use_billing_address();
		Site.use_billing_address_wholesale();
		
		Site.WrapperDropHeight();
		
		Site.show_prod_desc();
		Site.CatToolTip();
		Site.CatScroll();
		Site.FooterTabs();
		
		Site.show_more_reviews();
		Site.show_review_form();
		Site.show_review_form2();
		
		Site.HomePageBanner();
		
	},


	HomePageBanner : function(){
		
		var homepagebanner_inner = $('homepagebanner_inner');
		
		if(homepagebanner_inner){
			
			// instance with a few options
			mySlideShow = new SlideShow(homepagebanner_inner,{
				delay: 8000,
				autoplay: true
			});
			
		}
		
	},


	CatToolTip : function(){
		

		var customTips = $$('.tooltip');
		 
		var toolTips = new Tips(customTips, {
			showDelay: 100,    //default is 100
			hideDelay: 100,   //default is 100
		 
			className: 'anything', //default is null
		 
			//this sets the x and y offets
			offsets: {
				'x': 100,       //default is 16
				'y': 16        //default is 16
			},
		 
			fixed: false,      //default is false
			
			onAttach: function(toolTipElement){
				toolTipElement.store('tip:title', $('prodtitle_'+toolTipElement.get('rel')+'').innerHTML);
				toolTipElement.store('tip:text', $('proddesc_'+toolTipElement.get('rel')+'').innerHTML);
			},
		 
			onShow: function(toolTipElement){
				toolTipElement.fade(1);
			},
			onHide: function(toolTipElement){
				toolTipElement.fade(0);
			}
		});
		

	},

	LoginToggle : function(){
		
		if($('login_toggle')){
		var outer_login_top = $('outer_login_top');
		var login_top = $('login_top');
		
		var myVerticalSlide = new Fx.Slide(outer_login_top).hide();
		
		outer_login_top.setStyle('display', 'block');
		
		$('login_toggle').addEvent('click', function(e){
													 
			e.stop();
			myVerticalSlide.toggle();
			
			if(myVerticalSlide.open == false){
				
				outer_login_top.removeClass('login_top_hide');
				
				outer_login_top.getParent('div').setStyle('margin-top', '10px');
				outer_login_top.getParent('div').setStyle('margin-bottom', '10px');
				outer_login_top.getParent('div').setStyle('margin-left', '15px');
				
				login_top.addClass('loading_small_grey');
				
				
				$('wrapper_drop').setStyle('top', '160px');

				var fx = new Fx.Morph($(login_top));
				
				fx.start({
					//'opacity': .3
				}).chain(function(){
					this.start.delay(400, this, {
						
					});
				}).chain(function() {
					
					var req = new Request.HTML({
				
						url: web_address+"_layout/login.asp",
						method: 'get',
						data: 'cache='+ $random(1,99999),
						update: login_top,
						evalScripts: true,
						onComplete: function(response) {
						
							Site.LoginForm();
							login_top.removeClass('loading_small_grey');
						}	
				
					}).send();
											
					
				});	
				
				
				
			}
			
			if(myVerticalSlide.open == true){
				
				outer_login_top.getParent('div').setStyle('margin-top', '0');
				outer_login_top.getParent('div').setStyle('margin-bottom', '0');
				
				$('wrapper_drop').setStyle('top', '112px');
				
			}
			
			
		});
		}
		
	},

	LoginForm : function(){
		
		$('loginform_top').addEvent('submit', function(e) {
			
			e.stop();
			
			var outer_login_top = $('outer_login_top');
			var login_top = $('login_top');
			
			login_top.addClass('loading_small_grey');
			
			this.set('send', {evalScripts: true, onComplete: function(response) { 
						
				if(response == "welcome"){
					//document.location= web_address + 'index.asp?login=true';
				}else{
					
					login_top.highlight(); 
					
					login_top.set('html', response);
					login_top.removeClass('loading_small_grey');
					
					outer_login_top.getParent('div').setStyle('height', 'auto');
					login_top.setStyle('height', 'auto');
					
					//$('basket_links_ul').set('html', '<li class=\"pngimg\"><a href=\"'+web_address+'_code/logout.asp\" target=\"_top\">Log-out</a></li><li class=\"pngimg\"><a href=\"'+web_address+'myaccount/my_account.asp" target=\"_top\">My Account</a></li><li class=\"pngimg\"><a href=\"'+web_address+'myaccount/login_register.asp?referrer=my_basket\" target=\"_top\">Checkout</a></li>');
					
					if($('loginform_top'))
					Site.LoginForm();
				}
				
				
			}});
			
			this.send();
		});
			
		
	},
	
	welcome_load : function(){
	
		$$('.welcome_load').each(function(item){
		
			item.highlight(); 
		
		});
	
	},
	
	
	CategoryTabs : function(str1) {
		if($('panes')){
			
			
			
			myTabs = new SlidingTabs(
			
			'buttons', 'panes', 
			
			{ startingSlide: "pane_" + str1 } 		
			
			);
			
			$('prodlist_loading').setStyle('display','none');
			$('prodlist').setStyle('visibility','visible');
			
		}
	},
	
	
	removeTabclass : function(){
		if($('prodtabs'))
		$$('#prodtabs li').each(function(item){
										 
			item.addEvent('click', function(e) {
											
				$$('#prodtabs li').each(function(item){
						item.removeClass('current');							
				});
											
				item.addClass('current');
				
			});
			
		});
	},
	
	
	TopProdTabs : function(){
		if($('top_prodinfo')){
			
			var tabs = new SimpleTabs('top_prodinfo', {
				selector: 'h3',
				classWrapper: 'top_prodinfo-wrapper',
				classMenu: 'top_prodinfo-menu',
				classContainer:'top_prodinfo-container'
			});
			
			$('top_prodinfo_loading').setStyle('display','none');
			
		}
	},
	
	ProdTabs : function(){
		
		if($('prodinfo')){
			
			//prodinfo = $('prodinfo').getSize().y;
			
			var tabs = new SimpleTabs('prodinfo', {
				selector: 'h3',
				classWrapper: 'prodinfo-wrapper',
				classMenu: 'prodinfo-menu',
				classContainer:'prodinfo-container'
			});
			
			
			$('prodinfo_loading').setStyle('display','none');
			$('prodinfo').setStyle('height','auto');
			
			
		}
		
		
		
		
		
	},
	
	FooterTabs : function(){
		if($('footer_content')){
			
			var tabs = new SimpleTabs('footer_content', {
				selector: 'h1',
				classWrapper: 'footer-wrapper',
				classMenu: 'footer-menu'
			});
			
		}
	},
	
	TopTips : function(){
		
		$$('.tt_toggle').each(function(item){
			
			var id_array=item.id.split("_");
			var divid = 'tt_div_' + id_array[2]+'_'+id_array[3];
					
			var myVerticalSlide = new Fx.Slide(divid,{
					
				onComplete: function(){
					Site.WrapperDropHeight();
				}
			
			}).hide();
			
			$(divid).setStyle('display', 'block');
		
			item.addEvent('click', function(e){
				e.stop();
				myVerticalSlide.toggle();
			});
			
		});
		
		
	},
	
	TopTips_2 : function(){
		
		var divid = 'tt_div_2_2';
		var myVerticalSlide = new Fx.Slide(divid).hide();
		$(divid).setStyle('display', 'block');
		myVerticalSlide.toggle();
	
	},
	
	
	FAQ_Accordion : function(str1){
		
		if($('faqs_div')){
		
			accordion = new Accordion('.h3acc', '.divacc', {
				opacity: false,
				//start: -1,
				display:str1,
				onActive: function(toggler, element){
					
					//toggler.removeClass('acc_off');
					toggler.addClass('faq_on');
					
					//element.setStyle('padding-top','10px');
					//element.setStyle('padding-bottom','10px');
					
				},
			 
				onBackground: function(toggler, element){
					
					//show_option = 0;
					element.setStyle('height', element['offsetHeight']);  /* turn off auto */
					
					toggler.removeClass('faq_on');
					//toggler.addClass('acc_off');
					
					//element.setStyle('padding-top','0');
					//element.setStyle('padding-bottom','0');
										
				},
				
				onComplete: function(element){
					
					// deal with dynamic content
					var el = $(this.elements[this.previous]);
					if (el.offsetHeight>0) el.setStyle('height','auto');
					
				}
				
				
			}, $('faqs_div'));
		
		}
		
		
	},
	
	
	active_field : function(){
	
		$$('.txtfld').each(function(item){
		
			item.addEvent('focus', function(e) {
											
				var fx = new Fx.Tween(item);
				//fx.start('background-color', '#FFF2F1');
											
			});
			
			item.addEvent('blur', function(e) {
				var fx = new Fx.Tween(item);
				//fx.start('background-color', '#ffffff');
			});
		
		});
	
	},
	
	form_tips : function(){
	
		$$('.formstyle .txtfld').each(function(item){
				
			if($(item.name+'_txt')){
			
				var el = $(item.name+'_txt').setStyle('opacity',0);
			
				item.addEvent('focus', function(e) {
												
					el.fade(1);					
						
				});
				
				item.addEvent('blur', function(e) {
											   
					el.fade(0);
					
				});
			
			}
				
		
		});
	
	},
	
	use_billing_address : function(){
		
		if($('use_billing')){
			$('use_billing').addEvent('click', function(e) {
														
				if($('use_billing').checked == 1){
					use_billing = "on"
				}else{
					use_billing = ""
				}
				
				var req = new Request.HTML({
			
					url: web_address+"_code/myaccount.asp",
					method: 'get',
					data: 'use_billing='+use_billing+'&cache='+ $random(1,99999),
					//update: div,
					evalScripts: true,
					onComplete: function(response) {
						
							
					}	
			
				}).send();
					
			});
		}
		
	},
	
	use_billing_address_wholesale : function(){
		
		if($('use_billing_wholesale')){
			$('use_billing_wholesale').addEvent('click', function(e) {
														
				if($('use_billing_wholesale').checked == 1){
					use_billing = "on"
				}else{
					use_billing = ""
				}
				
				var req = new Request.HTML({
			
					url: web_address+"_code/myaccount_wholesale.asp",
					method: 'get',
					data: 'use_billing='+use_billing+'&cache='+ $random(1,99999),
					//update: div,
					evalScripts: true,
					onComplete: function(response) {
						
							
					}	
			
				}).send();
					
			});
		}
		
	},
	
	WrapperDropHeight : function(){
	
		if($('main_content')){
			main_content_y = $('main_content').getSize().y;
			
			$('wrapper_drop').setStyle('height', (main_content_y+15));	
		}
		
	},
	
	
	show_prod_desc : function(){
	
		if($('proddesc_more')){
			
			var mySlide = new Fx.Slide('proddesc_more');
			
			mySlide.hide();
			
			$('proddesc_more').setStyle('display', 'block');
			 
			$('tog_desc').addEvent('click', function(e){
												
				e = new Event(e);
				mySlide.toggle();
				e.stop();
				
				
				$$('#tog_desc a').toggleClass('readmore_open');
				
			});
			
		}
	
	
	},
	
	
	ScrolltoDesc : function(){
	
		if($('proddetails_title')){
			
			// set height of .tab-wrapper
			
			//tabwrapper_y = $('tab-wrapper').getSize().y;
			//$('tab-wrapper').setStyle('height',tabwrapper_y+20)
			
			$('slide_desc').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('prodinfo');
				
			});
			
		}
	
	
	},
	
	
	CatScroll : function(){
	
		$$('.cat_scroll ').each(function(item){
				
			item.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('prodinfo');
					
			});
				
		});
	
	
	},
	
	
	show_more_reviews : function(){
	
		if($('more_cust_review')){
			
			var mySlide = new Fx.Slide('more_cust_review',{
				
				onComplete: function(){
					Site.WrapperDropHeight();
				}
				
			 });
			
			mySlide.hide();
			
			$('more_cust_review').setStyle('display', 'block');
			 
			$('tog_more_rev').addEvent('click', function(e){
												
				e = new Event(e);
				mySlide.toggle();
				e.stop();
				
				$$('#tog_more_rev a').toggleClass('readmore_open');
				
				
			});
			
		}
	
	
	},
	
	show_review_form : function(){
	
		if($('review_form')){
			
			var mySlide = new Fx.Slide('review_form',{
				
				onComplete: function(){
					Site.WrapperDropHeight();
				}
				
			 });
			
			mySlide.hide();
			
			$('review_form').setStyle('display', 'block');
			 
			$('tog_rev_form').addEvent('click', function(e){
												
				e = new Event(e);
				mySlide.toggle();
				e.stop();
				
				$$('#tog_rev_form a').toggleClass('readmore_open');
				
			});
			
		}
	
	
	},
	
	show_review_form2 : function(){
	
		if($('review_form')){
			
			var mySlide = new Fx.Slide('review_form',{
				
				onComplete: function(){
					Site.WrapperDropHeight();
				}
				
			 });
			
			mySlide.hide();
			
			$('review_form').setStyle('display', 'block');
			 
			$('tog_rev_form2').addEvent('click', function(e){
												
				e = new Event(e);
				mySlide.toggle();
				e.stop();
				
				$$('#tog_rev_form a').toggleClass('readmore_open');
				
				var scroll = new Fx.Scroll(window, {
					wait: true,
					duration: 1000,
					offset: {'x': 0, 'y': 0},
					transition: Fx.Transitions.Quad.easeInOut
				});	
			
				scroll.toElement('review_form');
				
			});
			
		}
	
	
	}
	
	
};

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.cust_review.value = f.cust_review.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);
	}
	
}


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 ::: //