﻿var errorText1 = "<p>Please enter a name.</p>";
var errorText2 = "<p>Please click on a star to rate this drink.</p>";
var errorText3 = "<p>Please enter your email address.</p>";

function RateThisDrink()
{      
    var nameValid = ValidateName();
    var emailValid = ValidateEmail();
    var rateValid = ValidateRating();
    
    if(nameValid == false || emailValid == false || rateValid == false)
    {
        return false;
    }
    
    xmlhttpPost("/PageTemplates/FormProcessing.aspx?" + 
                "FormType=CustomerReview" +
                "&ConnectionString=CMS" +
                "&ReviewerName=" + escape(document.getElementById('name').value) +
                "&ReviewerEmail=" + escape(document.getElementById('email').value) + 
                "&ReviewRating=" + escape(document.getElementById('selectedRating').value) +
                "&ReviewComment=" + escape(document.getElementById('message').value) +
                "&ReviewDrinkGUID=" + escape(document.getElementById('ctl00_ContentPlaceHolder1_ucDrinkRateAndReview1_drinkGUID').value) + 
                "&Approved=0");

    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("");
}


function updatepage(str)
{
    document.getElementById('thankyou').style.display = "";
    document.getElementById('ratethisdrink').style.display = "none";
    document.getElementById('thankyou').innerHTML = "<h2>Thank you for your review.</h2>";
    
    //window.location = str;
}

function ValidateName()
{
    if (document.getElementById('name').value != "")
    {
        document.getElementById('ErrName').style.display = "none";
        document.getElementById('ErrName').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrName').style.display = "";
        document.getElementById('ErrName').innerHTML = errorText1;
        return false;
    }
}

function ValidateRating()
{
    if (document.getElementById('selectedRating').value != "" &&
        document.getElementById('selectedRating').value >= "1" &&
        document.getElementById('selectedRating').value <= "5")
    {
        document.getElementById('ErrRating').style.display = "none";
        document.getElementById('ErrRating').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrRating').style.display = "";
        document.getElementById('ErrRating').innerHTML = errorText2;
        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('ErrEmail').style.display = "none";
        document.getElementById('ErrEmail').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrEmail').style.display = "";
        document.getElementById('ErrEmail').innerHTML = errorText3;
        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;
}



