Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
jQuery(document).ready(function($) {
// News Stories Pagination
function paginateNews(){
$('#news-stories').css('visibility', 'hidden')
// change the perPage variable to the number of items you want per page.
var perPage = 10
var stories = $('.news-archive-list li')
var numStories = stories.length
//console.log('numStories'+numStories)
var totalPages = Math.ceil(numStories/perPage)
// only run this function if we need to.
if (totalPages > 1) {
$('#news-pagination').show();
var currentPage = 1
function assignPageNums(){
var pageCount = 1
var storyCount = 1
stories.each(function() {
$(this).addClass('page'+pageCount)
var x = storyCount / perPage
if(Math.floor(x) == x && $.isNumeric(x)) {
pageCount++
}
storyCount++
})
}
function drawPage() {
// only display items from current page
stories.hide()
$('.news-archive-list li.page'+ currentPage).show()
// insert pagination numbered links
$('.page-link-item').remove()
for (i=1; i<=totalPages; i++){
var li = $('<li>')
li.addClass('page-link-item')
var a = $('<a>')
a.attr('href', '#')
a.attr('page', i)
a.addClass('page-link')
a.append(i)
li.append(a)
if (i == currentPage){
li.addClass('active')
}
$('#news-next').parent('li').before(li)
}
// disable back/next on first/last pages.
if (currentPage == 1){
$('#news-back').parent('li').addClass('disabled')
} else if (currentPage > 1 && currentPage < totalPages) {
$('#news-next').parent('li').removeClass('disabled')
$('#news-back').parent('li').removeClass('disabled')
} else if (currentPage == totalPages){
$('#news-next').parent('li').addClass('disabled')
}
// bind click event to new a tags.
$('.page-link').on('click', function(e){
e.preventDefault()
var page = $(this).attr('page')
currentPage = page
drawPage()
})
}
assignPageNums()
drawPage()
$('#news-next').on('click', function(e){
e.preventDefault()
if (currentPage < totalPages){
currentPage++
drawPage()
}
})
$('#news-back').on('click', function(e){
e.preventDefault()
if (currentPage >= 2){
currentPage--
drawPage()
}
})
} else {
// if we don't need pagination, hide the controls.
$('#news-pagination').hide()
}
$('#news-stories').css('visibility', 'visible')
}
if( $('.news-archive-list').length > 0 ){
paginateNews();
var state = History.getState();
History.options.initialTitle = 'News Archive';
History.options.disableSuid = true;
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1);
};
String.prototype.slugToClean = function(){
var str = this.toString();
str = str.toLowerCase().replace(/(-)/g, ' ').replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
return str;
};
String.prototype.decodeEntities = function(){
var element = document.createElement('div'); //this prevents any overhead from creating the object each time
var str = this.toString();
if(str && typeof str === 'string') {
// strip script/html tags
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
element.innerHTML = str;
str = element.textContent;
element.textContent = '';
}
return str;
};
function retrievePreviousIDs(startingElement){
var postsArray = [];
var currentPost = startingElement;
postsArray.push( currentPost.data("id") );
for( var i=0; i < 9; i++ ){
var next = currentPost.prev();
if( currentPost.data("id") == next.data("id") ){
break;
}
postsArray.push( next.data("id") );
currentPost = next;
}
return postsArray.reverse();
}
function retrievePostIDs(startingElement){
var postsArray = [];
var currentPost = startingElement;
postsArray.push( currentPost.data("id") );
for( var i=0; i < 9; i++ ){
var next = currentPost.next();
if( currentPost.data("id") == next.data("id") ){
break;
}
postsArray.push( next.data("id") );
currentPost = next;
}
return postsArray;
}
function renderPosts(postsArray, taxonomyType, taxonomyName){
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_posts',
postIDs: postsArray
},
success: function(response){
var responseLength = Object.keys(response).length - 1;
$(".span8.follow-hero").html(" ");
var firstID = response[0].id;
var lastID = response[responseLength].id;
if( taxonomyName != undefined && taxonomyType != undefined ){
var spanTaxType = $('<span />',{
'class': 'clas-taxonomy-type',
'text': taxonomyType
});
var spanTaxName = $('<span />',{
'class': 'clas-taxonomy-name',
'text': taxonomyName
});
$(".span8.follow-hero").append(spanTaxType).append(spanTaxName);
}
for(var post in response){
var current = response[post];
var id = current.id;
var title = (current.title).decodeEntities();
var slug = current.slug;
var link = current.link;
var excerpt = current.excerpt;
var date = current.date;
var image = current.featuredImage;
if( current.date != false ){
var article = $('<article />',{
'data-id': id,
'class': 'article-block clearfix'
});
var header = $('<header />',{
'class': 'entry-header'
}).appendTo(article);
var h3 = $('<h3 />',{
'class': 'clas-entry-title'
}).appendTo(header);
var divDate = $('<div />',{
'class': 'clas-post-date',
'html': date
}).appendTo(header);
if( image.length > 0 ) {
var divImage = $('<div />',{
'class': 'archive-thumbnail'
}).append(image);
header.append(divImage);
}
var aTag = $('<a />',{
'href': link,
'text': title,
'data-id': id
}).appendTo(h3);
var divContent = $('<div />',{
'class': 'clas-entry-content'
}).appendTo(article);
if( excerpt.length > 7 ){ // by default excerpt comes with <p></p>, whose lenght is 7
var readMore = '<p><a href="'+link+'" class="read-more">Read More &raquo;</a></p>';
excerpt += readMore;
divContent.html(excerpt);
}
$(".span8.follow-hero").append(article);
}
}
var span = $('<div />',{
'class': 'story-navigation clearfix',
}).appendTo( $(".span8.follow-hero") );
$('<a />',{
'id': 'newerStories',
'data-id': firstID,
'text': 'Newer Stories »'
}).appendTo(span);
$('<a />',{
'id': 'olderStories',
'data-id': lastID,
'text': '« Older Stories'
}).appendTo(span);
storyNavCheck();
},
dataType: "json"
});
}
function renderStoriesList(postObj, taxonomyType, taxonomyName){
$(".news-archive-list").empty();
var postIDs = [];
var i = 0;
for( var post in postObj ){
var current = postObj[post];
var id = current.id;
var slug = current.slug;
var link = current.link;
var title = current.title;
if( i < 10 ){
postIDs.push(id);
}
var li = $('<li />',{
'data-id': id,
'data-slug': slug
}).appendTo($(".news-archive-list"));
$('<a />',{
'href': link,
'text': title
}).appendTo(li);
i++;
}
renderPosts(postIDs, taxonomyType, taxonomyName);
paginateNews();
return postIDs;
}
History.Adapter.onDomLoad(function(){
var index;
if( (index = state.url.indexOf('?post/')) !== -1 ){
var urlQuery = state.url.substring(index);
var postSlug = urlQuery.substring(6); // length of "?post/" is 6
var postInList = $("ul.news-archive-list").find("[data-slug='" + postSlug + "']");
var postIDs = retrievePostIDs(postInList);
renderPosts(postIDs);
} else if( (index = state.url.indexOf('?division') !== -1 ) ){
var urlQuery = state.url.substring(state.url.indexOf('?division'));
var divisionSlug = urlQuery.substring(10); //length of "?divison/" is 10
var divisionTitle = divisionSlug.slugToClean();
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_tag_posts',
tag: divisionSlug
},
success: function(response){
renderStoriesList(response, 'Division', divisionTitle);
},
dataType: "json"
});
} else if( (index = state.url.indexOf('?category/')) !== -1 || (index = state.url.indexOf('?tag/')) !== -1 ) {
var urlQuery = state.url.substring(index+1);
var taxonomyType = urlQuery.substring( 0,urlQuery.indexOf('/') );
var taxonomyName = urlQuery.substring( urlQuery.indexOf('/')+1 );
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_taxid',
taxonomyType: taxonomyType,
taxonomyName: taxonomyName
},
success: function(response){
var taxonomyID = response;
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_cat_posts',
taxonomy: taxonomyType,
value: taxonomyID
},
success: function(response){
var arr = taxonomyName.split('-');
var taxonomyNameCapitalized = "";
for (var i in arr){
var current = arr[i].capitalize();
if( !(i == 0) ){
taxonomyNameCapitalized += " ";
}
taxonomyNameCapitalized += current;
}
renderStoriesList(response, taxonomyType.capitalize(), taxonomyNameCapitalized);
},
dataType: "json"
});
},
dataType: "json"
});
}
});
History.Adapter.bind(window, 'statechange', function(){
var state = History.getState();
if( state.url == clas_object.siteurl+'/news-archive/' ){
window.location.href = clas_object.siteurl+'/news-archive';
return false;
}
});
$(document.body).on('click', 'ul.news-archive-list li', function(event){
event.preventDefault();
var postIDs = retrievePostIDs( $(this) );
renderPosts(postIDs);
var postSlug = $(this).data('slug');
var postTitle = postSlug.slugToClean();
var postLink = this.children[0].href;
History.pushState(postIDs, postTitle, "?post/"+postSlug);
});
$('div.news-tags a').click(function(event){
event.preventDefault();
if( this.className == "all-divisions" ){
window.location.href = clas_object.siteurl+'/news-archive';
return false;
}
var tagTitle = this.text.slugToClean();
var tag = this.className;
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_tag_posts',
tag: tag
},
success: function(response){
renderStoriesList(response, 'Division', tagTitle);
},
dataType: "json"
});
History.pushState({}, tagTitle, '?division/'+tag);
});
$('select.category,select.tag').change(function(event){
var taxonomyID = $(this).val();
var taxonomy;
if( this.id == 'news-sort-cat' ){
taxonomy = 'category';
$('select.tag').find("option:eq(0)").prop("selected", true);
} else {
taxonomy = 'tag';
$('select.category').find("option:eq(0)").prop("selected", true);
}
taxonomyName = this.options[this.selectedIndex].text;
var taxonomyTitle = taxonomyName.slugToClean();
var taxonomySlug = taxonomyName.toLowerCase().replace(/(\s)/g, '-');
taxonomyCapitalized = taxonomy.capitalize();
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_cat_posts',
taxonomy: taxonomy,
value: taxonomyID
},
success: function(response){
renderStoriesList(response, taxonomyCapitalized, taxonomyTitle);
},
dataType: "json"
});
History.pushState({}, taxonomyTitle, "?"+taxonomy+"/"+taxonomySlug);
});
$('div.date-sort-button a').click(function(event){
event.preventDefault();
var postIDs = [];
$('.news-archive-list li').each(function(index){
var postID = $(this).data('id');
postIDs.push(postID);
});
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_orderby_posts',
info: {order: $(this).attr('class'), posts: postIDs}
},
success: function(response){
renderStoriesList(response);
},
dataType: "json"
});
});
$('#news-archive-search').keypress(function(event){
if( this.value && event.keyCode == 13 ){ //If search field isn't empty & "Enter" was pressed, complete the search
$.ajax({
type: "POST",
url: clas_object.ajaxurl,
data: {
action: 'clas_search_archive',
search: this.value
},
success: function(response){
renderStoriesList(response);
},
dataType: "json"
});
return false;
}//endif
});
function storyNavCheck(){
var firstInList = $("ul.news-archive-list").children().first().data('id');
var firstPost = $(".span8.follow-hero").children('article').first().data('id');
if( firstInList == firstPost ){
$('a#newerStories').hide();
} else {
$('a#newerStories').show();
}
var lastInList = $("ul.news-archive-list").children().last().data('id');
var tenthPost = $(".span8.follow-hero").children('article').last().data('id');
if( lastInList == tenthPost ){
$('a#olderStories').hide();
} else {
$('a#olderStories').show();
}
}
storyNavCheck();
$(document.body).on('click', 'div.story-navigation a', function(event){
event.preventDefault();
var element = $("ul.news-archive-list").find( "[data-id='" + $(this).data('id') + "']" );
var startingElement;
var postsArray;
if( this.id == 'olderStories' ){
startingElement = element.next();
postsArray = retrievePostIDs(startingElement);
$('#news-next').trigger('click');
$('html, body').animate({ scrollTop: 0 }, 'fast');
} else if( this.id == 'newerStories' ){
startingElement = element.prev();
postsArray = retrievePreviousIDs(startingElement);
$('#news-back').trigger('click');
$('html, body').animate({ scrollTop: 0 }, 'fast');
}
if( postsArray != null ){
renderPosts( postsArray );
}
});
}//end if( $('.news-archive-list').length > 0 )
//Fix the nav gradient rendering problem in Chrome
$('#uc-nav-mobile').click(function(){
var className = 'uc-titlebar-gradient';
$('#uc-titlebar').removeClass('uc-titlebar-gradient');
var checkHeight = function(height){
setTimeout(function(){
var newHeight = $('.nav-collapse').css('height');
if(newHeight == height){
$('#uc-titlebar').addClass('uc-titlebar-gradient');
return;
}
else{
checkHeight(newHeight);
}
},10);
}
checkHeight(-1);
});
var cssua=function(i,l){var m=/\s*([\-\w ]+)[\s\/]([\d_]+\b(?:[\-\._\/]\w+)*)/,n=/([\w\-\.]+[\s\/][v]?[\d_]+\b(?:[\-\._\/]\w+)*)/g,o=/rv[:](\d+(?:\.\w+)*).*?\bgecko[\/]\w+/,p=/\b(?:(blackberry\w*|bb10)|(rim tablet os))(?:\/(\d+\.\d+(?:\.\w+)*))?/,q=/\bsilk-accelerated=true\b/,r=/\bfluidapp\b/,s=/(\bwindows\b|\bmacintosh\b|\blinux\b|\bunix\b)/,t=/(\bandroid\b|\bipad\b|\bipod\b|\bwindows phone\b|\bwpdesktop\b|\bxblwp7\b|\bzunewp7\b|\bwindows ce\b|\bblackberry\w*|\bbb10\b|\brim tablet os\b|\bmeego|\bwebos\b|\bpalm|\bsymbian|\bj2me\b|\bdocomo\b|\bpda\b|\bchtml\b|\bmidp\b|\bcldc\b|\w*?mobile\w*?|\w*?phone\w*?)/,
u=/(\bxbox\b|\bplaystation\b|\bnintendo\s+\w+)/,d={parse:function(c){var a={},c=(""+c).toLowerCase();if(!c)return a;for(var b,g,e=c.split(/[()]/),f=0,d=e.length;f<d;f++)if(f%2){var j=e[f].split(";");for(b=0,g=j.length;b<g;b++)if(m.exec(j[b])){var h=RegExp.$1.split(" ").join("_"),i=RegExp.$2;if(!a[h]||parseFloat(a[h])<parseFloat(i))a[h]=i}}else if(j=e[f].match(n))for(b=0,g=j.length;b<g;b++)h=j[b].split(/[\/\s]+/),h.length&&"mozilla"!==h[0]&&(a[h[0].split(" ").join("_")]=h.slice(1).join("-"));if(t.exec(c)){if(a.mobile=
RegExp.$1,p.exec(c))if(delete a[a.mobile],a.blackberry=a.version||RegExp.$3||RegExp.$2||RegExp.$1,RegExp.$1)a.mobile="blackberry";else if("0.0.1"===a.version)a.blackberry="7.1.0.0"}else if(s.exec(c))a.desktop=RegExp.$1;else if(u.exec(c)&&(a.game=RegExp.$1,b=a.game.split(" ").join("_"),a.version&&!a[b]))a[b]=a.version;if(a.intel_mac_os_x)a.mac_os_x=a.intel_mac_os_x.split("_").join("."),delete a.intel_mac_os_x;else if(a.cpu_iphone_os)a.ios=a.cpu_iphone_os.split("_").join("."),delete a.cpu_iphone_os;
else if(a.cpu_os)a.ios=a.cpu_os.split("_").join("."),delete a.cpu_os;else if("iphone"===a.mobile&&!a.ios)a.ios="1";if(a.opera&&a.version)a.opera=a.version,delete a.blackberry;else if(q.exec(c))a.silk_accelerated=!0;else if(r.exec(c))a.fluidapp=a.version;if(a.applewebkit){a.webkit=a.applewebkit;delete a.applewebkit;if(a.opr)a.opera=a.opr,delete a.opr,delete a.chrome;if(a.safari)a.chrome||a.crios||a.opera||a.silk||a.fluidapp||a.phantomjs||a.mobile&&!a.ios?delete a.safari:a.safari=a.version&&!a.rim_tablet_os?
a.version:{419:"2.0.4",417:"2.0.3",416:"2.0.2",412:"2.0",312:"1.3",125:"1.2",85:"1.0"}[parseInt(a.safari,10)]||a.safari}else if(a.msie){if(!a.opera)a.ie=a.msie;delete a.msie;if(a.windows_phone_os)a.windows_phone=a.windows_phone_os,delete a.windows_phone_os;else if("wpdesktop"===a.mobile||"xblwp7"===a.mobile||"zunewp7"===a.mobile)a.mobile="windows desktop",a.windows_phone=9>+a.ie?"7.0":10>+a.ie?"7.5":"8.0",delete a.windows_nt}else if(o.exec(c))a.gecko=RegExp.$1;a.version&&delete a.version;return a},
format:function(c){var a="",b;for(b in c)if(b&&c.hasOwnProperty(b)){var g=b,e=c[b],g=g.split(".").join("-"),f=" ua-"+g;if("string"===typeof e){for(var e=e.split(" ").join("_").split(".").join("-"),d=e.indexOf("-");0<d;)f+=" ua-"+g+"-"+e.substring(0,d),d=e.indexOf("-",d+1);f+=" ua-"+g+"-"+e}a+=f}return a},encode:function(c){var a="",b;for(b in c)b&&c.hasOwnProperty(b)&&(a&&(a+="&"),a+=encodeURIComponent(b)+"="+encodeURIComponent(c[b]));return a}};d.userAgent=d.ua=d.parse(l);var k=d.format(d.ua)+" js";
i.className=i.className?i.className.replace(/\bno-js\b/g,"")+k:k.substr(1);return d}(document.documentElement,navigator.userAgent);
});
jQuery(document).ready(function($){
$('div.home-loading').addClass('slide-unready');
$(window).load(function() {
$('div.home-loading').removeClass('slide-unready').addClass('slide-ready');
});
$('div#home1').addClass('slide-waiting');
$(window).load(function() {
$('div#home1').removeClass('slide-waiting').addClass('slide-go');
});
$('#home').parent().removeClass('container');
});