function hex2rgb(hexStr){
    if (hexStr == undefined) {
        return;
    }
    // note: hexStr should be #rrggbb
    var hex = parseInt(hexStr.substring(1), 16);
    var r = (hex & 0xff0000) >> 16;
    var g = (hex & 0x00ff00) >> 8;
    var b = hex & 0x0000ff;
    return [r, g, b];
}


(function ($) {
	

	
	wJQ(document).ready(function() {
		
		//wJQ.scrollTo(0);
		/**** set IE classes for <body> ***/
		    if (!wJQ.support.cssFloat) {
			  wJQ("body").addClass("ie");
			  //affects ie7 and ie8
		    }
		    if (!wJQ.support.boxModel || (wJQ.browser.msie && parseInt(wJQ.browser.version) == 7)) {
			  wJQ("body").addClass("ie7");
		    }
		/**************************/
		
		var timeoutSubmenu, timeoutSubmenu2, timeoutSubmenu3, timeoutSubmenu4;
		wJQ('.socialShare').hover(
				  function () {
						wJQ(this).addClass("active");
						clearTimeout(timeoutSubmenu);
						clearTimeout(timeoutSubmenu2);
						var myTooltip = wJQ(this).parent().next("div")
						var position = wJQ(this).position();
						var right = wJQ("body").hasClass("home") ?  -15 : -34;
						var top = position.top + 19;
						myTooltip.fadeIn().css({top : top, right : right});
				  }, 
				  function () {
						timeoutSubmenu = setTimeout(function () {
							wJQ(".tooltip_box").hide();
							wJQ(".socialShare").removeClass("active");
						}, 300);
				  }
		);
		
		wJQ('.tooltip_box').hover(
				  function () {
						clearTimeout(timeoutSubmenu);
						clearTimeout(timeoutSubmenu2);
				  }, 
				  function () {
						timeoutSubmenu2 = setTimeout(function () {
							wJQ(".tooltip_box").hide();
							wJQ(".socialShare").removeClass("active");
						}, 300);
				  }
		);
		
		wJQ('.titleHover').hover(
				  function () {
						wJQ(this).addClass("active");
						clearTimeout(timeoutSubmenu3);
						clearTimeout(timeoutSubmenu4);
						var myTooltip = wJQ(this).next("div")
						var position = wJQ(this).position();
						var left = position.left;
						var top = position.top + 23;
						myTooltip.fadeIn().css({top:top, right:-8});
				  }, 
				  function () {
						timeoutSubmenu3 = setTimeout(function () {
							wJQ(".tooltip_box_gri").hide();
							wJQ(".titleHover").removeClass("active");
						}, 300);
				  }
		);
		
		wJQ('.tooltip_box_gri').hover(
				  function () {
						clearTimeout(timeoutSubmenu3);
						clearTimeout(timeoutSubmenu4);
				  }, 
				  function () {
						timeoutSubmenu4 = setTimeout(function () {
							wJQ(".tooltip_box_gri").hide();
							wJQ(".titleHover").removeClass("active");
						}, 300);
				  }
		);
		
		
        wJQ(".emailShare").fancybox({
            'transitionIn'	:	'elastic',
            'transitionOut'	:	'elastic',
            'margin'		:	0,
            'padding'		:	0,
            'titleShow'		:	false,
            'speedIn'		:	600,
            'autoDimensions':   true,
            'speedOut'		:	200,
            'overlayShow'	:	false,
            'scrolling'     :   'no'
        });

        // Box for youtube videos in banners
        wJQ( '.open-video' ).fancybox({
            width: 420,
            height: 315,
            type: 'iframe'
        })

	 //removes lang LI when empty
		if(wJQ.trim(wJQ(".lang").text())==""){
			wJQ(".lang").remove();
		}

        wJQ("a[href*='http://']").addClass("ExternalLink").attr("target","_blank");
		wJQ(".ExternalLink").each(function(){
			if(wJQ("> img",this).length>0)
				$(this).removeClass("ExternalLink");
		});

	});
	

}(jQuery));

var t, t2, tHome; //slider timers
var cut1, cut2, cut3, cut4, cut5, myScroll; //home images
var windowHeight, windowWidth, trigger1, trigger2, trigger3, trigger4, trigger5; //home images
var imageCount = 1;
var isDown = true;
var myfunc =
{
	my_home :
	{
		init : function()
		{
			
			getValues();
			positionShare();
			//positionRedeem();
			
			var currentScroll = wJQ(window).scrollTop(); 
			
			if(currentScroll == 0){
					wJQ("#upbtn").addClass("firstSlide");
			}
			
			tHome = setInterval(function(){
					myHomeInterval()
			},8000);
			
			wJQ('body').mousewheel(function(event) {
					clearTimeout(tHome);
			});
			
			wJQ("#downbtn").live("click", function(){
				clearTimeout(tHome);
				if(wJQ(this).hasClass("lastSlide")){
					wJQ.scrollTo( 0, 1000);
					wJQ("#downbtn").removeClass("lastSlide");
					tHome = setInterval(function(){
							myHomeInterval()
					},8000);
				}else{
					myScroll = wJQ(window).scrollTop();
					//console.log("down: ",myScroll)
					if( myScroll < cut1){
						wJQ.scrollTo( cut1, 1000);
					}else if(myScroll >= cut1 && myScroll < cut2){
						wJQ.scrollTo( cut2, 1000);
					}else if(myScroll >= cut2 && myScroll < cut3){
						wJQ.scrollTo( cut3, 1000);
					}else if(myScroll >= cut3 && myScroll < cut4){
						wJQ.scrollTo( cut4, 1000);
					}/*else if(myScroll >= cut4){
						wJQ.scrollTo( cut5, 1000);
					}*/
				}
			});
			
			wJQ("#upbtn").bind("click", function(){
				clearTimeout(tHome);
				myScroll = wJQ(window).scrollTop();
				//console.log("up: ",myScroll)
				if( myScroll <= cut1){
					wJQ.scrollTo( 0, 1000);
				}else if(myScroll > cut1 && myScroll <= cut2){
					wJQ.scrollTo( cut1, 1000);
				}else if(myScroll > cut2 && myScroll <= cut3){
					wJQ.scrollTo( cut2, 1000);
				}else if(myScroll > cut3 && myScroll <= cut4){
					wJQ.scrollTo( cut3, 1000);
				}else if(myScroll > cut4){
					wJQ.scrollTo( cut4, 1000);
				}
				wJQ("#downbtn").removeClass("lastSlide");
			});
			
			$(".emailShare,.open-video").bind("click", function(){
				clearTimeout(tHome);
			});
			
			wJQ(window).scroll(function() {
				currentScroll = wJQ(window).scrollTop();
				
					//console.log(currentScroll)
				if( currentScroll < trigger1){
					
					wJQ(".homeSection").not('#section_company').removeClass("active");
					wJQ("#section_company").addClass("active");
					wJQ("#upbtn").removeClass("firstSlide");
						
				}else if(currentScroll >= trigger1 && currentScroll < trigger2){
					
					wJQ(".homeSection").not('#section_people').removeClass("active");
					wJQ("#section_people").addClass("active");
					wJQ("#upbtn").removeClass("firstSlide");
						
				}else if(currentScroll >= trigger2 && currentScroll < trigger3){
					
					wJQ(".homeSection").not('#section_environment').removeClass("active");
					wJQ("#section_environment").addClass("active");
					
				}else if(currentScroll >= trigger3 && currentScroll < trigger4){
					
					wJQ(".homeSection").not('#section_communities').removeClass("active");
					wJQ("#section_communities").addClass("active");
					wJQ("#downbtn").removeClass("lastSlide");
					
				}else if(currentScroll >= trigger4){
					
					wJQ(".homeSection").not('#section_products').removeClass("active");
					wJQ("#section_products").addClass("active");
					
				}
				if(currentScroll == cut4){
					wJQ("#downbtn").addClass("lastSlide");
				}
				if(currentScroll == 0){
						wJQ("#upbtn").addClass("firstSlide");
				}
				
						
			});	
			
			wJQ(window).resize(function() {
				getValues();
				positionShare();
				positionRedeem();
			});	
			
			wJQ("#redeemCard_action").bind("click", function(){
				var redeemCard = wJQ(this).parent();
				if(wJQ(this).hasClass("active")){
					wJQ(this).removeClass("active")
					redeemCard.animate({bottom: -238}, 1000)
				}else{
					wJQ(this).addClass("active")
					redeemCard.animate({bottom: -3}, 500)
					
				}
			});
			
	
		}
	},
	my_level2 :
	{
		init : function()
		{
			setPageColor();
			setMainHeight();
			
			//code to equalize sidebar height with main div
			setTimeout(function(){
				var myMainHeight = wJQ("#main").height();
				myMainHeight = myMainHeight + 17 + 61; //plus its top-bottom padding
				myMainHeight = myMainHeight - 4; //sidebar absolute top position
				wJQ("#sidebar").css("min-height",myMainHeight);
			}, 1500);
			
			arrangeLists();
			
			wJQ(window).resize(function() {
				setMainHeight();	
			});	
	
		}
	},
	my_level3 :
	{
		init : function()
		{
			setPageColor();
			setMainHeight();
			
			setMainHeight();
			var position;
			setTimeout(function(){
				position = wJQ(".innerSubLink.active").length == 1 ? wJQ(" .innerSubLink.active").position() : wJQ(" #innerNav .active").position();
				wJQ("#content").append("<span class='activeInnerLink'></span>");
				if(wJQ("body").hasClass("ie7"))
					position.top = position.top + 4;
				wJQ(".activeInnerLink").css({top: position.top, left : 205});
				
				var myMainHeight = wJQ("#main").height();
				myMainHeight = myMainHeight + 17 + 61; //plus its top-bottom padding
				myMainHeight = myMainHeight - 4; //sidebar absolute top position
				var mySideBarHeight = wJQ("#sidebar").height();
				if(mySideBarHeight > myMainHeight)
				wJQ("#main").css("min-height",mySideBarHeight);
				
			}, 3000);
			
			
			//expandable click
			wJQ(".expandableLink, .expandableTitle").bind("click",function(){
				var expBox = wJQ(this).closest( '.expandable_box' );
				
				if(!expBox.hasClass("allOpened")){
					if(!expBox.hasClass("active")){
						wJQ(".expandable_block .active").find(".tempContent").show();
						wJQ(".expandable_block .active").removeClass("active").find(".expandableContent").slideToggle();
					}
					expBox.find(".tempContent").toggle();
				}
				if(wJQ("body").hasClass("ie7"))
					expBox.find(".expandableContent").toggle().end().toggleClass("active");
				else	{
					expBox.find(".expandableContent").slideToggle("normal", function(){
						expBox.toggleClass("active");
					});
				}
			});
			
			wJQ(".imageContent_box").each(function(){
				if(wJQ(this).find(".imageContent_img").length > 0){
				    wJQ(this).addClass("hasImage")
				}
			});
			
			arrangeLists();
			
			wJQ(window).resize(function() {
				setMainHeight();	
			});	
			
	
		}
	},
	my_carousel :
	{
		init : function()
		{
			var mySlide= wJQ("#slider");
			var sliderCount = mySlide.find("li").length;
			var idCount = 1;
			var myCarouselLinks="";
			var setFirstActive = "active"
			
			t = setInterval(function(){
						myInterval(sliderCount)
			},8000);
			
			wJQ("#slider").mouseover(function(){
						clearTimeout(t);	
						clearTimeout(t2);												
					}).mouseout(function(){
					t2 = setInterval(function(){
								myInterval(sliderCount)
					},8000);
			})
			
			if(sliderCount > 1){
					mySlide.find("li").each(function(index){
							idCount = index + 1;
							wJQ(this).attr("id","i"+idCount)
							myCarouselLinks += "<li><a href='javascript:;' class='sliderLink "+ setFirstActive + "' id='a" + idCount + "'></a></li>";
							setFirstActive = "";
					});
					wJQ("#carousel_links").append(myCarouselLinks);
			}
			
			wJQ(".sliderLink").live("click",function(){
					var myID = wJQ(this).attr("id").replace("a","");
					var myWidth = wJQ("#sectionBanner").width();
					var marginReq =0;
					if(myID<= 1){
						marginReq = 0;
					}else{
						var temp = myWidth * (myID - 1)
						marginReq = -(temp)
					}		
					imageCount = parseInt(myID);
					wJQ(".sliderLink").removeClass("active");
					wJQ("#slider").animate({marginLeft:marginReq},500,function(){
						wJQ("#a" + imageCount).addClass("active");
					});
					
			});
		}
	}
}

function arrangeLists(){

			var myID, myClass;
			wJQ("#main").find("ul").each(function(){
				myID = wJQ(this).attr("id");
				myClass = wJQ(this).attr("class");
				if( (myID==undefined && myClass==undefined) || (myID=="" && myClass=="")){
					
					if(wJQ(this).parent().hasClass("normalList") || wJQ(this).parent().hasClass("normalList_sub1")){
						wJQ(this).appendTo(wJQ(this).prev("li"))
					}
					
					if(wJQ(this).parent().parent().hasClass("normalList")){
						wJQ(this).addClass("normalList_sub1")
					} else if(wJQ(this).parent().parent().hasClass("normalList_sub1")){
						wJQ(this).addClass("normalList_sub2")
					} else{	
						wJQ(this).addClass("normalList")
					}
				}
				wJQ("> br", this).each(function(){
				    wJQ(this).remove();
				});
			});
			
			wJQ("#main").find("ol").each(function(){
				myID = wJQ(this).attr("id");
				myClass = wJQ(this).attr("class");
				if( (myID==undefined && myClass==undefined) || (myID=="" && myClass=="")){
					
					if(wJQ(this).parent().hasClass("normalList") || wJQ(this).parent().hasClass("normalList_sub1")){
						wJQ(this).appendTo(wJQ(this).prev("li"))
					}
					
					if(wJQ(this).parent().parent().hasClass("normalList")){
						wJQ(this).addClass("normalList_sub1")
					} else if(wJQ(this).parent().parent().hasClass("normalList_sub1")){
						wJQ(this).addClass("normalList_sub2")
					} else{	
						wJQ(this).addClass("normalList")
					}
				}
				wJQ("> br", this).each(function(){
				    wJQ(this).remove();
				});
			});
			
			wJQ("body:not(.ie7) .normalList li").css("min-height","20px");	
}

function getValues(){
	
	windowHeight = wJQ(window).height();
	windowWidth = wJQ(window).width();
	cut1 = windowHeight;
	trigger1 = cut1 - 296; // 296 = combined height of header and logo
	cut2 = cut1 + windowHeight;
	trigger2 = cut2 - 296;
	cut3 = cut2 + windowHeight;
	trigger3 = cut3 - 296;
	cut4 = cut3 + windowHeight;
	trigger4 = cut4 - 296;	
	cut5 = cut4 + windowHeight;
	trigger5 = cut5 - 296;
	
	wJQ(".bg_block").height(windowHeight).width(windowWidth);
	wJQ(".infoBox").show();
	if(windowHeight>=650){
		wJQ(".infoBox").removeClass("smallScreen tinyScreen");
	}else if(windowHeight<650 && windowHeight > 580){
		wJQ(".infoBox").addClass("smallScreen").removeClass("tinyScreen");
	}else if(windowHeight<=580){
		wJQ(".infoBox").addClass("tinyScreen").removeClass("smallScreen");
	}
}

function positionShare(){
	var shareThis = wJQ(".shareThis");
	var shareThisWidth = shareThis.outerWidth();
	
	//set left position for shareThis
	var myLeft = wJQ("#header").offset().left;
	myLeft= myLeft + (980 - shareThisWidth);
	shareThis.css("left",myLeft);
}

function positionRedeem(){
	var redeemCard = wJQ("#redeemCard");
	//set left position for shareThis
	var myLeft = wJQ("#header").offset().left;
	redeemCard.css("left",myLeft);
	redeemCard.slideDown();
	
	
	setTimeout(function(){
		wJQ("#redeemCard_action").removeClass("active")
		redeemCard.animate({bottom: -238}, 1000)	
	}, 5000);
	
}

function myInterval(sliderCount){
	 var myWidth = wJQ("#sectionBanner").width();
	 var currentMargin = wJQ("#slider").css("margin-left").replace("px", "");
	 myWidth = myWidth - currentMargin;
	 //console.log("margin:   - ", myWidth)
	 wJQ(".sliderLink").removeClass("active");
	 if(imageCount>sliderCount-1){
		  imageCount = 1
		  wJQ("#slider").animate({marginLeft:0}, 500);
		  wJQ("#a" + imageCount).addClass("active");
	 }else{
		  imageCount += 1;
		  wJQ("#slider").animate({marginLeft:-myWidth}, 500);
		  wJQ("#a" + imageCount).addClass("active");	
	 }
	
}


function myHomeInterval(){

    myScroll = wJQ(window).scrollTop();
    //console.log("down: ",myScroll)
    if( myScroll < cut1){
        wJQ.scrollTo( cut1, 1000);
    }
    else if(myScroll >= cut1 && myScroll < cut2){
        if(isDown) { wJQ.scrollTo( cut2, 1000); }
        else { wJQ.scrollTo( 0, 1000); isDown= true; }
    }else if(myScroll >= cut2 && myScroll < cut3){
        if(isDown) { wJQ.scrollTo( cut3, 1000); }
        else { wJQ.scrollTo( cut1, 1000); }


    }else if(myScroll >= cut3 && myScroll < cut4){
        if(isDown) { wJQ.scrollTo( cut4, 1000);}
        else { wJQ.scrollTo( cut2, 1000); }

    }else if(myScroll >= cut4){
        wJQ.scrollTo( cut3, 1000);
        isDown = false;

    }

}
 
function setMainHeight(){
	var windowHeight = wJQ(window).height();
	windowHeight = windowHeight - 199 - 97; //document height - banner and header height;
	if(windowHeight > wJQ("#main").outerHeight()){
		windowHeight = windowHeight - 61 - 17; //main div padding;
		windowHeight = windowHeight + 4; //content div -margin
		//wJQ("#main").height(windowHeight);
		wJQ("#main").css("min-height",windowHeight);
	}
}

function setPageColor() {
    var hexcolor= wJQ("#menucolor").val();
    rgbarray = hex2rgb( hexcolor )

    wJQ(".customColor").css("color",hexcolor);

	var redRGB, greenRGB, blueRGB;

    redRGB = Number(rgbarray[0]);
	greenRGB = Number(rgbarray[1]);
	blueRGB = Number(rgbarray[2]);

	wJQ("#innerNav > li").each(function() {
        wJQ(this).css("background","rgb(" + redRGB + "," + greenRGB + "," + blueRGB + ")");
        redRGB = Number(redRGB) +  Number(wJQ("#fadeRed").val());
        greenRGB = Number(greenRGB) + Number(wJQ("#fadeGreen").val());
        blueRGB = Number(blueRGB) + Number(wJQ("#fadeBlue").val());
	});
}
