﻿var pars = [];
var hasCenterOpen = false;
var http_request = false;

jQuery(document).ready(function() {
jQuery('#modal-emailfriend .simplemodal-send').click(function(e) {
        e.preventDefault();
        // validate form
        if (validateEmailToFriend()) {
            jQuery('#modal-emailfriend .progress').html('Sending...');
            jQuery('#modal-emailfriend .emailfriendRemote').fadeIn(200, function() {
            var parameters = getEmailToFriendParameters();
		    makeEmailToFriendPostRequest("/webcallback/emailtofriend.aspx", parameters);
            });
        }
    });
});


function validateEmailToFriend() {
    
    
    var success = true;
    var emailTo = jQuery('#modal-emailfriend #efTo');
    var errorTo = jQuery('#modal-emailfriend #errorTo');
    var errorToFormat = jQuery('#modal-emailfriend #errorToFormat');
    var emailFrom = jQuery('#modal-emailfriend #efFrom');
    var errorFrom = jQuery('#modal-emailfriend #errorFrom');
    var errorFromFormat = jQuery('#modal-emailfriend #errorFromFormat');
    function emailValidate(email) {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if (!reg.test(email)) {
            return false;
        }
        return true;
    }

    function hideAll() {
        errorTo.removeClass('error');
        errorTo.addClass('hidden');
        errorToFormat.removeClass('error');
        errorToFormat.addClass('hidden');
        errorFrom.removeClass('error');
        errorFrom.addClass('hidden');
        errorFromFormat.removeClass('error');
        errorFromFormat.addClass('hidden');
    }
    function showEmailToRequired() {
        errorTo.removeClass('hidden');
        errorTo.addClass('error');
        errorToFormat.removeClass('error');
        errorToFormat.addClass('hidden');
    }
    function showEmailFromRequired() {
        errorFrom.removeClass('hidden');
        errorFrom.addClass('error');
        errorFromFormat.removeClass('error');
        errorFromFormat.addClass('hidden');
    }
    function showEmailToFormat() {
        errorTo.removeClass('error');
        errorTo.addClass('hidden');
        errorToFormat.removeClass('hidden');
        errorToFormat.addClass('error');
    }
    function showEmailFromFormat() {
        errorFrom.removeClass('error');
        errorFrom.addClass('hidden');
        errorFromFormat.removeClass('hidden');
        errorFromFormat.addClass('error');
    }
    
    emailTo.blur(function(e) {
        if (this.value == '') {
            showEmailToRequired();
        }
        else if (!emailValidate(this.value)) {
            showEmailToFormat();
            success = false;
        }
        else {
            hideAll();
        }
    });
    
    emailFrom.blur(function(e) {

         if (this.value == '') {
             showEmailFromRequired();
         }
         else if (!emailValidate(this.value)) {
             showEmailFromFormat();
             success = false;
         }
         else {
             hideAll();
         }

    });   
    
    
    if (!emailTo.val()) {
        showEmailToRequired();
        success = false;
    }
    else if (!emailValidate(emailTo.val())) {
        showEmailToFormat();
        success = false;
    }
    if (!emailFrom.val()) {
        showEmailFromRequired();
        success = false;
    }
    else if (!emailValidate(emailFrom.val())) {
        showEmailFromFormat();
        success = false;
    }
	
	
	if (!success) {
		return false;
	}
	else {
	    hideAll();
		return true;
	}
}


function makeEmailToFriendPostRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = onEmailToFriendStateChanged;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);

}

function onEmailToFriendStateChanged() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            jQuery('#modal-emailfriend .progress').html('Done!!!');
	    jQuery('#modal-emailfriend .emailfriendRemote').addClass('hidden');
	    jQuery('#modal-emailfriend .emailfriendRemoteFinished').removeClass('hidden');


	}
	else if (http_request.status == 999) {
	    jQuery('#modal-emailfriend .progress').html('<span class="error">Information you entered in invalid.</span>');
        }
        else {
	    jQuery('#modal-emailfriend .progress').html('<span class="error">There was a problem with the request. Error: ' + http_request.status + '</span>');
        }
    }
}


function getEmailToFriendParameters() {
    var params = "efTo=" + encodeURI(jQuery('#modal-emailfriend #efTo').val()) +
                  "&efFrom=" + encodeURI(jQuery('#modal-emailfriend #efFrom').val()) +
                  "&efPageTitle=" + encodeURI(jQuery('#modal-emailfriend .hidPageTitle').val()) +
                  "&efPageUrl=" + encodeURI(jQuery('#modal-emailfriend .hidPageUrl').val()) +
                  "&efSubject=" + encodeURI(jQuery('#modal-emailfriend .efSubject').val());
	return params;
}








