function $elWidget(el){	return document.createElement(el);}
function $tnWidget(textNode){return document.createTextNode(textNode);}

function alterWidgetEmailFocus(el){
	var thisVal = this.value;
	if(thisVal == "email address" && this.focus){this.value = '';}
}

function alterWidgetEmailBlur(el){
	var thisVal = this.value;
	if (thisVal == "" && this.blur){this.value = 'email address';}
}

function validateWidgetNS(fm){
	var ePattern = /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;
	if (!ePattern.test(document.getElementById('widget_newsletter_email_id').value)) {
		 document.getElementById('widget_newsletter_email_error').style.display = 'block';
		 document.getElementById('widget_newsletter_email_id').focus();
		 return false;
	 }
	 return true;
}
	
/************** WIDGET STARTING SCRIPT ************************/
var WidgetJsTags = document.getElementsByTagName("SCRIPT");
var widgetCallerTag, tnWidget;
for(i=0; i< WidgetJsTags.length; i++){
	thisTag = WidgetJsTags[i];
	if (thisTag.src.indexOf("/widget_newsletter_subscription.js") > -1){
		widgetCallerTag = thisTag;
		break;
	}
}

var widgetHeadTags = document.getElementsByTagName("head");
	
var widgetCss = document.createElement("link");
	widgetCss.setAttribute("rel","stylesheet");
	widgetCss.setAttribute("href","http://www.realestateabc.com/includes/share_widget/widget_newsletter_subscription.css");
	widgetCss.setAttribute("media","screen");
	widgetCss.setAttribute("type","text/css");
	widgetCss.setAttribute("charset","utf-8");
	widgetHeadTags[0].appendChild(widgetCss);
	
var widgetWraper = $elWidget("div");
widgetWraper.setAttribute("id", "widget_ns_wraper_id");

var widgetHeader = $elWidget("div");
	widgetHeader.setAttribute("id","widget_ns_header");
	tnWidget = $tnWidget("RealEstateABC Newsletter");
	widgetHeader.appendChild(tnWidget);
	widgetWraper.appendChild(widgetHeader);

var widgetForm = $elWidget("form");
	widgetForm.setAttribute("name", "widget-newsletter-form");
	widgetForm.setAttribute("id", "widget_newsletter_form_id");
	widgetForm.setAttribute("method", "post");
	widgetForm.setAttribute("action", "http://www.realestateabc.com/home-values/newsletter");
	widgetForm.onsubmit = validateWidgetNS;

var widgetHidden = $elWidget("input");
	widgetHidden.setAttribute("type", "hidden");
	widgetHidden.setAttribute("name", "formWidgetNewsletterSubmit");
	widgetHidden.setAttribute("value", "1");
	widgetForm.appendChild(widgetHidden);

var widgetEmail = $elWidget("input");
	widgetEmail.setAttribute("type", "text");
	widgetEmail.setAttribute("name", "widget_newsletter_email");
	widgetEmail.setAttribute("id", "widget_newsletter_email_id");
	widgetEmail.setAttribute("value", "email address");

	widgetEmail.onfocus = alterWidgetEmailFocus;
	widgetEmail.onblur = alterWidgetEmailBlur;
	widgetForm.appendChild(widgetEmail);

var widgetMessage = $elWidget("div");
	widgetMessage.setAttribute("id", "widget_newsletter_email_error");
	tnWidget = $tnWidget("Invalid Email");
	widgetMessage.appendChild(tnWidget);
	widgetForm.appendChild(widgetMessage);
	
var widgetSubmit = $elWidget("input");
	widgetSubmit.setAttribute("type", "submit");
	widgetSubmit.setAttribute("value", "Subscribe");
	widgetSubmit.setAttribute("name", "widget_newsletter_submit");
	widgetSubmit.setAttribute("id", "widget_newsletter_submit_id");
	widgetForm.appendChild(widgetSubmit);

var widgetSubmitWraper = $elWidget("div");
	widgetSubmitWraper.setAttribute("id", "widget_newsletter_submit_wraper");
	widgetSubmitWraper.appendChild(widgetSubmit);
	widgetForm.appendChild(widgetSubmitWraper);
	
	widgetWraper.appendChild(widgetForm);
var widgetParentNode = widgetCallerTag.parentNode;
	widgetParentNode.insertBefore(widgetWraper, widgetCallerTag);
/************** WIDGET ENDING SCRIPT ************************/

