(function( $ ){
	jQuery.fn.ovSlideTo  = function(){
		var ele = jQuery(this),
			eleId = ele.attr('id'),
			curIdx = parseInt(jQuery("#controls #current-idx").html()),
			slideIdx = parseInt(eleId.substr(eleId.lastIndexOf('-') + 1, eleId.length)),
			sliderWidth = jQuery('#slides li:first').width(),
			slidePos = - (slideIdx * parseInt(sliderWidth) - sliderWidth);

		jQuery('#controls').removeClass('active-' + curIdx).addClass('active-' + slideIdx);
		jQuery("#controls #current-idx").html(slideIdx);

		jQuery('#slides')
			.fadeTo(
				 	650
				,	0.2
				,	function()
					{
						jQuery(this).animate(
								{ left: slidePos }
							,	1650
							,	function(){
								jQuery(this).fadeTo(
										750
									,	1
								)
							}
						);
					});

		return this;
	}

})(jQuery);

function ovSlideNext(){
	var curIdx = parseInt(jQuery('#controls #current-idx').html()),
		nxtIdx = curIdx + 1,
		maxIdx = jQuery('#controls ul li').length;

		if (nxtIdx > maxIdx)
			nxtIdx = 1;
		// console.log(maxIdx)

		jQuery('#controls #ctl-' + nxtIdx).click();

		return false;
}

function swapCheckboxes()
{
	jQuery('#input_2_7 input[type="checkbox"], #shopp input[type="checkbox"]').each(function(){

		var ele = jQuery(this)
		var insertEle = jQuery('<div />').addClass('checkbox');

		if (ele.attr('checked'))
			insertEle.addClass('checked');

		insertEle.toggle(function(){
				jQuery(this).removeClass('checked');
				ele.removeAttr('checked');
	            ele.trigger('change');
			},
			function(){
				jQuery(this).addClass('checked');
				ele.attr('checked', 'checked');
				ele.trigger('change');
			});

		insertEle.insertAfter(ele);
	});
	jQuery('#shopp input[type="checkbox"]').parent('label').click(
		function(e){
			e.preventDefault();
			jQuery(this).find('div.checkbox').click();

		});
}

function rotateSlides(){
	ovSlideNext();
	window.myt = setTimeout('rotateSlides()', 16000);

	return false;
}

function adropSweet(ele){

	var dd_list = '',
		curVal = '';

	var container = jQuery('<div />').addClass('dd_div');
	ele.find('option')
		.each(function(i){
			var opEle = jQuery(this);
			dd_list += '<li id="' + ele.attr('id') +'_'+ opEle.val() + '">'+opEle.html()+'</li>\n';
		});

	dd_first = jQuery('<div class="option selected" id="' + ele.attr('id') +'_'+ ele.val() + '">&nbsp;'+ele.find('option:selected').html()+'</div>\n');

	container.html('<ul>' + dd_list + '</ul>').hide();
	container.find('li').each(function(){
		var $this = jQuery(this);
		$this.click(function(){
			var eleId = $this.attr('id').toString();
			// alert(eleId.substr(eleId.lastIndexOf('_')+1, eleId.length))
			$this.parents('.dd_div')
				.siblings('select').val(eleId.substr(eleId.lastIndexOf('_')+1, eleId.length)).trigger('change')
				.siblings('.selected').html($this.html());
//			alert($this.parents('.dd_div').siblings('select').val())

		})
	});

	container.insertAfter(ele);
	dd_first.insertAfter(ele);
	ele.hide();

	dd_first.click(function(e){
		e.preventDefault();

		if ( jQuery(this).parents('div.form_field').hasClass('disabled') )
			return;

		if ( jQuery(this).next('.dd_div').hasClass('active') )
		{
			jQuery('.dd_div.active')
				.hide(
						'slide'
					,	{ 'direction': 'up' }
					,	450
					).removeClass('active');
			return;
		}

		if (jQuery('.dd_div.active').length > 0)
		{
			jQuery('.dd_div.active')
				.hide(
						'slide'
					,	{ 'direction': 'up' }
					,	450
					,	function(){
							container.show('slide', { 'direction': 'up' }, 450 ).addClass('active');
						}
					)
					.removeClass('active');
		}else{
			container.show('slide', { 'direction': 'up' }, 450 ).addClass('active');
			return false;
		}
	});

	jQuery('body').click(
		function(e){
			if ( ! jQuery(e.toElement).hasClass('option'))
				jQuery('.dd_div.active').hide('slide', { 'direction': 'up' }, 325 ).removeClass('active');
		});

	jQuery(ele).parents('.arb_container').find('.dd_div li')
		.each(
			function(){
				var me = jQuery(this)
				me.hover(
					function(){
						me.addClass('hover')
					},
					function(){
						me.removeClass('hover')
					})
			})
}

function dropSweet(ele){
	jQuery(ele).css('z-index', 1000);
	var firstSelected = jQuery(ele).find('option:selected').text() || '';
	var labelFor = jQuery(ele).attr('id');

	jQuery(ele).focus(function(){
		jQuery(this).parent('div').addClass('active');
	});

	jQuery(ele).blur(function(){
		jQuery(this).parent('div').removeClass('active');
	});
		jQuery('<label for="' + labelFor + '" class="styled">'+firstSelected+'</label>').insertBefore(ele);
		jQuery(ele).change(function(){
			var newTxt = jQuery(this).find('option:selected').html();
			jQuery(ele).parent('div').find('label').text(newTxt);
			jQuery(this).parent('div').removeClass('active');
		});

	}


jQuery(document).ready(function(){

	jQuery('#shopp #checkout .gfield.cvv label').qtip();

	/* Slideshow
	 *****************************/
	window.rotateSlides();

	jQuery('#controls a').click(function(e){
		e.preventDefault();
		clearTimeout(window.myt);
		window.myt = setTimeout('rotateSlides()', 16000);
		jQuery(this).ovSlideTo()
	});


	/* Universal Slidedown
	 *******************************/
	var slider = jQuery('#collapse-universal');

	slider.hide();
	jQuery('#collapse-universal div.content').hide();


	swapCheckboxes();

	jQuery('a.slide_ctl').toggle(
		function(e){
			e.preventDefault();

			var fullHeight = jQuery(document).height() - jQuery('#header').height();

			jQuery('<div />')
				.addClass('ui-widget-overlay collapse-universal-overlay')
				.hide()
				.insertAfter('#header')
				.css({ "height": fullHeight})
				.fadeIn(400,
					function(){
						jQuery('#slidefoot').animate({
							'top': 620
							}, 728).addClass('collapse');
						slider.show(
								'slide'
							,	{'direction': 'up'}
							,	700
							,	function(){
								jQuery('#collapse-universal div.content').fadeIn(400);
							});
					});
		},
		function(e){
			e.preventDefault();

			jQuery('#collapse-universal div.content').fadeOut(400,
				function(){
					jQuery('#slidefoot').animate({
						'top': 0
						}, 633).removeClass('collapse');

					slider.hide(
							'slide'
						,	{'direction': 'up' }
						,	694
						,	function(){
							jQuery('.collapse-universal-overlay').fadeOut(700, function(){ jQuery(this).remove()});
						});
					});
		});

	jQuery('#sidebar #faqs dt').toggle(
			function(){
				jQuery(this).next().show(
						'slide'
					,	{'direction': 'up'}
					,	700
					)
			}
			,function(){
				jQuery(this).next().hide(
						'slide'
					,	{'direction': 'up'}
					,	700
					)
			}
		).next().hide();

		if (window.location.hash.length > 0)
		{
			var hashval = window.location.hash.substr(1, window.location.hash.length)
			jQuery('input[value="' + hashval + '"]').next('.checkbox').click();
		}

	// Fix out of order Tab Indexes (due to multiple forms)
	var newtabindex = 1;
	jQuery('html.contact input, html.contact select, html.contact textarea, html.quote input, html.quote select, html.quote textarea').each(function() {
		//console.log(jQuery(this).attr('id') + ' : ' + this.type  + ' : ' + jQuery(this).attr('tabindex'))
		if (this.type != 'hidden') {
			var input = jQuery(this);
			input.attr('tabindex', newtabindex);
			newtabindex++;
		}
	});

	jQuery('#checkout select').each(function(){
		dropSweet(jQuery(this));
	});
	
	jQuery('#checkout input').not('#same-shipping').each(function(){
		jQuery(this).focus(function(){
			jQuery(this).parent('div').addClass('active');
		});

		jQuery(this).blur(function(){
			jQuery(this).parent('div').removeClass('active');
		});
	})

	jQuery('#same-shipping').focus(function(){
			jQuery(this).next('div.checkbox').addClass('active');
		})
	jQuery('#same-shipping').blur(function(){
			jQuery(this).next('div.checkbox').removeClass('active');
		})


	jQuery('a.ajaxupdate').click(function(e){
		e.preventDefault();
		// console.log('init')
		jQuery.post(
				jQuery(this).attr('href')
			,	{
						'cart' : 'update'
					,	'item' : 2
					,	'quantity' : 2
					,	'ajax' : 'on'
				}
			,	function(data) {
				// console.log(data)
				}
			,	'json'
			);
		});

});



