var timeout = 200;
var closetimer = 0;
var ddmenuitem = 0;
var preLoadedImages ='';
var ajaxListener = '/com/ajaxListener.cfc';

function openPlaylist() {
	var url='/music/playlist.cfm';
	var w = $(window).width();
	var h = $(window).height();
	var popW =688, popH = 235;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	pagename = 'playlist';
	popupWin = window.open(url, pagename, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
    popupWin.focus();
};
function openLyrics(songid) {
	w = 290;h = 460;
	$('#lyrics').remove();
	$(document.body).append('<div style="height:' + h + ';width:' + w + '" id="lyrics" title="Lyrics"></div>');
	$('#lyrics').load('/com/dialogs/dialog_lyrics.cfm?id=' + songid).dialog({autoOpen:true, modal:true, width:w, height:h,  buttons: { Close: function () { $(this).dialog('close');$('#lyrics').remove(); }} });
	$('#lyrics').dialog('open');
};
function openImg(img,w,h) {
	w = parseInt(w) + 20;
	h = parseInt(h) + 20;
	$('#open_img').remove();
	$(document.body).append('<div style="height:' + h + ';width:' + w + '" id="open_img" title="' + img + ' Full size"><img src="/bands/bandimages/' + img + '"></div>');
	$('#open_img').dialog({autoOpen:true, modal:true, width:w, height:h,  buttons: { Close: function () { $(this).dialog('close');$('#open_img').remove(); }} });
	$('#open_img').dialog('open');
};
function openPlayer(id) {
	var url='/bands/popup_player.cfm?id=' + id;
	var w = $(window).width();
	var h = $(window).height();
	var popW =688, popH = 230;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	pagename = 'player';
	popupWin = window.open(url, pagename, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
    popupWin.focus();
};
function messageWindow() {
	var w = $(window).width();
	var h = $(window).height();
	var popW = 555, popH = 475;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	popupWin = window.open('../boards/mailbox.cfm', 'messages', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	popupWin.focus();
};
function openWindow(url) {
	var w = $(window).width(),h = $(window).height(),popW = 620, popH = 400,leftPos = (w-popW)/2, topPos = (h-popH)/2;
	if (url == 'friendlist.cfm') {pagename = 'friendlist';}
	else if (url == 'viewcurrent.cfm') {pagename = 'currentusers';}
	else {pagename = 'currentusers'}
	popupWin = window.open('/boards/' + url, pagename, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	popupWin.focus();
};
function showDetail(geoaddress) {
    var map = new GMap2(document.getElementById("map"),{size:new GSize(610,300)});
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(
        geoaddress,
        function(point) {
          if (!point) {
            alert(geoaddress + " not found");
          } else {
            map.setCenter(point, 14);
            var marker = new GMarker(point);
            map.addOverlay(marker);
            var html = '<b>Directions</b> <em>(enter start address)</em>' +
            '<br><br><form action="http://maps.google.com/maps" method="get" target="_blank">' +
            '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" style="height:20px;" />' +
            '<INPUT value="Go" TYPE="SUBMIT" class="submit">' +
            '<input type="hidden" name="daddr" value="' + geoaddress + '" /></form>';
            marker.openInfoWindowHtml(html); 
          }
        }
      ); 
    $('#map_holder').dialog({autoOpen: true, modal: true, width:640, height:340});
};
function addPlaylist(id) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=addPlayList&returnformat=plain',
        data: 'id=' + id,        
        success: function (html) {
			alert('Song has been added to playlist. You can play your playlist at any time by clicking options -- your playlist.');         
        },
        error: function (e) { alert('Error saving song.'); }
    });
};
function addBandBookMark(id) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=addBandBookMark&returnformat=plain',
        data: 'id=' + id,        
        success: function (html) {
			alert('Band has been added to favorites. You can view all favorites by clicking options -- my favorite bands.');         
        },
        error: function (e) { alert('Error saving song.'); }
    });
};
function addShowFolder(id) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=addShowFolder&returnformat=plain',
        data: 'id=' + id,        
        success: function (html) {
			alert('Show has been saved. You can view all saved shows at any time by clicking options -- your saved shows.');            
        },
        error: function (e) { alert('Error saving show.'); }
    });
};
function getVideos(id,startrow,endrow,ceiling) {
	$('#video_wrapper').html('').load('/com/views/view_bandvideos.cfm?id=' + id + '&startrow=' + startrow + '&maxrows=' + endrow).slideDown('normal');
	var thisvar = ajax_paging(id,startrow, 2, ceiling, 'Videos');
	$('#videos_paging').html(thisvar);	
};
function getReplies(id,startrow,endrow,ceiling) {
	$('#thread_wrapper').html('').load('/com/views/view_thread.cfm?id=' + id + '&startrow=' + startrow + '&maxrows=' + endrow);
	var thisvar = ajax_paging(id,startrow, endrow, ceiling, 'Replies');
	$('#thread_paging').html(thisvar);	
};
function getBandPics(id,startrow,endrow,ceiling) {
	$('#pics_wrapper').html('').load('/com/views/view_bandpics.cfm?id=' + id + '&startrow=' + startrow + '&maxrows=' + endrow).slideDown('normal');
	var thisvar = ajax_paging(id,startrow, 1, ceiling, 'BandPics');
	$('#pics_paging').html(thisvar);	
};
function addShows() {
	var w = $(window).width();
	var h = $(window).height();
	var popW = 380, popH = 600;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	popupWin = window.open('../com/views/view_addshow.cfm', 'shows', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	popupWin.focus();
};
function addShowNR() {
	$(document.body).append('<div id="addShow" title="Add a show"></div>');
	$('#addShow').load('../com/views/view_addoneshow.cfm').dialog({autoOpen:true, width:420, height:675, modal:true});
	$('#addShow').dialog('open');
};
function doQuote_js(id,by,r_id) {
	var revisedMessage;
	var currentText = $('#message').val();
	var this_id = '#reply' + r_id;
	var currentMessage = $(this_id).html();
	currentMessage = currentMessage.cleanTopic();
	var quoteUBBCode = '[quote][b]Originally posted by: <a href=view_profile.cfm?id=' + id + '>' + by + '</a>[/b]' + '\n' + '\n';
	if (currentText != ''){
		revisedMessage =  currentText + '\n' + '\n' + quoteUBBCode + currentMessage + '[/quote]';
	} else {
		revisedMessage =  currentText + quoteUBBCode + currentMessage + '[/quote]';	
	}
	$('#message').val(revisedMessage.trim()).focus();
	return;
};
function getReviews(id,startrow,endrow,ceiling) {
	$('#review_wrapper').html('').load('../com/views/view_allreviews.cfm?id=' + id + '&startrow=' + startrow + '&maxrows=' + endrow).fadeIn('slow');
	var thisvar = ajax_paging(id,startrow, 12, ceiling, 'Reviews');
	$('.reviews_paging').html(thisvar);
};
String.prototype.cleanTopic = function() {
	var currentMessage = this;
	currentMessage = currentMessage.replace(/<br>/g, '\n');
	currentMessage = currentMessage.replace(/ class="topic_img"/g, '');
	currentMessage = currentMessage.replace(/ style="(.+)"\s/gi, ' ');
	currentMessage = currentMessage.replace(/" border="0/gi, '').trim();
	currentMessage = currentMessage.replace(/" width="15" align="absmiddle" height="15/gi,'');
	return currentMessage;	
};
function toggleUser(id) {
	var this_user = '#user_div' + id;
	$(this_user).slideToggle('fast');
};
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
};
String.prototype.count = function(substr) {
	var thisReg = new RegExp(substr,'gi');
	try {
		var matches = this.match(thisReg);
		var count = matches.length;
	}
	catch(e) {
		var count = 0;
	}
	return count;
};
function Chr(AsciiNum) {
	return String.fromCharCode(AsciiNum);
};
function doTopicQuote_js(id,by,r_id) {
	var revisedMessage;
	var currentText = $('#message').val();
	var this_id = '#topic' + r_id;
	var currentMessage = $(this_id).html();
	currentMessage = currentMessage.cleanTopic();
	var quoteUBBCode = '[quote][b]Originally posted by: <a href=view_profile.cfm?id=' + id + '>' + by + '</a>[/b]' + '\n' + '\n';
	if (currentText != ''){
		revisedMessage =  currentText + '\n' + '\n' + quoteUBBCode + currentMessage + '[/quote]';
	} else {
		revisedMessage =  currentText + quoteUBBCode + currentMessage + '[/quote]';	
	}
	$('#message').val(revisedMessage.trim()).focus();
	return;
};
function doEdit_reply(id) {	
	document.PostTopic.methodtypeurl.value = 'edit';
	var this_id = '#reply' + id;
	var currentMessage = $(this_id).html().trim().replace('  ',' ');
	$('#reply_id').val(id);
	currentMessage = currentMessage.cleanTopic();
	$('#message').val(currentMessage.trim()).focus();
	document.PostTopic.Submit.value = 'Edit Reply';
	$('#message').css('background','#e7adad url(../../images/innerShadowAlpha.png) no-repeat top left');
	$('#qRep').html('EDIT REPLY');
	$('#subject_div').hide();
};
function doEdit_topic(id) {	
	document.PostTopic.methodtypeurl.value = 'editTopic';
	var this_id = '#topic' + id;
	var currentMessage = $(this_id).html();
	$('#topic_id').val(id);
	currentMessage = currentMessage.cleanTopic();
	$('#message').val(currentMessage.trim());
	document.PostTopic.Submit.value = 'Edit Topic';
	document.PostTopic.Message.focus();
	$('#message').css('background','#e7adad url(../../images/innerShadowAlpha.png) no-repeat top left');
	$('#qRep').html('EDIT TOPIC');
	$('#subject_div').show();
};
function addRating(ID, rating) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=addRating&returnformat=plain',
        data: 'ID=' + ID + '&rating=' + rating,        
        success: function (html) {
			$('#numvotes').html(parseInt($('#numvotes').html()) + 1);
			$('#user_rating').html('Rating sent!');	            
        },
        error: function (e) { alert('Error saving rating.'); }
    });
};
function addFriend(ID) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=addFriend&returnformat=plain',
        data: 'ID=' + ID,        
        success: function (html) {
			alert('Friend request has been made!');         
        },
        error: function (e) { alert('Error adding friend.'); }
    });
};
function removeFriend(ID) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=removeFriend&returnformat=plain',
        data: 'ID=' + ID,        
        success: function (html) {
			alert('Friend has been removed.');       
        },
        error: function (e) { alert('Error removing friend.'); }
    });
};
function blockUser(ID) {
	$.ajax({ type: 'POST',
        url: ajaxListener + '?method=blockUser&returnformat=plain',
        data: 'ID=' + ID,        
        success: function (html) {
			alert('User has been blocked.');      
        },
        error: function (e) { alert('Error blocking.'); }
    });
};
function votePoll() {
	var this_option = $("input[name='poll']:checked").val();
	if (this_option == null || this_option == '') {
		alert('You must choose a poll option');
	}
	else {
		$('#poll_content').html('').load('../com/views/view_poll.cfm?id=' + this_option)
	}
};
function checkMailus() {
	if ($('#name').val() == '' || $('#email').val() == '' || $('#message').val() == '' || $('#captcha').val() == '') {
		alert('You must fill out every field on the form.');
		return false;
	}
	else {
		return true;
	}
};
function validateTopic() {
	var currentMessage = $('#message').val();
	if (currentMessage.count('<') != currentMessage.count('>')) {
		alert('Invalid HTML. Please close all tags.');
		return false;
	}
	else if (currentMessage.indexOf('[b]') > -1 && currentMessage.indexOf('[/b]') < 0) {
		currentMessage = currentMessage + '[/b]';
		$('#message').val(currentMessage);
		return true;
	}
	else if (currentMessage.indexOf('[i]') > -1 && currentMessage.indexOf('[/i]') < 0) {
		currentMessage = currentMessage + '[/i]';
		$('#message').val(currentMessage);
		return true;
	}
	else if (currentMessage.indexOf('<b>') > -1 && currentMessage.indexOf('</b>') < 0) {
		currentMessage = currentMessage + '</b>';
		$('#message').val(currentMessage);
		return true;
	}
	else if (currentMessage.indexOf('<i>') > -1 && currentMessage.indexOf('</i>') < 0) {
		currentMessage = currentMessage + '</i>';
		$('#message').val(currentMessage);
		return true;
	}
	else if (currentMessage.length == 0 && num_uploads > 0) {
		alert('When uploading images, you still must enter a message.');
		return false;
	}
};
function DoPrompt(action) {
	var revisedMessage;
	var currentMessage = $('#message').val();		
	if (action == "bold") {
		var thisBold = prompt("Enter the text that you wish to make bold.", "");
		var boldUBBCode = "[B]"+thisBold+"[/B]";
		revisedMessage = currentMessage+boldUBBCode;
		$('#message').val(revisedMessage).focus();
		return;
	}	
	if (action == "italics") {
		var thisItal = prompt("Enter the text that you wish to italicize.", "");
		var italUBBCode = "[I]"+thisItal+"[/I]";
		revisedMessage = currentMessage+italUBBCode;
		$('#message').val(revisedMessage).focus();
		return;
	}
	if (action == 'lt') {
		revisedMessage = currentMessage + "&lt;";		
		$('#message').val(revisedMessage).focus();
	}
	if (action == 'gt') {
		revisedMessage = currentMessage + "&gt;";		
		$('#message').val(revisedMessage).focus();
	}
};
function x () {
	return;
};
function ajax_paging(id, startrow, maxrows, ceiling, fun) {
	var Floor = 1;
	var maxpages = 6;
	currentpage = Math.ceil(startrow / maxrows);
	lastpage = Math.ceil(ceiling / maxrows);
	FromLoop = Floor;
	toLoop = lastpage;
	if ((FromLoop + toLoop - 1) > maxpages) {
		if (currentpage > Math.ceil(maxpages/2)) {
			FromLoop = Math.ceil((startrow/maxrows) - maxpages/2);
		}
		toLoop = FromLoop + maxpages - 1;
	}
	if (lastpage < toLoop) {
		toLoop = lastpage;
	}
	var paging = '';
	if (startrow > 1) { 
		paging = paging + '<a href="javascript:get' + fun + '(' + id + ',1,' + maxrows + ',' + ceiling + ');">&lt;&lt;</a>&nbsp;';
	}
	if (eval(startrow - maxrows) > Floor) {
			paging = paging + '<a href="javascript:get' + fun + '(' + id + ',' + Math.ceil(eval(startrow - maxrows)) + ',' + maxrows + ',' + ceiling + ');">&lt;</a>&nbsp;';
	}
	for (pointer = FromLoop; pointer <= toLoop; pointer++) {
		if (currentpage == pointer) {
			paging = paging + '<span class="pointer">' + pointer + '</span>&nbsp;';
		}
		else {
			paging = paging + '<a href="javascript:get' + fun + '(' + id + ',' + Math.ceil(eval((pointer - 1) * (maxrows  - 1))  + pointer) + ',' + maxrows + ',' + ceiling + ');">' + pointer + '</a>&nbsp;';
		}
	} 
	if (eval(startrow + maxrows) < ceiling) {
		paging = paging + '<a href="javascript:get' + fun + '(' + id + ',' + Math.ceil(eval(startrow + maxrows)) + ',' + maxrows + ',' + ceiling + ');">&gt;</a>&nbsp;';
	}
	if (currentpage != lastpage) {
		paging = paging + '<a href="javascript:get' + fun + '(' + id + ',' + Math.ceil(eval((lastpage - 1) * maxrows + 1)) + ',' + maxrows + ',' + ceiling + ');">&gt;&gt;</a>&nbsp;';
	}	
	return paging;
};
function Mod(X, Y) { return X - Math.floor(X / Y) * Y;};
function composeWindow(id, subject) {
	var w = $(window).width();
	var h = $(window).height();
	var popW = 555, popH = 300;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	popupWin = window.open('../boards/private.cfm?id=' + id, 'new_page', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	popupWin.focus();
};
function composeWindowNew() {
	var w = $(window).width();
	var h = $(window).height();
	var popW = 555, popH = 300;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	popupWin = window.open('../boards/private.cfm?new=true', 'new_page', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,alwaysRaised=yes,titlebar=no,copyhistory=no,width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	popupWin.focus();
};
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
};
String.prototype.count = function(substr) {
	var thisReg = new RegExp(substr,'gi');
	try {
		var matches = this.match(thisReg);
		var count = matches.length;
	}
	catch(e) {
		var count = 0;
	}
	return count;
};
function Chr(AsciiNum) {
	return String.fromCharCode(AsciiNum);
};
function jsddm_open() {  
	jsddm_canceltimer();
  	jsddm_close();
  	ddmenuitem = $(this).find('ul').css('visibility', 'visible');
};
function jsddm_close() {  
	if(ddmenuitem) {
		ddmenuitem.css('visibility', 'hidden');
	}
};
function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);};
function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}};

function left(str, n) {
   if (n <= 0){
         return "";
   }
   else if (n > String(str).length){
         return str;
   }
   else {
         return String(str).substring(0,n);
   }
};
function goPrivate(id) {
	opener.location.href = 'view_profile.cfm?id=' + id;
};
function showLogin() {
	$('#loginDiv').fadeIn('slow');
	window.setTimeout(hideLogin, 10000);
};
function hideLogin() {
	$('#loginDiv').hide('slow');
};
(function($) {
  var cache = [];
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery);
document.onclick = jsddm_close;
$(document).ready(function(){ 
	$('#jsddm > li').hoverIntent(jsddm_open,  jsddm_timer);
	$('.hover').bind('mouseover', function(){$(this).css('background', '#fff');});
	$('.hover').bind('mouseout', function(){$(this).css('background', '#efefef');});
	$('.top_bands_wrapper').bind('mouseover', function(){$(this).css('background', '#fff');});
	$('.top_bands_wrapper').bind('mouseout', function(){$(this).css('background', '#efefef');});
	$('#loginDiv').bind('click', function(){document.location.href="/boards/register.cfm";});
	$('#pollButton').bind('click', votePoll);
	$('.band_pic').jScale({w:'230px',h:'230px'});
});
