$(function(){

	/* PNG FIX FOR IE6 */
	if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
		$.ifixpng("/images/global/spacer.gif");
		$("img[src$=.png], .pngfix").ifixpng();
	}

	/* LOGIN INIT */
	$(".loginPassword").after('<input class="passwordText" name="passwordText" type="text" value="Password" title="Password" />');
	$(".login input").hide();

	/* LOGIN ANIMATION */
	$(".loginButton").click(function(event){
		event.preventDefault();
		if(!$(".login .active").length){
			$(".login").animate({"width":"281px"},function(){
				$(".login input:not('.loginPassword'), .recoverButton").fadeIn("fast").addClass("active");
			});
		} else {
			if($(".loginEmail").val()!="Email address" && $(".loginPassword").val()){
				FireLogin();
			} else {
				$(".recoverButton").animate({"left":"230px"},"fast",function(){
					$(".loginError").removeClass('notice').html('The email or password you entered is incorrect.').fadeIn();
				});
			}
		}
	});



	/* FORM STATUS */
	$(".login input").focus(function(){
		if($(this).is(".passwordText")){
			$(this).hide().parent().find(".loginPassword").show().focus();
		} else if($(this).val()==$(this).attr("title")){
			$(this).val("");
		}
	}).blur(function(){
		if(!$(this).val()){
			if($(this).is(".loginPassword")){
				$(this).hide().parent().find(".passwordText").show();
			} else {
				$(this).val($(this).attr("title"));
			}
		}
	});

	/* SHOPPING BAG */
	$('.bag').hover(function(){
		$('.bagItemsContainer').fadeIn('fast');
	},function(){
		$('.bagItemsContainer').fadeOut('fast');
	});
	// Removed event cancellation - TM090928

	/* CAROUSEL */
	if(typeof($.jcarousel)=="function"){
		$(".carousel").jcarousel();
	}

	/* ACCORDEON */
	$(".accordeonContent:not(.active)").hide();
	$(".accordeonButton").click(function(event){
		event.preventDefault();
		if($(this).is(".active")){
			$(this).toggleClass("active").next(".accordeonContent").slideToggle();
			
		} else {
			$(".accordeonButton").removeClass("active");
			$(".accordeonContent").slideUp();
			$(this).addClass("active").next(".accordeonContent").slideDown();
		}
	})
	
    if($('.content .navigation li a.menuTitle').length>0){
        $('.content .navigation li a.menuTitle').click(function(event){
            event.preventDefault();
            var $categoryChild = $( $(this).next('ul'));
            if($categoryChild.hasClass('active')){
                $categoryChild.slideUp().removeClass('active');
                } else {
                $categoryChild.slideDown().addClass('active');
                }
                $('.content .navigation li a.menuTitle').next('ul').not($categoryChild).slideUp().removeClass('active');
            });
            $('.content .navigation li a.menuTitle.active').click();
    } 

	/* PRODUCT VIEWS */
	$(".productViews a").click(function(event){
		event.preventDefault();
		var src = this.href;
		var title = this.title;
		switch(src.substr(src.length-3)){
			case "swf":
				$(".largeView img").fadeOut(function(){
					$(".largeView div").empty();
					if(typeof($.fn.flash)=="function"){
						$(".largeView div").flash({src:src,height:370,width:355,wmode:'transparent'},{version:8}).hide().fadeIn("slow");
					}
				});
				break;
			default:
				$(".largeView div").hide();
				$(".largeView img").fadeOut(function(){
					$(".largeView img").attr({
						src: src,
						alt: title,
						title: title
					}).load(function(){
						$(this).fadeIn();
					});
				});
				break;
		}
		$(".productViews a.active").removeClass("active");
		$(this).addClass("active");
	});

	/* PRINT ORDER */
	$(".buttonPrintOrder").click(function(event){
		event.preventDefault();
		window.open(this.href);
	});

	/* EDIT SHIPPING ADDRESS */

	$(".addressForm").hide().find("form").hide();
	$(".addressFormAdd").hide().find("form").hide();	
	$(".deleteAddress:eq(0)").attr("disabled","disabled");
	$(".addressNew .submit").hide();
	$(".addressBlock").hide();
	
	$(".addAddress").live("click", function(){
		$(this).parent().parent().find(".addressFormAdd:hidden").slideDown()});
		
	$(".editAddress").live("click", function(){
		$(this).parents(".addressRow").find(".addressForm:hidden").slideDown()});
		
    $(".addressName").live("click", function(){
        $(this).parent().parent().find(".addressBlock").slideToggle();});
	
	$(".cancelAddress").live("click", function(event){
		$(this).parents(".addressRow").find(".addressForm").fadeOut("fast", function(){
			$(this).parents(".addressRow").find(".addressForm").slideUp()
		});});
	$(".cancelAddressAdd").live("click", function(event){
		$(this).parents(".addressRowAdd").find(".addressFormAdd").fadeOut("fast", function(){
			$(this).parents(".addressRowAdd").find(".addressFormAdd").slideUp()
		});
	
	});




	/* DATE PICKER */
	if(typeof($.datepicker)=='object'){
		$(".datepicker").datepicker({
			buttonImage: '/images/global/bt_datepicker.gif',
			buttonImageOnly: true,
			minDate: 0,
			nextText: '&rsaquo;',
			prevText: '&lsaquo;',
			showAnim: 'fadeIn',
			showOn: 'both'
		});
	}

	/* MODAL WINDOWS */
	if(typeof($.modal)=="function"){

		/* CLOSE MODAL ON ESC */
		$(document).bind("keydown.simplemodal",function(event){
			if(event.keyCode==27){
				$.modal.close();
			}
		});

		/* DEFAULT STRUCTURE */
		var modalContent='<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="modalTopLeft"></td><td class="modalTop"></td><td class="modalTopRight"></td></tr><tr><td class="modalLeft"></td><td class="modalContent" valign="top"><p class="simplemodal-close"><a href="#" title="Close">Close</a></p></td><td class="modalRight"></td></tr><tr><td class="modalBottomLeft"></td><td class="modalBottom"></td><td class="modalBottomRight"></td></tr></table>';
		var modalCorners=36;

		/* RECOVER PASSWORD */
		$(".recoverButton").click(function(event){
			event.preventDefault();
	        $(".login .modalRecoverPassword input").show();
			$(modalContent).modal({
				containerCss:{height:256,width:340},
				onShow:function(dialog){
					dialog.container.find(".modalContent")
					.css({width:dialog.container.width()-modalCorners,height:dialog.container.height()-modalCorners})
					.append($(".modalRecoverPassword").html());
					if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
						$(".simplemodal-container td").ifixpng();
					}
					$(".recoverPassword").submit(function(event){
						event.preventDefault();
						/* VALIDATE FIELD HERE */
						if($(this).find("#recoverEmail").val()){
							/* AJAX REQUEST HERE */
							$(this).hide().next().show();
						} else {
							$(this).find(".helper").html("This email address is not registered!").addClass("error");
						}
					});
				}
			});
		});

		/* DELETE SHIPPING ADDRESS */
		$(".deleteAddress:enabled").live("click", function(event){
			event.preventDefault();
			var deleteAddress = $(this);
			$(modalContent).modal({
				containerCss:{height:256,width:340},
				onShow:function(dialog){
					dialog.container.find(".modalContent")
					.css({width:dialog.container.width()-modalCorners,height:dialog.container.height()-modalCorners})
					.append($(".modalDeleteAddress").html())
					.addClass("modalDeleteAddress");
					if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
						$(".simplemodal-container td").ifixpng();
					}
					dialog.container.find(".yes").click(function(event){
						event.preventDefault();
						$.modal.close();
						$(deleteAddress).parents(".addressRow").fadeOut("slow",function(){
							$(this).remove();
						});
					});
					dialog.container.find(".no").click(function(event){
						event.preventDefault();
						$.modal.close();
					})
				}
			});
		});

		/* EDIT PERSONAL DETAILS */
		
		$(".personalDetails").submit(function(event){
			event.preventDefault();
			/* AJAX REQUEST HERE */
			$(modalContent).modal({
				containerCss:{height:236,width:320},
				onShow:function(dialog){
					dialog.container.find(".modalContent")
					.css({width:dialog.container.width()-modalCorners,height:dialog.container.height()-modalCorners})
					.append($(".modalPersonalDetails").html())
					.addClass("modalPersonalDetails");
					if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
						$(".simplemodal-container td").ifixpng();
					}
					dialog.container.find(".yes").click(function(event){
						event.preventDefault();
						$.modal.close();
					});
				}
			});
		});
        /* order search */
		$(".orderSearch .orderNumber a").click(function(event){
			event.preventDefault();
			$(this).toggleClass("active").parents("tr").find("td").toggleClass("active").parents("table").next(".orderSummary").slideToggle();
		});
		/* my account */
		$(".orderHistory .orderNumber a").click(function(event){
			event.preventDefault();
			$(this).toggleClass("active").parents("tr").find("td").toggleClass("active").parents("table").next(".orderSummary").slideToggle();
		});
		/* my account */
		$(".returnIncorrect a").click(function(event) {
		    event.preventDefault();
		    $(this).parent().find(".returnSummary").toggleClass("active").slideToggle();
		});
		/* my account */
		$(".myAccount .orderNumber a").click(function(event){
			event.preventDefault();
			$(this).toggleClass("active").parents("tr").find("td").toggleClass("active").parents("table").next(".orderSummary").slideToggle();
		})
		$(".registerCandlemakerForm").submit(function(event){
			event.preventDefault();
			/* VALIDATE FIELD HERE */
			if($("#serialNumber").val()){
				/* AJAX REQUEST HERE */
				$("p.error").hide();
				$(modalContent).modal({
					containerCss:{height:256,width:340},
					onShow:function(dialog){
						dialog.container.find(".modalContent")
						.css({width:dialog.container.width()-modalCorners,height:dialog.container.height()-modalCorners})
						.append($(".modalRegisterCandlemaker").html())
						.addClass("modalRegisterCandlemaker");
						if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
							$(".simplemodal-container td").ifixpng();
						}
						dialog.container.find(".yes").click(function(event){
							event.preventDefault();
							$.modal.close();
						});
					}
				});
			} else {
				$("p.error").show();
			}
		});

		/* CONTACT US */
		$(".ShowMessage").click(function(event){
			event.preventDefault();
			/* AJAX REQUEST HERE */
			$(modalContent).modal({
				containerCss:{height:236,width:320},
				onShow:function(dialog){
					dialog.container.find(".modalContent")
					.css({width:dialog.container.width()-modalCorners,height:dialog.container.height()-modalCorners})
					.append($(".modalContactUs").html())
					.addClass("modalContactUs");
					if($.browser.msie && $.browser.version=='6.0' && typeof($.ifixpng)=="function"){
						$(".simplemodal-container td").ifixpng();
					}
					dialog.container.find(".yes").click(function(event){
						event.preventDefault();
						$.modal.close();
					});
				}
			});
		});
        
		/* JUMP TO LOGIN */
		var doLogin = function(){
			if(!$(".login .active").length) $(".loginButton").click();
			$(".recoverButton").animate({"left":"230px"},"fast",function(){
				$(".loginError").addClass('notice').html('You must be logged in to comment.').fadeIn();
			});
		}

		/* BLOG VOTE */
		$("li.vote a").click(function(event){
			event.preventDefault();
			if(!$(this).parent().find('.notice').length){
				var source = this.id.replace('vote', '').substr(0, 1);
			    var votePostId = this.id.replace('vote', '').substr(1);
                $.ajax({
                    type : 'POST',
                    url : '/Ajax/BlogWebService.asmx/UpVote',
                    data : '{postId: ' + votePostId + ', source: ' + source + '}',
                    contentType : 'application/json; charset=utf-8',
                    dataType : 'json',
                    success : function(data)
                        {
                            if (isNaN(data.d))
			 	                $("li.vote a").parent().addClass('active').append('<span class="notice">' + data.d + '</span>').find('.notice').fadeIn();
                            else
                            {
	                            $('.votes strong').html(data.d); 
	                            $("li.vote a").parent().addClass('active').append('<span class="notice">you have just voted on this artice!</span>').find('.notice').fadeIn();
	                        }
                        }
                });
			}
		});

		/* BLOG SIGNIN */
		$("li.signin a").click(function(event){
			doLogin();
		});
		
		$("a.helpReply").click(function(event) {
		    doLogin();
		});


		/* OPTION FORMS */
		var getOptionForm = function(elm, form){
			elm.find('.'+form).slideDown();
		}
		$('.optionForm .close').live('click',function(event){
			event.preventDefault();
			$(this).parent().slideUp().parent().find('.options li').removeClass('active');
		});

		/* FLAG COMMENT */
		$("li.flag a").click(function(event){
			event.preventDefault();
			if(!$(this).parent().is('.active')){
				$('.optionForm .close').click();
				$(this).parent().addClass('active');
				getOptionForm($(this).parent().parent().parent(), 'formFlagPost');
			}
		});
		$("#flagPostSubmit").live('click',function(event){
			event.preventDefault();
			//INSERT AJAX SUBMIT HERE
			$(this).parents('.optionForm').find('form').fadeOut(function(){
				$(this).parents('.optionForm').find('.status').fadeIn();
			});
		});

		/* SHARE */
		$("li.share a").click(function(event){
			event.preventDefault();
			if(!$(this).parent().is('.active')){
				$('.optionForm .close').click();
				$(this).parent().addClass('active');
				getOptionForm($(this).parents('.options').parent(), 'formSharePost');
			}
		});
		$("#sharePostSubmit").live('click',function(event){
			event.preventDefault();
			//INSERT AJAX SUBMIT HERE
			$(this).parents('.optionForm').find('form').fadeOut(function(){
				$(this).parents('.optionForm').find('.status').fadeIn();
			});
		});
		$("#sharePostAnother").live('click',function(event){
			event.preventDefault();
				//INSERT AJAX SUBMIT HERE
			$(this).parents('.optionForm').find('.status').fadeOut(function(){
				$(this).parents('.optionForm').find('form')[0].reset();
				$(this).parents('.optionForm').find('form').fadeIn();
			});
		});
		$("a.helpShare").click(function(event) {
		    event.preventDefault();
		    if (!$(this).is('.active')) {
		        $('.optionForm .close').click();
		        $(this).addClass('active');
		        getOptionForm($(this).parent().parent(), 'formSharePost');
		    }
		});
	}	

	/* NEW POST */
	$('#formNewPost .radio').click(function(){
		if($(this).is(':checked')){
			$('#formNewPost fieldset:not(#newPostInfo)').addClass('disabled').find('input.text').attr('disabled','disabled');
			$(this).parent().removeClass('disabled').find('input.text').removeAttr('disabled');
		}
	});
	$('#newPostSubmit').click(function(event){
		event.preventDefault();
		//INSERT AJAX SUBMIT HERE
		$('#formNewPost').fadeOut(function(){
			$('.wasteNewPost .status').fadeIn();
		});
	});
	$('#newPostAnother').click(function(event){
		event.preventDefault();
		$('.wasteNewPost .status').fadeOut(function(){
			$('#formNewPost')[0].reset();
			$('#formNewPost').fadeIn();
		});
	});
	$('#newPostContinue').click(function(event){
		event.preventDefault();
		location.href = 'post.php';
	});
	$('#newPostTryAgain').click(function(event){
		event.preventDefault();
		$('.wasteNewPost .status').fadeOut(function(){
			$('#formNewPost').fadeIn();
		});
	});

	/* PARTNERS */
	$('.aboutPartners .logos li').hover(
		function(){
			$(this).find('table').animate({left:'0px'},{duration:300,queue:false});
		},
		function(){
			$(this).find('table').animate({left:'-157px'},{duration:300,queue:false});
		}
	);
	$('.aboutPartners .logos li table').click(function(){
		window.open($(this).parent().find('a').attr('href'));
	});
/*
	//GOOGLE MAPS
	if($('#gMaps').length){
		google.load("maps", "2",{"other_params":"sensor=false"});
		var map = new GMap2(document.getElementById('gMap'));
    	var oonSolutions = new GLatLng(38.704071,-9.16142);
    	map.setCenter(oonSolutions, 8);
		map.openInfoWindow(map.getCenter(),document.createTextNode("oon solutions"));
	}
*/

	/* PEOPLE */
	if($('.aboutPeople .innerContentContainer h2').length){
		$('.aboutPeople .innerContentContainer h2 span').fadeTo(0, 0);
		var i=0;
		function wasteOf(){
			$('.aboutPeople .innerContentContainer h2 span').animate({'opacity':0}, 4000, function(){
				$(this).fadeTo(1500, 1, function(){
					i=(++i%6);
					$(this).parent().css({'background-image':'url(/images/content/title_about_people'+(i+1)+'.png)'});
					$(this).fadeTo(1500, 0, function(){
						wasteOf();
					});
				});
			});
		}
		wasteOf();
	}


	/* CANDLEMAKER - HOW IT WORKS*/
	if($('.oon_candlemaker #gallery').length){
		
		$('.oon_candlemaker #gallery').addClass('set');
		$('.oon_candlemaker #gallery li').addClass('positioned');
		$('.oon_candlemaker #gallery_list li a').click(function(event){
			event.preventDefault();
			$('.oon_candlemaker #video').fadeOut(function(){
				$('.oon_candlemaker #gallery').fadeIn();
			});
			$('.oon_candlemaker #download').fadeOut();
			var p_active=$(this).attr("href");
			$('.oon_candlemaker #gallery li').fadeOut();
			$('.oon_candlemaker #gallery li').removeClass('active');
			$(p_active).fadeIn();
			$(p_active).addClass('active');
			$('.oon_candlemaker #video_list li a').removeClass('active');
		});
		//$('.oon_candlemaker #gallery_list ul').animate({left: -55*3},500);
		
		$('.oon_candlemaker #gallery_list li').hover(function(event){
			var unitWidth = $(this).width();
			var parentList = $(this).parent();
			var unitNumber = $('.oon_candlemaker #gallery_list li').index(this);
			var unitsNumber = $('.oon_candlemaker #gallery_list li').length;
			var listWidth = unitWidth*unitsNumber;
			var minX= $('.oon_candlemaker #gallery_list .gallery_carousel').width()-listWidth;
			var listPosition = ((0-parentList.position().left) / unitWidth )+2;
			var centerX = unitWidth*2;
			if( unitNumber+1< listPosition & unitNumber>0 || unitNumber-1> listPosition & unitNumber<unitsNumber-1 ){
				var thisPostition=0;
				if( unitNumber< listPosition){
					thisPostition = ($('.oon_candlemaker #gallery_list li').index(this)+1) * unitWidth;
				} else {
					thisPostition = ($('.oon_candlemaker #gallery_list li').index(this)-1) * unitWidth;
				}
					$('.oon_candlemaker #gallery_list ul').animate({left: centerX - (thisPostition)},1500);
				 //
				//alert(listPosition +" - "+unitNumber);
			}
		});

		var params = { allowScriptAccess: "always", allowFullScreen:true };
		var atts = { id: "videoPlayer" };
		swfobject.embedSWF("http://www.youtube.com/v/tglR4cS3O44&hl?enablejsapi=1&playerapiid=ytplayer&fs=1","videoPlayer", "474", "355", "8", false, false, params, atts);
		
		$('.oon_candlemaker #video_list li a').click(function(event){
			event.preventDefault();
			//var videoURL = $(this).attr("href");
			var videoURL= $(this).attr("href").replace(/^[^v]+v.(.{11}).*/,"$1"); 

			$('.oon_candlemaker #video_list li a').removeClass('active');	
			$(this).addClass('active');
			
			//$("#videoPlayer").playVideo($(this).attr("href"));
			$('.oon_candlemaker #gallery').fadeOut(function(){
				/*$('.oon_candlemaker #video').fadeIn(function(){ document.getElementById("videoPlayer").playVideo(videoURL);});*/
				$('.oon_candlemaker #video').fadeIn(function(){
					document.getElementById("videoPlayer").loadVideoById(videoURL);
				});
			});
			$('.oon_candlemaker #download').fadeIn();
		});
		
	}
	
	
	/* CANDLEMAKER - IMPROVE */
	if($('.oon_candlemaker.improve').length){
		$(".oon_candlemaker.improve .highlightContainer div.highlight").fadeTo(2000, 0.5);
		
		$(".oon_candlemaker.improve .highlightContainer div.highlight").hover(
			function(){
				$(this).fadeTo(500, 1);
			},
			function(){
				$(this).fadeTo(500, 0.5);
		});
	}
	
	/* CANDLEMAKER - DESIGN */
	$(".oon_candlemaker.design ul.designers li:not(.active) .bio").hide();
	$(".oon_candlemaker.design ul.designers li .name").addClass('link');
	$(".oon_candlemaker.design ul.designers li:not(.active) .bio").hide();
    $(".oon_candlemaker.design ul.designers li .name").hover(
        function(){
            $(this).addClass('hover');
        },
        function(){
            $(this).removeClass('hover');
    });
	$(".oon_candlemaker.design ul.designers li .name").click(
        function(){
			$(".oon_candlemaker.design ul.designers li .name").not(this).parent().removeClass('active');
			$(".oon_candlemaker.design ul.designers li .name").not(this).parent().children('.bio').slideUp(500);
            $(this).parent().children('.bio').slideDown(500);
			$(this).parent().addClass('active');
        });
	
	
	/* CANDLEMAKER - OIL */
	
	
	/* HOMEPAGE */
	if($('.homepage').length){
		
		
		setHighlightSwitch("#middleHighlight .innerContent",7500,true);
		
		
		$(".video360Btn").click(function(event){
				var params = { allowScriptAccess: "always", allowFullScreen:true, wmode:"opaque" };
				var flashvars = {file:"../../video/oon_candlemaker.flv"}
				$('.homepage').append('<div id="videoPlayer"></div>');
				swfobject.embedSWF("../flash/homepage/player_video.swf","videoPlayer", "936", "606", "10", false, flashvars, params, false);
			});
		
	}
	
	
});

function closeVideo(){
	$('#videoPlayer').remove();
}

function highlightSwitch(elements) {
	var $active = $(elements+'.active');
	var $next = $active.next().length ? $active.next(): $(elements+':first');    
	$active.removeClass('active').fadeOut(500, function(){$next.addClass('active').fadeIn(1000);});
}

function setHighlightSwitch(elements, time ,r ){
	if($(elements).length>1){
		var childNum=1;
		if (r || !time){ /*RANDOM START*/
			childNum = Math.floor(Math.random() * $(elements).length )+1;
		}
		$(elements).hide().removeClass('active');
		var activeElement  = $(elements+':nth-child('+childNum+')' );
		activeElement.show().addClass('active');
		if (time){/* SLIDESHOW*/
			setInterval( "highlightSwitch('"+elements+"')", time );
		}
	}
}
