$(document).ready(function(){
	Init();
});

function Init(){
	InitGoButton();
	// InitAddButtons();
	InitStoreSelector();
	InitAccordian();
	InitTabs();
	InitGallery();
	InitAccountForm();
	// InitContinueButtons();
	// InitSaveButtons();
	// InitLoginForms();
	InitSearchResults();
}

// Enables hover effect for sidbar submit go buttons triggered by mouseover event.
function InitGoButton() {
	$("input.submit-go").hover(function(){
	  $(this).addClass("submit-go-hover");
	},function(){
	  $(this).removeClass("submit-go-hover");
	});		
}

// Enable selection of special stores dropdown.
function InitStoreSelector() {
	$("#submit-special-store").click( function() { 
		var newURL = $("#special-store option:selected").val();
		location.href=newURL;
		return false;
	});
}

// Enable Accordian UI Component.
function InitAccordian() {
	if( $('#accordian').is('div') ) {
		$('#accordian').Accordion({
			header: 'div.header',
			active: 'div.selected',
			alwaysOpen: false,
			animated: true,
			showSpeed: "fast",
			hideSpeed: "fast",
			autoheight: true
		});
	}
}

// Enable Tabs UI Component.
function InitTabs() {
	if( $('#tabs').is('div') ) {
		$('#tabs').tabs({ fxFade: false, fxSpeed: 'fast' });
	}
	
	if( $('#accessorytabs').is('div') ) {
		$('#accessorytabs').tabs({ fxFade: false, fxSpeed: 'fast' });
	}
}

// Enable Gallery Component.
function InitGallery() {
	if( $('#image-menu').is('div') ) {
		$('#image-canvas img').not('.show-image').hide();
		$('#captions span').not('.image1').hide();
		$('#image-menu ul li img').hover( function() { 
			var CurrentLargeImageID = $('#image-canvas img.show-image').attr("id");
			var NewLargeImageID = $(this).attr("class");
			$(this).addClass("image-hover");			
			if( NewLargeImageID != CurrentLargeImageID ) {
				$('#captions span.' + CurrentLargeImageID).hide();
				$('#captions span.' + NewLargeImageID).show();
				$('#image-canvas img.show-image').fadeOut("fast").removeClass();
				$('#' + NewLargeImageID).addClass("show-image").fadeIn("fast");
			}
		},function(){
			$(this).removeClass("image-hover");
		});	
	}
}

// Enables Account Form Enhancements.
function InitAccountForm() {
	if( $('#opt-in').is('div') ) {
		$('#opt-in-no').click( function() { 
			$('#opt-in div.check input').each(function(i){
				$(this).attr("disabled","disabled");
			});
			return true;
		});
		$('#opt-in-yes').click( function() { 
			$('#opt-in div.check input').each(function(i){
				$(this).removeAttr("disabled");
			});
			return true;
		});
		$('#opt-in-no').click();
	}
}

// Initialize all "Add" and "Add to Cart" buttons to submit on the click event.
function InitAddButtons(){
	if( $('.button-add').is('a')  ||  $('.button-add-to-cart').is('a') ) {
		$('form a.button-add').click( function() {
			$(this).parent("form").submit();
			return false;
		});
		$('form a.button-add-to-cart').click( function() {
			$(this).parent("form").submit();
			return false;
		});
	}
}

// Initialize "Continue" buttoms to submit on the click event.
function InitContinueButtons(){
	if( $('.button-continue').is('a') ) {
		$('form a.button-continue').click( function() {
			$("form.continue").submit();
			return false;
		});
	}
	if( $('.button-submit-order').is('a') ) {
		$('form a.button-submit-order').click( function() {
			$("form.continue").submit();
			return false;
		});
	}
}

// Initialize "Save" buttons to submit on the click event.
function InitSaveButtons(){
	if( $('.button-save').is('a') ) {
		$('form a.button-save').click( function() {
			$("form.save").submit();
			return false;
		});
	}
}

function InitLoginForms() {
	if( $('.button-login').is('a') ) {
		$('form a.button-login').click( function() {
			$("form.login").submit();
			return false;
		});
	}	
}

function InitSearchResults() {
	if( $('.refine').is('div') ) {
		$('form input#all-projectors').click( function() {
			if( $(this).attr("checked") ) {
				$('form input.all-projectors').attr("checked","checked");
			} else {
				$('form input.all-projectors').attr("checked","");
			}
		});
		$('form input#all-accessories').click( function() {
			if( $(this).attr("checked") ) {
				$('form input.all-accessories').attr("checked","checked");
			} else {
				$('form input.all-accessories').attr("checked","");
			}
		});
	}
}

function SetUniqueRadioButton(nameregex, current)
{
   re = new RegExp(nameregex);
   
   for(i = 0; i < document.forms[0].elements.length; i++)
   {
      elm = document.forms[0].elements[i];
     
      if (elm.type == 'radio')
      {
         if (re.test(elm.name))
         {
            elm.checked = false;
         }
      }
   }
   current.checked = true;
}

