﻿var $txtSignUp = 0;
var $submitBtn = 0;

$(function()
{
    $txtSignUp = $('input.textInput');
    $txtSignUp.attr('value', 'ENTER EMAIL ADDRESS');
    
    $submitBtn = $('div.submitBtn');
    $submitBtn.hover(function()
        {
            $(this).css('cursor', 'pointer'); 
        }, function()
        {
            $(this).css('cursor', 'auto'); 
        }
    ).click(valSignUp);
});

function hideLabel()
{
    if ($txtSignUp.attr('value') == 'ENTER EMAIL ADDRESS' || 
        $txtSignUp.attr('value') == 'ERROR...' ||
        $txtSignUp.attr('value') == 'THANKS!')
    {
        $txtSignUp.attr('value', '');
    }
}

function showLabel()
{
    if ($txtSignUp.attr('value') == null || $txtSignUp.attr('value') == '')
    {
        $txtSignUp.attr('value', 'ENTER EMAIL ADDRESS');
    }
}

function valSignUp()
{
    var spanError = $('span.signUpError');
    
    if ($txtSignUp.attr('value') == null || 
        $txtSignUp.attr('value') == '' || 
        $txtSignUp.attr('value') == 'ENTER EMAIL ADDRESS' ||
        $txtSignUp.attr('value') == 'ERROR...' ||
        $txtSignUp.attr('value') == 'THANKS!')
    {
        spanError.text('* Please enter email address').css('color', 'red');
        return false;
    }
    else if (!echeck($txtSignUp.attr('value')))
    {
        spanError.text('* Invalid email address').css('color', 'red');
        return false;
    }
    else
    {
        // Submit form via AJAX
        spanError.text('');
        
 		var _url = '/DesktopModules/SignUpTo/ajaxproxy.aspx';
 		var _data = 
		{
			'email': $txtSignUp.val()
		};
		
		var ajaxOptions = 
		{
			beforeSend: showPending,
			complete: responseComplete,
			data: _data,
			dataType: 'text',
			timeout: 30000,
			url: _url
		}
		
		$.ajax(ajaxOptions);
    }
}

function showPending()
{
    $('span.signUpError').text('');
	$submitBtn.css('background-position', '0 -26px')
	    .hover(function(){ $(this).css('cursor', 'auto'); }, function(){ $(this).css('cursor', 'auto'); })
        .click(function(){});
}

function responseComplete(_xhr, _textStatus)
{	
 	if (_xhr.responseText.substr(0,1) == '1')
 	{
	    $submitBtn.css('background-position', '0 -52px')
	        .hover(function(){ $(this).css('cursor', 'pointer'); }, function(){ $(this).css('cursor', 'auto'); })
            .click(valSignUp);
	
        $txtSignUp.attr('value', 'THANKS!');
	}
	else
	{
	    $submitBtn.css('background-position', '0 -78px');
	
        $txtSignUp.attr('value', 'ERROR...');
	}
}

function echeck(str)
{
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)

    if
    (
        str.indexOf(at) == -1
        || str.indexOf(at)== -1 
        || str.indexOf(at)== 0 
        || str.indexOf(at)== lstr
        || str.indexOf(dot)== -1 
        || str.indexOf(dot)==0 
        || str.indexOf(dot)== lstr
        || str.indexOf(at,(lat+1)) != -1
        || str.substring(lat-1,lat) == dot 
        || str.substring(lat+1,lat+2) == dot
        || str.indexOf(dot,(lat+2)) == -1
        || str.indexOf(" ") != -1
    )
    {
        return false
    }
    return true					
}