var Site = {
start: function(){
Site.toolTips();
// Site.createOver();
if ($('sidebar')){
// Turned this off for a second
// Site.appearText();
// if (!window.ie6) Site.makeShadow();
}
},
toolTips: function() {
var myTips = new Tips($$('.toolTipElement'), {
showDelay: 100,
maxTitleChars: 50, /*I like my captions a little long*/
maxOpacity: .9 /*let's leave a little transparancy in there */
});
},
playlistToolTips: function() {
var myTips = new Tips($$('.plToolTipElement'), {
showDelay: 1500,
maxTitleChars: 50, /*I like my captions a little long*/
maxOpacity: .9 /*let's leave a little transparancy in there */
});
},
appearText: function(){
/*
var timer = 0;
var timedelay = 3000;
var sideblocks = $$('#playlist a');
var slidefxs = [];
var colorfxs = [];
sideblocks.each(function(el, i){
el.setStyle('margin-left', '305px');
if (timedelay > 10) timedelay -= 2;
timer += timedelay;
slidefxs[i] = new Fx.Style(el, 'margin-left', {
duration: 400,
transition: Fx.Transitions.backOut,
wait: false,
onComplete: Site.createOver.pass([el, i])
});
slidefxs[i].start.delay(timer, slidefxs[i], 0);
}, this);
*/
Site.playlistToolTips();
},
createOver: function(el, i){
var first = el.getFirst();
if (!first || first.getTag() != 'a') return;
var overfxs = new Fx.Styles(first, {'duration': 200, 'wait': false});
var tocolor = 'faec8f';
var fromcolor = '595965';
el.mouseouted = true;
el.addEvent('mouseenter', function(e){
overfxs.start({
'color': tocolor,
'margin-left': 10
});
});
el.addEvent('mouseleave', function(e){
overfxs.start({
'color': fromcolor,
'margin-left': 0
});
});
},
chart: function(){
var timer = 0;
var sideblocks = $$('.chart');
var slidefxs = [];
var colorfxs = [];
sideblocks.each(function(el, i){
el.setStyle('color', '#000000');
timer += 450;
slidefxs[i] = new Fx.Style(el, 'color', {
duration: 1000,
transition: Fx.Transitions.backOut,
wait: false
});
slidefxs[i].start.delay(timer, slidefxs[i], 0);
}, this);
},
kwick: function(){
var kwicks = $$('#kwick .kwick');
var fx = new Fx.Elements(kwicks, {wait: false, duration: 200, transition: Fx.Transitions.quadOut});
kwicks.each(function(kwick, i){
kwick.addEvent('mouseenter', function(e){
var obj = {};
obj[i] = { // OVER
'width': [kwick.getStyle('width').toInt(), 125]
};
kwicks.each(function(other, j){
if (other != kwick){ // REST OVER
var w = other.getStyle('width').toInt();
if (w != 30) obj[j] = {'width': [w, 30]};
}
});
fx.start(obj);
});
});
$('kwick').addEvent('mouseleave', function(e){
var obj = {};
kwicks.each(function(other, j){ // REGULAR
obj[j] = {'width': [other.getStyle('width').toInt(), 50]};
});
fx.start(obj);
});
}
/*
makeShadow: function(){
new Element('img').injectInside('container').setStyles({
'position': 'absolute', 'top': '0', 'margin-top': '-30px', 'left': '644px', 'z-index': '999999'
}).setProperties({
'height': $('sidebar').offsetHeight + 70, 'width': '10', 'src': '/assets/images/menubig_shadow.png'
});
}
*/
};
window.addEvent('load', Site.start);
// scroll bars functions
var scrollbars = 0;
if (document.getElementById && document.getElementsByTagName) {
if (window.addEventListener) window.addEventListener('load', initPage, false);
else if (window.attachEvent) window.attachEvent('onload', initPage);
}
function initPage() {
CSBfleXcroll('playlistScroll');
scrollbars = 1;
}
// AJAX Javascripts
// Playlists
function handlePlaylistResponse() {
if (http.readyState == 4) {
// Split the comma delimited response into an array
results = http.responseText
var divblock = document.getElementById('playlist');
divblock.innerHTML = results;
Site.appearText();
// Seemed to have exception
var scrollblock = document.getElementById('playlistScroll');
if (typeof scrollblock.scrollUpdate == 'function') scrollblock.scrollUpdate();
}
}
function plConcert(plSort) {
http.open("GET", 'includes/inc.playlist.php?status=active&sort='+plSort, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plMini(plGenre) {
http.open("GET", 'includes/inc.mini.php?status=active&genre='+plGenre, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plVenue(plSort) {
http.open("GET", 'includes/inc.venue.php?sort='+plSort, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plInterview(plSort) {
http.open("GET", 'includes/inc.interview.php', true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plGenre(plSort) {
http.open("GET", 'includes/inc.genre.php?sort='+plSort, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plArtist(plSort) {
http.open("GET", 'includes/inc.artist.php?sort='+plSort, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plChart() {
http.open("GET", 'includes/inc.chart.php', true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function plSearch() {
var divblock = document.getElementById('playlist');
divblock.innerHTML = '
Searching';
http.open("GET", 'includes/inc.search.php?q='+document.getElementById('searchform').q.value, true);
http.onreadystatechange = handlePlaylistResponse;
http.send(null);
}
function setActive(obj){
var divblock = document.getElementById('playlist');
divblock.innerHTML = '
Loading';
document.getElementById("plConcert").style.color = "";
document.getElementById("plVenue").style.color = "";
document.getElementById("plArtist").style.color = "";
document.getElementById("plGenre").style.color = "";
document.getElementById("plChart").style.color = "";
document.getElementById("plInterview").style.color = "";
document.getElementById(obj).style.color = "#000000";
}
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
function textCounter(field, countfield, maxlimit) {
var divblock = document.getElementById(countfield);
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
divblock.innerHTML = maxlimit - field.value.length + ' characters left';
}