var captchaSuccess;

// Validation for contact us Form.
function validationContactUs()
{
    // Call validation function.
   validContactUs()
}
// Validation for Contact Us Form
function validContactUs()
{
    var name = document.frmcontactus.txtName;
    var email =  document.frmcontactus.txtEmail;
    var phone = document.frmcontactus.txtPhone;
    var message =  document.frmcontactus.txtMessage;
    var captcha =  document.frmcontactus.txtCaptcha;
   
    if(!validateEmpty(name,"Please enter name.\n"))
    {
        return false;
    }
    else if(!validateEmail(email))
    {
        return false;
    }
    else if(!validateEmpty(phone,"Please enter phone number.\n"))
    {
        return false;
    }
    else if(!validateEmpty(message,"Please enter message.\n"))
    {
        return false;
    }
    else if(!checkLength(message,200,"You can enter maximum 200 characters."))
    {
        return false;
    }
     else if(!validateEmpty(captcha,"Please enter captcha."))
    {
        return false;
    }
    // Call ajaxcaptcha  function
    AjaxContactCaptcha(captcha.value);
}
// Call Ajax Function here for Contact Us
function AjaxContactCaptcha(captcha)
{    
    if (window.XMLHttpRequest)
    {
        http = new XMLHttpRequest();
    } else if (window.ActiveXObject)
    {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var url = 'code/captcha.php?';
    var postStr = url+'captcha=' +captcha;  
    http.open("GET", postStr,true);
    http.onreadystatechange = updateContactCaptcha;
    http.send(null);   

}
//Called every time our XmlHttpRequest objects state changes
function updateContactCaptcha()
{
    //Check if our response is ready
    if (http.readyState == 4)
    {
        //Set the content of the DIV element with the response text
        if(http.responseText.length >0)
        {
            //Get a reference to CAPTCHA image
            img = document.getElementById('imgCaptcha');
            //Change the image
            img.src = 'code/create_image.php?' + Math.random();
            document.getElementById('recaptcha_errDiv').innerHTML = http.responseText;
        }
        else
        {
            document.frmcontactus.submit();                
        }
    }
}

// Validation for Newsletter subscription
function validationNewsletter()
{
        var hotelName = document.frmNewsletter.txtHotel;
        var email =  document.frmNewsletter.txtEmail;
        var captcha =  document.frmNewsletter.txtCaptcha;

        if(hotelName.value=="Hotel Name")
        {
            hotelName.value="";
        }
        if(!validateEmpty(hotelName,"Please enter hotel name.\n"))
        {
            return false;
        }
        else if(!validateEmail(email))
        {
            return false;
        }
        if(captcha.value=="Code")
        {
            captcha.value="";
        }
        if(!validateEmpty(captcha,"Please enter the code.\n"))
        {
            return false;
        }
        else
        {
            newsletterCaptcha(captcha.value);
        }

}

// Call Ajax Function here for Newsletter-Subscribe
function newsletterCaptcha(captcha)
{
    if (window.XMLHttpRequest)
    {
       http = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var postStr = 'code/captcha.php?captcha='+captcha;
    http.open("GET", postStr,true);
    http.onreadystatechange = updateNewsletterCaptcha;
    http.send(null);

}
//Called every time our XmlHttpRequest objects state changes
function updateNewsletterCaptcha()
{
    //Check if our response is ready
    if (http.readyState == 4)
    {
        //Set the content of the DIV element with the response text
        if(http.responseText.length >0)
        {
            captchaSuccess=false;
            //Get a reference to CAPTCHA image
            img = document.getElementById('imgNewsletterCaptcha');
            //Change the image
            img.src = 'code/create_image.php?' + Math.random();
            var error = http.responseText;
            txtCaptcha = document.getElementById('txtCaptcha');
            txtCaptcha.style.background = 'Yellow';
            txtCaptcha.focus();
            alert(error);            
        }
        else
        {
            captchaSuccess=true;
            document.frmNewsletter.submit();            
        }
    }
}


// Validate Increase Sales.
function validSales()
{
    // Ids of form fields
    var txtnName = $("#txtnName");
    var txtEmail = $("#txtEmail");
    var txtHotel = $("#txtHotel");
    var txtNumRooms = $("#txtNumRooms");
    var txtHotelWebsite = $("#txtHotelWebsite");
    var txtPhone = $("#txtPhone");
    var captcha =$('#txtSalesCaptcha');

    // Error Message
    var errMsgName = "Please enter your name.";
    var errMsgEmail = "Please enter your email id.";
    var errMsgHotel = "Please enter hotel name.";

    var errMsgHotelWebsite = "Please enter hotel website.";
    var errMsgCharOnly = "Please enter letters only.";
    var errMsgValidEmail="Please enter valid email.";
    var errMsgNumOnly="Please enter digits only.";
    var errMsgCaptcha="Please enter the code.";

    // Div Ids for display error
    var errName = $("#errName");
    var errEmail = $("#errEmail");
    var errHotel = $("#errHotel");
    var errNumRooms = $("#errNumRooms");
    var errHotelWebsite = $("#errHotelWebsite");
    var errPhone = $("#errPhone");
    var errCaptcha = $("#errCaptcha");

    var isValidName=Emptyfield(txtnName,errMsgName,errName);
    if(isValidName)
     {
        isValidName=isValidTextField(txtnName,errMsgCharOnly,errName);
     }
    var isValidMail= Emptyfield(txtEmail,errMsgEmail,errEmail);
    if(isValidMail)
        {
          isValidMail= isValidEmailField(txtEmail,errMsgValidEmail,errEmail);
        }
    var isValidHotel= Emptyfield(txtHotel,errMsgHotel,errHotel);

     var isValidNumRooms=true;
        errNumRooms.empty();
       if(EmptyNonMandfield(txtNumRooms))
           {
               isValidNumRooms=isValidNumericNonzero(txtNumRooms,errMsgNumOnly,errNumRooms);
           }
         var isValidPhone=true;
        errPhone.empty();
       if(EmptyNonMandfield(txtPhone))
           {
               isValidPhone=isValidNumericNonzero(txtPhone,errMsgNumOnly,errPhone);
           }
    var isValidHotelWeb= Emptyfield(txtHotelWebsite,errMsgHotelWebsite,errHotelWebsite);
    var isEmptyCaptcha=Emptyfield(captcha,errMsgCaptcha,errCaptcha);
    var isCaptcha=false;
    if(isEmptyCaptcha)
     {
           IncreaseSalesCaptcha(captcha.attr('value'));
            isCaptcha=captchaSuccess;
     }
     if(isValidName && isValidMail && isValidHotel && isValidHotelWeb && isValidNumRooms && isValidPhone && isEmptyCaptcha && isCaptcha)
     { 
            return true;
     }
     else
     {
        return false;
     }
}
// Call Ajax Function here for Increase Sales
function IncreaseSalesCaptcha(captcha)
{
    if (window.XMLHttpRequest)
    {
       http = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var postStr = 'code/captcha.php?captcha='+captcha;
    http.open("GET", postStr,true);
    http.onreadystatechange = updateIncreaseSalesCaptcha;
    http.send(null);

}
//Called every time our XmlHttpRequest objects state changes
function updateIncreaseSalesCaptcha()
{
    //Check if our response is ready
    if (http.readyState == 4)
    {
        //Set the content of the DIV element with the response text
        if(http.responseText.length >0)
        {
            //Get a reference to CAPTCHA image
            img = document.getElementById('imgSalesCaptcha');
            //Change the image
            img.src = 'code/create_image.php?' + Math.random();
            document.getElementById('errCaptcha').innerHTML = http.responseText;
            captchaSuccess=false;
        }
        else
        {
           // Submit Form
           document.form2.submit();             
        }
    }
}



// Validate Download Form
function validDownload()
{
    // Ids of form fields
    var txtnName = $("#txtName");
    var txtEmail = $("#txtEmail");
    var txtHotel = $("#txtHotel");
    var txtNumRooms = $("#txtNumRooms");
    var txtHotelWebsite = $("#txtHotelWebsite");
    var txtPhone = $("#txtPhone");
    var captcha =$('#txtCaptcha');

    // Error Message
    var errMsgName = "Please enter your name.";
    var errMsgEmail = "Please enter your email id.";
    var errMsgHotel = "Please enter hotel name.";
    var errMsgHotelWebsite = "Please enter hotel website.";
    var errMsgCharOnly = "Please enter letters only.";
    var errMsgValidEmail="Please enter valid email.";
    var errMsgNumOnly="Please enter digits only.";
    var errMsgCaptcha="Please enter the code.";

    // Div Ids for display error
    var errName = $("#errName");
    var errEmail = $("#errEmail");
    var errHotel = $("#errHotel");
    var errNumRooms = $("#errNumRooms");
    var errHotelWebsite = $("#errHotelWebsite");
    var errPhone = $("#errPhone");
    var errCaptcha = $("#errCaptcha");


    var isValidName=Emptyfield(txtnName,errMsgName,errName);
    if(isValidName)
     {
        isValidName=isValidTextField(txtnName,errMsgCharOnly,errName);
     }
    var isValidMail= Emptyfield(txtEmail,errMsgEmail,errEmail);
    if(isValidMail)
        {
          isValidMail= isValidEmailField(txtEmail,errMsgValidEmail,errEmail);
        }
    var isValidHotel= Emptyfield(txtHotel,errMsgHotel,errHotel);
        var isValidNumRooms=true;
        errNumRooms.empty();
       if(EmptyNonMandfield(txtNumRooms))
           {
               isValidNumRooms=isValidNumericNonzero(txtNumRooms,errMsgNumOnly,errNumRooms);
           }
           var isValidPhone=true;
        errPhone.empty();
       if(EmptyNonMandfield(txtPhone))
           {
               isValidPhone=isValidNumericNonzero(txtPhone,errMsgNumOnly,errPhone);
           }

    var isValidHotelWeb= Emptyfield(txtHotelWebsite,errMsgHotelWebsite,errHotelWebsite);

    var isEmptyCaptcha=Emptyfield(captcha,errMsgCaptcha,errCaptcha);
    var isCaptcha=false;
    if(isEmptyCaptcha)
     {
            AjaxDownloadCaptcha(captcha.attr('value'));
            isCaptcha=captchaSuccess;
     }
     if(isValidName && isValidMail && isValidHotel && isValidHotelWeb && isValidNumRooms && isValidPhone && isEmptyCaptcha && isCaptcha)
     {         
            return true;
     }
     else
     {
        return false;
     }
}
// Call Ajax Function here for Download
function AjaxDownloadCaptcha(captcha)
{
    if (window.XMLHttpRequest)
    {
       http = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var postStr = 'code/captcha.php?captcha='+captcha;
    http.open("GET", postStr,true);
    http.onreadystatechange = updateDownloadCaptcha;
    http.send(null);

}
//Called every time our XmlHttpRequest objects state changes
function updateDownloadCaptcha()
{
    //Check if our response is ready
    if (http.readyState == 4)
    {
        //Set the content of the DIV element with the response text
        if(http.responseText.length >0)
        {
            //Get a reference to CAPTCHA image
            img = document.getElementById('imgDownloadCaptcha');
            //Change the image
            img.src = 'code/create_image.php?' + Math.random(); 
            document.getElementById('errCaptcha').innerHTML = http.responseText;
            captchaSuccess=false;
        }
        else
        {
           document.frmRevenueSuccess.submit();
        }
    }
}


// Different Functions for Form Validations.
function validateEmpty(name,error)
{
    if (name.value.length == 0) {
        name.style.background = 'Yellow';
        name.focus();
        alert(error);
        return false;
    } else {
        name.style.background = 'White';
        return true;
    }

}

//Check For Empty
function Emptyfield(fieldId,message,errId)
{
    var fieldVal = fieldId.attr('value');
   
     errId.empty();
     if (fieldVal.length == 0) {
        errId.text(message);
        return false;
    } else {
        return true;
    }
}

// check Text field only
function isValidTextField(fieldId,message,errId)
{
    errId.empty();
    var textValue = fieldId.attr('value');
    var filter = /^[a-zA-Z ]+$/;

    if(filter.test(textValue))
    {
       return true;
    }
    else
    {
        errId.text(message);
       return false;
    }
}

// check email valid
function isValidEmailField(fieldId,message,errId)
{   
    var email=fieldId.attr('value');    
    var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
    if(filter.test(email))
    {                   // Valid Email
       return true;
    }
    else
    {
        errId.text(message);
       return false;
    }
}
function EmptyNonMandfield(fieldId)
{
    var fieldVal = fieldId.attr('value');
     if (fieldVal.length == 0)
     {
        return false;
     }
     else
     {
        return true;
     }
}
function trim(space)
{
    return space.replace(/^\s+|\s+$/, '');
}
//Validation for numeric
function isValidNumericNonzero(num,message,errId)
{
    errId.empty();
    var NumVal = num.attr('value');
    var filter = /[0-9]+/;
    if(filter.test(NumVal) && NumVal>0)
    {
       return true;
    }
    else
    {
       errId.text(message);
       return false;
    }
}

function validateEmail(email) {
    var error="";
    var tfld = trim(email.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (email.value == "") {
        email.style.background = 'Yellow';
        email.focus();
        error = "Please enter email address.\n";
        alert(error);
        return false;
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        email.style.background = 'Yellow';
        email.focus();
        error = "Please enter a valid email address.\n";
        alert(error);
        return false;
    } else if (email.value.match(illegalChars)) {
        email.style.background = 'Yellow';
        email.focus();
        error = "Please enter a valid email address.\n";
        alert(error);
        return false;
    } else {
        email.style.background = 'White';
        return true;
    }
}

//Function for to check the length of the entered value.
function checkLength(variable,size,error)
{
    if(variable.value.length > size)
    {
        variable.style.background = 'Yellow';
        variable.focus();
        alert(error);
        return false;
    }
    else
    {
        return true;
    }
}

function disableEnterKey(e)
{
    //validationNewsletter();
     var key;
     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox
     if(key == 13)
          return false;
     else
          return true;
}
// For Download form
function isFormDownload(lnk)
{
    //alert(lnk.title);  
    document.getElementById("hdnFile").value = lnk.title;
    document.forms["frmlink"].submit();
}


