function startList() {
	if(document.all && document.getElementById) {
		navRoot = document.getElementById("primarynav");
		for(i=0;i < navRoot.childNodes.length;i++) {
			node = navRoot.childNodes[i];
			if(node.nodeName == "LI") {
				node.onmouseover = function() {
					this.className += " over";
				}
				node.onmouseout = function() {
					this.className = this.className.replace(" over", "");
				}
			}
		}
	}
}

function checkInput(who) {
	if(who.value == "Search...") {
		who.className = who.className.replace(" label","");
		who.value = "";
	} else if(who.value == "") {
		who.className = who.className+" label";
		who.value = "Search...";
	}
}

function validateSearch() {
	var x=document.getElementById("searchbox");
	if(x.value && x.value != "Search...") {
		return true;
	} else {
		alert("Please enter your search criteria.");
		return false;
	}
}

function validate(form) {
	var f = form;
	var missing = new Array();
	var msg = "Please be sure to fill out all of the fields marked in red.";
	for(i=0;i<f.elements.length;i++) {
		if(f.elements[i].value.length < 1 && f.elements[i].className == "required") {
			missing.push(f.elements[i].name);
		}
		if(f.elements[i].name.toLowerCase().indexOf("email") > -1 && f.elements[i].className == "required") {
			if(!validateEmail(f.elements[i].value)) {
				missing.push(f.elements[i].name);
				missing.length > 1 ? msg += " Also, please make sure you have entered a valid email address." : msg = "Please make sure you have entered a valid email address.";
			}
		}
		if((f.elements[i].type == "checkbox") && f.elements[i].className == "required" && f.elements[i].checked != true) {
			missing.push(f.elements[i].name);
		}
	}
	if (missing.length > 0) {
		labels = document.getElementsByTagName("LABEL");
		for(h=0;h<labels.length;h++) {
			labels[h].className = "";
		}
		for(j=0;j<missing.length;j++) {
			document.getElementById(missing[j]).className = "required";
		}
		alert(msg);
		return false;
	}
	else {
		return true;
	}
}

function validateEmail(str) {
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function relative_time(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
	  
	  var r = '';
	  if (delta < 60) {
	    r = 'a minute ago';
	  } else if(delta < 120) {
	    r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
	    r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
	    r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
	    r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
	    r = '1 day ago';
	  } else {
	    r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }
	  
	  return r;
}

function get_social() {
	var url = "http://twitter.com/statuses/user_timeline/guidance_center.json?count=12&callback=?";
	$.getJSON(url,function(json) {
		var html = "<h3>Twitter</h3><ul>";
		//loop through and within data array's retrieve the message variable.
		$.each(json,function(i,item) {
			html += "<li>"+ $.toLink(item.text)+ " <span><a href=\"http://twitter.com/#!/guidance_center/status/"+item.id_str+"\" class=\"external\">"+ relative_time(item.created_at)+ "</a></span></li>";
		});

		html += "</ul>";
		
		$('#social_div').animate({opacity:0}, 500, function(){
			$('#social_div').html(html);
		});
		
		$('#social_div').animate({opacity:1}, 500);
	});
};

(function($) {
	$.toLink = function(text) {
		var urlRegExp = /((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?)/gm;
		var newText = text.replace(urlRegExp, '<br /><a href="$1" class=\"external\">$1</a>');
		return newText;
	};
})(jQuery);

/* on document ready */
$(document).ready(function() {
	$('body.home div#banners').cycle({ 
	    fx:'fade', 
	    timeout:8000,
	    cleartype:true,
	    cleartypeNoBg:true
	});
	if($('div#social_div').length > 0) {
		get_social();
	}
	
	$('a.external').click(function(){
		window.open(this.href);
		return false;
	});
	$('select[name=item]').change(function() {
		if($(this).attr('value').toLowerCase() == "1.00|donation") {
			$('#q_prefix').html("$");
			$('input[name=qty]').attr("size",4);
			$('#q_suffix').html("");
			$('#q_note').html(" <em class=\"note\">(Enter donation amount in $1 increments)</em>");
		} else {
			$('#q_prefix').html("");
			$('input[name=qty]').attr("size",2);
			$('#q_suffix').html(" x ");
			$('#q_note').html("");
		}
	});
	startList();
});
