// Share Page Functions

function shareDialog(link,title,offset) {
	dialogClearclosewin();
	if ( $("#shareDialog").length ) {
		$("#shareDialog").remove();
	} else {
		var divstr = shareDialogCode(link,title);
		var pheight = $("#share_button").height();
		var ppos = $("#share_button").position();
		var top = ppos.top + pheight + offset;
		var left = ppos.left;
		$(divstr).appendTo("body");						
		$("#shareDialog").css({"top":top,"left":left});
	}
}

function shareDialogCode(link,title) {
	var str =
	'<div id="shareDialog" class="dialog" onmouseout="dialogOnmouseout(this.id)" onmouseover="dialogClearclosewin();">' +
	'<div class="inner">' +
	shareOption("delicious","delicious.gif","http://del.icio.us/post?url=%link%&title=%title%",link,title) +
	shareOption("digg","digg.gif","http://digg.com/submit?phase=2&url=%link%&title=%title%",link,title) +
	shareOption("myspace","myspace.gif","http://www.myspace.com/Modules/PostTo/Pages/?t=%title%&c=&u=%link%&l=2",link,title) +
	shareOption("facebook","facebook.gif","http://www.facebook.com/sharer.php?u=%link%&t=%title%",link,title) +
	shareOption("reddit","reddit.gif","http://reddit.com/submit?url=%link%&title=%title%",link,title) +
	shareOption("windows live","windowslive.gif","https://favorites.live.com/quickadd.aspx?mkt=en-us&url=%link%&title=%title%&top=0",link,title) +
	shareOption("google bookmarks","google.png","http://www.google.com/bookmarks/mark?op=edit&bkmk=%link%&title=%title%",link,title) +
	shareOption("stumbleupon","stumble.png","http://www.stumbleupon.com/submit?url=%link%&title=%title%",link,title) +
	'</div></div>';
	return str;
}

function shareOption(name,icon,linkcode,link,title) {
	linkcode = linkcode.replace('%link%',encodeURIComponent(link));
	linkcode = linkcode.replace('%title%',encodeURIComponent(title));
	return '<div class="sharelink"><a href="'+linkcode+'" target="_blank" onclick="urchinTracker(\'/share/'+name+location.pathname+location.search+'\');">' +
		'<img src="/images/share_icons/'+icon+'" border="0"><span>'+name+'</span></a></div>';
}

// Blog Subscribe Functions

function subscribeDialog(divid) {
	var content = '';
	content = '<form id="blogsubscribe" action="javascript:submitSubscribeDialog(this,\''+divid+'\')" method="post" onsubmit="return validateSubscribeDialog(this)">';
	content += '<p>Full Name:<br />';
	content += '<input name="fullname" type="text" size="21" maxlength="50" style="border: 1px solid #9C0204;margin-bottom: 6px;"><br />';
	content += 'Email:<br />';
	content += '<input name="emailto" type="text" size="21" maxlength="50" style="border: 1px solid #9C0204;"></p>';
	content += '<div align="right" style="margin-right:17px"><input type="image" value="send" src="/blog/images/submit_small.gif"></div>';
	content += '</form>';
	$("#"+divid).html(content);	
}

function validateSubscribeDialog(form) {
	if( form.fullname.value.length == 0 ) {
		alert('Please enter your name');
		form.fullname.focus();
		return false;
	}
	if( !validEmail(form.emailto.value) ) {
		alert('Please enter a valid email address for yourself');
		form.emailto.focus();
		return false;
	}
	return true;
}

function submitSubscribeDialog(form,divid) {
	$(document).ready(function() {

		$.AjaxCFC({
		  url: "/blog/blogajax.cfc",
		  method: "addSubscriber",
		  data: {"fullname":$("[name=fullname]").val(),"email":$("[name=emailto]").val()},
		  unnamedargs: false,
		  serialization: "json",
		  useDefaultErrorHandler: false,
		  success: function(obj) {
			var str = '<strong>Thank you!</strong><p>A message has been sent to your Email to confirm your subscription.</p>';
			$("#"+divid).html(str);
			$("#"+divid).show(1000);
		  },
		  failure: function(){ alert('Error connecting to server'); }
		});
	
	});
}

// Blog Comment Functions

function validateCommentForm(form,captcha) {
	if( form.name.value.length == 0 ) {
		alert('Please enter your name');
		form.name.focus();
		return false;
	}
	if( !validEmail(form.email.value) ) {
		alert('Please enter a valid email address for yourself');
		form.email.focus();
		return false;
	}
	if( form.comments.value.length == 0 ) {
		alert('Please enter your comment');
		form.comments.focus();
		return false;
	}
	if( captcha == 'yes' ) {
		if( form.captchaText.value.length == 0 ) {
			alert('Please enter the Captcha text');
			form.captchaText.focus();
			return false;
		} else {
			var test = '';
			test = captchaTest(form.captchaHash.value,form.captchaText.value);
			if( test == 'NO' ) {
				alert('The captcha text you have entered is incorrect');
				form.captchaText.focus();
				return false;
			}
		}
	}
	return true;
}

function captchaTest(chash,ctext) {
	var result = '';

		$.AjaxCFC({
		  url: "/blog/blogajax.cfc",
		  method: "captchaVal",
		  data: {"captchaHash":chash,"captchaText":ctext},
		  async: false,
		  unnamedargs: false,
		  serialization: "json",
		  useDefaultErrorHandler: false,
		  success: function(obj) {
			result = obj.data.response;
			return result;
		  },
		  failure: function(){ alert('Error connecting to server'); }
		});
	
	return result;
}

function submitCommentForm(form,divid) {
	$(document).ready(function() {
		if( $("input[name=website]").val() == 'http://') { $("input[name=website]").val('') }
		
		$.AjaxCFC({
		  url: "/blog/blogajax.cfc",
		  method: "addComment",
		  data: {"entryid":$("[name=entryid]").val(),"name":$("[name=name]").val(),"email":$("[name=email]").val(),"website":$("[name=website]").val(),"comments":$("[name=comments]").val(),"subscribe":$("input[name=subscribe]:checked").val(),"rememberme":$("input[name=rememberme]:checked").val()},
		  unnamedargs: false,
		  serialization: "json",
		  useDefaultErrorHandler: false,
		  success: function(obj) {
			var str = '<div id="heading_comment_on"></div><div id="comment_on_fields"><strong>Thank you for submitting your comment. Your comment will be published upon approval by the moderator.</strong></div>';
			$("#"+divid).html(str);
			$("#"+divid).show(1000);
		  },
		  failure: function(){ alert('Error connecting to server'); }
		});
	
	});
}

// Add RSS Feed Functions

function showFeed(url,id) {
	dialogClearclosewin();
	if ( $("#feedDialog").length ) {
		$("#feedDialog").remove();
	} else {
		var feed = url;
		var divstr = '';
		divstr = '<div id="feedDialog" onmouseout="dialogOnmouseout(this.id)" onmouseover="dialogClearclosewin();">';
		divstr += '<a href="' + feed + '"><img src="/images/rss_icons/addxml.gif" border="0" style="padding:3px 0 0 3px;" /></a><br />';
		divstr += '<a href="http://fusion.google.com/add?feedurl=' + feed + '" target="_blank"><img src="/images/rss_icons/add2google.gif" border="0" style="padding:3px 0 0 3px;" /></a><br />';
		divstr += '<a href="http://www.bloglines.com/sub/' + feed + '" target="_blank"><img src="/images/rss_icons/add2bloglines.gif" border="0" style="padding:3px 0 0 3px;" /></a><br />';
		divstr += '<a href="http://www.netvibes.com/subscribe.php?url=' + feed + '" target="_blank"><img src="/images/rss_icons/add2netvibes.gif" border="0" style="padding:3px 0 0 3px;" /></a><br />';
		divstr += '<a href="http://add.my.yahoo.com/rss?url=' + feed + '" target="_blank"><img src="/images/rss_icons/add2myyahoo.gif" border="0" style="padding:3px 0 0 3px;" /></a><br />';
		divstr += '<a href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=' + feed + '" target="_blank"><img src="/images/rss_icons/add2newsgator.gif" border="0" style="padding:3px 0 0 3px;" /></a>';
		divstr += '</div>';
		var pheight = $("#"+id).height();
		var pwidth = $("#"+id).width();
		var ppos = $("#"+id).position();
		var width = 99;
		var height = 147;
		var top = ppos.top + pheight;
		var left = ppos.left - (width - pwidth + 5);
		var cssObj = {
			"width" : width,
			"height" : height,
			"top" : top,
			"left" : left
		}
		$(divstr).appendTo("body");						
		$("#feedDialog").css(cssObj);
	}
}

// Dialog close functions

function dialogClearclosewin() { if (typeof at12E!="undefined")clearTimeout(at12E); }
function dialogOnmouseout(id) { dialogClosewinwait(id); }
function dialogClosewinwait(id) { func="closeDialog('"+id+"')";at12E=setTimeout(func,0764); }
function closeDialog(id) { $("#"+id).remove(); }

// Email a Friend functions

function validEmail(s){
	var i = 1;
	var sLength = s.length;
	while ((i < sLength) && (s.charAt(i) != "@")){ i++ }
	if ((i >= sLength) || (s.charAt(i) != "@")) return false; else i += 2;
	while ((i < sLength) && (s.charAt(i) != ".")){ i++ }
	if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false; else { return true; }
}

function emailFriendDialog(divid, title) {
	$(document).ready(function() {
	
		$.AjaxCFC({
		  url: "/common/public.cfc",
		  method: "emailFriendDialog",
		  data: {"divid":divid,"title":title},
		  unnamedargs: false,
		  serialization: "json",
		  useDefaultErrorHandler: false,
		  success: function(obj) {
			var width = 0, height = 0, left = 0, top = 0;
			width = $(window).width();
			height = $(window).height();
			vscroll = $(window).scrollTop();
			left = (width / 2) - (226 / 2);
			top = vscroll + ((height / 2) - (435 / 2));
			$(obj).appendTo("body");						
			$("#"+divid).css({"top":top,"left":left});
		  }
		});
	
	});
}

function closeEmailFriendDialog(divid) {
	$("#"+divid).remove();
}

function validateEmailFriendDialog(form) {
	if( form.fromname.value.length == 0 ) {
		alert('Please enter your name');
		form.fromname.focus();
		return false;
	}
	if( !validEmail(form.fromemail.value) ) {
		alert('Please enter a valid email address for yourself');
		form.fromemail.focus();
		return false;
	}
	if( form.toname.value.length == 0 ) {
		alert('Please enter your friend\'s name');
		form.toname.focus();
		return false;
	}
	if( !validEmail(form.toemail.value) ) {
		alert('Please enter a valid email address for your friend');
		form.toemail.focus();
		return false;
	}
	return true;
}

function submitEmailFriendDialog() {
	$(document).ready(function() {
		var ccme = $("input[name=ccMe]").is(":checked") ? 1 : 0;

		$.AjaxCFC({
		  url: "/common/public.cfc",
		  method: "emailFriend",
		  data: {"fromname":$("[name=fromname]").val(),"fromemail":$("[name=fromemail]").val(),"toname":$("[name=toname]").val(),"toemail":$("[name=toemail]").val(),"message":$("[name=message]").val(),"ccme":ccme,"title":$("[name=title]").val()},
		  unnamedargs: false,
		  serialization: "json",
		  //blockUI: true,
		  useDefaultErrorHandler: false,
		  success: function(obj) {
			var str = '<h3>email sent!</h3><p>Your email has been sent to:<br /><strong>'+obj.data.toemail+'</strong>.</p>';
			$('#email-sent').html(str);
			$('#email-sent').show(1000);
		  },
		  failure: function(){ alert('Error connecting to server'); }
		});
		//urchinTracker('/emailfriend'+location.pathname+location.search);
	
	});
}

