﻿var errorText1 = "<p>Please enter your name.</p>";
var errorText2 = "<p>Please enter a valid email address.</p>";
var errorText3 = "<p>Please enter a comment.</p>";
var errorText4 = "<p>Error sumbmitting comment.</p>";
   
function SubmitComment()
{      
    if(ValidateComment() == false) {
        return false;
    } 
    
    if(ValidateName() == false) {
        return false;
    }
    
    if(ValidateEmail() == false) {
        return false;
    }

    if (ValidateId() == false) {
        return false;
    }

    if (ValidateFormGUID() == false) {
        return false;
    } 
        
    var sendNews;
    if (document.getElementById('newsletter-check').status == true)
    {
        sendNews = "1"; //"Yes";
    }
    else
    {
        sendNews = "0"; //"No";
    }
    
    xmlhttpPost("/PageTemplates/FormProcessing.aspx?" + 
                "FormType=articlecomment" +
                "&ArticleGUID=" + escape(document.getElementById('ctl00_ContentPlaceHolder1_Article1_Comments1_id').value) +
                "&Message=" + escape(document.getElementById('usercomment').value) +
                "&Name=" + escape(document.getElementById('name').value) +
                "&Email=" + escape(document.getElementById('email').value) +
                "&NewsletterRequested=" + escape(sendNews));
      
    return false;
}

function xmlhttpPost(strURL) 
{
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(null);
}


function updatepage(str)
{
    document.getElementById('Err').style.display = "";
    document.getElementById('Err').innerHTML = str;
}

function ValidateId() 
{
    if (document.getElementById('ctl00_ContentPlaceHolder1_Article1_Comments1_id').value != "") 
    {
        document.getElementById('Err').style.display = "none";
        document.getElementById('Err').innerHTML = "";
        return true;
    }
    else 
    {
        document.getElementById('Err').style.display = "";
        document.getElementById('Err').innerHTML = errorText4;
        return false;
    }
}

function ValidateFormGUID() 
{
    if (document.getElementById('ctl00_ContentPlaceHolder1_Article1_Comments1_formGuid').value != "") {
        document.getElementById('Err').style.display = "none";
        document.getElementById('Err').innerHTML = "";
        return true;
    }
    else {
        document.getElementById('Err').style.display = "";
        document.getElementById('Err').innerHTML = errorText4;
        return false;
    }
}

function ValidateName()
{
    if (document.getElementById('name').value != "" && document.getElementById('name').value != "Name")
    {
        document.getElementById('Err').style.display = "none";
        document.getElementById('Err').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('Err').style.display = "";
        document.getElementById('Err').innerHTML = errorText1;
        return false;
    }
}

function ValidateComment() 
{
    if (document.getElementById('usercomment').value != "" && document.getElementById('usercomment').value != "Comment") 
    {
        document.getElementById('Err').style.display = "none";
        document.getElementById('Err').innerHTML = "";
        return true;
    }
    else {
        document.getElementById('Err').style.display = "";
        document.getElementById('Err').innerHTML = errorText3;
        return false;
    }
}

function ValidateEmail()
{
    var email = document.getElementById('email').value;
    if ( (email.indexOf("@") > 1) && //  must contain @, and it must not be the first character
          (email.lastIndexOf(".") > email.indexOf("@")) &&  // last dot must be after the @
          (email.indexOf("@") != email.length) &&  // @ must not be the last character
          (email.indexOf("..") < 0) && // two periods in a row is not valid
          (email.indexOf(".") != email.length) &&  // . must not be the last character
          (AllValidEmailChars(email)) ) // all characters must be valid
    {
        document.getElementById('Err').style.display = "none";
        document.getElementById('Err').innerHTML = "";
	    return true;
    }
    else
    {
        if(email == "" || email == "Email")
        {
            document.getElementById('Err').style.display = "none";
            document.getElementById('Err').innerHTML = "";
	        return true;
        }
        else
        {
            document.getElementById('Err').style.display = "";
            document.getElementById('Err').innerHTML = errorText2;
            return false;
        }
    }
}

function AllValidEmailChars(email)
{
    var isValid = true;
    var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
    for (var i=0; i < email.length; i++) 
    {
        var letter = email.charAt(i).toLowerCase();
        if (validchars.indexOf(letter) != -1)
        {
          continue;
        }
        else
        {
            isValid = false;
            break;
        }
    }
    return isValid;
}


function ClearDefaultName() 
{
    if (document.getElementById('name').value == "Name") 
    {
        document.getElementById('name').value = "";
    }
    return false;
}

function AddDefaultName() {
    if (document.getElementById('name').value == "") {
        document.getElementById('name').value = "Name";
    }
    return false;
}

function ClearDefaultEmail() 
{
    if (document.getElementById('email').value == "Email") 
    {
        document.getElementById('email').value = "";
    }
    return false;
}

function AddDefaultEmail() {
    if (document.getElementById('email').value == "") {
        document.getElementById('email').value = "Email";
    }
    return false;
}

function ClearDefaultComment() 
{
    if (document.getElementById('usercomment').value == "Comment") 
    {
        document.getElementById('usercomment').value = "";
    }
    return false;
}

function AddDefaultComment() {
    if (document.getElementById('usercomment').value == "") {
        document.getElementById('usercomment').value = "Comment";
    }
    return false;
}
