/* JavaScript to make the left rail puldown menus work 
 * with the elSelect script.
 */
var acmns = {
	realValueId:null,
	urlObj:{},
	pdOptions:{}, 
	getElByID:function(el){
		return document.getElementById(el);
	},
	formatName:function(optName){
		return optName.replace(' ', '');
	}, 
	relocateLoc:function(valueDiv){
	
		
		/* this gets the ID for the wrapper div of the elSelect menu. 
		 * in order for this to actually send a value to the form script, 
		 * the select wrapper needs to an id of xxx_wrap and the hidden 
		 * input form named xxx_v where xxx is a valid HTML id name.
		 */
		
		// setting selectWrapper variable. this is the wrapper div to which elSelect is applied.
		var selectWrapper = valueDiv.parentNode.parentNode.parentNode;
		var parentForm = selectWrapper.parentNode.parentNode;
	
		// set the hidden input id name 
		this.setRealValueID(selectWrapper.id);
		this.realValueId.value = valueDiv.value;
	
		
		// if(valueDiv.value != ''){
			var objToPick = this.formatName(valueDiv.value);
			window.location = this.urlObj[parentForm.id][objToPick];
		
			// alert(objToPick);
			
			// use this line instead if you just want to push the values to a script. 
			// must remove / comment var objToPick and window.location lines
			// parentForm.submit();
		// }
	},
	relocateNoelSelect:function(theValue){
		/* 
		 * This is the function to use for IE or any case where elSelect menu is not in effect.
		 */
		
		if(theValue.innerHTML != 'Brand'){
			// the form.
			var form = theValue.parentNode.parentNode.parentNode.parentNode;
			var urlKey = this.formatName(theValue.innerHTML);
			
			window.location = this.urlObj[form.id][urlKey];
			
			// alert(this.urlObj[form.id][urlKey]);
			
			// use this line instead (and remove / comment out the window.location line 
			// if you just want to push the values to a script
			// form.submit(); 
		}
		if(valueDiv.value != ''){
			var objToPick = this.formatName(valueDiv.value);
			window.location = this.urlObj[parentForm.id][objToPick];
			
			// use this line instead if you just want to push the values to a script. 
			// must remove / comment var objToPick and window.location lines
			// parentForm.submit();
		}
	},
	setRealValueID:function(el){
		var hiddenInputId = el.replace(/wrap/,'v');
		
		// sets the hidden input form value.
		this.realValueId = this.getElByID(hiddenInputId);
	},
	setBrand:function(el){
		this.brand = this.getElByID(el);	
		this.realValueId = this.getElByID(el+'_v');
	},
	setup:function(urlObject){
		
		this.urlObj = urlObject;
		
		// handle it differently for IE 
		if (Browser.Engine.trident === true || Browser.Engine.webkit525 == true || Browser.Engine.gecko18 == true) {
			for(i in this.urlObj){
				// get the select menus for each object
				var selectMenu = this.getElByID(i).getElementsByTagName('SELECT');
				selectMenu[0].onchange = function(){
					var value = this.options[this.selectedIndex];
					window.acmns.relocateNoelSelect(value);
				};
				
			}
		}
	
	},
	closeOthers: function(target){
		var els = $$('.elSelect');
	
		for(var i=0; i < els.length; i++){
			if(target != els[i].id){
				var menu = document.getElementById(els[i].id); 
				var optCon = menu.childNodes[0].childNodes;
				optCon[2].style.display = 'none';
				menu.childNodes[0].className = 'elSelect';
				
			} else {}
		}
	}	

}	


window.addEvent('domready', function() {
	
// Form hint handler for search entry

if($('site_search_input')){
	$('site_search_input').setProperty('value', 'Search');

		$('site_search_input').addEvents({
			click: function(){
				if (this.getProperty('value') == 'Search'){
					this.removeProperty('value');
				}
				this.parentNode.className +=' focus';
			},		
			blur: function(){
				if (this.getProperty('value') == ''){
					this.setProperty('value', 'Search');
				}
				this.parentNode.className = this.parentNode.className.replace(/ focus/i,'');
			}
		});
}
// "submit" site search form - tbb
if($('site_search')){
		$('site_search').onsubmit = function(){
			// sends the form field values as a query string to this URL
			window.location = 'search.html?p='+$('site_search_input').value;
			return false;
		}
}
	
	
// Form hint handler for find a store zip code entry

if($('ss_zip')){
	//Commented by Gurpreet Singh Bakshi.
    //This was interfering with the property set for the control at the code behind
	//$('ss_zip').setProperty('value', 'Zip Code');

		$('ss_zip').addEvents({
			click: function(){
				if (this.getProperty('value') == 'Zip Code'){
					this.removeProperty('value');
				}
			},		
			blur: function(){
				if (this.getProperty('value') == ''){
					this.setProperty('value', 'Zip Code');
				}
				
				var val = this.getProperty('value').match(/[0-9]{5}/); 
				
				if( (Boolean(val) === true) && (Browser.Engine.trident != true) ){
					ssStateSelect.selectedOption.innerHTML = 'State';
					ssStateSelect.hiddenInput.value = ''
				}
			}
		});
		
}

// Form hint handler for investor email alerts email address and key dates/events email address

if($('ia_email')){
	$('ia_email').setProperty('value', 'Email Address');

		$('ia_email').addEvents({
			click: function(){
				if (this.getProperty('value') == 'Email Address'){
					this.removeProperty('value');
				}
			},		
			blur: function(){
				if (this.getProperty('value') == ''){
					this.setProperty('value', 'Email Address');
				}
			}
		});
}

if($('kd_email')){
	$('kd_email').setProperty('value', 'Email Address');

		$('kd_email').addEvents({
			click: function(){
				if (this.getProperty('value') == 'Email Address'){
					this.removeProperty('value');
				}
			},		
			blur: function(){
				if (this.getProperty('value') == ''){
					this.setProperty('value', 'Email Address');
				}
			}
		});
}


// custom select form input styling
	
	//Gurpreet Singh Bakshi: Declaration of mySelect, ssStateSelect, ssMilesSelect moved from here to StoreLocatorFramework.js.
	if (Browser.Engine.trident != true && Browser.Engine.webkit525 != true && Browser.Engine.gecko18 != true) { // exclude the IEs for now
		if($('ss_brandlist_wrap')){ mySelect = new elSelect( {container : 'ss_brandlist_wrap'} ); } 
	 	if($('ss_state_wrap')){ssStateSelect = new elSelect( {container : 'ss_state_wrap'} ); }
		if($('ss_miles_wrap')){ssMilesSelect = new elSelect( {container : 'ss_miles_wrap'} ); }
		if($('ss_city_wrap')){ssCitySelect = new elSelect( {container : 'ss_city_wrap'} ); } // Added by Uma Bonam for UK VH StoreLocator
		if($('ss_county_wrap')){ssCountySelect = new elSelect( {container : 'ss_county_wrap'} ); } // Added by Uma Bonam for UK VH StoreLocator
		
		/*
		if($('store_search')){
			
			var mySelect = new elSelect( {container : 'ss_brandlist_wrap'} );
			var ssStateSelect = new elSelect( {container : 'ss_state_wrap'} );
			var ssMilesSelect = new elSelect( {container : 'ss_miles_wrap'} );
			
			
		}
		*/
		/* ON THE BVH FORM */
		/*
		if($('store_search_uk')){
			var ssCitySelect =  new elSelect( {container : 'ss_city_list'} ); 
			var ssCountySelect = new elSelect( {container : 'ss_county_wrap'} ); 
			
		}
		*/
 		
		if($('loc_brand_wrap')){ var locBrand = new elSelect( {container : 'loc_brand_wrap'} ); }
		if ($('shop_brand_wrap')) {
			var shopBrand = new elSelect({
				container: 'shop_brand_wrap'
			});
		}
		if ($('groupings_wrap')) {
			var groupingsMenu = new elSelect({
				container: 'groupings_wrap'
			});
		}
		if ($('charts_time_frame_wrap')) {
			var chartsTimeFrameMenu = new elSelect({
				container: 'charts_time_frame_wrap'
			});
		}
		
		if ($('charts_frequency_wrap')) {
			var chartsFrequencyMenu = new elSelect({
				container: 'charts_frequency_wrap'
			});
		}
		if ($('charts_index_comparison_wrap')) {
			var chartsIndexComparisonMenu = new elSelect({
				container: 'charts_index_comparison_wrap'
			});
		}
		if ($('charts_chart_type_wrap')) {
			var chartsChartType = new elSelect({
				container: 'charts_chart_type_wrap'
			});
		}
		if ($('charts_events_wrap')) {
			var chartsEvents = new elSelect({
				container: 'charts_events_wrap'
			});
		}
		if ($('lookup_month_wrap')) {
			var lookupMonth = new elSelect({
				container: 'lookup_month_wrap'
			});
		}
		if ($('lookup_date_wrap')) {
			var lookupDate = new elSelect({
				container: 'lookup_date_wrap'
			});
		}
		if ($('lookup_year_wrap')) {
			var lookupYear = new elSelect({
				container: 'lookup_year_wrap'
			});
		}
		if ($('investment_month_wrap')) {
			var investmentMonth = new elSelect({
				container: 'investment_month_wrap'
			});
		}
		if ($('investment_date_wrap')) {
			var investmentDate = new elSelect({
				container: 'investment_date_wrap'
			});
		}
		if ($('investment_year_wrap')) {
			var investmentYear = new elSelect({
				container: 'investment_year_wrap'
			});
		}
		/*if ($('contact_subject_wrap')) {
			var contactSubject = new elSelect({
				container: 'contact_subject_wrap'
			});
		}
		if ($('contact_brand_wrap')) {
			var contactBrand = new elSelect({
				container: 'contact_brand_wrap'
			});
		}
		if ($('contact_state_wrap')) {
			var contactState = new elSelect({
				container: 'contact_state_wrap'
			});
		}	*/		
		/* Sends select values from elSelect elements on submit. -TBB */
		
		/* begin ram IR */
	        if ($('stock_price_history')) {
      	      $('stock_price_history').addEvent('submit', function(e) {
            	    $(chartsTimeFrameMenu.source.name + '_v').value = chartsTimeFrameMenu.hiddenInput.value;
                	$(chartsFrequencyMenu.source.name + '_v').value = chartsFrequencyMenu.hiddenInput.value;
                	$(chartsIndexComparisonMenu.source.name + '_v').value = chartsIndexComparisonMenu.hiddenInput.value;
               	$(chartsChartType.source.name + '_v').value = chartsChartType.hiddenInput.value;
                	$(chartsEvents.source.name + '_v').value = chartsEvents.hiddenInput.value;
                	$(lookupMonth.source.name + '_v').value = lookupMonth.hiddenInput.value;
                	$(lookupDate.source.name + '_v').value = lookupDate.hiddenInput.value;
                	$(lookupYear.source.name + '_v').value = lookupYear.hiddenInput.value;
                	$(investmentMonth.source.name + '_v').value = investmentMonth.hiddenInput.value;
                	$(investmentDate.source.name + '_v').value = investmentDate.hiddenInput.value;
                	$(investmentYear.source.name + '_v').value = investmentYear.hiddenInput.value;
                	$(contactSubject.source.name + '_v').value = contactSubject.hiddenInput.value;
                	$(contactBrand.source.name + '_v').value = contactBrand.hiddenInput.value;
        	    });
        	}
        
        	if ($('sec_filings')) {
            	$('sec_filings').addEvent('submit', function(e) {
                	$(groupingsMenu.source.name + '_v').value = groupingsMenu.hiddenInput.value;
            	});
        	}     

		/* end ram IR */
		if($('store_search')) {
				
			$('store_search').addEvent('submit',function(e){
				var val = $('ss_zip').getProperty('value').match(/[0-9]{5}/); 
				if(Boolean(val) === true){
					ssStateSelect.hiddenInput.value = '';
				}
				
				$(mySelect.source.name+'_v').value = mySelect.hiddenInput.value;
				$(ssStateSelect.source.name+'_v').value = ssStateSelect.hiddenInput.value;
				$(ssMilesSelect.source.name+'_v').value = ssMilesSelect.hiddenInput.value;
			
			});
		}
		if($('min_store_search')) {
			$('min_store_search').addEvent('submit',function(e){ 
				$(ssStateSelect.source.name+'_v').value = ssStateSelect.hiddenInput.value;
				$(ssMilesSelect.source.name+'_v').value = ssMilesSelect.hiddenInput.value;
			});
		  } 
		}
		
		if($('the_contact_form')) {
			$('the_contact_form').addEvent('submit',function(e){ 
				$(contactState.source.name+'_v').value = contactState.hiddenInput.value;
				$(contactBrand.source.name+'_v').value = contactBrand.hiddenInput.value;
				$(contactSubject.source.name+'_v').value = contactSubject.hiddenInput.value;
			}); 
		}
		
		//Start - Coded added by Uma Bonam for UK VH Store Locator
		if($('store_search_uk')) {
			$('store_search_uk').addEvent('submit',function(e){ 
                $(ssCitySelect.source.name+'_v').value = ssCitySelect.hiddenInput.value;
                $(ssCountySelect.source.name+'_v').value = ssCountySelect.hiddenInput.value;
			});
		}
		//End - Coded added by Uma Bonam for UK VH Store Locator
		
		if($('contact')) {
			$('contact').addEvent('submit',function(e){ 
				$(contactState.source.name+'_v').value = contactState.hiddenInput.value;
				$(contactBrand.source.name+'_v').value = contactBrand.hiddenInput.value;
				$(contactSubject.source.name+'_v').value = contactSubject.hiddenInput.value;
			});
		}
		
		// hide submit buttons for the left rail pulldowns. hiding them here so that the forms can be submitted w/o javascript
		
		if(acmns.getElByID('loc_brand_menu') ){
			var btns = acmns.getElByID('loc_brand_menu').getElementsByTagName('button');
			for(i=0; i < btns.length; i++){ btns[i].style.display = 'none';	}
		}
		if(acmns.getElByID('shop_brand_menu') ){
			var btns = acmns.getElByID('shop_brand_menu').getElementsByTagName('button');
			for(i=0; i < btns.length; i++){ btns[i].style.display = 'none';	}
		}
		
		
		/* setting up brand pulldowns javascript for fancy forms.
		 * second object parameter object lets us assign differeng URLs
		 * for each menu. object names must match brand menu optios, but 
		 * without spaces. Van Heusen becomes VanHeusen
		 */
		
		acmns.setup({
				loc_brand_menu: {
					ARROW: 'find_a_store_arrow.html',
					Bass: 'find_a_store_bass.aspx',
					CalvinKlein: 'find_a_store_ck.aspx',
					IZOD: 'find_a_store_izod.aspx',
					VanHeusen: 'find_a_store_vh.aspx'
				},
				shop_brand_menu: {
					ARROW: 'find_a_store_arrow.html#retailerlist',
					Bass: 'find_a_store_bass.aspx#ss_results_wrap',
					CalvinKlein: 'http://www.calvinklein.com/',
					IZOD: 'find_a_store_izod.aspx#ss_results_wrap',
					VanHeusen: 'find_a_store_vh.aspx#ss_results_wrap'
					
				}
			
			}); 


// FAQ show/hide
if($('faq_item_availability')){
	$('faq_item_availability').addEvents({
		click: function(event){
			event.stop();
			if($('faq_item_availability_details').getStyle('display') == 'none'){
				$$('#faq_details div.detail').setStyle('display', 'none');
				$('faq_item_availability_details').setStyle('display', 'block');
				sIFR.replace(futura, {
				  selector: '.sifrme',
				  css: ['.sIFR-root { color: #FFFFFF;leading:-8;}',
					'.sIFR-root a {color:#FFFFFF;text-decoration:none;}',
					'.sIFR-root a:hover {color:#0099FF;}'
				],
				wmode: 'transparent'
				});
			}else{
				$('faq_item_availability_details').setStyle('display', 'none');	
			}
		}
	});
}

if($('faq_shipping')){
	$('faq_shipping').addEvents({
		click: function(event){
			event.stop();
			if($('faq_shipping_details').getStyle('display') == 'none'){
				$$('#faq_details div.detail').setStyle('display', 'none');
				$('faq_shipping_details').setStyle('display', 'block');
				sIFR.replace(futura, {
				  selector: '.sifrme',
				  css: ['.sIFR-root { color: #FFFFFF;leading:-8;}',
					'.sIFR-root a {color:#FFFFFF;text-decoration:none;}',
					'.sIFR-root a:hover {color:#0099FF;}'
				],
				wmode: 'transparent'
				});
			}else{
				$('faq_shipping_details').setStyle('display', 'none');	
			}
		}
	});
}

if($('faq_returns')){
	$('faq_returns').addEvents({
		click: function(event){
			event.stop();
			if($('faq_returns_details').getStyle('display') == 'none'){
				$$('#faq_details div.detail').setStyle('display', 'none');
				$('faq_returns_details').setStyle('display', 'block');
				sIFR.replace(futura, {
				  selector: '.sifrme',
				  css: ['.sIFR-root { color: #FFFFFF;leading:-8;}',
					'.sIFR-root a {color:#FFFFFF;text-decoration:none;}',
					'.sIFR-root a:hover {color:#0099FF;}'
				],
				wmode: 'transparent'
				});
			}else{
				$('faq_returns_details').setStyle('display', 'none');	
			}
		}
	});
}

if($('faq_gift_cards')){
	$('faq_gift_cards').addEvents({
		click: function(event){
			event.stop();
			if($('faq_gift_cards_details').getStyle('display') == 'none'){
				$$('#faq_details div.detail').setStyle('display', 'none');
				$('faq_gift_cards_details').setStyle('display', 'block');
				sIFR.replace(futura, {
				  selector: '.sifrme',
				  css: ['.sIFR-root { color: #FFFFFF;leading:-8;}',
					'.sIFR-root a {color:#FFFFFF;text-decoration:none;}',
					'.sIFR-root a:hover {color:#0099FF;}'
				],
				wmode: 'transparent'
				});
			}else{
				$('faq_gift_cards_details').setStyle('display', 'none');	
			}
		}
	});
}

if($('faq_store_locator')){
	$('faq_store_locator').addEvents({
		click: function(event){
			event.stop();
			if($('faq_store_locator_details').getStyle('display') == 'none'){
				$$('#faq_details div.detail').setStyle('display', 'none');
				$('faq_store_locator_details').setStyle('display', 'block');
				sIFR.replace(futura, {
				  selector: '.sifrme',
				  css: ['.sIFR-root { color: #FFFFFF;leading:-8;}',
					'.sIFR-root a {color:#FFFFFF;text-decoration:none;}',
					'.sIFR-root a:hover {color:#0099FF;}'
				],
				wmode: 'transparent'
				});
			}else{
				$('faq_store_locator_details').setStyle('display', 'none');	
			}
		}
	});
}


// Contact form validation
/*
if($('contact_via_email')){
	$('the_contact_form').addEvents({
		submit: function(event){
			var contact_error_check = 0;
			$$('span.input_wrap em').setStyle('display', 'none');
			$$('comments_fieldset em').setStyle('display', 'none');
			event.stop();
			if($('first_name').get('value') == ''){
				contact_error_check++;
				$$('#first_name_wrap em').setStyle('display', 'block');
			}
			if($('last_name').get('value') == ''){
				contact_error_check++;
				$$('#last_name_wrap em').setStyle('display', 'block');
			}
			if($('address_one').get('value') == ''){
				contact_error_check++;
				$$('#address_one_wrap em').setStyle('display', 'block');
			}
*/
/* Let's not require the second address input

			if($('address_two').get('value') == ''){
				contact_error_check++;
				$$('#address_two_wrap em').setStyle('display', 'block');
			}
*/
/*
			if($('city').get('value') == ''){
				contact_error_check++;
				$$('#city_wrap em').setStyle('display', 'block');
			}
			if($('contact_state').get('value') == ''){
				contact_error_check++;
				$$('#contact_state_wrap em').setStyle('display', 'block');
			}
			if($('postal_code').get('value') == ''){
				contact_error_check++;
				$$('#postal_code_wrap em').setStyle('display', 'block');
			}
			if($('email_address').get('value') == ''){
				contact_error_check++;
				$$('#email_address_wrap em').setStyle('display', 'block');
			}
			if($('confirm_email').get('value') == ''){
				contact_error_check++;
				$$('#confirm_email_wrap em').setStyle('display', 'block');
			}
			if($('phone_number').get('value') == ''){
				contact_error_check++;
				$$('#phone_number_wrap em').setStyle('display', 'block');
			}
			var phone_length = $('phone_number').get('value').length;
			if(eval(phone_length)<7){
				contact_error_check++;
				$$('#phone_number_wrap em').setStyle('display', 'block');
			}
			if($('comments').value == ''){
				contact_error_check++;
				$$('#comments_fieldset em').setStyle('display', 'block');
			}
			var valid_email = new RegExp(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/).test($('email_address').get('value'));
			if(valid_email == false){
				contact_error_check++;
				$$('#email_address_wrap em','#confirm_email_wrap em').setStyle('display', 'block');
			}else if($('email_address').get('value') != $('confirm_email').get('value')){
				contact_error_check++;
				$$('#email_address_wrap em','#confirm_email_wrap em').setStyle('display', 'block');
			}
			
			if($('contact_brand').get('value') == ''){
				contact_error_check++;
				$$('#contact_brand_wrap em').setStyle('display', 'block');
			}
			
			if($('contact_subject').get('value') == ''){
				contact_error_check++;
				$$('#contact_subject_wrap em').setStyle('display', 'block');
			}						
			
			if(contact_error_check == 0){
				// alert('validated, send form');	
				$('the_contact_form').submit();
			}else{
				alert('Please fill out all fields of the contact form');	
				
			}
		}
	});
}
*/
	// little script for making the brand intro page have groups of divs hoverable 
	var allbrandblocks = $(document.body).getElements('div.brand_hover_block'); 
	allbrandblocks.addEvents({ 
	  mouseover: function(){ 
	   allbrandblocks.set('opacity', '0.3'); 
	   this.set('opacity', '1'); 
	  }, 
	  mouseout: function(){ 
	   allbrandblocks.set('opacity', '1'); 
	      this.set('opacity', '1');   
	  } 
	 });
	
	// here's a script that makes the whole licensed brand area light up on hover
	if ($('brand_licensed_list')){
	var licensedbrandblock = $('brand_licensed_list');
	licensedbrandblock.set('opacity', '0.3');
	licensedbrandblock.addEvents({ 
	  mouseover: function(){ 
	    this.set('opacity', '1'); 
	  }, 
	  mouseout: function(){ 
	    this.set('opacity', '0.3');   
	  } 
	 });
	};
	
	
	if (Browser.Engine.trident4 != true) { 
	sIFR.initialize();	
	} else {
	sIFR.removeFlashClass();
	}
	
// end mootools dom ready
});



