var rim = window.rim || {};

(function($) {
  jQuery.fn.random = function(num) {
    num = parseInt(num);
    if (num > this.length) return this.pushStack(this);
    if (! num || num < 1) num = 1;
    var to_take = new Array();
    this.each(function(i) { to_take.push(i); });
    var to_keep = new Array();
    var invert = num > (this.length / 2);
    if (invert) num = this.length - num;
    for (; num > 0; num--) {
      for (var i = parseInt(Math.random() * to_take.length); i > 0; i--)
        to_take.push(to_take.shift());
      to_keep.push(to_take.shift());
    }
    if (invert) to_keep = to_take;
    return this.filter(function(i) { return $.inArray(i, to_keep) != -1; });
  };
}) (jQuery);


$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

function fb_sharebar_click() {
	var u = document.location.href,
	    t = document.title;
	window.open('http://www.facebook.com/share.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t));
	return false;
}

function shareLinkClicked(site) {
	var s=s_gi(s_account);
	s.linkTrackVars="prop36,prop39,events";
	s.linkTrackEvents="event37";
	s.events="event37";

	s.prop39 = site;
	s.prop36 = s.pageName;
	void(s.tl(this,'o',s.prop36));
}

rim.OnloadEvents = {
    Register: function(f) {
	    this.events.push(f);
	},
	Init: function() {
	    var me = this;
	    $.each(me.events, function(i, o) {
	        if (typeof me.events[i] == 'function') me.events[i]();
	    });
	},
	events: []
};

rim.rootPrefix = '';
if (window.location.href.match(/\/fr\//)) {
    rim.rootPrefix = '/fr';
}else if (window.location.href.match(/\/eng\//)) {
    rim.rootPrefix = '/eng';
}


rim.Paths = {
	FlashAssets: rim.rootPrefix+'/assets_refresh/flash/assets',
	InteractiveMP: 'interactiveMP.swf',
	DemoMP: 'demoMP.swf',
	AllAssets: ''
};

rim.ContextUrl = rim.rootPrefix+'/assets_refresh';


rim.InitSearchBox = function () {
	var searchBox = $('#siteSearch'),
		//defaultPrompt = searchBox.attr('rimprompt') || 'prompt text not set';
	    defaultPrompt = rim.lang.search;
	searchBox.attr('value', defaultPrompt);
	searchBox.focus(function () {
		if($(this).val() == defaultPrompt) $(this).attr('value','');
	}).blur(function () {
		if($(this).val().replace(/\s/g,'') == '') $(this).attr('value',defaultPrompt);
	});
};

rim.InitLoginBox = function () {
	var username = $('#loginNavUsername'),
	    password = $('#loginNavPassword'),
	    fakepassword = $('#loginNavFakePassword'),
		//defaultUserPrompt = username.attr('rimprompt') || 'prompt text not set',
		//defaultPassPrompt = fakepassword.attr('rimprompt') || 'prompt text not set';
		defaultUserPrompt = rim.lang.username,
		defaultPassPrompt = rim.lang.password;
	username.attr('value', defaultUserPrompt);
	username.focus(function () {
		if($(this).val() == defaultUserPrompt) $(this).attr('value','');
	}).blur(function () {
		if($(this).val().replace(/\s/g,'') == '') $(this).attr('value',defaultUserPrompt);
	});
	fakepassword.attr('value', defaultPassPrompt);
	fakepassword.focus(function () {
	         password.show().focus();
	         $(this).hide();
	});
	password.blur(function() {
	    if ($(this).val().replace(/\s/g,'') == ''){
	      fakepassword.show();
	      $(this).hide();
	    }
	});
};

rim.InitCufon = function(){
	if (navigator.userAgent.indexOf("IE 7") == -1 && navigator.userAgent.indexOf("IE 8") == -1) {
		Cufon.replace('.replace', {fontFamily: 'bblove', hover: true});
	} else {
		/* no hover for ie7, or v:image errors */
		Cufon.replace('.replace', {fontFamily: 'bblove'});
	}
	$('.replace').not('.scroller .replace').css({ visibility: 'visible' });
};

rim.InitDropNav = function(){
    if ($.cookie('jive.user.loggedIn')=='true') {
        $("#communityDropNav").css({ visibility: 'hidden' });
    }
	$("#devicesDropNav, #dropNavTab, #dropNav").hover(function () {
		 $('#dropNavTab, #dropNav').css({ display: 'block' });
		 $('#devices a').addClass('deviceHighlight');
	 }, function () {
		 $('#dropNavTab, #dropNav').css({ display: 'none' });
		 $('#devices a').removeClass('deviceHighlight');
	 }
	);
	
	$("#wtbDropNav, #wtbNavTab, #wtbNav").hover(function() {
       $('#wtbNavTab, #wtbNav').css({
           display: 'block'
       });
       $('#purchase a').addClass('deviceHighlight');
   }, function() {
       $('#wtbNavTab, #wtbNav').css({
           display: 'none'
       });
       $('#purchase a').removeClass('deviceHighlight');
   });
	
	$("#communityDropNav, #loginNavTab, #loginNav").hover(function () {
		 $('#loginNavTab, #loginNav').css({ display: 'block' });
		 $('#community a').addClass('communityHighlight');
	 }, function () {
		 $('#loginNavTab, #loginNav').css({ display: 'none' });
		 $('#community a').removeClass('communityHighlight');
	 });
	//footer nav hovers
	$("#ftrAmerica").hover(function () {
		$('#ftrAmericaNav').css({ display: 'block' });
	}, function () {
		$('#ftrAmericaNav').css({ display: 'none' });
	});
	$("#ftrCompany").hover(function () {
		$('#ftrCompanyNav').css({ display: 'block' });
	}, function () {
		$('#ftrCompanyNav').css({ display: 'none' });
	});
	$("#ftrLegal").hover(function () {
		$('#ftrLegalNav').css({ display: 'block' })
	}, function () {
		$('#ftrLegalNav').css({ display: 'none' });
	});
	$("#ftrFollowUs").hover(function () {
		$('#ftrFollowUsNav').css({ display: 'block' });
		$("#ftrFollowUs").addClass('hover');
	}, function () {
		$('#ftrFollowUsNav').css({ display: 'none' });
		$("#ftrFollowUs").removeClass('hover');
	});
	$("#ftrFacebook").hover(function () {
		$('#ftrFacebookNav').css({ display: 'block' });
	}, function () {
		$('#ftrFacebookNav').css({ display: 'none' });
	});

	$("#dropNav a").bind('click', function() {
		doOmnitureUIEvent("globalNav - " + $(this).children()[0].className);
	});
};

rim.IntFacebook = function() {
    var img = new Image();

	$('#ftrFollowUsNav li.like').hide();
    $("#footerNavRight #ftrFacebook").hide();

    var fburl = document.location.href;

    if (fburl.indexOf("?") > -1) {
    	var bits = fburl.split("?");

    	fburl = bits[0];

    	if (bits[1].indexOf("#") > -1) {
    		fburl = fburl + bits[1].substring(bits[1].indexOf("#"));
    	}
    }

    var imgLoad = false;
    img.onload = function() {
        if ((navigator.userAgent.indexOf("IE 8") > -1 || navigator.userAgent.indexOf("IE 7") > -1)) {
            imgLoad = true;
        }else if(img.complete){
            imgLoad = true;
        }
        loadFrames();

    }
    var loadFrames = function() {
        if (imgLoad) {
        	$('#ftrFollowUsNav li.like').show();
            $("#footerNavRight #ftrFacebook").show();
            $('#ftrFacebookNav').html('<iframe src="http://www.facebook.com/plugins/likebox.php?id=109723915727749&width=292&connections=10&stream=true&header=false&height=455" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:292px; height: 455px; background:#fff;"></iframe>');
            $('#ftrFollowUsNav li.like').html('<iframe id="likeButton" src="http://www.facebook.com/plugins/like.php?href='+fburl+'&layout=button_count&show_faces=false&width=40&action=like&colorscheme=dark&profile_id=109723915727749" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden;height: 25px; width:110px;"></iframe>');
            $('#mainHead li.like').add("#detailsNavInner li.like").html('<iframe id="likeButton" src="http://www.facebook.com/plugins/like.php?href='+fburl+'&layout=button_count&show_faces=false&width=40&action=like&colorscheme=dark&profile_id=109723915727749" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden;height: 25px; width:110px;"></iframe>');

            /* FF is showing no contents but imgLoad true when facebook disconnected, so remove item if no contents.. */
            setTimeout("if($('#ftrFollowUsNav li.like').html()==''){$('#ftrFollowUsNav li.like').remove();}", 500);
        } else {
        	//$('#ftrFollowUsNav li.like').remove();
        }
    }
    
    
    img.src = "http://facebook.com/images/fb_logo_small.jpg";
};
rim.topNav = function() {
    if ($('body').attr('rel')) {
        var activeNav = $('body').attr('rel');
        $('#mainNav li#'+activeNav).addClass('active');
    }
}
$(document).ready(function () {
    rim.topNav();
	rim.InitSearchBox();
	rim.InitLoginBox();
	rim.InitDropNav();
	rim.IntFacebook();
	rim.OnloadEvents.Init();//this goes last
});


