/*===============================*
 * Alpha Plus Javascript Framework
 * In use with jQuery
 * Plugins for GUI
 *
 * #Author				Rj D'Amato
 * #Version				2.1
 * #Description			Used in the Modern Red/Cyan/Web 3.2 skins
 *===============================*/
 
 /* 
* Pop up plugin
*/
(function($){
 // Popup plugin
 $.fn.popup = function(settings) {
  
  var settings = $.extend({}, $.fn.popup.defaults, settings || {});

  return this.each(function() {

   $(this).bind('click', function(p) {
    p.preventDefault();
    //Get the A tag
	var popId = $(this).attr('popupId');
	popId = '#' + popId;
	
	//Get the screen height and width
	var maskHeight = $(document).height();
	var maskWidth = $(window).width();
	//Get the window height and width
	var winH = $(window).height();
	var winW = $(window).width();
	
    // Create overlay if enabled
	if(settings.overlay.background == true) {
	 $('#overlay').css({
	  'width':maskWidth,
	  'height':maskHeight,
	  'opacity': settings.opacity });
	  
	 $('#overlay').fadeIn(700);
	 // Close the popup
	 $('#overlay').click(function(){
      $.fn.popup.close(popId);
	 });
    }
	

	//Set the popup window to center
	if(settings.autocenter == true) {
	 $(popId).css('top',  winH/2-$(popId).height()/2);
	 $(popId).css('left', winW/2-$(popId).width()/2);
	}
	
	$(popId).fadeIn('fast');
	
    // Create overlay border if enabled
	if(settings.overlay.border == true) {
     $('.popupBox-background').css({
	  'width':$(popId).width(),
	  'height':$(popId).height(),
	  'opacity': settings.opacity });
	  
	 if(settings.autocenter == true) {
	  $('.popupBox-background').css('top',  winH/2-$(popId).height()/2);
	  $('.popupBox-background').css('left', winW/2-$(popId).width()/2);
	 }
	 $('.popupBox-background').fadeIn('fast');
	 // Close the popup
	 $('.popupBox-background').click(function(){
      $.fn.popup.close(popId);
	 });
    }
	
	// Close popup
	$('.closePopup').click(function(p) {
     p.preventDefault();
     $.fn.popup.close(popId);
    });
   });
  }); 
 };

 // Close the pop ups
 $.fn.popup.close = function(popupId) {
   $('#overlay,.popupBox,'+popupId).fadeOut("slow");
 };
 
 // Set the plugin's default settings
 $.fn.popup.defaults = {
  overlay : {
   background: true,
   border: false
  },
  autocenter : true,
  opacity : 0.7
 };
 
 

})( jQuery );

var ENTER_KEY = 13;
var ESC_KEY = 27;

$(function() {
// Create dropdown menus
 $(".dropmenu a").live('click',function() {
  // Fetch the dropdown ID
  var menuId = "#" + this.id.replace(/^menu_/,"menu_content_");
  $(".dropmenu ul").not(menuId).fadeOut(300);
  $(".dropmenu a").not(menuId).removeClass("selected");
  
  $(menuId).fadeIn(200);
  // Active click class
  if($(menuId).css("display") == "none"){
   $(this).removeClass("selected");
  } else {
   $(this).addClass("selected");
  };
 });
 
 // Hide by clicking dropdown link
 $("#dropmenu ul li a").click(function() {
  var text = $(this).html();
  $(".dropmenu a").html(text);
  $(".dropmenu ul").hide();
 });
 
 // Hide by clicking anywhere on the page
 $(document).bind('click', function(e) {
  var $clicked = $(e.target);
  if (! $clicked.parents().hasClass("dropmenu")){
   $('.dropmenu ul').fadeOut(300); 
   $(".dropmenu a").removeClass("selected");
  };
 });

 // Hide by key press
 $(document).keyup(function(e) {
  if (e.keyCode == ESC_KEY) {
   $('.dropmenu ul').fadeOut(300); 
   $(".dropmenu a").removeClass("selected");
  }
 });
});

function getElementsByClassName(classN, parentObj, tagType){
	if(typeof tagType == "undefined" && tagType == "" && tagType == null){
		if(!parentObj || parentObj == null){
			return getElementsByClassN(classN, null);
		}else{
			return getElementsByClassN(classN, parentObj);
		}
	}else{
		if(!parentObj || parentObj == null){
			var elemArr = new Array();
			for(var v = 0; v < document.getElementsByTagName(tagType).length; v++){
				if(document.getElementsByTagName(tagType)[v].className == classN){
					elemArr[elemArr.length]=document.getElementsByTagName(tagType)[v];
				}
			}
			return elemArr;
		}else{
			var elemArr = new Array();
			for(var v = 0; v < parentObj.getElementsByTagName(tagType).length; v++){
				if(parentObj.getElementsByTagName(tagType)[v].className == classN){
					elemArr[elemArr.length]=parentObj.getElementsByTagName(tagType)[v];
				}
			}
			return elemArr;
		}
	}
}
//Functions for getElementsByClassName
function getElementsByClassN(classN, parentObj){
elementsArray = new Array();
if(parentObj == null){
	for(var i=0; i<document.childNodes.length; i++){
		if(document.childNodes[i].nodeType != 3){
		returnV = accessChild(document.childNodes[i], classN)
			for(var p = 0; p < returnV.length; p++){
					elementsArray[elementsArray.length] = returnV[p];
			}
		}
	}
}else{
	for(var i=0; i<parentObj.childNodes.length; i++){
		if(parentObj.childNodes[i].nodeType != 3){
		returnV = accessChild(parentObj.childNodes[i], classN)
			for(var p = 0; p < returnV.length; p++){
					elementsArray[elementsArray.length] = returnV[p];
			}
		}
	}
}
return elementsArray;
}
function accessChild(parentEl, lookingFor){
var elms = new Array();
	for(var x = 0; x<parentEl.childNodes.length; x++){
		if(parentEl.childNodes[x].nodeType == 1){
			if(parentEl.childNodes[x].className == lookingFor){	
				elms[elms.length] = parentEl.childNodes[x];
			}
			if(parentEl.childNodes[x].childNodes.length != 0){
				returnVal = accessChild(parentEl.childNodes[x], lookingFor);
				for(var q = 0; q < returnVal.length; q++){
					elms[elms.length] = returnVal[q];
				}
			}
		}
	}
return elms;
}

 
/* Global variables */
var ENTER_KEY = 13;
var ESC_KEY = 27;
var AP_VERSION = "210";

/* Run main jquery coding */
$(function() {

	//--- Create Menu
	//Auto menu
	$('#submenu a').each(function(index) {
		var linkText = $(this).text();
		var linkUrl = $(this).attr('href');
		$('#menu_list').append('<li><a href="'+linkUrl+'" class="">'+linkText+'</a></li>');
	});
	//Set active
	$('#menu_list li a[href*="' +  act + '"]').addClass("active");
	if($("#menu_list li a").hasClass("active") == false) {
		$('#menu_list li a.default').addClass("active");
	}
	
	//--- Quick PM
	$('#qpmForm textarea').val("");
	$("#qpmForm").submit(function(){
		//Form the message values
		var message = document.qpm;
			sendTo  = message.entered_name.value;
			title   = message.msg_title.value;
			content = message.Post.value;
		//Errors
		if((sendTo == "") || (content == "")) {
			createNotice('Please enter a message or a member to contact');
			return false;
		}
		// Send the message
		if((sendTo != "") && (content != "")) {
			if(title == "") {
				message.msg_title.value = "No subject";
			}
			message.submit.disabled = true;
			message.submit.value = "Sending...";
			$('#overlay,#messPopup,.popupBox').fadeOut('slow');
			sendMessage();
			message.reset();
			return false;
		};
	});

	//--- Create messenger dropdown
	if(msg_tot > 0) {
		$('a#menu_messenger').bind('click',function(e) {
			$("#pmshere").html("<div class='center' id='pmload'><img src='http://i103.photobucket.com/albums/m130/Gunblaza/ajax-loader-2.gif'></div>");
			getMessages();
			$('a#menu_messenger').unbind(e);
		});
	}
	//Hide the messenger link if member has messenger disabled
	if(use_pm == 0) {
		$('#messenger').hide();
	}
	//Show if there are no messages
	if(msg_tot == 0) {
		$('#nomsgs').show();
	}
	//Show messenger dropdown if we have a new message
	if(new_msg > 0) {
		$('#messenger .alert').show();
	}

	//---Change some of the styling of Jcink Forum Rarezware Hosting
	$(".row2:contains('In:'),.row2:contains('Last Post by')").prev().addClass("row4");
	$("div[align=center]:contains('moderating')").addClass("statlinks");
	if(version >= AP_VERSION) $('div[align=center]:contains("moderating")').prependTo('.tableborder .maintitle:contains("Board Statistics")');
	$('.cssbutton').parent().css('text-decoration','none');
	$('.row4:has("ins")').css({'background-color' : 'transparent','border' : 0});
	if(document.getElementById("userlinks").innerHTML.match("Switch Account")) {
		$('#subacct_link').show(); }
					$('div[align=center][style=margin-bottom:3px;]:has("td.row4")').addClass('adverts').removeClass('row4');
			$('.tableborder:has(.copyright)').removeClass('tableborder');
			$('td.row4:has(.t_img)').addClass('topicmacros');
			$('td.row4:has(img[alt="Topic Posts"])').addClass('newtopics');
                        if (location.href.match(/showuser/)) { $('.maintitle').removeClass('maintitle').addClass('profilietitle'); }
			$('.tableborder tr:has(img[alt="New Posts"])').addClass('unread');
                        $('.tableborder tr:has(img[alt="New Topic Posts"])').addClass('unread');
			$('td.titlemedium:has(img[src="style_images/1/spacer.gif"])').addClass('disappear');
			if (location.href.match(/showforum/)) { $('td.row4 a').addClass('topictitle'); }
			$('.tableborder td:has(.t_img)').next().remove();
			$('.tableborder th:contains("Topic Title")').prev().remove();
			$(document).ready(function(){$('#menu_list li:has(a:contains("Search"))').remove()});
                $('.tableborder:contains("Board Statistics")').addClass('statsbox');
                $('.statsbox').appendTo('#newstats');
                $('#board .tableborder:contains("Board Statistics")').remove();
                $(document).ready(function(){$('.statlinks').prependTo('#newstats')});
                if (location.href.match(/modcp/)) { $('.maintitle:contains("Menu")').removeClass('maintitle').addClass('profilietitle'); }
			$('#ST .tableborder > table').wrap('<div class="post"></div>');
			$("span.post-normal").each(function(a) {
				$("tr:first",this).addClass('sub-header');
				$("tr:last",this).addClass('row2');
				$("span.post-normal:eq("+a+") tr:last td:last div[align='right']").prepend(
				$("span.post-normal:eq("+a+") tr:first td:contains('Report') div[align='right']").html()
			);
				$("span.post-normal:eq("+a+") tr:first td:contains('Report') div[align='right']").remove();
			});

			/*
		-* Merge Topic and Reply columns - by Laiam of JFH
		-*/
			if (act=="SF") {
				$('.tableborder:has(th:contains("Views")) table').each(function(){
					$('th:contains("Views")',this).remove();
					$('th:eq(1)',this).text('Stats').attr('width','16%');
					$('tr:has("td")',this).each(function(){
						replys=$('td:eq(3)',this).text();
						views=$('td:eq(4)',this).text();
						$('td:eq(3)',this).html('<div class="r-stat right"><span><b>'+replys+'</b> replies<br /><b>'+views+'</b> views</span></div>');
						$('td:eq(4)',this).remove();
					});
				});
				/*fix for sub-forums*/
				$('.tableborder:has(th:contains("Topics")) table').each(function(){
					$('th:contains("Replies")',this).remove();
					$('th:eq(1)',this).text('Stats').attr('width','14%');
					$('tr:has("td")',this).each(function(){
						replys=$('td:eq(3)',this).text();
						thread=$('td:eq(2)',this).text();
						$('td:eq(3)',this).html('<div class="r-stat right"><span><b>'+thread+'</b> topics<br /><b>'+replys+'</b> replies</span></div>');
						$('td:eq(2)',this).remove();
					});
				});
			}
			/* This combines the statistics into one colum on the index page. */
			if (act=="idx") {
				$('.tableborder:has(th:contains("Replies")) table').each(function(){
					$('th:contains("Replies")',this).remove();
					$('th:eq(2)',this).text('Stats').attr('width','14%');
					$('tr:has("td")',this).each(function(){
						replys=$('td:eq(3)',this).text();
						thread=$('td:eq(2)',this).text();
						$('td:eq(3)',this).html('<div class="r-stat right"><span><b>'+thread+'</b> topics<br /><b>'+replys+'</b> replies</span></div>');
						$('td:eq(2)',this).remove();
					});
				});
			}
	
	//---Set the default popups
	$('.popup').popup({ overlay : { background : false, border : true }, opacity : 0.5 });

	//--- User CP menu
	if(act == 'Msg' || act == 'UserCP'){
		var cp = $('#ucpmenu');
		cp.html(cp.html().replace(/-/ig, ""));
		cp.html(cp.html().replace(/'/ig, ""));
		cp.html(cp.html().replace(/·/ig, ""));
		cp.html(cp.html().replace(/&nbsp;/ig, ""));
		$('#ucpmenu p').find('br').remove();
	}
	
	//--- Member bar
	if(g_id==2) { 
		$('#guest').show();
	} else {
		$('#member').show();
		if(version >= AP_VERSION) {
			$('a#menu_user').bind('click',function(e) {
				getAvatar();
			});
		}
	//Mod CP link with alert
	if(document.getElementById("userlinks").innerHTML.match("Mod CP")) {
		$('#modcp').show();
		$('#modbar').show();
		var getModNum = $('#userlinks a[title*="moderator attention"]').text();
		if(! getModNum) {
			$('#modcp .alert').hide();
		} else {
			$('#modcp .alert').show();
			$('#modcp #modcp-num').text(getModNum);
		}
	}
	//Admin CP link
	if(document.getElementById("userlinks").innerHTML.match("Admin CP")) { 
		$('#admincp').show();
		$('#modbar').show();
	}
	}
});
 
/* Create Functions */
/* Get the messages in our inbox */
function getMessages(){
	$.ajax({
		url: "index.php?act=Msg&CODE=01" + "&nocache=" + Math.random(),
		dataType: "html",
		success: function(x) {
			$("tr.dlight > td[valign=middle]",x).slice(0, 5).each( function () {
			// Fetch the elements
			msg_image = $(this).html();
			msg_url = $(this).next().find('a').attr('href');
			msg_title = $(this).next().text();
			if(msg_title.length > 26) {
				msg_title = msg_title.substring(0,26) + "...";
			};
			msg_auth = $(this).next().next().find('a:first').text();
			msg_auth_url = $(this).next().next().find('a:first').attr('href');
			msg_time = $(this).next().next().next().text();
  
			$("#pmload").hide();
			$("#pmshere").append("<li class='msg_row click' onclick=\"location.href='"+msg_url+"';\"> <div class='msg-image'>"+msg_image+"</div><div class='msg-content'>\
			<div class='msg-title'>" + msg_title + "</div><div class='msg-author'><a href='"+msg_auth_url+"'>"+msg_auth+"</a></div><div class='msg-time'>"+msg_time+"</div></div></li>");
			});
		}
	});
	
	// Fixes users online page location
	$.get(location.href,function(){
		return;
	});
};

function getAvatar() {
	$.get("index.php?act=UserCP&CODE=24", function(a){
		var avatar_handler = $('.pformstrip:contains("Current Avatar")',a).next();
		if (avatar_handler.html().match(/<img/)) {
			var avatar_src = avatar_handler.find('img').attr('src');
			$('#insert-avatar').html('<img src="'+avatar_src+'">');
		} else {
			$('#insert-avatar').html(no_photo);
		}
	});
};

function sendMessage() {
	$.post("index.php?act=Msg&CODE=04", $("#qpmForm").serialize(), function(data){
		createNotice('Your message has been sent');
	});
};

function createNotice(mess) {
	$("#gmessage").click(function(){
		$('#gmessage').fadeOut('slow');
	});
	$('#gmessage span').html(mess);
	$('#gmessage').fadeIn('fast');
	setTimeout("$('#gmessage').fadeOut('slow')",4000);
};

function query(q){
	var qu='';
	for(var i=0;i<q.length;i++) {
		var cha = q.charCodeAt(i);
	if(cha>127)
		qu += '&#'+cha+';';
	else 
		qu += q.charAt(i)
	}
	return encodeURIComponent?encodeURIComponent(qu):escape(qu)
}
// Multi Quotes By VoidPC
var brownie = {
	set : function(name, value, expire){
		if(window['localStorage']){
			localStorage.setItem(name, value);
		} else {
			expire = expire || 365;
			document.cookie = name + '=' + escape(value) + '; expires=' + new Date(new Date().getTime()+(expire*24*60*60*1000)).toGMTString() + '; path=/';
		}
		return value;
	},
	get : function(name){
		var value;
		if(window['localStorage']){
		if(localStorage.getItem(name)){
			value = localStorage.getItem(name);
		} else {
			value = '';
		}} else {
		if(document.cookie.match(name + '=')){
			value = unescape(document.cookie.split(name + '=')[1].split(';')[0]);
		} else {
			value = '';
		}}
		return value;
	},
	del : function(name){
		if(window['localStorage']){
			localStorage.removeItem(name);
		} else {
			document.cookie = name + '=; expires=' + new Date(new Date().getTime()+(-1*24*60*60*1000)).toGMTString() + '; path=/';
		}
		return !this.get(name);
	}
};

// Multi Quotes Options
var useDefaultImages = false,
quote = "<span class='mini_cssbutton'>Multi Quote +</span>",
noquote = "<span class='mini_cssbutton'>Multi Quote -</span>";

// Other Part Of The Multi Quotes Code By VoidPC
if(useDefaultImages){
// Images by Laiam
// Visit calledoutdesigns.net
quote = "<img src='http://dev.b1.jcink.com/uploads/dev/common/images/multi.png' />", 
noquote = "<img src='http://dev.b1.jcink.com/uploads/dev/common/images/multi_rm.png' />";
}
var multiQuote = {
quotedPost : '',
savedPost : [],
fn : function(URL, id){
if(id == 1){
if(multiQuote.savedPost[URL]){
multiQuote.quotedPost += multiQuote.savedPost[URL];
} else {
var aJax = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
aJax.open('GET', URL, true);
aJax.onreadystatechange = function(){
if(aJax.readyState == 4 && aJax.status == 200){
var content = document.createElement('DIV');
content.innerHTML = aJax.responseText;
for(var i = 0, a = content.getElementsByTagName('TEXTAREA'), b = a.length; i < b; i++){
if(a[i].name == "Post" && a[i].className == "textinput"){
var p = a[i].value + '\n';
multiQuote.savedPost[URL] = p;
multiQuote.quotedPost += p;
break;
}}}}
aJax.send(null);
}} else {
multiQuote.quotedPost = multiQuote.quotedPost.replace(multiQuote.savedPost[URL], '');
}},
init : function(){
for(var i = 0, a = document.getElementsByTagName('DIV'), b = a.length; i < b; i++){
if(a[i].align == "right" && a[i].parentNode.className == "darkrow3" && a[i].parentNode.align == "left"){
for(var x = 0, y = a[i].parentNode.parentNode.parentNode.getElementsByTagName('TR')[0].getElementsByTagName('TD')[1].getElementsByTagName('DIV')[1].getElementsByTagName('A'), j = y.length; x < j; x++){
if(y[x].href.match(/act=Post&CODE=06/i)){
var URL = y[x].href,
id = 0;
}}
a[i].innerHTML = "<a onclick='if(id==0){this.innerHTML=noquote;id=1;}else{this.innerHTML=quote;id=0;}multiQuote.fn(\"" + URL + "\", id);' style='cursor: pointer;'>" + quote + "</a>&nbsp;" + a[i].innerHTML;
}}
for(var i = 0, a = document.getElementsByTagName('A'), b = a.length; i < b; i++){
if(a[i].href.match(/act=Post&CODE=02/i) && a[i].parentNode.tagName == "TD" && a[i].parentNode.width == "80%"){
a[i].onclick = function(){
if(multiQuote.quotedPost != ''){
brownie.set('multiquote', multiQuote.quotedPost, 1);
}}}}},
check : function(){
var posts = brownie.get('multiquote');
if(posts != ""){
document.REPLIER.Post.value = posts;
brownie.del('multiquote');
}}}
		
var html = document.body.innerHTML.match(/Jcink Mods/gi);
// Ensure that the match() method found at least one match
if(   html !=null ) {

} else {
      $('.fullWrap').remove();
    alert( "Hey dumbyhead, you removed the copyrights! Jcinkmods.com to redownload son!")
}
