/**
* Copyright (c) 2008, Impact Proximity
* All rights reserved.
* @author Jerome Conde <j.conde@impactbbdo.ae>
*/

$j(function(){
	//global vars
	var isIE = $j.browser.msie;
	var isIE6 = isIE && ($j.browser.version == 6.0);
	var location = window.location;
	var baseURL = location.protocol+"//"+location.hostname+(location.port ? ":"+location.port : ""); 
	
	var swfEnabled = false;
	swfEnabled = typeof swfobject == "object" && swfobject.hasFlashPlayerVersion("8.0");
	
	//sucker fish solution for ie6
	var sfhover = function(){
		$j("ul.Nav2 li").hover(
			function(){$j(this).addClass('sfhover')},
			function(){$j(this).removeClass('sfhover')}
		)
		;
	}
	var hasChild = function(){
		$j("ul.Nav2 li li ul").each(function(){
			$j(this).parent().addClass("HasChild");			
		})
		;
	}
	//hasChild();
	
	//swap active image on hover of main menu
	var swapImage = function(){
		$j("#menu1 > li").hover(
			function(){
				if($j(this).hasClass("selected")) return;
				var imgPath = $j(this).find("img:first").attr("src");
				$j(this).find("img:first").attr("src",imgPath.replace(".gif","_active.gif"));
			},
			function(){
				if($j(this).hasClass("selected")) return;
				var imgPath = $j(this).find("img:first").attr("src");
				$j(this).find("img:first").attr("src",imgPath.replace("_active.gif",".gif"));
			}
		);
		$j("#menu1 > li.selected > a:first img").each(function(){
			var imgPath = $j(this).attr("src");
			$j(this).attr("src",imgPath.replace(".gif","_active.gif"));
		});
	}
	swapImage();
	
	//add 'FirstChild' and sfhover class for ie6 */
	var firstChild = function(){
		$j("li:first-child").addClass("firstchild");
	}
	var lastChild = function(){
		$j("li:last-child").addClass("lastchild");
	}
	if($j.browser.msie && $j.browser.version == "6.0") {
		firstChild();
		sfhover();
	}
	// add LastChild class to IE
	if($j.browser.msie){
		lastChild();
	}
	
	//auto text handler
	$j("div.Header input.Textbox,div.FAQSearch input.Textbox")
	.each(function(){
		var autoText = "";
		var defaultText = $j(this).val();
		$j(this).bind('focus',function(){
		autoText = $j(this).val();
		if(autoText == defaultText) $j(this).val("");
		})
		.bind('blur',function(){
			if($j(this).val() == "")
			$j(this).val(defaultText);
		});
	});
	
	//add borders to thumbnails
	var thumbBorder = function($jthumbs){
        baseURL = '';
		$jthumbs.each(function(){
            var $jli = $j(this);
            if($j("img.border",$jli).length) return;
            var borderImg = "asset/img/generic/thumb_border1.gif";
            if($jli.hasClass('selected')) borderImg = "asset/img/generic/thumb_border2.gif";
            $jli.append("<img class='border' src='"+baseURL+borderImg+"' />");
            $jli.append($j("<span class='trans' />").css({opacity:.7}));
            //assign event handlers to thumbs
            $jli.hover(
                function(){
                    $j(this).addClass('hover');
                    var $jimg = $j('.border',this);
                    var imgSrc = $jimg.attr('src');
                    $jimg.attr('src',imgSrc.replace('1.gif','2.gif'));
                },
                function(){
                    $j(this).removeClass('hover');
                    if($j(this).hasClass('selected')) return;
                    var $jimg = $j('.border',this);
                    var imgSrc = $jimg.attr('src');
                    $jimg.attr('src',imgSrc.replace('2.gif','1.gif'));
                }
            ).find('img.border').css({cursor:'pointer'})
            .click(function(){
				$j(this).prev('.action').find('.preview').click();
            });
        });
	}
	
	//carousel handler
	$j('.carousel').each(function(){
		var $jt = $j(this), $jleft=$j('.left',$jt), $jright=$j('.right',$jt), 
			$jcar=$j('.thumbnail',$jt), $jthumbs=$j('>li',$jcar), thumbW=(145+25), carWidth = $jthumbs.length*thumbW;
		var $jpreviews = $j("span.action .preview",$jcar), $jcanvas = $j("div.canvas"), $jloader = $j('div.ajax_loader',$jcanvas);
		
		//set width of car
		$jcar.width(carWidth);
		
		//add borders to each thumb
		thumbBorder($jthumbs);
		
		//slider buttons opacity handler
		var btnOpacity = function(oBtn){
			var carPos = parseInt($jcar.css('left')=='auto' ? 0 : $jcar.css('left')),
				bLlimit = (carWidth-carPos*-1)<=(thumbW*4),
				bRlimit = carPos >= 0;
			if(bRlimit) {
				if(oBtn.hasClass('left')) oBtn.addClass('disabled');
			}	$jright.removeClass('disabled');		
			if(bLlimit) {
				if(oBtn.hasClass('right')) oBtn.addClass('disabled');
				$jleft.removeClass('disabled');		
			};
			if(!bRlimit && !bLlimit) $j('.slider',$jt).find('img').removeClass('disabled');
			$j('.slider',$jt).find('img').css({opacity:1});
			$j('.disabled',$jt).css({opacity:.3});
		}
		setTimeout(function(){
			btnOpacity($jleft);
		},300);
		
		//assign event handlers to slider buttons
		$jleft.bind('click',function(){
			if($j(this).hasClass('disabled') || $jcar.hasClass('animate')) return;
			$jcar.addClass('animate').animate({left:'+='+(thumbW*4)},500,'easeInOutCubic',function(){
				btnOpacity($jleft);
				$jcar.removeClass('animate');
			});
		});
		
		$jright.bind('click',function(){
			if($j(this).hasClass('disabled') || $jcar.hasClass('animate')) return;
			$jcar.addClass('animate').animate({left:'-='+(thumbW*4)},500,'easeInOutCubic',function(){
				btnOpacity($jright);
				$jcar.removeClass('animate');
			});
		});
		
		//assign click handlers to 'preview' & 'cart'
		$jpreviews.each(function(i){
			var $jme = $j(this), img = $jme.attr("href");
			var $jimage = $j(new Image);
			$j(this).click(function(){
				var swapImage = function(){
					var $jactive = $j("img.active",$jcanvas);
					$jactive.fadeOut(500,function(){
						$jactive.removeClass('active');
					});
					$jimage.fadeIn(500,function(){
						$jimage.addClass('active');
					});
				}
				
				if(!$j("img.thumb_"+i,$jcanvas).length){
					$jloader.css({display:'block'});
					//replace setTimeout with ajax call
					//$j.get(img,function(data){
					//	$jloader.css({display:'none'});
					//	$jimage.attr('src',img).addClass('thumb_'+i);
					//	$jcanvas.append($jimage);
					//	swapImage();
					//});
					
					$jimage.attr('src',img).addClass('thumb_'+i);
					$jcanvas.append($jimage);
					setTimeout(function(){
						$jloader.css({display:'none'});
						swapImage();
					},2000);
				}
				else{
					$jimage = $j("img.thumb_"+i,$jcanvas);
					if($jimage.hasClass('active')) return false;
					swapImage();
				}
				
				setActiveThumb($jme.parent().parent());
				//$jme.parent().parent().addClass('selected');
				return false;
			});
		});
		
		var setActiveThumb = function($jcur){
			$jthumbs.filter('.selected').removeClass('selected')
			.find('img.border,span.trans').remove();
			$jcur.addClass('selected').find('img.border,span.trans').remove();
			thumbBorder($j('>li',$jcar));
		}
		
	});
	
	//tabs handler
	$j("div.team").each(function(){
		var $jme = $j(this), $jtabs = $j("<ul class='team-tabs' />");
		var $jteamtabs = $j("div.team-tab",$jme);
		$jteamtabs.each(function(){
			var $jh3 = $j(this).find("> h3");
			$jtabs.append("<li><a href='#'>"+$jh3.text()+"</a></li>");
		});
		
		var clickTab = function($jli){
			var i = $jtabs.find("li").index($jli);
			$jtabs.find("li").removeClass("selected");
			$jli.addClass("selected");
			$jteamtabs.hide();
			$jteamtabs.eq(i).show();
		}
		
		if($jtabs.find("li").length) {
			clickTab($jtabs.find("li:first"));
			$jtabs.insertBefore($jme);
		}
		
		$jtabs.find("> li > a").click(function(){
			clickTab($j(this).parent());
			return false;
		});
		
	});
	
	//tabs for how it works
	$j("div.tab-pane:not(:first)").css({display:'none'});
	$j("ul.tabs1 li").click(function(){
		var n = $j("ul.tabs1 li").index(this);
		$j("div.tab-pane").css({display:'none'});
		$j("div.tab-pane").eq(n).css({display:'block'});
		$j("ul.tabs1 li").removeClass("selected");
		$j(this).addClass("selected");
	});
	
	//catalog thumbnails
	$j("div.thumb_wrap").each(function(){
		var $jme = $j(this), $jthumbs = $j("ul.thumbnail li",$jme);
		var $jcanvas = $j(".canvas2"), $jmask = $j(".overlay_mask")/*.css({opacity:0})*/, $joverlay = $j(".overlay");
		var $jclose = $j(".close",$joverlay);

		thumbBorder($jthumbs);
		
		$jthumbs.find('span.action a').click(function(){
			showOverlay();
			return false;
		});
		
		var showOverlay = function(){
			$jmask.css({display:'block'});
			setTimeout(function(){
				$joverlay.fadeIn(800);
			},500);
		}
		
		var hideOverlay = function(){
			$joverlay.fadeOut(800,function(){
				$jmask.css({display:'none'});
			});
		}
		$jmask.click(function(){$jclose.trigger('click')});
		$jclose.click(function(){
			hideOverlay();
		});

	});
	
	$j("div.overlay_mask").css({opacity:.8});
	
	//faqs handler
	$j("ul.faq_list li strong.question").click(function(){
		$j("ul.faq_list li strong.question").not(this).parent().removeClass('expanded');
		$j(this).parent().addClass('expanded');
	});

});

