//<![CDATA[
		   
/* This script fetches and process the contact form for blog entries */
		  
	if($("a[rel*='cta']").length) {$("a[rel*='cta']").click(function(e){
					var url = getUrlVars($(this).attr("href"));
					var success = false;
					var self  = $(this);
					$.ajax({
					   type: "POST",
					   url: "/blogs/scripts/ajax/contact_form.php",
					   data: "author="+url['author'],
					   async: false,
					   success: function(msg){
							if (msg!="") {
							$(msg).appendTo('body');
							if (!$("#entryname").length) {
								$("#entry_contact h2").append("<span id='entryname'></span>");
							}
							$("#entryname").empty().append(url['title']);
							$("#entry_contact form").append("<input type='hidden' name='bid' value='"+url['bid']+"' />")
													.append("<input type='hidden' name='eid' value='"+url['eid']+"' />");
							$("#entry_contact")
							.append($('<p class="close"><span class="simplemodal-close">Close</span></p>'))
							.modal({close: false, onClose: closeModal, onOpen: openModal, persist: false, onShow: onshowModal});
							success = true;
							} 
					   },
					   error: function(obj,text,error) {   }
					 });
			return !success;
	});	}

function closeModal (dialog) {	dialog.data.fadeOut('slow', function () {dialog.container.fadeOut('slow', function () {dialog.overlay.slideUp('slow', function () {$.modal.close();$('.close').remove();$('#entry_contact').remove();});});	});}
function openModal (dialog) {	dialog.overlay.fadeIn('slow', function () {dialog.container.fadeIn('slow', function () {dialog.data.hide().slideDown('slow');});	});}
function onshowModal (dialog) {
	$(document).keypress(function(e){
	  var key  = (window.event) ?  event.keyCode : e.keyCode;
 	 if( key == 27 ) $.modal.close();
	});
	if($("#entry_contact").length) {
		$("#entry_contact input[name='org'], #entry_contact input[name='type'], #entry_contact input[name='inquiry']")
			.blur(function(){checkField($(this),isCompleted,"Field Required.")});
		$("#entry_contact input[name='name']")
			.blur(function(){checkField($(this),isValidName,"Full Name Required.")});
		setOptional($("#entry_contact input[name='phone']"));
		$("#entry_contact select[name='contact_how']").change(function(){
			var phone = $("#entry_contact input[name='phone']");
			var email = $("#entry_contact input[name='email']");
			if ($(this).val() == "email") {
				clearOptional(email);	setOptional(phone);
			} else {
				clearOptional(phone);
				setOptional(email);
			}
		});
		

		$("#entry_contact input[name='email']").change(function(){
			var nullpasses = $("#entry_contact select[name='contact_how']").val() == "email" ? false : true;
			checkField($(this),isValidEmail,"Invalid email format. Please correct.",nullpasses);
		});	
		$("#entry_contact input[name='phone']").change(function(){
			var nullpasses = $("#entry_contact select[name='contact_how']").val() == "phone" ? false : true;
			checkField($(this),isValidPhone,"Phone numbers cannot contain letters (with the exception of 'ext'). Please correct.",nullpasses);
		});	
			

		$("#entry_contact button[name='contact_send']").click(function(){
	
			$("#entry_contact input[name='org'], #entry_contact input[name='type'], #entry_contact input[name='inquiry']")
				.each(function(){checkField($(this),isCompleted,"Field Required.")});
			
			checkField($("#entry_contact input[name='name']"),isValidName,"Full Name Required.");
	
			var nullpasses = $("#entry_contact select[name='contact_how']").val() == "email" ? false : true;
			checkField($("#entry_contact input[name='email']"),isValidEmail,"Invalid email format. Please correct.",nullpasses);
			nullpasses = $("#entry_contact select[name='contact_how']").val() == "phone" ? false : true;
			checkField($("#entry_contact input[name='phone']"),isValidPhone,"Phone numbers cannot contain letters (with the exception of 'ext'). Please correct.",nullpasses);

			if ($('.form_error').length) {
				alert("Please complete all fields.");
			} else { 
				$(this).attr("disabled", "true");
				$("#entry_contact form").append($('<p class="sending">Please wait while we send your message...</p>'));
				name = $("#entry_contact input[name='name']").val();			
				data_string = $("#entry_contact form").serialize();
				$('#entry_contact').fadeTo(500,.5);
				$.ajax({
				   type: "POST",
				   url: "/blogs/scripts/ajax/contact_process.php",
				   data: data_string+"&title="+$("#entryname").text()+"&ajax=true",
				   async: false,
				   success: function(msg){
					$("#entry_contact h2").after(
						$("<p class='success column span-4 last'>Hello, <strong>"
							+ name	+"</strong>:<br />" + 
							"Thank you for your interest. You'll hear back from "+$("#q_bloggername").text()+" soon.</p>")); 
					$('#entry_contact').fadeTo(500,1);
				   },
				   error: function(obj,text,error) {
					$("#entry_contact h2").after(
						$("<p class='error column span-4 last'>Hello, <strong>"
							+ name	+ "</strong>:<br />" + 
							"Something went wrong when we tried to send your message. You can try again later "
							+ "or contact us another way: by phone at +1.315.853.4900 or by e-mail at "
							+ "<a href='"+$("#entry_contact form").attr("title")+"?subject=Blog Contact: "+$("#entryname").text()+"'>"
							+ $("#entry_contact form").attr("title")+"</a>.</p>")); 
					$('#entry_contact').fadeTo(500,1);
				   }
				 });

				$("#entry_contact form").remove();
			}
			return false; // We don't want to submit the form since AJAX handled it
		});
	}
}

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars(u)
{
	var url = u=="" ? window.location.href : u;
	var vars = [], hash;
    var hashes = url.slice(url.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

jQuery.fn.addNotice = function(element, time) {
	jQuery(this).prepend(element);
	element.animate({opacity:1},time, function(){
		jQuery(this).animate( {opacity: 0.0, height:0}, 1000, function() {jQuery(this).remove();})
	});
	return this;
}

function isCompleted(str) { return str != ""; }
function isValidName(str) {
  var format = new RegExp("^.* .*$"); 
  var matches = format.exec(str);
  return matches;
}
function isValidEmail(str) {
  if (str == "optional") return true;
  var format = new RegExp("^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+[.])+[A-Za-z]{2,4}$"); 
  var matches = format.exec(str);
  return matches;
}
function isValidPhone(str) {
  if (str == "optional") return true;
  var format = new RegExp("^[-0-9ext,.\s ()+]+$"); 
  var matches = format.exec(str);
  return matches;
}
function checkField(element,check,error,nullpasses) {
	nullpasses = nullpasses ? (trim(element.val())=="" ? true : false) : false;
	element.removeClass('form_error');
	if (element.parent('div,p').children("span.error").length) 
			element.parent('div,p').children("span.error").remove();
	
	if (nullpasses || check(element.val())) return true; 
	
	element.addClass('form_error');
	$('<span class="error">'+error+'</span>').appendTo(element.parent('div,p'));
	return false;
									
}
function trim(str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function setOptional(el) {
	if (el.val() == "") el.val('optional').addClass('js_option');
	el.focus(function(){ if (el.val() == 'optional') el.val("").removeClass('js_option'); })
			 .blur(function(){ if (el.val() == "") el.val('optional').addClass('js_option'); }).change();	
}
function clearOptional(el) {
	if (el.val() == "optional") el.val("");
	el.removeClass('js_option').unbind('focus').unbind('blur');
}


/* This part is for e-mail a friend */

	if($("a.email_a_friend").length) {
		$("a.email_a_friend").click(function(e){
					var url = getUrlVars($(this).attr("href"));
					var success = false;
					var self  = $(this);
					$.ajax({
					   type: "POST",
					   url: "/blogs/scripts/ajax/email_a_friend_form.php",
					   data: "t="+url['t']+"u="+url['u'],
					   async: false,
					   success: function(msg){
							if (msg!="") {
							$(msg).appendTo('body');
							if (!$("#entryname").length) {
								$("#entry_contact h2").append("<span id='entryname'></span>");
							}
							$("#entryname").empty().append(url['t']);
							$("#entry_contact form").append("<input type='hidden' name='t' value='"+url['t']+"' />")
													.append("<input type='hidden' name='u' value='"+url['u']+"' />");
							$("#entry_contact")
							.append($('<p class="close"><span class="simplemodal-close">Close</span></p>'))
							.modal({close: false, onClose: fcloseModal, onOpen: fopenModal, persist: false, onShow: fonshowModal});
							success = true;
							} 
					   },
					   error: function(obj,text,error) {   }
					 });
			return !success;
		});
	}

function fcloseModal (dialog) {
	dialog.data.fadeOut('slow', function () {
		dialog.container.fadeOut('slow', function () {
			dialog.overlay.slideUp('slow', function () {
				$.modal.close();
				$('.close').remove();
				$('#entry_contact').remove();
			});
		});
	});
}
function fopenModal (dialog) {
	dialog.overlay.fadeIn('slow', function () {
		dialog.container.fadeIn('slow', function () {
			dialog.data.hide().slideDown('slow');	 
		});
	});
}
function fonshowModal (dialog) {
	$(document).keypress(function(e){
	  var key  = (window.event) ?  event.keyCode : e.keyCode;
 	 if( key == 27 ) $.modal.close();
	});
	if($("#friend_share").length) {
		$("#friend_share input[name='sname'], #friend_share input[name='rname']")
			.blur(function(){checkField($(this),isCompleted,"Field Required.")});
		$("#friend_share input[name='remail'],#friend_share input[name='semail']")
			.blur(function(){checkField($(this),isValidEmail,"Invalid email format. Please correct.")});

		$("#friend_share button[name='friend_send']").click(function(){
	
			$("#friend_share input[name='sname'], #friend_share input[name='rname']")
				.each(function(){checkField($(this),isCompleted,"Field Required.")});
			$("#friend_share input[name='remail'],#friend_share input[name='semail']")
				.each(function(){checkField($(this),isValidEmail,"Invalid email format. Please correct.")});

			if ($('.form_error').length) {
				alert("Please complete all fields.");
			} else { 
				$(this).attr("disabled", "true");
				$("#entry_contact form").append($('<p class="sending">Please wait while we send your message...</p>'));
				data_string = $("#entry_contact form").serialize();
				$('#entry_contact').fadeTo(500,.5);
				$.ajax({
				   type: "POST",
				   url: "/blogs/scripts/ajax/friend_process.php",
				   data: data_string+"&ajax=true",
				   async: false,
				   success: function(msg){
					$("#entry_contact h2").after(
						$("<p class='success column span-4 last'>" 
							+ "Your friend has been sent an e-mail with a link to this post.</p>")); 
					$('#entry_contact').fadeTo(500,1);
				   },
				   error: function(obj,text,error) {
					$("#entry_contact h2").after(
						$("<p class='error column span-4 last'>Hello, <strong>"
							+ name	+ "</strong>:<br />" + 
							"Something went wrong when we tried to send your message. Please try again later.</p>")); 
					$('#entry_contact').fadeTo(500,1);
				   }
				 });

				$("#entry_contact form").remove();
			}
			return false; // We don't want to submit the form since AJAX handled it
		});
	}
}
// ]]>

