var templateDirectory = 'http://rvablogs.com/wp-content/themes/RVABlogs3';
var home = 'http://rvablogs.com/';
var account = 'http://rvablogs.com/account';
//style Sheet Functions=========================================================
//==============================================================================
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
// login/signuyp functions =====================================================
//==============================================================================
// login -----------------------------------------------------------------------
// -----------------------------------------------------------------------------
	function login() {
		var lLogin = $('login').value;
		var lPassword = $('password').value;
		var lRemember = $('remember').checked;
		var url = templateDirectory + '/server.php'
		
		if(lRemember == true) {
			lRemember = 'on';
		}
		
		new Ajax.Request(url, {
			method: 'post',
			postBody: 'm=login&login=' + lLogin + '&password=' + lPassword + '&remember=' + lRemember,
			onSuccess: function(transport) {
				if(transport.responseText == 'failure') {
					$('lErrors').innerHTML = '<p>Whoa, not even close. Try logging in again.</p>';
					Effect.Appear('lErrors', {duration:.5});
					return false;
				} else {
					//if you want ajax login
					/*
					Effect.Fade('loginForm', {duration:.5});
					var url = templateDirectory + '/server.php?m=logout';
					$('loginOptions').innerHTML = '<a href = "' + url + '">Logout</a>';
					
					new Ajax.Updater($('userMenu'), templateDirectory + '/userMenu.php');
					*/
					
					window.location = home;
				}
			}
		});			
	} // end login
// signUp ----------------------------------------------------------------------
// -----------------------------------------------------------------------------
	function signUp() {
		var sLogin = $('sLogin').value;
		var sPassword = $('sPassword').value;
		var sEmail = $('sEmail').value;
		var url = templateDirectory + '/server.php'

		// if you've not filled out all the fields
		if((sLogin == '') || (sPassword == '') || (sEmail == '')) {
			$('sErrors').innerHTML = "<p>&nbsp;</p>";
			$('sErrors').innerHTML = "<p>You've gotta fill out <em>all</em> the fields, man.</p>";
			Effect.Appear('sErrors', {duration:.5});
			
	 		//if you have filled them all out
		} else {
			new Ajax.Request(url, {
				method: 'post',
				postBody: 'm=signup&sLogin=' + sLogin + '&sPassword=' + sPassword + '&sEmail=' + sEmail,
				onSuccess: function(transport) {
					if(transport.responseText != 'success') {
						$('sErrors').innerHTML = transport.responseText;
						Effect.Appear('sErrors', {duration:.5});	
						
					} else {
						//if you want ajax signup
						/*
						Effect.Fade('signUpForm', {duration:.5});
						var url = templateDirectory + '/server.php?m=logout';
						$('loginOptions').innerHTML = '<a href = "' + url + '">Logout</a>';	
						
						new Ajax.Updater($('userMenu'), templateDirectory + '/userMenu.php');
						*/
						
						window.location = home;						
					}
				}
			});			
		}
	} // end signUp
	

//PoP functions ================================================================
//==============================================================================
// cheating --------------------------------------------------------------------
//	catches cheaters
//------------------------------------------------------------------------------
 function cheating() {
 	 	
 } // end cheating

// popClickFinish---------------------------------------------------------------
//	things to do when the popClick is finished
//------------------------------------------------------------------------------
	function popClickFinish (request) {
		/*alert(request + '::' + id);
		$('popNum-' + id).innerHTML = request.responseText;	
		
		if(href[href.length-1] != '#') {
			document.location = href;
		}
		*/
	}
// popClick --------------------------------------------------------------------
//	updates the number of pop's for a post
//------------------------------------------------------------------------------
	function popClick (e, num) {
		var id = e.id.split('-')[1];
		var url = templateDirectory + '/popServer.php';
		
		new Ajax.Request(url, {
				method: 'post',
				postBody: 'mode=popClick&postId=' + id + '&num=' + num,
				onSuccess: function(transport) {
					if(Element.hasClassName(e, 'popLinkTitle')) {
						document.location = e.href;
					}
					$('popNum-' + id).innerHTML = transport.responseText;	
				}
		});	
	}

//BlackList functions ==========================================================
//==============================================================================
// blackListLimiter-------------------------------------------------------------
//	limits the number of items you can add to your black list
//------------------------------------------------------------------------------	
	function blackListLimiter() {
		var blackList = document.getElementsByClassName('theBlackList');
		blackList = blackList[0];
		var checkboxes = blackList.childrenWithClassName('checkbox');

		var counter = 0;		
		for(var i = 0; i < checkboxes.length; i ++) {
			if(checkboxes[i].checked) {
				counter ++;
			}
		}
		
		if(counter > 3) {
			alert("You can only black list three blogs at a time.");
			
			return false;
		} else {
			return true;
		}
	} // blackListLimiter
	
//WhiteList functions ==========================================================
//==============================================================================
// whiteListLimiter-------------------------------------------------------------
//	limits the number of items you can add to your favorites
//------------------------------------------------------------------------------	
	function whiteListLimiter() {
		var blackList = document.getElementsByClassName('theWhiteList');
		blackList = blackList[0];
		var checkboxes = blackList.childrenWithClassName('checkbox');

		var counter = 0;		
		for(var i = 0; i < checkboxes.length; i ++) {
			if(checkboxes[i].checked) {
				counter ++;
			}
		}
		
		if(counter > 3) {
			alert("You can only favorite three blogs at a time.");
			
			return false;
		} else {
			return true;
		}
	} // blackListLimiter	
	
//Account functions ============================================================
//==============================================================================
// changePassword --------------------------------------------------------------
//	changes your password
//------------------------------------------------------------------------------	
	function changePassword() {
		var username = $('username').value;
		var oldPassword = $('oldPassword').value;
		var newPassword = $('newPassword').value;
		var url = templateDirectory + '/server.php'


		// if you've not filled out all the fields
		if((username == '') || (oldPassword == '') || (newPassword == '')) {
			$('cpErrors').innerHTML = "<p>You've gotta fill out <em>all</em> the fields, man.</p>";
			Effect.Appear('cpErrors', {duration:.5});
		
		//if you have filled them all out
		} else {
			new Ajax.Request(url, {
				method: 'post',
				postBody: 'm=changePassword&username=' + username + '&oldPassword=' + oldPassword + '&newPassword=' + newPassword,
				onSuccess: function(transport) {
					if(transport.responseText != 'success') {
						$('cpErrors').innerHTML = transport.responseText;
						Effect.Appear('cpErrors', {duration:.5});	
						
						return false;
					} else {
					
						$('cpErrors').innerHTML = '<p>You password has been changed.</p>';
						Effect.Appear('cpErrors', {duration:.5});					
					}
				}
			});			
		}

	} // chnagePassword
	
// emailNewPassword --------------------------------------------------------------
//------------------------------------------------------------------------------	
	function emailNewPassword() {
		var username = $('lpLogin').value;
		var email = $('lpEmail').value;
		var url = templateDirectory + '/server.php'


		// if you've not filled out all the fields
		if((username == '') || (email == '')) {
			$('lpErrors').innerHTML = "<p>You've gotta fill out <em>all</em> the fields, man.</p>";
			Effect.Appear('lpErrors', {duration:.5});
		
		//if you have filled them all out
		} else {
			new Ajax.Request(url, {
				method: 'post',
				postBody: 'm=emailNewPassword&username=' + username + '&email=' + email,
				onSuccess: function(transport) {
					if(transport.responseText != 'success') {
						$('lpErrors').innerHTML = transport.responseText;
						Effect.Appear('lpErrors', {duration:.5});	
						
						return false;
					} else {
						$('lpErrors').innerHTML = '<p>Congrats. Check your email for a new password.</p>';
						Effect.Appear('lpErrors', {duration:.5});						
					}
				}
			});			
		}

	} // emailNewPassword

//Behaviour rules===============================================================
//==============================================================================
var myrules = {
//pop rules-----------------------------------------------------------------
	'.post h2 a' : function(element){
		element.onclick = function() {
			
			popClick(element, 1);
			//document.location = element.href;
			
			return false;
		}
	},
	'a.popLink' : function(element){
		element.onclick = function() {

			id = element.id.split('-')[1];			
			var div = element.parentNode.parentNode;

			if(Element.hasClassName(div, 'favoritePost')) {
				$('popNum-' + id).innerHTML = '<img class = "loader" src = "'+templateDirectory+'/images/icon-loader-favorites.gif" alt = "" />';					
			} else {
				$('popNum-' + id).innerHTML = '<img class = "loader" src = "'+templateDirectory+'/images/icon-loader.gif" alt = "" />';		
			}


			popClick(element, 1);
			
			return false;
		}
	},
//end pop rules
	

//front page rules ---------------------------------------------------------
	'#hsContributors' : function(element){
		element.onclick = function() {
			Effect.toggle('contributorList', 'blind');
			
			return false;
		}	
	},
	'#loginLink' : function(element){
		element.onclick = function() {

			if(Element.getStyle('signUpForm', 'display') == 'block') {
				Effect.toggle('signUpForm', 'blind', {duration:.2});
			}
			if(Element.getStyle('lostPasswordForm', 'display') == 'block') {
				Effect.toggle('lostPasswordForm', 'blind', {duration:.2});
			}			
			
			Effect.toggle('loginForm', 'blind', {duration:.5});
		
			return false;
		}	
	},
	'#signUpLink' : function(element){
		element.onclick = function() {
		
			if(Element.getStyle('loginForm', 'display') == 'block') {
				Effect.toggle('loginForm', 'blind', {duration:.2});
			}

			Effect.toggle('signUpForm', 'blind', {duration:.5});
		
			return false;
		}	
	},
	'#lostPasswordLink' : function(element){
		element.onclick = function() {
			
			Effect.Fade('loginForm', {duration: .5});
			Effect.BlindDown('lostPasswordForm', {duration: .5, delay: .65});
			
			return false;
		}	
	},	
	'#metaLink' : function(element){
		element.onclick = function() {
		
			Effect.toggle('meta', 'blind', {duration:.2});
			
			if(element.style.backgroundImage == 'none') {
				element.style.backgroundImage = 'url(' + templateDirectory + '/images/arrow-whiteRed.gif)';
			} else {
				element.style.backgroundImage = 'none';
			}
			
			return false;
		}	
	},
	'#loginButton' : function(element){
		element.onclick = function() {
		
			login();
			
			return false;
	
		}	
	},	
	'#signUpButton' : function(element){
		element.onclick = function() {
		
			signUp();
			
			return false;
		}	
	},	
	
	'#metaCloseLink a' : function(element){
		element.onclick = function() {
		
			Effect.toggle('meta', 'blind', {duration:.2});
			$('metaLink').style.backgroundImage = 'url(' + templateDirectory + '/images/arrow-whiteRed.gif)';
	
			
		
			return false;
		}	
	},	
	'.hsBlackListedContent' : function(element){
		element.onclick = function() {
			var id = element.id.split('-')[1];
			
			Effect.toggle('blackListedContent-'+id, 'blind', {duration:.2});
		
			return false;
		}	
	},
	'#s' : function(element){
		element.onclick = function() {
			element.value = '';		
		}	
	},	
	
// end front page rules
	
	
//style sheet rules	------------------------------------------------------------
	'#ssFluid' : function(element){
		element.onclick = function() {
		
			setActiveStyleSheet('Fluid');
			Element.addClassName(element, "fluidOn"); 		
			
			var fixed = $('ssFixed');
			var fluid = $('ssMax');
			
			Element.removeClassName(fixed, "fixedOn");
			Element.removeClassName(fluid, "maxOn");		
		
			return false;
		}	
	},
	'#ssFixed' : function(element){
		element.onclick = function() {
		
			setActiveStyleSheet('default');
			Element.addClassName(element, "fixedOn"); 	
			
			var fixed = $('ssMax');
			var fluid = $('ssFluid');
			
			Element.removeClassName(fixed, "maxOn");
			Element.removeClassName(fluid, "fluidOn");		
		
			return false;
		}	
	},
	'#ssMax' : function(element){
		element.onclick = function() {
		
			setActiveStyleSheet('Max');
			Element.addClassName(element, "maxOn"); 	
			
			var fixed = $('ssFixed');
			var fluid = $('ssFluid');
			
			Element.removeClassName(fixed, "fixedOn");
			Element.removeClassName(fluid, "fluidOn");

		
			return false;
		}	
	},
// end style sheet rules


// BlackList rules	------------------------------------------------------------
	'.theBlackList .checkbox' : function(element){
		element.onchange = function() {
			var userLevel = readCookie('userLevel');
			if(userLevel != 'customer') {
				if(!blackListLimiter()) {
					element.checked = false;
				}
			}
		
			return false;
		}	
	},
// end BlackList rules

// WhiteList rules	------------------------------------------------------------
	'.theWhiteList .checkbox' : function(element){
		element.onchange = function() {
			var userLevel = readCookie('userLevel');
			if(userLevel != 'customer') {
				if(!whiteListLimiter()) {
					element.checked = false;
				}
			}
		
			return false;
		}	
	},
// end BlackList rules
	
// account rules ---------------------------------------------------------------
	'#changePasswordButton' : function(element){
		element.onclick = function() {
			changePassword();
			
			return false;
		}	
	},
	'#lostPasswordButton' : function(element){
		element.onclick = function() {
			emailNewPassword();
			
			return false;
		}	
	},
	
// tag rules -------------------------------------------------------------------
	'.addTags' : function(element){
		element.onclick = function() {
			
			var parent = this.parentNode;
	
			var action = 'add';
			var post = parent.id.split('-')[1];
			var tag = $('tag-' + post).value;

			var url = templateDirectory + '/ultimate-tag-warrior-ajax.php'
			new Ajax.Request(url, {
				method: 'post',
				postBody: 'action=' + action + '&post=' + post + '&tag=' + tag,
				onSuccess: function(transport) {
					$('tag-' + post).value = '';
					$('utwtags-' + post).innerHTML = '';
					$('utwtags-' + post).innerHTML = transport.responseText;
					new Effect.Highlight('utwtags-' + post, {duration:1});
				}
			});	
			
			return false;
		}	
	}	
};
Behaviour.register(myrules);
Behaviour.addLoadEvent(function() {
	if (document.images) {
		pic1= new Image(16,16); 
		pic1.src= templateDirectory + '/images/icon-loader.gif';
	}
}); 
//General ======================================================================
//==============================================================================
	window.onunload = function(e) {
		var title = getActiveStyleSheet();
		createCookie("style", title, 365);
	}

	var cookie = readCookie("style");
	var title = cookie ? cookie : getPreferredStyleSheet();
	setActiveStyleSheet(title);	

	
