﻿// JScript File

function FnAlphaOnly(e)
{
    var okey;

    if (navigator.appName=='Microsoft Internet Explorer')
    {
        okey = e.keyCode;
    }
    else
    {
        okey = e.which;
    }
    
    //alert(okey);
    
    if( (okey >= 65 && okey <= 90) || (okey >= 97 && okey <= 122 ) || (okey == 32) || (okey == 0) || (okey == 8))
    {
        return true;
    }
    else
    {
        return false;
    }
}

function fnEnableDropDowns(obj,i,clid)
{
    objROW = document.getElementById(clid + "_childTR" + i);
    objROWHead = document.getElementById(clid + "_childTRHeading" + i);
    //alert(obj.value);
    objTransports = document.getElementById(clid + "_ddlTransport" + i);
    objTour = document.getElementById(clid + "_ddlTour" + i);
    objTLocalGuid = document.getElementById(clid + "_ddlLocalGuid" + i);
    objMeals = document.getElementById(clid + "_ddlMealsOnTour" + i);
    if(obj.value == "1")
    {
        objROW.style.display = "";
        objROWHead.style.display = "";
        objTransports.disabled = false;
        objTour.disabled = false;
        objTLocalGuid.disabled = false;
        objMeals.disabled = false;
    }
    else
    {
    objROW.style.display = "none";
    objROWHead.style.display = "none";
        objTransports.disabled = true;
        objTransports.value = "-1";
        objTour.disabled = true;
        objTour.value = "-1";
        objTLocalGuid.disabled = true;
        objTLocalGuid.value = "-1";
        objMeals.disabled = true;
        objMeals.value = "-1";
    }
}

function fnShowNoTextbox(obj,clid)
{
    objTransports = document.getElementById(clid + "_trSpecifyNo");
    if(obj.value == "2")
    {
        objTransports.style.display = '';
    }
    else
    {
        objTransports.style.display = 'none';
    }
}


function fnValidateTFeedback(clid)
{
    objTitle = document.getElementById(clid + "_ddlTitles");
    objFirstName = document.getElementById(clid + "_txtFirstName");
    objLastName = document.getElementById(clid + "_txtLastName");
    objAddress1 = document.getElementById(clid + "_txtAddress1");
    objSuburb = document.getElementById(clid + "_txtSuburb");
    objPostcode = document.getElementById(clid + "_txtPostCode");
    objPhone= document.getElementById(clid + "_txtPhone");
    objEmail= document.getElementById(clid + "_txtEmail");
    objEcomm = document.getElementById(clid + "_ddlEcomm");
    objENews= document.getElementById(clid + "_ddlNewsletter");
    objNO = document.getElementById(clid + "_txtNo");
    objComments= document.getElementById(clid + "_txtComments");
    objTR= document.getElementById(clid + "_tdError");
    
    var oAddErr = new __ErrorHandler();
    oAddErr.clearError();
    
    if(objTitle.value == "0")
    {
         oAddErr.addError("Title is a mandatory field");
         
         objTR.focus();
         oAddErr.showError();
         //alert(objTR);
         return false;
    }
    
    if(objFirstName.value == "")
    {
         oAddErr.addError("First Name is a mandatory field");
         objTR.focus();
         oAddErr.showError();
         return false;
    }
    else
    {
        if(objFirstName.value.length < 2)
        {
             oAddErr.addError("Please enter a valid First Name");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
        //alert(fntextFocusChange(objFirstName));
        if(!fntextFocusChange(objFirstName))
        {
             oAddErr.addError("Please enter a valid First Name");
             objTR.focus();
             oAddErr.showError();
             return false;
         }
    }
    
    if(objLastName.value == "")
    {
         oAddErr.addError("Last Name is a mandatory field");
         objTR.focus();
         oAddErr.showError();
         return false;
    }
    else
    {
        if(objLastName.value.length < 2)
        {
             oAddErr.addError("Please enter a valid Last Name");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
        if(!fntextFocusChange(objLastName))
        {
             oAddErr.addError("Please enter a valid Last Name");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
    }
    if(objPhone.value == "")
    {
         oAddErr.addError("Phone Number is a mandatory field");
         objTR.focus();
         oAddErr.showError();
         return false;
    }
    else
    {
        if(!fnFoucsPhone(objPhone))
        {
             oAddErr.addError("Characters are not allowed in 'Phone Number' field");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
    }
    if(objEmail.value == "")
    {
         oAddErr.addError("Email Address is a mandatory field");
         objTR.focus();
         oAddErr.showError();
         return false;
    }
    else
    {
        if(!CheckMailAddressFormat(objEmail.value))
        {
            oAddErr.addError("Please enter a valid E-Mail address");
            objTR.focus();
            oAddErr.showError();
            return false;
        }
    }
    
    if(objAddress1 != null)
    {
        if(objAddress1.value == "")
        {
             oAddErr.addError("Address line 1 is a mandatory field");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
    }
    
    if(objSuburb != null)
    {
        if(objSuburb.value == "")
        {
             oAddErr.addError("Suburb is a mandatory field");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
    }
   
    if(objPostcode != null)
    {
        if(objPostcode.value == "")
        {
             oAddErr.addError("Postcode is a mandatory field");
             objTR.focus();
             oAddErr.showError();
             return false;
        }
        else
        {
            if(!fnAllowText(objPostcode))
            {
                 oAddErr.addError("Characters are not allowed in 'Postcode' field");
                 objTR.focus();
                 oAddErr.showError();
                 return false;
            }
        }
     }
    
   
    if(objENews.value == "-1")
    {
          oAddErr.addError("e-Newsletter is a mandatory field");
          objTR.focus();
          oAddErr.showError();
          return false;
    }
    if(objEcomm.value == "-1")
    {
          oAddErr.addError("e-Communications is a mandatory field");
          objTR.focus();
          oAddErr.showError();
          return false;
    }
    
    
    if(objNO.value != "")
    {
         if(objNO.value.length > 500)
         {
             oAddErr.addError("Reason for not book service with My Destinations again can not be greater than 500 characters.");
             objTR.focus();
             oAddErr.showError();
             return false;
         }
    }
    if(objComments.value != "")
    {
         if(objComments.value.length > 500)
         {
             oAddErr.addError("Additional comments should have 500 characters.");
             objTR.focus();
             oAddErr.showError();
             return false;
         }
    }
}


function fnAllowSpace(e)
{
    //alert(e.keyCode);
    if(fnAllowOnlyNumerics(e) == false)
    {
        if(e.keyCode == 32)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}


function fnStartUP(clid)
{
    obj = document.getElementById(clid + "_ddlBookAgain");
    fnShowNoTextbox(obj,clid);
}


function fnStopSpecialChars(eObj,sChars)
{
 
   
    var oKey;
    
	if( navigator.userAgent.toLowerCase().indexOf("msie") != -1 )
	{ 
		oKey = eObj.keyCode;
	}
	else if( navigator.product == "Gecko" )
	{
		oKey = eObj.which;
	}
    
    
	if( ( oKey > 64 && oKey < 91 ) || ( oKey > 96 && oKey <123 ) ||  oKey == 8 || oKey == 0 )
	{
		return true;
	}
	else 
	{
	    var sAllowChars = new String( sChars );  
	    var cChar       = "'" + String.fromCharCode( oKey ) + "'";
	    
	    if( sAllowChars.indexOf( cChar ) != -1 )
	    {
	        return true;
	    }
	}
	return false;

}


function fntextFocusChange(obj)
{
    isOk = true;
    var str = obj.value;
    HasSpecialChar = true;
    for (var i = 0; i < str.length; i++) 
    {
        tmp = str.charCodeAt(i); 
        //alert(tmp + " " + str.charAt(i));
        isOk  = fnOnlyCharacters(tmp);
        //alert(isOk);
        if(isOk)
        {
            if((tmp >= 32 && tmp <= 47) || (tmp >= 58 && tmp <= 64) || (tmp >= 91 && tmp <= 96) || (tmp >= 123 && tmp <= 126))
            {
                //alert(tmp);
                if(tmp == 45 || tmp == 46 || tmp == 40 || tmp == 41 || tmp == 32)
                {
                    isOk = true;
                    //alert(isOk + " " + "innerIf");
                }
                else
                {
                    
                  //  alert(tmp);
                    isOk = false;
                    HasSpecialChar = false;
                    //alert(isOk + " " + "innerElse");
                }
            }
            else
            {
                isOk = true;
                 //alert(isOk + " " + "Lastfalse");
            }
        }
    }
    //alert(isOk);
    return HasSpecialChar;
}


function fnOnlyCharacters( i )
{
    var oKey = i;
	if( ( oKey > 47) && ( oKey < 58) )
	{
		return false;
	}
	return true;
}


function fnAllowText(obj)
{
    isOk = true;
    HasAllow = true;
    var str = obj.value;
    for (var i = 0; i < str.length; i++) 
    {
        tmp = str.charCodeAt(i); // get numeric value
        isOk  = fnAllowNums(tmp);
        if(!isOk)
        {
            HasAllow = false;
        }
    }
   
    return HasAllow;   
}


function fnAllowNums(i)
{
    var oKey = i;
		
	if( (( oKey > 47) && ( oKey < 58)) || oKey == 8 || oKey == 0 )
	{
		return true;
	}
	return false;
}

function fnFoucsPhone(obj)
{
    isOk = true;
    HasPhoeAllow = true;
    var str = obj.value;
    for (var i = 0; i < str.length; i++) 
    {
        tmp = str.charCodeAt(i);
        //alert(tmp); // get numeric value
        isOk  = fnAllowPHSpace(tmp);
        
        if(isOk == false)
        {
            HasPhoeAllow = false;
        }
    }
    return HasPhoeAllow; 
}

function fnAllowPHSpace(e)
{
    
    if(fnAllowNums(e) == false)
    {
        if(e == 32)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}