﻿var emailPageDiv = 'tools-email-open';
var emailPageOpen = false;
var emailOffsetTop = -285;
var emailOffsetLeft = 0;
var validatePageDiv = 'tools-email-validation';
var emailValidateOffsetTop = 63;
var emailPageTop = 0;
var emailPageLeft = 0;
var etimer = null;
var emailIsValid = true;
var clientid = '';

function resetEmailPage(pid)
{
	emailPageOpen = false;

	if (pid == 'home')
	{
	if (parseInt(navigator.appVersion)>3) {
         if (navigator.appName=="Netscape") {
              winW = window.innerWidth;
              winH = window.innerHeight;
             }
             if (navigator.appName.indexOf("Microsoft")!=-1) {
              winW = document.body.offsetWidth;
              winH = document.body.offsetHeight;
             }
            }

	    emailPageLeft = Math.floor((winW - 980)/2) + 669;
	    emailPageTop = 619;
	}
	else
	{
        var loc = findPos(document.getElementById('nav-tellfriend'));
        emailPageLeft = loc[0];
        emailPageTop = loc[1];
    }
    new Effect.Move($(emailPageDiv), { x: emailPageLeft+emailOffsetLeft, y: emailPageTop+emailOffsetTop, mode: 'absolute', duration: 0.0 });
}

function emailPage(pid)
{
    try {
        hideOpenBoxes("sendFriend");
    } catch (e) { }	
    
	if (!emailPageOpen) {
		var url = location.href;
		var title = document.title;
		if (title.indexOf(' | ') != -1)
		    $('pageTitle').innerHTML = '"' + title.split(' | ')[0] + '" ';
        else    
		    $('pageTitle').innerHTML = '"' + title + '" ';

		// Title manipulation for physician profile
		if (location.href.indexOf('physician-profile') != -1) {
		    var name = document.getElementById(clientid + 'pl_profile_name').innerHTML;
		    var city = document.getElementById(clientid + 'pl_profile_city').innerHTML;
		    var state = document.getElementById(clientid + 'pl_profile_state').innerHTML;
		    //$('pageTitle').innerHTML = '"Sculptra Aesthetic Physician ' + rsArray[0].getName() + ' in ' + rsArray[0].getCity() + ', ' + rsArray[0].getState() + '" ';
		    $('pageTitle').innerHTML = '"Sculptra Aesthetic Physician ' + name + ' in ' + city + ', ' + state + '" ';
        }

		resetEmailPage(pid);
		Effect.Appear(emailPageDiv, { duration: 0.5 });
		if (!emailIsValid) 
	        Effect.Appear(validatePageDiv, { duration: 0.5 })
		etimer = setTimeout('closeEmailPage()', 15000);
	}
	else
		closeEmailPage();
}

function resetEmailValidation() 
{
    var inputs = $("tools-email-open-body").select('input');
    inputs.each(function(input, index) {
        input.removeClassName("invalid");
    });
}

function updateEmailPageStatus()
{
	clearTimeout(etimer);
	etimer = setTimeout('closeEmailPage()', 15000);
}

function closeEmailPage()
{
    clearTimeout(etimer); 
    Effect.Fade(validatePageDiv, { duration: 0.5 });
    Effect.Fade(emailPageDiv, { duration: 0.5 });
	emailPageOpen = false;
    Effect.Fade('tools-email-open-confirm', { duration: 0.0, queue: 'end' });
    Effect.Appear('tools-email-open-body', { duration: 0.0, queue: 'end' });
}

function showEmailPageProgress()
{
	document.getElementById('tools-email-open-body').style.display = 'none';
	document.getElementById('tools-email-open-confirm').style.display = 'none';
	document.getElementById('tools-email-open-progress').style.display = 'block';
}

function showEmailPageConfirm()
{
    Effect.Fade('tools-email-open-body', { duration: 0.5, queue: 'end' });
    Effect.Appear('tools-email-open-confirm', { duration: 0.5, queue: 'end' });
    setTimeout('closeEmailPage()', 3000);
}

function runSendToAFriend(o) {
    clearTimeout(etimer);    
    
    var inputs = $("tools-email-open-body").select('input');           
    var valid = true;

    var offset = {};
    offset.top = parseInt($("tools-email-open").getStyle("top")) - emailValidateOffsetTop;
    offset.left = parseInt($("tools-email-open").getStyle("left"));

    inputs.each(function(input, index) {
        var itemValid = true;    	
        var v = input.value, e, d;

        if (v == "" || v.length == 0) {
            itemValid = false;
        };

        if (input.hasClassName("email-field")) {
            if (!/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)) itemValid = false;
        }
        if (input.hasClassName("num-field")) {
            if (!(!isNaN(v) && !/^\s+$/.test(v))) itemValid = false;
        }

        if (!itemValid) valid = false;

        input[(itemValid) ? "removeClassName" : "addClassName"]("invalid");        

    });

    if (!valid) {
        emailIsValid = false;        
        $(validatePageDiv).setStyle({
            top: offset.top + "px",
            left: offset.left + "px"
        });
        $(validatePageDiv).show();        
    }

    if (valid) {
        emailIsValid = false;
        $(validatePageDiv).hide();
        var data = '';
        data += 'pageTitle=' + (document.title.indexOf(' | ') != -1 ? escape(document.title.split(' | ')[0]) : document.title);
        data += '&pageLink=' + escape(window.location.href);
        data += '&fromName=' + escape(o.stafFromName.value);
        data += '&fromAddress=' + escape(o.stafFromAddress.value);
        data += '&toAddress=' + escape(o.stafToAddress.value);

        var urlForEmail = document.getElementById("SendToFriend");
        if (urlForEmail == '')
            var urlForEmail = '/util/send-to-friend.aspx';

        new Ajax.Request(urlForEmail, { method: 'post', parameters: data, onSuccess: function(transport) { showEmailPageConfirm() } });
        
        dcsMultiTrack('DCS.dcsuri', 'util/send-to-friend.aspx', 'WT.ti', 'Tell a Friend Success');        

        //makeRequest('/util/send-to-friend.aspx', data, o);
        //showEmailPageConfirm();
    }

	return false;
}
/*
function makeRequest(url, data, o) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
            // See note below about this line
        }
    } 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('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange = function() { alertContents(http_request, o); };
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    http_request.send(data);
}

function alertContents(http_request, o)
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			showEmailPageConfirm();
			o.stafFromName.value = '';
			o.stafFromAddress.value = '';
			o.stafToAddress.value = '';
			etimer = setTimeout('closeEmailPage()', 5000);
		}
		else
		{
			alert('There was a problem with the request.');
		}
	}
}
*/
