function clearTextField(e){
	console.log(e);
	var value = e.target.value || e.target.text ;
	e.target.set('value','');
	e.target.addEvent('blur',function(e){
		if(e.target.value == '' || e.target.text == ''){
			e.target.set('value',value);
		}
	})
}

function initTextFields(){
	var fields = $(document.body).getElements('input[type="text"]');
	fields.each(function(el){
		el.addEvents({
			'focus':clearTextField.bindWithEvent(this,[el])
		})
	})
}
window.addEvent('domready',initTextFields); 
/*
	INIT INPUT FIELDS TO SWAP BG IMAGE ON FOCUS AND VALUE CHANGED ... why? why why???
*/
//function initTextFields(){
//	$(document.body).getElements('input.input-text').each(function(el){
//		console.log(el);
//		el.addEvents({
//			'change': textInputBgSwap.bindWithEvent(this,el),
//			'blur': textInputBgSwap.bindWithEvent(this,el),
//			'focus': textInputBgSwap.bindWithEvent(this,el)
//		});
//		el.fireEvent('blur');
//		
//	});
//}window.addEvent('domready',initTextFields);

function textInputBgSwap(e,el){
	
	/*
		check to see if the event object is being passed in
		if it isn't e will be false. if e is false we assume its being called onDomready and move on with the logic.
	*/
	
	if( ! $type(e)){
		e = {};
		e.type = 'domready';
	}
	
	new Event(e).stop();	
	
	if((e.type == 'domready' && el.get('value') != "") || (el.get('value') == "" && e.type == 'focus') || el.get('value') != ""){
		el.addClass('value_changed');
	}
	else if((el.get('value') == "" && e.type == 'blur')){
		el.removeClass('value_changed');
	}
	return el;
}

/*
	init minisearch button
*/
function initMinisearchButton () {
	
	$('search_mini_form').getElement('.mini_search_btn').addEvent('click',function(e){
		new Event(e).stop();
		$('search_mini_form').submit();
	});
}window.addEvent('domready',initMinisearchButton);


function getGsaLinks(){
	$('gsa_code_form').setStyles({
		'opacity':0
	});
	$(document.body).getElements('.gsa_link').addEvent('click',function(e){
		var gsa = $('gsa_code_form').clone(true,true).setStyles({
			'opacity':1
		}).inject($(document.body));
		
		e.stop();
		
		var gsa_overlay = new Modal(gsa,{modalId:'gsa_code_form' ,onShow: function(obj){
			gsa.getElement('.input-text').focus();
		}});
		
		gsa.getElement('.submit').addEvent('click',function(e){
			new Event(e).stop();
			gsa.getElement('form').submit();
		});	
		
		gsa.getElement('.overlay_close').addEvent('click',function(e){
			new Event(e).stop();
			gsa_overlay.close();
		});	
	});
}window.addEvent('domready',getGsaLinks);
function initSizeChart(){
	if ( ! $('sizeChartOverlay') || ! $('sizeChart-link')) {return false;}
	
	$('sizeChartOverlay').setStyles({
		'opacity':0
	});
	$('sizeChart-link').addEvent('click',function(e){
		var size = $('sizeChartOverlay').clone(true,true).setStyles({
			'opacity':1
		}).inject($(document.body));
		
		e.stop();
		console.log(size.getCoordinates());
		var size_overlay = new Modal(size,{modalId:'sizeChartOverlay' ,onShow: function(obj){
			//gsa.getElement('.input-text').focus();
		}});
		size.getElement('.overlay_close').addEvent('click',function(e){
			new Event(e).stop();
			size_overlay.close();
		});
	});
}window.addEvent('domready',initSizeChart);

//////////////////////////////////////////

function initFabricChart(){
	if ( ! $('fabricChartOverlay')) {return false;}
	console.log('ok')
	
	$('fabricChartOverlay').setStyles({
		'opacity':0
	});
	$('fabricChart-link').addEvent('click',function(e){
		var size = $('fabricChartOverlay').clone(true,true).setStyles({
			'opacity':1
		}).inject($(document.body));
		
		e.stop();
		console.log(size.getCoordinates());
		var size_overlay = new Modal(size,{modalId:'fabricChartOverlay' ,onShow: function(obj){
			//gsa.getElement('.input-text').focus();
		}});
//		size.getElement('.overlay_close').addEvent('click',function(e){
//			new Event(e).stop();
//			size_overlay.close();
//		});
	});
}window.addEvent('domready',initFabricChart);

/*
	ALTERNATE VIEW ON PDP
*/
function initAltViews(){
	var container = $('more-views');
	if(!container) return false;
	
	var button = container.getElement('.alt_views');
	if(!button) return false;

	var fx = new Fx.Morph(container,{
		onComplete: function(){
			container.toggleClass('more_views_closed');
		}
	})
	
	container.getElements('.alt_image img').addEvent('click',function(e){
		new Event(e).stop();
		var link = e.target;
		
		var new_src = e.target.getParent().href;	
		$('lg_image').set('src',new_src);
				
	});
	
	button.addEvent('click',function(e){
		new Event(e).stop();
		var targetClass = ".more_views_closed";
		if(container.hasClass('more_views_closed')){
			targetClass = ".more_views_open";
		}
		fx.start(targetClass);
	});
	
	
	
}window.addEvent('domready',initAltViews);


/*

	START PRIMARY NAVIGATION FUNCTIONALITY

*/

function showSubmenu(e,el){
	e.stop();
	var submenu = el.getElement('ul');
	if(!submenu){return false;}
	submenu.setStyles({
		'display': 'block'
	});
}

function hideSubmenu(e,el){
	e.stop();
	var submenu = el.getElement('ul');
	if(!submenu){return false;}
	submenu.setStyles({
		'display': 'none'
	});
}

function initPrimaryNavigation(){
	var nav = $('nav');
	if(!nav){return false;}
	var listItems = nav.getElements('.primaryNav');
	
	listItems.each(function(el){
		el.addEvent('mouseover',showSubmenu.bindWithEvent(this,el));
		el.addEvent('mouseleave',hideSubmenu.bindWithEvent(this,el));
	});
}window.addEvent('domready',initPrimaryNavigation);



if(typeof console == "undefined"){
	console = {};
	console.log = function(){};
}



function swapTab(e, index, trigger, el){
	e.stop();
	var target = $('prodContent').getElements('.tab-c');
	target.each(function(el){el.removeClass('active')});
	target[index].addClass('active');

	trigger.each(function(el){el.removeClass('active')});
	el.addClass('active');
	
}
function productDetailTabs(){
	if( ! $type($('prodTabs'))){return false;}	
	var trigger = $('prodTabs').getElements('li')
	trigger.each(function(el, index){
		el.addEvent('click',swapTab.bindWithEvent(this, [index, trigger, el]))
	})
}

window.addEvent('domready',productDetailTabs);




function modifyCopy(event, target, origHeight, newHeight, dir){
	event.stop();
	newHeight = target.getScrollSize().y;
	var fx= new Fx.Tween(target,{
		fps:140,
		duration:350,
		transition: Fx.Transitions.Quad.easeInOut
	})
	var select = $('beta').getElement('select') || null;
	if(dir == true){
		fx.start('height',newHeight)
		if(newHeight > 160){
			if(select != null) select.setStyle('opacity',0);
		}
	}else{
		fx.start('height',origHeight)
		if(select != null) select.setStyle('opacity',1);
		
	}
}
function initTextExpand(){
	if( ! $('beta') || ! $('beta').getElement('.prodDesc')){return false;}
	console.log('enter');
	var target = $('beta').getElements('.prodDesc');
	// orig height + padding + border
	var origHeight = '';
	var newHeight = '';
	target.each(function(el){
		origHeight = el.getSize().y-14;
		origHeight = 75;
		newHeight = el.getScrollSize().y;
		
		console.log(el, 'org: ', origHeight, ' new: ',newHeight)
		
		el.addEvents({
			'mouseenter':modifyCopy.bindWithEvent(this,[el, origHeight, newHeight, true]),
			'mouseleave':modifyCopy.bindWithEvent(this,[el, origHeight, newHeight, false])
		})
	})
}

window.addEvent('domready', initTextExpand)



function showQtyModal(){
	var qty = $('orderQuantity').clone(true,true).setStyles({
			'opacity':1
		}).inject($(document.body));
		
		var gsa_overlay = new Modal(qty,{modalId:'orderQuantity' ,onShow: function(obj){
			//gsa.getElement('.input-text').focus();
		}});
		
		/*
		gsa.getElement('.submit').addEvent('click',function(e){
			new Event(e).stop();
			gsa.getElement('form').submit();
		});	
		gsa.getElement('.overlay_close').addEvent('click',function(e){
			new Event(e).stop();
			gsa_overlay.close();
		});
		*/ 
}
    
function updateFormValidation(e, trigger, targetInputs) {
	e.stop();
	var size_flag = false
	var qty_flag = false
	targetInputs.each(function(el){
		if(el.id == 'qty'){
			if (isNaN(el.value) || parseInt(el.value) < 0 || el.value == '') {
				return false;
			}else {
				if(el.value > 0){
					qty_flag = true;
				}
				if(el.value > 29){
					if( ! Cookie.read('qtyPlus')){
						// set cookie so no more popups
						Cookie.write('qtyPlus', true);
						showQtyModal();
					}
				}
			}
		}else{
			if(el.value == 'Choose a Size...'){
				return false;
			}else{
				size_flag = true;
			}
		}
	})
	if(qty_flag == true && size_flag == true){
		trigger.disabled = 0;
		trigger.fade('1');
		console.log(qty_flag, size_flag);
	}else{
		trigger.disabled = 1;
		trigger.fade('.5');
		return false;
	}
}
    
function initAddCartValidation(el) {
	if( ! $('product_addtocart_form') || ! $('orderQuantity')){return false;}
	$('orderQuantity').setStyles({
		'opacity':0
	});
	var target = $('product_addtocart_form');
	var trigger = $('addToCart');
	trigger.addEvent('click',function(){
		target.submit();
	})
	trigger.fade('.5');
	trigger.disabled = 1;
	var targetInputs = []
	var size = $('attribute525');
	var qty  = $('qty');
	targetInputs.combine([size, qty]);
	
	targetInputs.each(function(el){
		el.addEvents({
			'change':updateFormValidation.bindWithEvent(this,[trigger, targetInputs]),
			'keyup':updateFormValidation.bindWithEvent(this,[trigger, targetInputs])
		})
	})
}
window.addEvent('domready', initAddCartValidation);

/*
function initCheckoutType(){
	return false;
	if( ! $('register-customer-password')){return false;}
	$('register-customer-password').setStyle('display','none')
	var target = $('checkout-option');
	var trigger = target.getElements('input');
	trigger.each(function(el){
		el.addEvent('click', function(){
			console.log(formValidate);
			if(el.hasClass('checkoutRegisterRadio')){
				console.log('show');
				$('register-customer-password').setStyle('display','block');
				
				$('billing:customer_password').addClass('validate[\'required\']');
				$('billing:confirm_password').addClass('validate[\'required\']');
				
				formValidate.register($('billing:customer_password'));
				formValidate.register($('billing:confirm_password'));
			}else{
				console.log('hide');
				$('register-customer-password').setStyle('display','none');
				
				$('billing:customer_password').removeClass('validate[\'required\']');
				$('billing:confirm_password').removeClass('validate[\'required\']');
				
				formValidate.dispose($('billing:customer_password'));
				formValidate.dispose($('billing:confirm_password'));
			}
		})
	})
}
*/


function initCheckoutValidation(){
	var forms = $('checkoutSteps').getElements('form');
	var formValidate = ''
	forms.each(function(el, index){
		console.log(el);
		
		if(el.id == 'login-form'){
			formValidate = new FormCheck(el,{
				submit:true
			});
		}else{
			formValidate = new FormCheck(el,{
				submit:false,
				submitByAjax:true,
				onAjaxSuccess:function(){
					steps.display(index+1);
				}/*,
				onSubmit:function(){
					alert('! form submitted !')
				},
				onValidateSuccess : function(){
					alert("it's ok");
		        	if(el.id == 'login-form'){
						//el.submit();		        		
		        	}else{
			        	//el.send();
						//steps.display(index+1);
		        	}
				},
	            onValidateFailure : function(){
					alert("it's NOT ok");
	                // do nothing.
	            }
	            */
			});
		}
		/*
		el.addEvent('submit', function(e){
			e.stop();
			console.log('submit attempted')
		})
		*/
	})
	
}
var steps = '';
function initCheckoutSteps(){
	if( ! $('checkoutSteps')){return false;}
	var container  		= $('checkoutSteps');
	var togglers   		= container.getElements('.head');
	var containers 		= container.getElements('.a-item');
	
	steps = new Fx.Accordion(togglers, containers,{
		display: 0,
    	alwaysHide: true
	});
	var next = '';
	var previous = '';
	containers.each(function(cont, index){
		if(cont.getElement('.continue_btn')){
			next = cont.getElement('.continue_btn');
			next.addEvent('click',function(){
				steps.display(index+1);
			})
		}
		if(cont.getElement('.previous_btn')){
			previous = cont.getElement('.previous_btn');
			previous.addEvent('click',function(){
				steps.display(index-1);
			})
		}
	})
	// initCheckoutType(); // not needed, no guest checkout now
	initCheckoutValidation();
}
window.addEvent('domready', initCheckoutSteps)


function initRegionSet(){
	var targetCountry = $('billing:country_id');
	targetCountry.addEvent('change', function(){
		var req = new Request.JSON({
			url: "http://cart.dev.summitprojects.com/directory/json/childRegion/", 
			onSuccess: function(person){
				console.log(responseJSON, responseText)
			}
		}).get();
	})
	
	
	
	var targetRegion = $('billing:region_id')
} 

function updateShippingFields(shippingFields, billingFields){
	/**
	 * fields don't match, can't use this
	 * shippingFields.each(function(el, index){
	 * 	 el.set('value',billingFields[index].value)
	 * })
	 */
	 $('shipping:firstname').set('value', $('billing:firstname').value);
	 $('shipping:lastname').set('value', $('billing:lastname').value);
	 $('shipping:company').set('value', $('billing:company').value);
	 $('shipping:street1').set('value', $('billing:street1').value);
	 $('shipping:street2').set('value', $('billing:street2').value);
	 $('shipping:city').set('value', $('billing:city').value);
	 $('shipping:postcode').set('value', $('billing:postcode').value);
	 $('shipping:region').set('value', $('billing:region').value);
	 $('shipping:country_id').set('value', $('billing:country_id').value);
	 $('shipping:telephone').set('value', $('billing:telephone').value);
	 $('shipping:fax').set('value', $('billing:fax').value);
	
}
function emptyShippingFields(shippingFields){
	shippingFields.each(function(el){
		el.set('value','')
	})
}
function initShippingAddress(){
	var target = $('shipping:same_as_billing');
	var billingFields = $('co-billing-form').getElements('input[type="text"]');
	var shippingFields = $('co-shipping-form').getElements('input[type="text"]');
	
	if(target.checked == 1){
		updateShippingFields(shippingFields, billingFields);
	}else{
		emptyShippingFields(shippingFields);
	}	
}

function switchPaymentMethod(method){
	var targets = $('co-payment-form').getElements('.paymentMethod')
	targets.each(function(el){
		el.setStyle('display','none')
	})
	var target = $('payment_form_'+method);
	console.log(target);
	target.setStyle('display','block')
}

function saveOrder(){
	console.log('saving');
	var req = new Request({
		url:'/checkout/onepage/saveOrder',
		method:'POST',
		onSuccess:function(responseText, responseXML){
			console.log(responseText, responseXML);
		},
		onFailure:function(xhr){
			console.log(xhr);
		}
	}).send();
}

function setSameAsBilling(){
	var target = $('shipping:same_as_billing');
	target.checked = 0;
	target.value = 0;
}

// for home page
function setBackgroundImage(bg){
	var target = $('marquee_content');
	var link = $('marquee_link');
	var url = '/resources/images/marquee/' + bg.image;
	console.log(url);
	target.setStyles({
		'background':'url('+url+') top center no-repeat transparent'
	})
	link.setStyles({
		'top':bg.posTop,
		'left':bg.posLeft
	})
	link.set('href',bg.url)
}
function initSetRandBg(){
	if( ! $('marquee')){return false;}
	
	//var rand = Math.floor(Math.random()*3)
	var rand = 1;
	if(Cookie.read('marquee')){
		if(Cookie.read('marquee').toInt() < 3){
			rand = Cookie.read('marquee').toInt() + 1;
		}else{
			rand = 1;
		}
		Cookie.write('marquee', rand);
	}else{
		Cookie.write('marquee', 1);
		rand = 1;
	}
	console.log('rand: ', rand);
	var bg = new Hash();
	if(rand == 1){
		bg.set('image' , 'marquee-army-gear.jpg');
		bg.set('url' , '/military.html');
		bg.set('posTop' , 180);
		bg.set('posLeft' , 692);
	}else if(rand == 2){
		bg.set('image' , 'marquee-desert.jpg');
		bg.set('url' , '/massif-systems/fire-and-ice.html');
		bg.set('posTop' , 180);
		bg.set('posLeft' , 605);
	}else{
		bg.set('image' , 'marquee-night.jpg');
		bg.set('url' , '/technology/flame-resistant');
		bg.set('posTop' , 180);
		bg.set('posLeft' , 639);
	}
	var newBg = new Asset.image('/resources/images/marquee/' + bg.image, {
		onload: setBackgroundImage.pass(bg)
	});
}
window.addEvent('domready',initSetRandBg);

// tout manager
function initSetRandTout(){
	if( ! $('pwToutBlock')){return false;}
	var rand = Math.floor(Math.random()*3)
	console.log(rand)
	var toutArray = [];
	if(rand == 1){
		toutArray = [$('tAviation'),$('tFabrics')];
	}else if(rand == 2){
		toutArray = [$('tFireice'),$('tDesign')];
	}else{
		toutArray = [$('tTeamsoldier'),$('tWildland')];
	}
	toutArray.each(function(el){
		el.setStyles({
			'opacity':0,
			'display':'block'
		})
		el.fade('in');
	})
}
window.addEvent('domready',initSetRandTout);




function initNewsletterOverlay(){
	if ( ! $('fNewsletter')) {return false;}
	
	$('newsletterBlock').setStyles({
		'opacity':0
	});
	$('fNewsletter').addEvent('click',function(e){
		var size = $('newsletterBlock').clone(true,true).setStyles({
			'opacity':1
		})//.inject($(document.body));
		
		e.stop();
		var size_overlay = new Modal(size,{modalId:'newsletterBlock' ,onShow: function(obj){
			//gsa.getElement('.input-text').focus();
		}});
		size.getElement('.overlay_close').addEvent('click',function(e){
			new Event(e).stop();
			size_overlay.close();
		});
	});
}window.addEvent('domready',initNewsletterOverlay);

function initContactOverlay(){
	if ( ! $('fContact')) {return false;}
	
	$('contactBlock').setStyles({
		'opacity':0
	});
	$('fContact').addEvent('click',function(e){
		var size = $('contactBlock').clone(true,true).setStyles({
			'opacity':1
		})//.inject($(document.body));
		
		e.stop();
		var size_overlay = new Modal(size,{modalId:'contactBlock' ,onShow: function(obj){
			//gsa.getElement('.input-text').focus();
		}});
		size.getElement('.overlay_close').addEvent('click',function(e){
			new Event(e).stop();
			size_overlay.close();
		});
	});
}window.addEvent('domready',initContactOverlay);