//dc 06/06/2010 Want to use this as a generic subscription function. Currently it is hardcoded for SOR stats.
function SOTRForm(el, emailEl, emailText) {
    this.init(el, emailEl, emailText);
}
SOTRForm.prototype = {
    
    init: function(el, emailEl, emailText) {
        var el = YAHOO.util.Dom.get(el);
        var emailEl = YAHOO.util.Dom.get(emailEl);
    
        var that = this;
//alert(subscriptionType);
        YAHOO.util.Event.on(el, 'submit', function(e) {
            if(emailEl.value == '') {
                that.addErrorMessage(emailEl.parentNode, lang.formMessages.emptyTxt);
                YAHOO.util.Event.stopEvent(e);
            }
            else if(!that.validateEmailAddress(emailEl.value)) {
                that.addErrorMessage(emailEl.parentNode, lang.formMessages.invalidEmailTxt);
                YAHOO.util.Event.stopEvent(e);
            }
            else {
                // omniture tracking
//alert(subscriptionType);
                var s=s_gi(s_account);
                s.linkTrackVars = "eVar16,events";
                s.linkTrackEvents = "event11";
                s.eVar16 = "State of the Railroad";
                s.events="event11";
                s.tl(true,"o","State of the Railroad");  
            }
        
        });
        
        emailEl.value = emailText;
        YAHOO.util.Event.on(emailEl, 'focus', function(e) {
            if (this.value == emailText) {
                this.value = '';
            }
        });
    },
    
    validateEmailAddress: function(emailAddress) {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if (!reg.test(emailAddress)) {
            return false;
        }
        
        return true;
    },
    addErrorMessage: function(el, msg) {
        YAHOO.util.Dom.addClass(el, 'error');
    
        var errorEl = el.childNodes[el.childNodes.length - 1];
        if (errorEl && YAHOO.util.Dom.hasClass(errorEl, 'error')) {
            el.removeChild(errorEl);
        }
        
        errorEl = document.createElement('div');
        YAHOO.util.Dom.addClass(errorEl, 'error');
        
        var starEl = document.createElement('span');
        YAHOO.util.Dom.addClass(starEl, 'emphasis');
        starEl.innerHTML = '*';                
        errorEl.appendChild(starEl);
        
        var textEl = document.createTextNode(' ' + msg);
        errorEl.appendChild(textEl);
        
        el.appendChild(errorEl);            
    }
    
}
