Skip to content

Instantly share code, notes, and snippets.

@codylindley
Created November 7, 2012 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codylindley/4034382 to your computer and use it in GitHub Desktop.
Save codylindley/4034382 to your computer and use it in GitHub Desktop.
$(document).ready(function() {
$('.inviteToGroupBtn').on('click', function() {
lightboxAJAX('/lightbox/invite_to_group?lightbox=1&group_id='+$(this).data('group-id'));
});
$('.usergroupCTA').on('click', function() {
var $this = $(this);
$.ajax({
url: '/restapi/usergroup_access.json',
type: 'post',
data: {
user_id: $this.data('user'),
group_id: $this.data('group'),
action: $this.data('role')
}
}).done(function(response) {
if (response.success) {
$this.closest('.userItem').fadeOut();
}
});
});
//Change Value of GroupDropdown
$('#groupDropdown a').live('click', function(){
$('#groupDropdown input').val($(this).attr('value'));
});
$('.groupCTA').on('click', function() {
var $this = $(this);
$.ajax({
url: '/restapi/toggle_user_group.json',
type: 'post',
data: {
groupId: $this.data('group-id'),
replaceHandler: $this.data('replace-handler')
},
cache: false
}).done(function(response) {
$this.html(response.buttonText);
if (!response.replaceHandler) {
$this.removeClass('groupCTA').off();
}
});
});
$('#locationDropdown').on('focus', function(e) {
var $this = $(this);
setTimeout(function() {
if ($this.find('.clicked').length === 0) {
$this.find('.arrow').trigger('click');
$this.find('input[name="location"]').focus();
}
}, 200);
});
// HIDE NAV BAR FOR MOBILE
if(mobile) {
$(window).scrollTop(0);
}
// EDITABLE TOUT STUFF
$('.editable-tout').editable('/restapi/post_edit_tout_comment', {
type: 'textarea',
indicator: 'Saving...',
tooltip: 'Click to edit...',
onblur: 'submit'
});
// WELCOME SCREEN SLIDER STUFF
$('.imageSide ul').roundabout({
minOpacity: 1,
maxOpacity: 1,
duration: 800,
autoplay: true,
autoplayDuration: 6000,
autoplayPauseOnHover: true,
reflect: true
});
/*
slideCount = $('#welcome table.slides td.top .slide').length;
if(slideCount > 0) {
currentSlide = parseInt($('#welcome table.slides td.top .slide.active').attr('slide'));
activateSlider();
$('a.arrow').live('click', function() {
arrow = $(this);
if(arrow.hasClass('left')) {
changeSlideWithFades(currentSlide-1);
} else {
changeSlideWithFades();
}
});
}
*/
// ONLY LOADS ON <= IE9
if (window.PIE) {
$('.dashboard, .item .mainbox ul.ctaButtons a, #locationDropdown span, #search input, #nav .menu, #feedFilters').each(function() {
PIE.attach(this);
});
}
// QUERY ONLOAD()
onloadEvents = getParameterByName('onload');
if(onloadEvents) {
lightboxAJAX(decodeURIComponent(onloadEvents));
}
// SEARCH STUFF
activateSearchbar();
// ACTIVATE BACK TO TOP BUTTON
back_to_top();
// activate FEEDS HOVER BUTTONS
activateFeedsHoverButtons();
// SET DROP DOWN SORT SELECTION
//set_dd_selection();RVS - comment this out now, but keeping just in case
// USER THUMBNAIL STUFF
$('a.userThumb, a.metaName, a.questionDetail, a.userThumbSmall').live('mouseenter', function(e) {
var name = $(this).attr('networklink');
if (typeof name !== 'undefined' && name !== false) {
$('<span id="userNameHover">'+name+'</span>').prependTo('body').css({
'top': e.pageY+10,
'left': e.pageX+10
}).show();
}
}).live('mouseleave', function(e) {
$('#userNameHover').remove();
}).live('mousemove', function(e) {
$('#userNameHover').css({
'top': e.pageY+10,
'left': e.pageX+10
});
});
// RESPONSES HOVER STUFF
$('.mainbox', '.responses').live('mouseenter', function(e) {
var name = $(this).attr('hovertext');
if (typeof name !== 'undefined' && name !== false) {
$('<span id="userNameHover2">'+name+'</span>').prependTo('body').css({
'top': e.pageY+10,
'left': e.pageX+10
}).show();
}
}).live('mouseleave', function(e) {
$('#userNameHover2').remove();
}).live('mousemove', function(e) {
$('#userNameHover2').css({
'top': e.pageY+10,
'left': e.pageX+10
});
});
// FOLLOW BUTTON STUFF
$('a.followButton').live('mouseenter', function(e) {
var name = $(this).attr('hovertext');
if (typeof name !== 'undefined' && name !== false) {
$('<span id="userNameHover">'+name+'</span>').prependTo('body').css({
'top': e.pageY+10,
'left': e.pageX+10
}).show();
}
}).live('mouseleave', function(e) {
$('#userNameHover').remove();
}).live('mousemove', function(e) {
$('#userNameHover').css({
'top': e.pageY+10,
'left': e.pageX+10
});
});
$('a.followButton').live('click', function(e) {
followUnfollow($(this), 'follow');
});
$('a.unfollowButton').live('click', function(e) {
followUnfollow($(this), 'unfollow');
});
function followUnfollow(obj, action) {
$.ajax({
url: '/restapi/'+action+'_question.json',
type: 'post',
data: {
'question_id' : obj.attr('id').split('_')[1]
},
dataType: 'json',
cache: false,
success: function(response) {
if (response.success) {
if (action === 'follow') {
obj.addClass('unfollowButton').html('Unfollow');
} else if (action === 'unfollow') {
obj.removeClass('unfollowButton').html('Follow');
}
} else if (!response.success && !td_globals.lgd_in) {
lightboxAJAX('/lightbox/signup_login?lightbox=1');
}
}
});
}
// TIMEAGO STUFF
// $('.timeago').each(function() {
// $(this).timeago();
// });
render_time_ago();
// CALL TO ACTION BUTTONS ON ITEMS STUFF
$('.item .mainbox ul.ctaButtons a, .item .mainbox ul.ctaButtons span').live('mouseenter', function() {
$(this).stop(true, false).animate({
'left': '0'
}, 300);
}).live('mouseleave', function() {
$(this).stop(true, false).animate({
'left': '-155px'
}, 300);
});
$(document).on('keyup', 'form', function(e) {
if (e.keyCode === 13 && $(this).attr('id') != 'ask' && $(this).attr('id') != 'thing') {
$(this).find('a.submitButton').trigger('click');
}
});
// DROPDOWN STUFF
bindDropdown('.dropdown');
bindSelect('select[class!="chzn-select"], input[type="checkbox"]');
// ACTIVATE AUTOSUGGEST
// activateAutoSuggest();
// INPUT STUFF
$('input[type=text], input[type=password]').live('focusin',function() {
$(this).addClass('focused');
if($(this).hasClass('default')) {
$(this).attr('placeholder', '');
}
}).live('focusout',function() {
$(this).removeClass('focused');
if($(this).val() == '') {
var dtext = $(this).attr('dtext');
if(dtext){
$(this).attr('placeholder', dtext).addClass('default');
}
} else {
$(this).removeClass('default').removeClass('error').closest('.error').removeClass('error').find('p.error').remove();
$('.errorMsg').stop(true, true).fadeOut(400);
}
});
if ($('input[name="location"]').val() != "") {
$('#locationDropdown').find('span').html($('input[name="location"]').val());
} else {
$('#locationDropdown').find('span').html('Add a location');
}
$('input[name="location"]').live('keyup', function(e) {
locationInput = $(this);
locationHidden = $(this).parent().find('input[name="location_id"]');
if($(this).val().length >= 3) {
var locations = [];
dropdown = false;
appendResults = locationInput.parent();
if(locationInput.closest('ul#locations').length > 0) {
dropdown = true;
var locationDropdown = $(this).closest('.dropdown');
var locationSpan = locationDropdown.find('span');
appendResults = $('#locationResults');
}
geocoder.geocode({ address : locationInput.val() }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if(typeof results !== 'undefined' && results.length > 0) {
$.each(results, function (index, value) {
locations.push({
label: value.formatted_address,
value: value
});
});
}
locationInput.autocomplete({
source: function( request, response ) {
response(locations);
},
appendTo: appendResults,
my: "left top",
at: "left bottom",
collision: "none",
delay: 400,
open: function() {
// menu = locationInput.parent().first('.ui-autocomplete');
// menu.width(menu.width()-4).css('left', (menu.offset().left+2));
},
select: function( event, ui ) {
$.ajax({
url: '/restapi/add_and_return_loc.json',
type: 'post',
data: { location_obj : JSON.stringify(ui.item.value) },
dataType: 'json',
cache: false,
success: function(results) {
if(dropdown) {
locationSpan.html( results.loc_bucket.name );
locationHidden.val( results.location.id );
closeDropdown('#'+locationDropdown.attr('id'));
$('form#search input[name="q"]').focus();
if($('form#search input[name="q"]').val().length >= 3) {
if(searchQ) {
searchQ.abort();
}
searchQ = $.ajax({
url: '/search/results',
type: 'post',
data: $('form#search').serialize(),
dataType: 'html',
cache: false,
success: function(response){
openSearchResults(response);
}
});
}
} else if(locationInput.closest('form').is('#person, #place')) {
locationInput.val( ui.item.label );
locationHidden.val( results.location.id );
if(locationInput.closest('form').find('input[name="vendor"]').val() !== '') {
populateVendorResults();
}
} else {
locationInput.val( ui.item.label );
locationHidden.val( results.location.id );
}
}
});
return false;
},
focus: function( event, ui ) {
locationInput.val( ui.item.label );
return false;
},
change: function(event, ui) {
if ($(this).val() == '') {
if (!ui.item) {
locationInput.val("");
locationHidden.val("");
}
} else {
if (!$(this).parent().hasClass('inputHolder') && $('.ui-autocomplete').length > 0) {
if (locations.length > 0) {
$.ajax({
url: '/restapi/add_and_return_loc.json',
type: 'post',
data: { location_obj : JSON.stringify(locations[0].value) },
dataType: 'json',
cache: true,
success: function(results) {
if (locationInput && locationHidden) {
locationInput.val( locations[0].label );
locationHidden.val( results.location.id );
}
if(locationInput.closest('form').is('#person, #place')) {
if(locationInput.closest('form').find('input[name="vendor"]').val() !== '') {
populateVendorResults();
}
}
}
});
}
}
}
}
});
}
});
} else {
if ($('input[name="location"]').val() == "") {
$('#locationDropdown').find('span').html('Add a location');
$('input[name="location_id"]').val('');
}
}
});
activateTextarea();
//Acitvate Placeholders
activatePlaceholders();
//thanks button stuff - sameerified
$('.ctaButtons').on('click', '.thanks-button', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
var thankButton = $(this);
$.ajax({
type: 'post',
url: '/restapi/thank.json',
data: { tout_id : thankButton.data('answer-id') },
dataType: 'json',
cache: false
}).done(function(response) {
if (response.results.success) {
thankButton.parent().empty().append('<li><span class="thanks-button rockwell" href="">Already Thanked!</span></li>');
// .html('Already Thanked!');
}
});
});
// HEADER - NAV BUTTON STUFF
$('#nav .navPoint').hover(function() {
$('#nav .navPoint ul.menu').stop(true, true);
$(this).find('ul.menu').delay(75).show(400);
}, function() {
$('#nav .navPoint ul.menu').stop(true, true);
$(this).find('ul.menu').hide(400);
});
// FOOTER - NAV BUTTON STUFF
if(mobile) {
$('#navFooter .navPoint a.mainButton').click(function() {
button = $(this);
$('#footerMenus .menu').stop(true, false).slideUp(400);
$('#footerMenus #'+button.attr('menu')).css('height', $(document).height()).delay(401).stop(true, false).slideDown(800, function() {
$(window).scrollTop(0);
$(this).live('click', function() {
$('#footerMenus .menu').stop(true, false).slideUp(400);
});
});
});
}
// HEADER - USER DASHBOARD STUFF
if(mobile) {
$('.dashboard').live('click', function() {
openDashboard();
});
} else {
$('.dashboard').live('mouseenter', function() {
if(!$('#header').hasClass('out')) {
clearTimeout(dashboardQueue);
dashboardQueue = setTimeout('openDashboard()', 200);
}
}).live('mouseleave', function() {
if(!$('#header').hasClass('out')) {
clearTimeout(dashboardQueue);
closeDashboard();
}
});
}
// ACCOUNT SETTINGS STUFF
$('a[lightbox="account_settings"]').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
lightboxAJAX('/lightbox/account_settings?tab='+$(this).attr('tab')+'&lightbox=1');
});
$('#accountSettings li.changeTab').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(!$(this).hasClass('active')) {
tab = $(this).attr('tab');
$('#accountSettings .tabContent.active').stop(true, false).slideUp(200, function() {
$(this).removeClass('active');
$('#accountSettings li.changeTab').removeClass('active');
$('#accountSettings li.changeTab[tab="'+tab+'"]').addClass('active');
$('#accountSettings .tabContent[tab="'+tab+'"]').slideDown(400, function() {
$(this).addClass('active');
});
});
}
}).live('mouseenter', function() {
$(this).addClass('hover');
}).live('mouseleave', function() {
$(this).removeClass('hover');
});
// MAP STUFF
if($('#map_canvas').length > 0) {
renderGoogleMap();
}
// FRIENDIFIER STUFF
$('a.friendifier').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
submitForm($(this), '#'+$(this).closest('form').attr('id'), 'friend_id='+$(this).attr('friend_id'));
});
// FORM SUBMISSION STUFF
$('a.submitButton').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if($(this).closest('#tout').length > 0) {
formType = $('#tout-type span').attr('class'),
validated = true,
activeForm = $('#tout form.active');
if (formType === 'place' || formType === 'person' || formType === 'thing') {
if(vendor_search_flag) return true;
locationIsEmpty = $.trim(activeForm.find('input[name="location"]').val()) == '';
validated = activeForm.find('input[name="vendor_id"]').val() !== '';
}
if (validated) {
submitForm($(this), 'form#'+formType, $('form#'+formType).serialize()+'&'+$('#tout input[name="category"]').serialize()+'&'+$('#tout input[name="type"]').serialize());
} else {
if (locationIsEmpty) {
alert('Please enter a location.');
} else {
alert('Please add a '+formType+'.');
}
}
} else if($(this).closest('form#facebook-friend').length > 0) {
fbUserIds = new Array;
message = '';
redirect_link = td_globals.base_url+'lightbox/tout?lightbox=1&iby='+$(this).attr('uid');
if ($('#friend input[name="qid"]') && $('#friend input[name="qid"]').length > 0) {
redirect_link += '&qid='+$('#friend input[name="qid"]').val();
}
if ($('#friend input[name="message"]').length > 0) {
message = $('#friend input[name="message"]').val();
}
$('#friend input[name="friend_ids"]').each(function() {
$.each($(this).val().split(','), function(key, value) {
if (!isNaN(value) && value !== '') {
fbUserIds.push(value);
}
});
});
var i, j, tempfbUserIds, chunk = 50;
for (i = 0, j = fbUserIds.length; i < j; i += chunk) {
tempfbUserIds = fbUserIds.slice(i, i + chunk);
sendRequestToRecipients(tempfbUserIds, redirect_link, message);
}
} else {
if (!$(this).hasClass('step')) {
var formType = $(this).closest('form').attr('id'),
thisForm = $(this).closest('form'),
validated = true;
if (formType === 'ask') {
if (thisForm.find('input[name="location"]').is(':visible')) {
if ($.trim(thisForm.find('input[name="location"]').val()) === '') {
alert('Please specify a location.');
validated = false;
} else {
if (thisForm.find('input[name="location_id"]').val() === '') {
validated = false;
var location_text = thisForm.find('input[name="location"]').val();
alert('Unfortunately, "' + location_text + '" is not a location that we recognize. Please enter a differnt location to contine.');
}
}
}
}
if (validated) {
submitForm($(this), '#'+$(this).closest('form').attr('id'));
}
}
}
});
// FRIEND / INVITE LIGHTBOX STUFF
var friend_forwards = [];
$('a[lightbox="friend"]').live('click', function(e) {
friend_forwards = [];
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(typeof $(this).attr('qid') !== 'undefined') {
lightboxAJAX('/lightbox/friend?lightbox=1&action='+$(this).attr('action')+'&qid='+$(this).attr('qid'));
} else {
lightboxAJAX('/lightbox/friend?lightbox=1&action='+$(this).attr('action'));
}
});
$('#friend a.changeTab').live('click', function(e) {
$('.livefilter').trigger('keyup');
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(friend_forwards.length > 0) {
var conf = confirm('You have selected some friends, are you sure you want to continue without forwarding?');
if(!conf) {
return false;
}
}
if(!$(this).hasClass('active')) {
tab = $(this).attr('tab');
$('#friend .tabsContainer .tab.active').stop(true, false).slideUp(200, function() {
$(this).removeClass('active');
$('#friend a.changeTab').removeClass('active');
$('#friend a.changeTab[tab="'+tab+'"]').addClass('active');
$('#friend .tabsContainer .tab[tab="'+tab+'"]').slideDown(400, function() {
// Activate Scrollbars (This are scrollbars that belong
// to tabs that are hidden from the beggining)
if($(this).attr('tab') == 'facebook')
activateScrollbar('#scrollbar2'); // Facebook Filters
else if($(this).attr('tab') == 'gmail')
activateScrollbar('#scrollbar3'); // Gmail Scrollbar
$(this).addClass('active');
old_vals = $(this).find('input[name="friend_ids"]').val();
if(old_vals != null && old_vals.length > 0) {
friend_forwards = $.map($(this).find('input[name="friend_ids"]').val().split(','), function(value){
return value;
});
} else {
friend_forwards = [];
}
});
});
}
}).live('mouseenter', function() {
$(this).addClass('hover');
}).live('mouseleave', function() {
$(this).removeClass('hover');
});
var filterQ;
$('#toutd-friend input[name="filter"]').live('keyup', function(e) {
if($(this).val().length > 2) {
if(filterQ) {
filterQ.abort();
}
filterQ = $.ajax({
url: '/restapi/toutd_friends',
type: 'get',
data: { q : $(this).val() },
dataType: 'text',
cache: false,
success: function(results) {
$('#toutd-friend .results').html(results);
}
});
} else {
$('#toutd-friend .results').empty();
}
});
//----------------------- Forward Green Big Buttons --------------------------------
$('#friend .userContainer').live('click', function(e,selectType) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
// Select Button
var forward = $(this).find('.forward');
if(selectType != 'unselect' || forward.hasClass('selected') )
{
if(selectType != 'select' || selectType == 'select' && !forward.hasClass('selected') )
forward.toggleClass('selected').closest('li.userItem').toggleClass('selected');
}
if(forward.hasClass('selected'))
{
var match = forward.closest('form').find('input[name="friend_ids"]').val().indexOf(forward.attr('friend_id'));
// Prevents multiple addition of the same value into the string
if(match == -1)
friend_forwards.push(forward.attr('friend_id'));
// Activate Invite Button
$(this).closest('.tab').find('.submitButton').addClass('active');
}
else
{
// Deactivate Invite when no contacts selected
if(friend_forwards.length == 1)
{
$(this).closest('.tab').find('.submitButton').removeClass('active');
}
//forward.text('Select');
friend_forwards.splice($.inArray(forward.attr('friend_id'), friend_forwards), 1);
}
forward.closest('form').find('input[name="friend_ids"]').val(friend_forwards);
});
$('#friend a.addAnother').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
$('ul.emailInputs li:last-child').clone().find('input[name="email[]"]').val('').addClass('default').parent().hide().appendTo('ul.emailInputs').slideDown(400);
});
// QUESTION LIGHTBOX STUFF
$('a[lightbox="ask"]').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
lightboxAJAX('/lightbox/ask?lightbox=1');
});
$('input[name="category"]').live('keyup', function(e)
{
var tagSearch;
tagInput = $(this);
tags = Array();
currentTags = tagInput.val().split(',');
tagText = currentTags.pop().trim();
oldTags = '';
tagTextWordLenght = tagText.split(" ").length;
if(tagTextWordLenght > 4)
{
tagInput.val(currentTags);
$('textarea[name="comment"]').focus();
$('textarea[name="comment"]').val(tagText);
}
$.each(currentTags, function (index, value) {
oldTags = oldTags + value.trim() + ', ';
});
if(tagText.length >= 3)
{
if(tagSearch) {
tagSearch.abort();
}
tagSearch = $.ajax({
url: '/restapi/tags.json',
type: 'get',
data: { q : tagText },
dataType: 'json',
cache: false,
success: function(results) {
tags = Array();
$.each(results.tags, function (index, value) {
tags.push(value.name);
});
tagInput.autocomplete({
source: function( request, response ) {
response(tags);
},
appendTo: tagInput.parent(),
delay: 400,
open: function() {
// menu = tagInput.parent().first('.ui-autocomplete');
// menu.width(menu.width()-6).css('left', (menu.offset().left+4));
},
focus: function( event, ui ) {
return false;
},
select: function( event, ui ) {
tagInput.val( oldTags + ui.item.label );
return false;
}
});
}
});
}
});
// TOUT LIGHTBOX STUFF
$('a[lightbox="tout"]').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(typeof $(this).attr('qid') !== 'undefined') {
if (!td_globals.lgd_in) {
cta = true;
}
lightboxAJAX('/lightbox/tout?lightbox=1&qid='+$(this).attr('qid'));
} else if(typeof $(this).attr('vid') !== 'undefined') {
lightboxAJAX('/lightbox/tout?lightbox=1&vid='+$(this).attr('vid'));
} else if(typeof $(this).attr('tid') !== 'undefined') {
lightboxAJAX('/lightbox/tout?lightbox=1&tid='+$(this).attr('tid'));
} else {
lightboxAJAX('/lightbox/tout?lightbox=1');
}
});
$('#tout .typeSelector td a').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
clicked = $(this).parent();
linkClass = $(this).parent().attr('class');
clicked.addClass('active');
$('#tout-type').removeClass('default');
$('input[name="type"]').val(clicked.attr('val'));
$('#tout-type span').html(clicked.html()).removeClass().addClass(linkClass);
closeDropdown('tout-type');
$('#tout #instructions').slideUp(400);
$('#tout .typeSelector td').not(clicked).hide(400, function() {
$('#tout .typeSelector').fadeOut(400, function() {
$(this).remove();
});
$('#tout tr.bottom').slideDown(400);
$('.toutForm form#'+linkClass).slideDown(400).addClass('active');
});
//set the values of a vendor
if (e.vendor_location !== 'undefined' && e.vendor_location) {
var selected_form = $('#tout form[id="'+e.vendor_type.toLowerCase()+'"]');
selected_form.find('input[name="vendor"]').val(e.vendor_name);
selected_form.find('input[name="location"]').val(e.vendor_location);
selected_form.find('input[name="vendor_id"]').val(e.vendor_id);
selected_form.find('input[name="location_id"]').val(e.vendor_loc_id);
}
});
// HANDELS RECOMMENDATION THINGS
$('#tout form.active input[name="thing"]').live('blur', function(e) {
var placeholder = 'e.g. Canon Rebel T3I, Crayola Bathtub Crayons, Beach Ball';
if($(this).val() !== '' && $(this).val() !== placeholder && $(this).val() !== thing)
populateThingResults();
});
// HANDELS RECOMMENDATION VENDOR SEARCH NAME
$('#tout form.active input[name="vendor"]').live('blur', function(e) {
var input_location = $(this).closest('form').find('input[name="location"]');
if(input_location.val() !== '' && input_location.val() !== 'i.e. New York, NY' && $(this).val() !== vendor_q)
populateVendorResults();
});
// FORGOT PASSWORD LIGHTBOX STUFF
$('a.forgotPassword').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
lightboxAJAX('/lightbox/forgot_password?lightbox=1');
});
// EDIT GROUP LIGHTBOX STUFF
$('a[lightbox="edit_group"]').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
lightboxAJAX('/lightbox/edit_group?lightbox=1&group_id='+$(this).data('group-id'));
});
// LOGIN / SIGNUP LIGHTBOX STUFF
$('a[lightbox="signup_login"]').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
lightboxAJAX('/lightbox/signup_login?lightbox=1');
});
if (!mobile) {
//TOOLTIPPER ACTIVATE
var path = window.location.pathname.split('/')[1];
var area;
if (path === 'activity') {
area = 'first_activity';
} else if(false) {
}
if(area) {
toolTipper(area, 'false').done(function(response) {
if(response) {
showTooltip(getTooltip(area, parseInt(response[area])));
}
});
}
$('#facebookUnlink').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/unlink');
});
$('.facebookLogin').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/authenticate');
});
// AK -- added login and unlink for google
$('#googleUnlink').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/unlink/google');
});
$('#windowsUnlink').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/unlink/windowslive');
});
$('#googleLogin').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/authenticate/google');
});
$('#windowsLogin').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
showLoading();
fb_window('/oauth/authenticate/windowslive');
});
}
$('a.createTab').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
$('#signupLogin .nonFacebook .login').slideUp(200, function() {
$('#signupLogin .nonFacebook .create').slideDown(400);
});
});
$('a.loginTab').live('click', function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
$('#signupLogin .nonFacebook .create').slideUp(200, function() {
$('#signupLogin .nonFacebook .login').slideDown(400);
});
});
//----------- Filter Network Buttons --------------
//old dropdown code below
// $('#filters li').on('click', function() {
// set_filter_param(this);
// });
});
// SETTING UP GEOCODER FOR USAGE
geocoder = new google.maps.Geocoder();
if(window.opener) {
window.opener.callback_complete(error);
}
var vendorAdded;
var searchQ;
var grid_index;
var dashboardQueue = null;
var currentSlide;
var slideCount;
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
var slideDelay = 7000;
var vendorSearch;
var count;
var sliderQueue;
var cta = false;
// FUNCTIONS
function activateSearchbar() {
$('form#search input[name="q"]').live('keydown', function(e) {
if(e.which == 13) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
$('form#search input[name="q"]').blur();
$('#searchResults li.hover a.resultContainer')[0].click();
} else if(e.which == 27 || (e.which == 8 && $('form#search input[name="q"]').val().length < 4)) {
closeSearchResults();
} else if (e.which == 38 || e.which == 40) { // Up and Down Key Controls
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(e.which == 40) { // Down Key
next = $('#searchResults ul li.hover').next('li');
if(next.length == 0) {
next = $('#searchResults ul li.hover').closest('ul').find('li:first');
}
}
if(e.which == 38) { // Up Key
next = $('#searchResults ul li.hover').prev('li');
if(next.length == 0) {
next = $('#searchResults ul li.hover').closest('ul').find('li:last');
}
}
$('#searchResults li.hover').removeClass('hover');
next.addClass('hover');
grid_index = next.index();
} else if (e.which == 37 || e.which == 39) { // Left and Right Key Controls
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
if(e.which == 39) { // Right Key
next = $('#searchResults ul li.hover').closest('td').next('td');
if(next.length == 0) {
next = $('#searchResults td:first');
}
}
if(e.which == 37) { // Left Key
next = $('#searchResults ul li.hover').closest('td').prev('td');
if(next.length == 0) {
next = $('#searchResults td:last');
}
}
$('#searchResults li.hover').removeClass('hover');
if(grid_index > (next.find('li').length-1)) {
next.find('li:last').addClass('hover');
} else {
next.find('li:eq('+grid_index+')').addClass('hover');
}
}
}).live('keyup', function(e) {
if (e.which == 37 || e.which == 38 || e.which == 39 || e.which == 40 || e.which == 13 || e.which == 27) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
} else if($('form#search input[name="q"]').val().length >= 3) {
//RVS - prevent the backspace keystrokes to ping the search results
if (e.which === 8 || e.which === 46) {
return;
}
if(searchQ) {
searchQ.abort();
}
searchQ = $.ajax({
url: '/search/results',
type: 'post',
data: $('form#search').serialize(),
dataType: 'html',
cache: false,
success: function(response){
openSearchResults(response);
}
});
} else {
closeSearchResults();
}
});
}
function openSearchResults(data) {
if($('#searchResults').is(':visible')) {
refreshSearchResults(data);
} else {
$('#searchResults').fadeIn(200, function() {
$('#searchResults .container').empty().html(data).slideDown(200, function() {
$('#searchResults li:not(.noResults) .resultContainer').highlight($('form#search input[name="q"]').val());
$('#searchResults li .resultContainer input[name="category"]').val($('form#search input[name="q"]').val());
activateSearchResults();
activateShowLocationButtons();
if($('form#search input[name="location"]').val() !== '' && $('form#search input[name="location"]').val() !== 'i.e. New York, NY or 10007')
{
$('#searchResults li .resultContainer input[name="location"]').val($('form#search input[name="location"]').val());
$('#searchResults li .resultContainer input[name="location_id"]').val($('form#search input[name="location_id"]').val());
$('a.showLocation').trigger('click');
}
});
});
}
}
function refreshSearchResults(data) {
$('#searchResults .container').empty().html(data);
$('#searchResults li:not(.noResults) .resultContainer').highlight($('form#search input[name="q"]').val());
$('#searchResults li .resultContainer input[name="category"]').val($('form#search input[name="q"]').val());
if($('form#search input[name="location"]').val() !== '' && $('form#search input[name="location"]').val() !== 'i.e. New York, NY or 10007')
{
$('#searchResults li .resultContainer input[name="location"]').val($('form#search input[name="location"]').val());
$('#searchResults li .resultContainer input[name="location_id"]').val($('form#search input[name="location_id"]').val());
$('a.showLocation').trigger('click',['impact']);
}
activateSearchResults();
}
function activateSearchResults() {
bindSelect('select:not(".chzn-select"), input[type="checkbox"]');
$('#searchResults .bottom').on('click', function(){
closeSearchResults();
});
$('#searchResults').click(function(e) {
// Only executed witht he No Results Lightbox
if($('#searchResults table tr td').hasClass('noResults'))
{
var searchResultsWidth = 980;
var minX = ($(window).width() - searchResultsWidth ) / 2;
var maxX = ( ($(window).width() - searchResultsWidth ) / 2 ) + searchResultsWidth;
if(e.pageX <= minX || e.pageX >= maxX )
closeSearchResults();
}
else
closeSearchResults();
});
$(document).keydown(function(key) {
if(key.keyCode == '27') {
closeSearchResults();
}
});
first = $('#searchResults li:not(.noResults)').first();
grid_index = first.index();
first.addClass('hover')
$('#searchResults li:not(.noResults)').hover(function() {
$('#searchResults li.hover').removeClass('hover');
$(this).addClass('hover');
}, function() {
$('#searchResults li.hover').removeClass('hover');
$('#searchResults li:first').addClass('hover');
});
}
function closeSearchResults() {
if(searchQ) {
searchQ.abort();
}
$('#searchResults .container').stop(true, true).slideUp(200, function() {
$('#searchResults').stop(true, true).fadeOut(200);
});
}
function submitForm(link, formSelector, data) {
showLoading();
//disable submit ask buttons
if (link.attr('form') && (link.attr('form') == 'ask')) {
link.bind('click', false);
}
data = typeof data !== 'undefined' ? data : $(formSelector).serialize();
if (cta && !td_globals.lgd_in) {
data += '&cta=true';
}
$.ajax({
url: link.attr('submit'),
type: 'post',
data: data,
dataType: 'json',
cache: false,
success: function(response) {
$('input, select').removeClass('error');
$('.labelField').removeClass('error').find('p.error').remove();
$('.errorMsg').stop(true, true).fadeOut(200);
if(response.success) {
if($('#lightbox').hasClass('settings')) {
$('#lightbox #loading span').text('Updating...');
lightboxAJAX('/lightbox/account_settings?tab='+$('#accountSettings .tabContent.active').attr('tab')+'&lightbox=1');
} else if(typeof response.redirect !== 'undefined') {
if(link.attr('form') == 'login') {
$('#lightbox #loading span').text('Logging In...');
}
window.location = response.redirect;
} else if(response.reload) {
window.location.reload();
} else if(response.friendifier) {
if(typeof response.freq !== 'undefined') {
$('#friendDropdown-'+response.id+' ul.options li a').each(function() {
$(this).removeClass('active');
if(parseInt($(this).attr('frequency')) == response.freq) {
$(this).addClass('active');
}
});
} else {
var button = $('a.friendifier[friend_id="'+response.id+'"]').first();
if ($('a.friendifier[area="lightbox"]').length > 0) {
removeLoading();
closeLightbox();
}
if(button.attr('friendship') == '0') { // SEND BUTTON
button.fadeOut(100, function() {
button.text('Cancel Friend Request').attr('friendship', '2').attr('submit', '/restapi/unfriend.json').fadeIn(400);
});
} else if(button.attr('friendship') == '1') { // UNFRIEND BUTTON
if(button.attr('area') == 'user_profile') {
button.closest('.userContainer').slideUp(200, function() {
$(this).closest('tr').remove();
});
} else {
button.parent().find('.dropdownContainer').fadeOut(100, function() {
$(this).remove();
});
button.fadeOut(100, function() {
button.text('Send Friend Request').attr('friendship', '0').attr('submit', '/restapi/friend.json').fadeIn(400);
});
}
} else if(button.attr('friendship') == '2') { // CANCEL BUTTON
button.fadeOut(100, function() {
button.text('Send Friend Request').attr('friendship', '0').attr('submit', '/restapi/friend.json').fadeIn(400);
});
} else if(button.attr('friendship') == '3') { // ACCEPT BUTTON
if(button.attr('area') == 'pending') {
button.closest('.userContainer').slideUp(200, function() {
$(this).closest('tr').remove();
});
} else {
friendDropdown = '<div class="dropdownContainer unselectable"> <div id="friendDropdown-'+response.id+'" class="dropdown unselectable friendDropdown"> <div class="arrow"></div> <span>Real Time</span> <ul class="options"> <li><a submit="/restapi/update_email_freq.json" class="updateFriendFreq active" frequency="1" friend_id="'+response.id+'">Real Time</a></li><li><a submit="/restapi/update_email_freq.json" class="updateFriendFreq" frequency="2" friend_id="'+response.id+'">Daily</a></li><li><a submit="/restapi/update_email_freq.json" class="updateFriendFreq" frequency="3" friend_id="'+response.id+'">Weekly</a></li><li><a submit="/restapi/update_email_freq.json" class="updateFriendFreq" frequency="-2" friend_id="'+response.id+'">Never</a></li> </ul> </div> </div>';
button.parent().find('a.friendifier[friendship="4"]').fadeOut(100, function() {
$(this).remove();
});
button.fadeOut(100, function() {
button.text('Unfriend').attr('friendship', '1').attr('submit', '/restapi/unfriend.json').fadeIn(400);
});
$(friendDropdown).hide().appendTo('#ctaContainer-'+response.id).delay(100).fadeIn(400, function() {
bindDropdown($(this).find('.dropdown').attr('id'));
});
button.closest('.user-CTA').append($(friendDropdown)).find('.dropdownContainer').delay(100).fadeIn(400, function() {
bindDropdown($(this).find('.dropdown').attr('id'));
});
}
} else if(button.attr('friendship') == '4') { // IGNORE BUTTON
if(button.attr('area') == 'pending') {
button.closest('.userContainer').slideUp(200, function() {
$(this).closest('tr').remove();
});
} else {
button.fadeOut(100, function() {
button.text('Send Friend Request').attr('friendship', '0').attr('submit', '/restapi/friend.json').fadeIn(400);
});
}
}
}
} else {
removeLoading();
lightboxAJAX('/lightbox/success?title='+response.title+'&msgs='+response.msgs+'&lightbox=1');
}
} else {
removeLoading();
//in the case of errors rebind the ask submit
if (link.attr('form') && (link.attr('form') == 'ask')) {
link.unbind('click', false);
}
$.each(response.msgs, function(variable, msg) {
if(typeof msg == 'object') {
$.each(msg, function(index, error) {
$($('input[name="'+variable+'[]"], select[name="'+variable+'[]"], textarea[name="'+variable+'[]"]')[index]).addClass('error').closest('.labelField').addClass('error').append('<p class="error">* '+error+'</p>');
});
} else {
$('input[name="'+variable+'"], select[name="'+variable+'"], textarea[name="'+variable+'"]').addClass('error').closest('.labelField').addClass('error').append('<p class="error">* '+msg+'</p>');
}
});
}
}
});
}
function showLoading(title) {
if(title)
$('#lightbox #loading span').text(title);
$('#lightbox #loading').css({
'top': (($(window).height()-$('#lightbox #loading').outerHeight())/4),
'left': (($(window).width()-$('#lightbox #loading').outerWidth())/2)
}).fadeIn(400);
$(window).resize(function() {
$('#lightbox #loading').css({
'top': (($(window).height()-$('#lightbox #loading').outerHeight())/4),
'left': (($(window).width()-$('#lightbox #loading').outerWidth())/2)
});
});
return false;
}
function removeLoading(title) {
title = title ? title : 'Loading...';
$('#lightbox #loading').fadeOut(200);
$('#lightbox #loading span').text(title);
}
function lightboxAJAX(path,params) {
if(!params)
{
$.ajax({
url: path,
type: 'get',
dataType: 'html',
cache: false,
success: function(response) {
openLightbox(response);
}
});
}
else
{
$.ajax({
url: path,
type: 'post',
dataType: 'html',
data: params,
cache: false,
success: function(response) {
openLightbox(response);
}
});
}
}
function openLightbox(data) {
if($('#lightbox').length > 0) {
changeLightbox(data);
}
else
{
if(mobile) {
$(window).scrollTop(0);
$(data).insertAfter('#footer');
$('#lightbox').css('min-height', $(document).height());
$('#lightbox .container').slideDown(800, function() {
$('#lightbox a.close').click(function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
closeLightbox();
});
});
bindDropdown('.dropdown');
bindSelect('select:not(".chzn-select"), input[type="checkbox"]');
activateTextarea();
}
else
{
$(data).insertAfter('#footer').fadeIn(400, function() {
$('#lightbox .container').slideDown(400, function() {
resizeLightbox();
$('#lightbox a.close').click(function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
closeLightbox();
});
$(window).resize(function() {
resizeLightbox();
});
$(document).keydown(function(key) {
if(key.keyCode == '27') {
closeLightbox();
}
});
$('html').click(function(e) {
if(($(e.target).closest('#lightbox .container').length === 0) && ($(e.target).closest('.ui-autocomplete').length === 0))
{
if($(e.target).attr('class') != 'search-choice-close')
{
closeLightbox();
}
}
});
//need to set vendor logic for this event
if ($('.typeSelector').length > 0 && $('input[name="vendor_data"]').length > 0) {
set_vendor_data();
}
});
bindDropdown('.dropdown');
bindSelect('select:not(".chzn-select"), input[type="checkbox"]');
activatePlaceholders();
// ASK A QUESTION LIGHTBOX
if($(this).attr('class') == 'ask')
{
activateShowLocationButtons();
}
// ASK A QUESTION LIGHTBOX
if($(this).attr('class') == 'tout')
{
// Prevent Submiting, Trigger Search Results
$('form#thing').submit(function() {
$('form.active input[name="thing"]').trigger('blur');
return false;
});
}
// INVITE MORE FIRENDS LIGHTBOX
if($(this).attr('class') == 'friend' )
{
activateScrollbar('#scrollbar1'); // Friends Contacts Scrollbar
// Only Render from the beggining on Invite
if($(this).find('#friend').attr('action') == 'invite')
activateScrollbar('#scrollbar3'); // Gmail Scrollbar
activateLiveFilter('#toutd-forward .livefilter','#toutd-forward .userItem','#scrollbar1');
activateLiveFilter('.email-tab .livefilter','.email-tab .userItem','#scrollbar3');
activateLiveFilter('#facebook-friend .livefilter','#facebook-friend .userItem','#scrollbar2');
selectAllFriends('.select-all-friends','.toutd-tab .userContainer');
selectAllFriends('.select-all-gmail','.email-tab .userContainer');
selectAllFriends('.select-all-facebook','#facebook-friend .userContainer');
}
});
}
}
}
function selectAllFriends(selector,target)
{
$(selector).live('click',function(e){
if(!$(this).hasClass('selected'))
{
$(this).addClass('selected');
$(selector + '-title').html('Unselect');
$(target).trigger('click',['select']);
}
else
{
$(this).removeClass('selected');
$(selector + '-title').html('Select');
$(target).trigger('click',['unselect']);
}
});
}
function changeLightbox(data) {
$(document).unbind('keydown');
$('html').unbind('click');
$('#lightbox .container').slideUp(400, function() {
$('#lightbox').empty();
if(data) {
$('#lightbox').html($(data).html()).removeClass().addClass($(data).attr('class'));
$('#lightbox .container').slideDown(400, function() {
$('#lightbox a.close').click(function(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
closeLightbox();
});
if(!mobile) {
resizeLightbox();
$(window).resize(function() {
resizeLightbox();
});
$(document).keydown(function(key) {
if(key.keyCode == '27') {
closeLightbox();
}
});
$('html').click(function(e) {
if(($(e.target).closest('#lightbox .container').length === 0) && ($(e.target).closest('.ui-autocomplete').length === 0)) {
closeLightbox();
}
});
//Activate Facebook Friends Scrollbar
if($(data).attr('class') == 'friend')
{
activateScrollbar('#scrollbar2');
if ($(this).find('#email-invite').length > 0) {
activateScrollbar('#scrollbar3');
}
}
}
bindDropdown('.dropdown');
bindSelect('select[class!="chzn-select"], input[type="checkbox"]');
activatePlaceholders();
activateTextarea();
// Activate Scrollbars
activateScrollbar('#scrollbar1'); // Friends Contacts Scrollbar
activateScrollbar('#scrollbar2'); // Facebook Scrollbar
activateScrollbar('#scrollbar3'); // Gmail Scrollbar
// Prevent Submiting, Trigger Search Results
$('form#thing').submit(function() {
$('form.active input[name="thing"]').trigger('blur');
return false;
});
// Only When Vendor Search Lightbox is Opened
if($(this).parent().hasClass('vendor_search') || $(this).parent().hasClass('thing_search'))
{
activateLightboxSuggestion();
activateScrollbar('#scrollbar4',false,{ sizethumb: 30, size: 345 }); // Results
activateScrollbar('#scrollbar4',true,false,345);
}
// Activate Live Filters
activateLiveFilter('#toutd-forward .livefilter','#toutd-forward .userItem','#scrollbar1');
activateLiveFilter('.email-tab .livefilter','.email-tab .userItem','#scrollbar3');
activateLiveFilter('#facebook-friend .livefilter','#facebook-friend .userItem','#scrollbar2');
selectAllFriends('.select-all-friends','.toutd-tab .userContainer');
selectAllFriends('.select-all-gmail','.email-tab .userContainer');
selectAllFriends('.select-all-facebook','#facebook-friend .userContainer');
});
}
});
}
function resizeLightbox() {
contentHeight = ($(window).height()-$('#lightbox .container').position().top-$('#lightbox .boxHeading').outerHeight()-50);
$('#lightbox .content').css({
maxHeight: contentHeight
});
}
function closeLightbox(data) {
// When Closing Vendor Search Lightbox it means that it open as a second lightbox
// therefore we must reopen the first lightbox from were it was called
if($('#lightbox').hasClass('vendor_search') || $('#lightbox').hasClass('thing_search') )
{
reopenToutLightbox();
return true;
}
if(mobile) {
$(window).scrollTop(0);
$(data).insertAfter('#footer');
$('#lightbox .container').slideUp(400, function() {
$('#lightbox').remove();
});
}
else
{
$('#lightbox .container').slideUp(400, function() {
$('#lightbox').fadeOut(400, function() {
$('#lightbox').remove();
if(data) {
openLightbox(data);
}
});
});
$(document).unbind('keydown');
$('html').unbind('click');
}
}
function closeDashboard() {
if(mobile) {
$('#mobileDashboard').stop(true, false).slideUp(400);
} else {
$('#userTab').parent().find('.content').stop(true, false).animate({
opacity: 0
}, 100, function() {
$(this).stop(true, false).slideUp(200, 'linear');
$(this).parent().find('#userTab').stop(true, false).animate({
'padding': '0 10px',
'height': '45px'
}, 200, 'linear').find('.info').stop(true, false).animate({
'width': '220px'
}, 200, 'linear').find('.name').stop(true, false).animate({
'font-size': '14px',
'margin-top': '10px'
}, 200, 'linear').parent().find('.location, .profileLink').stop(true, false).hide();
$('#userTab .userThumb img, #userTab .userThumb .innerShadow, #userTab .userThumb').animate({
height: '30px',
width: '30px'
}, 200, 'linear');
$(this).parent().stop(true, false).animate({
width: '310px'
}, 200, 'linear');
});
$('#userTab').toggleClass('open');
}
}
function openDashboard() {
if(mobile) {
$('#mobileDashboard').stop(true, false).css('min-height', $(document).height()).slideDown(800, function() {
$(window).scrollTop(0);
$(this).live('click', function() {
closeDashboard();
});
});
} else {
$('#userTab').stop(true, false).toggleClass('open').stop(true, false).animate({
'padding': '5px 15px 0',
'height': '80px'
}, 200, 'linear').find('.info').stop(true, false).animate({
'width': '300px'
}, 200, 'linear').find('.name').stop(true, false).animate({
'font-size': '18px',
'margin-top': '7px'
}, 200, 'linear').parent().find('.location, .profileLink').stop(true, false).fadeIn(200);
$('#userTab .userThumb img, #userTab .userThumb .innerShadow, #userTab .userThumb').animate({
height: '60px',
width: '60px'
}, 200, 'linear');
$('#userTab').parent().stop(true, false).animate({
width: '400px'
}, 200, 'linear').find('.content').stop(true, false).slideDown(200, 'linear', function() {
$(this).stop(true, false).animate({
opacity: 1
}, 100 );
});
}
}
/**
* Activate Multiple Select
* @param string selector - Id/Class of desired scrollbar
*
*/
function activateMultipleSelect(selector)
{
// Predefined Selector
if(selector) selector = $(selector); else selector = $('.chzn-select');
//Render Multiple Select
selector.chosen();
}
/**
* Activate Auto Suggest
* @param string selector - Id/Class of desired scrollbar
*
*/
// function activateAutoSuggest(selector) {
// // Predefined Selector
// selector = (selector) ? $(selector) : $('.auto_suggest');
// $.ajax({
// url: '/restapi/gmail_contacts.json',
// type: 'get',
// dataType: 'json',
// success: function(data) {
// if(data.success) {
// selector.autoSuggest(data.gmail_contacts, {selectedItemProp: "name", searchObjProps: "name"});
// } else {
// selector.autoSuggest({items: [{name: "No Results"}]}, {selectedItemProp: "name", searchObjProps: "name"});
// }
// }
// });
// }
// Resize Viewport base on item quantities
function viewportSizes(size)
{
switch(size)
{
case 0: return '40px';
case 1:
case 2: return '60px';
case 3:
case 4: return '120px';
case 5:
case 6: return '180px';
default: return '245px';
}
}
/**
* Live Filter working with Tinyscroll
*
* @param searchBar - Search bar class/id Ex '.filter' '#filter'
* @param content - Conter class/id name Ex '.class' or '#id'
* @param tinyscroll - Tinyscroll selector ( Must be anticipate declared! )
*/
function activateLiveFilter(searchBar,content,tinyscroll){
// Live Filter
$(searchBar).fastLiveFilter(content,{
timeout: 200,
// Update Scrollbar and Autosize Viewport after filtering
callback: function(e,total) {
activateScrollbar(tinyscroll,true);
e.parent().find('.viewport').attr('style','height: ' + viewportSizes(total));
}
});
}
/**
* Activate Scrollbar
*
* @param string selector - Id/Class of desired scrollbar
* @param params - Define your own Tiny Scrollbar params
*
**/
function activateScrollbar(selector,update,params,viewportHeight) {
// Predefined Variables
var viewportHeight = (viewportHeight) ? viewportHeight : 245;
var thumbSize = 30;
var selector = (selector) ? $(selector) : $('.tinyscroll');
var params = (params) ? params : { sizethumb: thumbSize, size: viewportHeight };
var viewport = selector.children('.viewport');
var total = viewport.children().children().children('ol').children('li').size();
// Update Scroll
if(update)
{
// Update only activated scrolls
if(selector.hasClass('scroll-activated'))
{
viewport.height(viewportHeight);
selector.tinyscrollbar_update(params);
}
// Throw update error
else
{
return 'Tinyscroll cant be updated, the selected scroll has not been activated';
}
}
// Render New Scroll
else if(!selector.hasClass('scroll-activated'))
{
selector.addClass('scroll-activated');
viewport.height( viewportSizes(total));
selector.tinyscrollbar(params);
}
}
function activateTextarea() {
$('textarea').autosize().live('focusin',function() {
$(this).addClass('focused');
if($(this).hasClass('default')) {
$(this).attr('placeholder', '');
}
}).live('focusout',function() {
$(this).removeClass('focused');
if($(this).val() == '') {
var dtext = $(this).attr('dtext');
if(dtext){
$(this).attr('placeholder', dtext).addClass('default');
}
} else {
$(this).removeClass('default').removeClass('error').closest('.error').removeClass('error').find('p.error').remove();
$('.errorMsg').stop(true, true).fadeOut(400);
}
});
}
function bindDropdown(e){
// $('#tout-type').live('click',function(){ openDropdown('#'+$(this).attr('id')); });
$(e+' span').live('click',function(){ openDropdown('#'+$(this).parent().attr('id')); });
$(e+' .arrow').live('click', function(){
openDropdown('#'+$(this).parent().attr('id'));
});
}
function bindSelect(e) {
if(!mobile) {
$(e).uniform();
}
}
function openDropdown(e){
$('.dropdown span.clicked').each(function() {
if('#'+$(this).parent().attr('id') != e) {
closeDropdown('#'+$(this).parent().attr('id'));
}
});
if(!$(e+' span').hasClass('clicked')) {
$(e).css('z-index', (parseInt($(e).css('z-index'))+100));
$(e+' ul.options, '+e+' ul#locations').slideDown(200, function() {
$(e).addClass('clicked');
$(e+' span').addClass('clicked');
$(e+' .arrow').addClass('clicked');
$('html').click(function(event) {
if(($(event.target).closest('.options').length === 0) && ($(event.target).closest('#locations').length === 0)) {
if(e === "#locationDropdown" && $(e + ' input[name="location"]').val() === '' ||
e === "#locationDropdown" && $(e + ' input[name="location"]').val() === 'i.e. New York, NY or 10007')
{
$('.resultContainer .addLocation input[name="location"]').val('');
$('.addLocation').slideUp(400);
$('#askQuestion .category').width('');
$('.showLocation').show();
}
closeDropdown(e);
}
});
$(document).keydown(function(key) {
if(key.keyCode == '27') {
closeDropdown(e);
}
});
$(e+' span').click(function(f) {
closeDropdown(e);
});
});
}
$(e+' ul.options li, '+e+' ul#locations ul.locations li').live('click', function(f) {
if($(this).closest('#tout-type').length > 0) {
linkClass = $(this).attr('class');
$(this).closest('#tout-type').removeClass('default');
$('input[name="type"]').val($(this).attr('val'));
$(e+' span').html($(this).html()).removeClass().addClass(linkClass);
closeDropdown(e);
$('.toutForm form.active').removeClass('active').slideUp(200, function() {
$('.toutForm form#'+linkClass).slideDown(400).addClass('active');
});
} else if($(this).closest('.friendDropdown').length > 0) {
var link = $(this).find('a');
if(link.hasClass('active')) {
closeDropdown(e);
} else {
submitForm(link, '', 'friend_id='+link.attr('friend_id')+'&frequency='+link.attr('frequency'));
$(e).find('span').html(link.html());
closeDropdown(e);
}
} else {
$(e+' span').html($(this).html());
closeDropdown(e);
}
});
}
function closeDropdown(e) {
$(e).css('z-index', 15700);
$(e+' ul.options, '+e+' ul#locations').slideUp(100, function() {
$(e).removeClass('clicked');
$(e+' .arrow').removeClass('clicked');
$(e+' span').removeClass('clicked');
$(document).unbind('keydown');
$('html').unbind('click');
activateSearchbar();
});
}
//
// Populate Vendor Results
//
var thing = '';
var thing_id = '';
var vendor_q = '';
var vendor_id = '';
var loc_q = '';
var loc_id = '';
var recommend_comments = '';
var recommend_category = '';
var prev_category = '';
var tab_id = false;
var q_id = false;
var vendor_search_flag = false;
function populateVendorResults() {
// Assign Values to Variables
q_id = $('form.active input[name="question_id"]').val();
vendor_q = $('form.active input[name="vendor"]').val();
vendor_id = '';
loc_q = $('form.active input[name="location"]').val();
loc_id = $('form.active input[name="location_id"]').val();
recommend_comments = $('form.active textarea').val();
recommend_category = $('input[name="category"]').val();
vendor_search_flag = true;
if(loc_q == 'i.e. New York, NY')
return true;
if(vendorSearch) {
vendorSearch.abort();
}
// Assign Tab Id
switch($('form.active').attr('id'))
{
case 'person': tab_id = 1; break;
case 'place' : tab_id = 2; break;
}
showLoading('Searching...');
vendorSearch = $.ajax({
url: '/lightbox/vendor_search?lightbox=1',
type: 'post',
data: { location_id : loc_id , location : loc_q , vendor : vendor_q , type: $('#tout #tout-type input[name="type"]').val() },
dataType: 'html',
cache: false,
success: function(results) {
// Turn Off Flag
vendor_search_flag = false;
//Remove Searching
removeLoading('Searching...');
// Open Suggestion Lightbox
openLightbox(results);
}
});
}
// ----------------- Populate Things Results ----------------
function populateThingResults(){
tab_id = 3;
q_id = $('form.active input[name="question_id"]').val();
thing = $('form.active input[name="thing"]').val();
thing_id = '';
recommend_comments = $('form.active textarea').val();
recommend_category = $('input[name="category"]').val();
vendor_search_flag = true;
showLoading('Searching...');
$.ajax({
url: '/lightbox/thing_search?lightbox=1',
type: 'get',
data: { thing : thing },
dataType: 'html',
cache: false,
success: function(results) {
// Turn Off Flag
vendor_search_flag = false;
//Remove Searching
removeLoading('Searching...');
// Open Suggestion Lightbox
openLightbox(results);
}
});
}
// Suggestion Has been selected Logic
function activateLightboxSuggestion()
{
// LIGTBOX TABS
$('.vendorSearch a.changeTab').on('click', function(e) {
var e = $(this);
$('.vendorSearch .tabsContainer').stop(true, false).slideUp(200, function() {
$('.vendorSearch a.changeTab').removeClass('active');
$(e).addClass('active');
$('.vendorSearch .tabsContainer .tabs').hide();
$(this).show().attr('style','');
$('#' + e.attr('tab')).slideDown(400);
});
});
// REDIRECT TO ADD A NEW PLACE/PERSON/THING
$('.vendorSearch a.redirectToAddNewVendorBt').on('click', function(e) {
resizeLightbox();
$('.vendorSearch .tabsContainer').stop(true, false).slideUp(200, function() {
$('.vendorSearch a.changeTab').removeClass('active');
$('.vendorSearch a.changeTab[tab="addNewVendor"]').addClass('active');
$('.vendorSearch .tabsContainer .tabs').hide();
$(this).show().attr('style','');
$('.vendorSearch #addNewVendor').slideDown(400);
});
return false;
});
// Add This Vendor Button
$('.vendorSearch a.submitVendor, .vendorSearch a.submitProduct').on('click', function(e) {
$.ajax({
url: $(this).attr('submit'),
type: 'post',
data: $(this).closest('form').serialize(),
dataType: 'json',
cache: false,
success: function(result) {
if(result.thing_id !== '')
{
thing = result.thing;
thing_id = result.thing_id;
}
if(result.vendor_id !== '')
{
vendor_q = result.vendor;
vendor_id = result.vendor_id;
}
reopenToutLightbox();
}
});
return false;
});
$('.vendorSearch a.result').on('click', function(e) {
vendor = $(this);
// SAVE A THING
if(tab_id == 3)
{
if (thingAdded) {
thingAdded.abort();
}
var thingAdded = $.ajax({
url: '/restapi/save_thing.json',
type: 'post',
data: {
image_path : vendor.attr('image_path'),
name : vendor.attr('name'),
asin : vendor.attr('asin'),
category : vendor.attr('category'),
large_image_path : vendor.attr('large_image_path'),
thing_url : vendor.attr('url')
},
dataType: 'json',
cache: false,
success: function(result) {
thing = vendor.attr('name');
thing_id = result.thing_id;
var separator = ', ';
// First Category Selected
if(prev_category === '' || recommend_category.match(prev_category) === null) {
// there are some categories already so add a comman
if(recommend_category !== '' && recommend_category !== 'e.g. Digital Camera, Mexican Restaurant, Babysitter' ) {
recommend_category += separator + vendor.attr('category');
}
else {
recommend_category = vendor.attr('category');
}
}
// Second or More Time Catefgory Selected...
else {
recommend_category = recommend_category.replace( separator + prev_category , separator + vendor.attr('category') );
recommend_category = recommend_category.replace( prev_category,vendor.attr('category') );
}
// Previous Category Selected
prev_category = vendor.attr('category');
reopenToutLightbox();
}
});
}
// SAVE A VENDOR (PLACE OR PERSON)
else {
geocoder.geocode({ address : vendor.attr('address') }, function(results, status) {
// if (status == google.maps.GeocoderStatus.OK) {
if(typeof results !== 'undefined' && results.length > 0) {
$.ajax({
url: '/restapi/add_and_return_loc.json',
type: 'post',
data: { location_obj : JSON.stringify(results[0]) },
dataType: 'json',
cache: false,
success: function(result) {
$.ajax({
url: '/restapi/save_vendor.json',
type: 'post',
data: { vendor_name : vendor.attr('name'),
vendor_id : vendor.attr('vendor_id'),
vendor_reference : vendor.attr('vendor_reference'),
location_id : result.location.id },
dataType: 'json',
cache: false,
success: function(vendor_object) {
vendor_q = vendor.attr('name');
vendor_id = vendor_object.vendor_id;
loc_q = result.location.name;
loc_id = result.location.id;
reopenToutLightbox();
}
});
}
});
}
/*} else {
$.ajax({
url: '/restapi/save_vendor.json',
type: 'post',
data: { vendor_name : vendor.attr('name'),
vendor_id : vendor.attr('vendor_id'),
vendor_reference : vendor.attr('vendor_reference'),
location_id : null },
dataType: 'json',
cache: false,
success: function(vendor_object) {
reopenToutLightbox();
}
});
}*/
});
}
return false;
});
}
/*
* Once The User Make a selection form the suggestion list, or either
* if he decided to don't go with anyone we have to reopen previous lightbox
* and repopuplate with the input information
*/
function reopenToutLightbox(type)
{
// Thing Suggestions
if(tab_id == 3)
var params = {
thing : thing,
thing_id : thing_id,
comments : recommend_comments ,
category : recommend_category
};
// Place & Person Suggestions
else
var params = {
vendor_name : vendor_q ,
vendor_id : vendor_id ,
location_name : loc_q ,
location_id : loc_id ,
comments : recommend_comments ,
category : recommend_category
};
lightboxAJAX('/lightbox/tout?lightbox=1&qid=' + q_id + '&tab=' + tab_id, params );
}
function activateSlider() {
sliderQueue = setTimeout(changeSlideWithFades, slideDelay);
}
function changeSlide(slide) {
clearTimeout(sliderQueue);
// var showNext = false;
if(typeof slide == 'undefined') {
slide = currentSlide+1;
// showNext = true;
}
if(slide > (slideCount-1)) {
slide = 0;
} else if(slide < 0) {
slide = slideCount-1;
}
currentSlide = slide;
$('#welcome table.slides td.top .slide').stop(true, false).fadeOut(200, function() {
$(this).removeClass('active');
});
$('#welcome table.slides td.top .slide[slide="'+slide+'"]').delay(400).fadeIn(400, function() {
$(this).addClass('active');
});
$('#welcome table.slides td.imageSide .slide img').stop(true, false).animate({
top: '100%'
}, 400, function() {
$(this).parent().removeClass('active');
});
$('#welcome table.slides td.imageSide .slide[slide="'+slide+'"] img').animate({
top: '0%'
}, 800, function() {
$(this).parent().addClass('active');
});
// if(showNext) {
sliderQueue = setTimeout(changeSlide, slideDelay);
// }
}
function changeSlideWithFades(slide) {
clearTimeout(sliderQueue);
// var showNext = false;
if(typeof slide == 'undefined') {
slide = currentSlide+1;
// showNext = true;
}
if(slide > (slideCount-1)) {
slide = 0;
} else if(slide < 0) {
slide = slideCount-1;
}
currentSlide = slide;
$('#welcome table.slides td.top .slide').stop(true, false).fadeOut(600, function() {
$(this).removeClass('active');
});
$('#welcome table.slides td.top .slide[slide="'+slide+'"]').delay(600).fadeIn(600, function() {
$(this).addClass('active');
});
$('#welcome table.slides td.imageSide .slide.active').fadeOut(600,function() {
$(this).removeClass('active');
});
$('#welcome table.slides td.imageSide .slide[slide="'+slide+'"]').delay(600).fadeIn(600, function() {
$(this).addClass('active');
});
// if(showNext) {
sliderQueue = setTimeout(changeSlideWithFades, slideDelay);
// }
}
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
if (window.location.hash == '#_=_') {
window.location.hash = '';
}
var newwindow;
function callback_complete(error) {
newwindow.close();
if(error == 0) {
if($('#lightbox').hasClass('settings')) {
$('#lightbox #loading span').text('Updating...');
lightboxAJAX('/lightbox/account_settings?tab='+$('#accountSettings .tabContent.active').attr('tab')+'&lightbox=1');
} else if ($('#lightbox').hasClass('signup_login')) {
$('#lightbox #loading span').text('Logging In...');
window.location.reload();
} else if ($('#lightbox').hasClass('friend')) {
$('#lightbox #loading span').text('Updating...');
lightboxAJAX('/lightbox/friend?tab='+$('#friend .changeTab.active').attr('tab')+'&lightbox=1&action='+$('#friend').attr('action')+'&qid='+$('#friend input[name="qid"]').val());
} else {
window.location.reload();
}
}
}
function fb_window(url) {
l=(screen.width-600)/2;
t=(screen.height-350)/2;
newwindow = window.open(url, 'newproductreview', 'height=350,width=600,resizable=no,scrollbars=0,toolbar=no,menubar=no,titlebar=no,status=no,left='+l+',top='+t);
if (window.focus) {
newwindow.focus();
}
}
/* Sample methods to run when testing the tooltip update */
// Still requires code to go into openLightBox() where you do the first ajax call for the first tooltip
var toolTipper = function(tooltip, update) {
return $.ajax({
type: 'get',
url: '/restapi/tool_tip.json',
data: { name: tooltip, update: update },
dataType: 'json',
cache: false
});
};
bindToolTipParams = [
'first_ask'
];
$.each(bindToolTipParams, function(key, val) {
$('#'+val+'-close-btn').on('click', '#'+val, function() {
onClickEvent($(this).attr('id'));
});
//locking pagination down to specific ids
if ($('#endlessScrollContent').length > 0) {
var processing;
var offset = 1;
var data_params = '';
var end_of_activity = false;
$(document).scroll(function(e){
if (processing) {
return false;
}
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 700) {
processing = true;
ntwrk = getParameterByName('ntwrk');
offset = offset+1;
urlParams.offset = offset;
if (ntwrk != '') {
urlParams.ntwrk = ntwrk;
}
data_params = $('#endlessScrollContent').data('params');
if (data_params != '' && (data_params == 'pag=0' || data_params == 'pag=1')) {
value = data_params.split('=');
urlParams.pag = value[1];
} else if (data_params != '') {
urlParams = data_params+'&offset='+offset;
if (ntwrk) {
urlParams = data_params+'&ntwrk='+ntwrk;
}
}
// Display Loading Icon
if(!end_of_activity)
{
$('.loadingMore').css('display', 'block');
}
$.ajax({
type: 'POST',
url: '/restapi/activity_feed_pagination',
data: urlParams,
dataType: 'html',
cache: false
}).done(function(data) {
processing = false;
if (data.length > 0 && data != '') {
$(data).appendTo('#endlessScrollContent').slideDown('slow');
render_time_ago();
renderGoogleMap();
}else
{
end_of_activity = true;
}
// Hide Loading Icon
$('.loadingMore').hide();
});
}
});
// Enable Back To Top Buttom
back_to_top();
}
});
var urlParams = {};
(function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);
while (match = search.exec(query)) {
urlParams[decode(match[1])] = decode(match[2]);
}
})();
//------------------------ FB AJAX Activity Log -----------------------------
function log_activity(fb_activity)
{
if (fb_activity != '') {
$.ajax({
type: 'POST',
url: '/restapi/log_activity.json',
data: { activity: fb_activity },
dataType: 'json',
cache: false
}).done(function(data) {
//do nothing
});
}
}
//----------------------- Back to Top Button --------------------------------
function back_to_top()
{
// Back to Top Buttom Object
var b = $('#backToTop');
b.css({opacity:0});
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
b.stop().css({
display: 'block'
}).animate({
opacity: 1
}, 200);
} else {
b.stop().animate({
opacity: 0
}, 200, function() {
$(this).css({
display: 'none'
});
});
}
});
b.click(function() {
$('body,html').animate({
scrollTop: 0
}, 800);
return false;
});
}
//----------------------- URL sorting selection --------------------------------
function set_filter_param(dom_object) {
var sort_by = $(dom_object).data('sortby');
var count = 0;
var qs = '';
if (urlParams.offset || urlParams.ntwrk || urlParams.sort_by) {
delete urlParams.offset;
delete urlParams.pag;
delete urlParams.ntwrk;
delete urlParams.sort_by;
}
if (!urlParams.user_id && sort_by == 'sort_non_network') {
urlParams.ntwrk = 0;
} else if (sort_by == 'sort_network_only') {
urlParams.ntwrk = 1;
} else {
urlParams.sort_by = sort_by;
}
for(var key in urlParams) {
qs += key+'='+urlParams[key]+'&';
}
var strLen = qs.length;
qs = qs.slice(0, strLen-1);
window.location = td_globals.base_url+'activity?'+qs;
}
function set_dd_selection() {
if (urlParams && (urlParams.ntwrk || urlParams.sort_by)) {
if (urlParams.ntwrk) {
key = 'sort_network_only';
} else if (urlParams.sort_by) {
key = urlParams.sort_by;
}
dd_selection = $('#filters li[data-sortby="'+key+'"]').html();
$('#feedFilters').find('span').html(dd_selection);
}
}
function render_time_ago() {
// TIMEAGO STUFF
$('.timeago').each(function() {
$(this).timeago();
});
}
/**
* Activate Hover Buttons on Q/A feeds
*
*/
function activateFeedsHoverButtons()
{
$('.mainbox').live('mouseenter', function() {
// This element
var e = $(this);
// Hover Button to Show
buttonQueue = setTimeout(function() {
if (typeof e !== 'undefined' && e !== false) {
e.find('ul.ctaFeedButtons').fadeIn(500).addClass('activated');
}
}, 250);
}).live('mouseleave', function() {
// if(!$(this).attr('class').hasClass('question'))
// {
clearTimeout(buttonQueue);
$('ul.ctaFeedButtons').fadeOut(250);
// }
});
}
function getTooltip(area, n) {
var tooltip;
// THIS IS WHERE YOU DEFINE THE TOOLTIPS BASED ON AREA AND ORDER
if(area == 'first_activity') {
if( n == 0) {
tooltip = {
area : area,
n : n,
title: "Welcome to Villij!",
message : "This is your <b>Activity Feed</b>, where you see all of the questions & recommendations of the people in your Villij. You can also see what everyone else on Villij has to say.<br /><br />Filter between <b>My Villij</b> and <b>Everyone</b> using the tabs at the top of the feed.",
append : ".main .pageHeading",
step : 'next <span> 1 / 5</span>'
}
} else if( n == 1) {
tooltip = {
area : area,
n : n,
title: "Main Action Buttons",
message : "At the top of every page you will see the <b>Invite</b>, <b>Recommend</b>, and <b>Ask</b> buttons<br /><br />Use them to start building your network, to ask for help, or to tell others about all of the great things they should check out. Keep in mind… A larger network means more people will be available to answer your questions.",
append : ".main .pageHeading",
step : 'next <span> 2 / 5</span>'
}
} else if( n == 2) {
tooltip = {
area : area,
n : n,
title: "Main Navigation Buttons",
message : "At the top of every page you will also see your 3 <b>Main Navigation Buttons</b>. Scroll over each of these to quickly navigate to other parts of Villij.",
append : "#header .container",
step : 'next <span> 3 / 5</span>'
}
} else if( n == 3) {
tooltip = {
area : area,
n : n,
title: "Search Bar",
message : "Use the <b>Search Bar</b> to view all the previously submitted content on the site. Feel free to enter a location (if location based) to filter the content to a particular geography.<br /><br />Suggestion: Keep it short & sweet (ex: Sushi, Book, Camera, Thai Restaurant, etc)",
append : "#header .container",
step : 'next <span> 4 / 5</span>'
}
} else if( n == 4) {
tooltip = {
area : area,
n : n,
title: "Your Profile & Account Settings",
message : "Here you will find your personal profile where you can manage your account settings, sync with other social sites, and manage your notification frequency.<br /><br /><span>Welcome to <b>Villij!</span></b>",
append : "#header .container",
step : 'close <span> 5 / 5</span>'
}
}
}
return tooltip;
}
function showTooltip(tooltip)
{
// Display Toolitps only when you first login
if(!$.cookie("tooltip_closed"))
{
var called = false;
if(tooltip && ($("[id^=tooltip-]").length === 0 || $("[id^=tooltip-]").length === 1)) {
var attach = '<div id="tooltip-'+tooltip.area+'-'+tooltip.n+'" area="'+tooltip.area+'" class="tooltip "><div class="arrow-up"></div><a class="close">X</a>';
if(tooltip.title)
attach += '<h2>'+tooltip.title;
attach += '</h2><p class="message">'+tooltip.message+'</p><a href="#" class="step submitButton">'+tooltip.step+'</a></div>';
$(attach).appendTo(tooltip.append).delay(1000).animate({
scrollTop: 0
}, 800, function() {
$(this).slideDown(400, function() {
// Close Tooltip and save it on a cookie
$('.tooltip a.close').live('click', function() { $.cookie("tooltip_closed", true , { expires: 1 }) ; closeTooltip($(this).closest('.tooltip'),true);});
$('.tooltip a.step').live('click', function(e) {
if (!called) {
closeTooltip($(this).closest('.tooltip'));
called = true;
}
});
})
});
}
}
}
function closeTooltip(tooltip,close) {
var area = tooltip.attr('area');
tooltip.slideUp(400, function() {
$(this).remove();
});
if(tooltip && ($("[id^=tooltip-]").length === 0 || $("[id^=tooltip-]").length === 1)) {
toolTipper(area,true).done(function(response) {
if(!close)
showTooltip(getTooltip(area, parseInt(response[area])));
});
}
}
function set_vendor_data() {
var vendor_id = $('input[name="vendor_data"]').val();
var vendor_type = $('input[name="vendor_data"]').data('vendor-type');
var vendor_name = $('input[name="vendor_data"]').data('vendor-name');
var vendor_location = $('input[name="vendor_data"]').data('vendor-location');
var vendor_loc_id = $('input[name="vendor_data"]').data('vendor-loc-id');
answer_type = $('#tout .typeSelector td a').filter(function() {
return $.trim($(this).text()) == vendor_type;
});
$(answer_type).trigger({type: 'click', vendor_id: vendor_id , vendor_name: vendor_name, vendor_location: vendor_location, vendor_loc_id: vendor_loc_id, vendor_type: vendor_type});
}
// Activate Placeholders only on browser that are not
// compatible with html5 placeholder
function activatePlaceholders()
{
if(!Modernizr.input.placeholder){
$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('dText')) {
if(input.attr('type') != "password")
{
input.val('');
input.removeClass('placeholder');
if(input.attr('color'))
input.css('color',input.attr('color'));
}
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
if(input.attr('type') != "password")
{
input.addClass('placeholder');
input.val(input.attr('placeholder'));
if(input.css('color') == "#4f1b46" || input.css('color') == "#05606c")
{
input.attr('color',input.css('color'));
input.css('color','#BBBBBB')
};
}
}
}).blur();
}
}
// Only for IE
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}
//-------Show Location & Back to Show Location (X) Buttons -----------------
function activateShowLocationButtons()
{
var parentId = '#askQuestion';
$(parentId +' a.showLocation').live('click', function(e,impact) {
$(this).hide();
$(parentId +' .category').width('100%');
if(impact != 'impact')
$(parentId +' .addLocation').slideDown(400);
else
$(parentId +' .addLocation').show();
});
$(parentId +' a#closeLocation').live('click', function() {
$(parentId +' a.showLocation').show();
$(parentId +' .category').width('');
$(parentId +' .addLocation').slideUp(400);
});
$(parentId +' input[name="location"]').live('focus',
function() {
$(parentId +' a#closeLocation').css('background','#FFFFFF');
}).live('blur',
function() {
$(parentId +' a#closeLocation').css('background','#F9F9F9');
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment