$.fn.pager = function(clas, options) {
var settings = {
navId: 'nav',
navId2: 'nav2',
navClass: 'nav',
navAttach: 'both',
highlightClass: 'highlight',
prevText: './img/arrow_uc_left.gif',
nextText: './img/arrow_uc_right.gif',
linkText: null,
linkWrap: null,
height: null
}
if(options) $.extend(settings, options);
return this.each( function () {
var me = $(this);
var size;
var i = 0;
var navid = '#'+settings.navId;
var navid2 = '#'+settings.navId2;
function init () {
size = $(clas, me).not(navid).size();
if(settings.height == null) {
settings.height = getHighest();
}
if(size > 1) {
makeNav();
show();
highlight();
}
//sizePanel();
if(settings.linkWrap != null) {
linkWrap();
}
}
function makeNav () {
var str = '
';
var str2 = '
';
switch (settings.navAttach) {
case 'before':
$(me).before(str);
break;
case 'after':
$(me).after(str);
break;
case 'prepend':
$(me).prepend(str);
break;
case 'both':
$(me).prepend(str);
$(me).append(str2);
break;
default:
$(me).append(str);
break;
}
}
function show () {
$(me).find(clas).not(navid).hide();
var show = $(me).find(clas).not(navid).get(i);
$(show).show();
$(navid2).show();
}
function highlight () {
$(me).find(navid).find('a').css("font-weight", "normal");
$(me).find(navid2).find('a').css("font-weight", "normal");
var show = $(me).find(navid).find('a').get(i+1);
$(show).css("font-weight","bold");
var show2 = $(me).find(navid2).find('a').get(i+1);
$(show2).css("font-weight","bold");
}
function sizePanel () {
if($.browser.msie) {
$(me).find(clas).not(navid).css( {
height: settings.height
});
$(navid).css("height","20px");
$(navid2).css("height","20px");
} else {
$(me).find(clas).not(navid).css( {
minHeight: settings.height
});
$(navid).css("height","20px");
$(navid2).css("height","20px");
}
}
function getHighest () {
var highest = 0;
$(me).find(clas).not(navid).each(function () {
if(this.offsetHeight > highest) {
highest = this.offsetHeight;
}
});
highest = highest + "px";
return highest;
}
function getNavHeight () {
var nav = $(navid).get(0);
return nav.offsetHeight;
}
function linkWrap () {
$(me).find(navid).find("a").wrap(settings.linkWrap);
}
init();
$(this).find(navid).find("a").click(function () {
if($(this).attr('rel') == 'next') {
if(i + 1 < size) {
i = i+1;
}
} else if($(this).attr('rel') == 'prev') {
if(i > 0) {
i = i-1;
}
} else {
var j = $(this).attr('rel');
i = j-1;
}
show();
highlight();
return false;
});
$(this).find(navid2).find("a").click(function () {
if($(this).attr('rel') == 'next') {
if(i + 1 < size) {
i = i+1;
}
} else if($(this).attr('rel') == 'prev') {
if(i > 0) {
i = i-1;
}
} else {
var j = $(this).attr('rel');
i = j-1;
}
show();
highlight();
return false;
});
});
}