function createRequestObject() {

    var ro;

    var browser = navigator.appName;

    if (browser == "Microsoft Internet Explorer") {

        ro = new ActiveXObject("Microsoft.XMLHTTP");

    } else {

        ro = new XMLHttpRequest();

    }

    return ro;

}

var http = createRequestObject();

// validated fields data, structured as a single object that simulates an associative array
var validatedFieldsObj = {"sendTo" : false,
                         			 "toEmail" : false,
                          			"senderName" : false,
                         			"fromEmail" : false
                         			};

function nValidation(id) {

	if (document.getElementById(id).value == "" || document.getElementById(id).value == "Required Field") {

		document.getElementById(id).value = "Required Field";

		validatedFieldsObj[id] = false;

	} else if (document.getElementById(id).value.match(/[^a-zA-Z,.-]+$/) || document.getElementById(id).value == "Entry Not Valid") {

		document.getElementById(id).value = "Entry Not Valid";

		validatedFieldsObj[id] = false;

	} else {

		validatedFieldsObj[id] = true;
	}

}

function eValidation(id) {
	
	if (document.getElementById(id).value =="" || document.getElementById(id).value.match(/^[w\.-_\+]+@[\w-]+(\.\w{2,4})+$/)) {

		document.getElementById(id).value = "Valid Email Required";

		validatedFieldsObj[id] = false;

	} else {

		validatedFieldsObj[id] = true;

	}

}

//if (document.getElementById(id).value =="") {
//document.getElementById(id).value = "It's blank";
//validatedFieldsObj[id] = false;
//else if (document.getElementById(id).value.match(/^[w\.-_\+]+@[\w-]+(\.\w{2,4})+$/)) { document.getElementById(id).value = "Regex //condition met"; validatedFieldsObj[id] = false;} else { validatedFieldsObj[id] = true;}

function sendEmail() {

	var titleImg = document.socialEmail.titleImg.value;
	var titleAlt = escape(document.socialEmail.titleAlt.value);
	var subject = escape(document.socialEmail.subject.value);
	var url = document.socialEmail.url.value;
	var sendTo = document.socialEmail.sendTo.value;
	var toEmail = document.socialEmail.toEmail.value;
	var senderName = document.socialEmail.senderName.value;
	var fromEmail    = document.socialEmail.fromEmail.value;
	var ccSender = document.socialEmail.ccSender.value;
	
	nValidation("sendTo");
	nValidation("senderName");
	eValidation("toEmail");
	eValidation("fromEmail");

	var isOkayToSend = true;

	for (field in validatedFieldsObj) {

		if(validatedFieldsObj[field] == false) {
			
			isOkayToSend = false;

			break;

		}

	}

	if(isOkayToSend == false) {

		return false;

	} else {

	document.getElementById("msg").innerHTML = "Sending....";

	if (document.socialEmail.ccSender.checked == true) {

		http.open('get', '/inc/email.asp?titleImg='+titleImg+'&titleAlt='+titleAlt+'&url='+url+'&subject='+subject+'&sendTo='+sendTo+'&toEmail='+toEmail+'&senderName='+senderName+'&fromEmail='+fromEmail+'&ccSender='+ccSender+'&action=send');

		http.onreadystatechange = handleResponse;

		http.send(null);

	} else {

				http.open('get', '/inc/email.asp?titleImg='+titleImg+'&titleAlt='+titleAlt+'&subject='+subject+'&url='+url+'&sendTo='+sendTo+'&toEmail='+toEmail+'&senderName='+senderName+'&fromEmail='+fromEmail+'&action=send');

				http.onreadystatechange = handleResponse;

				http.send(null);

				}

		document.socialEmail.reset();
		return false;
	
		}

}

function handleResponse() {

	  if(http.readyState == 4) {

        var response = http.responseText;

        var update = new Array();

       if(response.indexOf('|' != -1)) {

            update = response.split('|');

            document.getElementById(update[0]).innerHTML = update[1];

        }

    }

}
