
function ShowPostal(el)
{
    if (el.options[el.selectedIndex].value == "NO")
        getElement("trPostal").style.display = "";
    else
        getElement("trPostal").style.display = "none";
    
}

function ShowError3(sError)
{
    getElement("lblError").innerHTML = sError;
    getElement("tblNext").style.display = "none";
    getElement("tblError").style.display = "";
    return;

}

function ContinueStep3()
{
    var d1 = getElement("Step3Control_cboGender"); 
    var d2 = getElement("Step3Control_cboPostal"); 
    var d3 = getElement("Step3Control_cboState"); 

    if (!checkPhone(getElement("Step3Control_txtHome").value))
    {
        ShowError3("Please enter a valid home phone number");
        return;
    }

    if (!checkPhone(getElement("Step3Control_txtMobile").value))
    {
        ShowError3("Please enter a valid mobile phone number");
        return;
    }

    if (!checkEmail(getElement("Step3Control_txtEmail").value))
    {
        ShowError3("Please enter a valid email address. ");
        return;
    }

    if (!checkDOB(getElement("Step3Control_txtDateOfBirth").value))
    {
        ShowError3("Please enter a valid Date of Birth.  Format is dd/mm/yyyy");
        return;
    }

    var blnError = false;
    if (d1.options[d1.selectedIndex].value != "")
    {
        getElement("cboGenderStar").innerHTML = "&nbsp;";
    }   
    else
    {
        blnError = true;
        getElement("cboGenderStar").innerHTML = "*";
    }
        
    if (getElement("Step3Control_txtMobile").value != "")
    {
        getElement("txtMobileStar").innerHTML = "&nbsp;";
    }   
    else
    {
        blnError = true;
        getElement("txtMobileStar").innerHTML = "*";
    }
    
    if (getElement("Step3Control_txtHome").value != "")
    {
        getElement("txtHomeStar").innerHTML = "&nbsp;";
    }   
    else
    {
        blnError = true;
        getElement("txtHomeStar").innerHTML = "*";
    }
    
    if (getElement("Step3Control_txtEmail").value != "")
    {
        getElement("txtEmailStar").innerHTML = "&nbsp;";
    }   
    else
    {
        blnError = true;
        getElement("txtEmailStar").innerHTML = "*";
    }
    
    if (getElement("Step3Control_txtDateOfBirth").value != "")
    {
        getElement("txtDateOfBirthStar").innerHTML = "&nbsp;";
    }   
    else
    {
        blnError = true;
        getElement("txtDateOfBirthStar").innerHTML = "*";
    }

    if (d2.options[d2.selectedIndex].value == "NO")
    {
        if (getElement("Step3Control_txtAddress1").value != "")
        {
            getElement("txtAddress1Star").innerHTML = "&nbsp;";
        }   
        else
        {
            blnError = true;
            getElement("txtAddress1Star").innerHTML = "*";
        }
        
        if (getElement("Step3Control_txtSuburb").value != "")
        {
            getElement("txtSuburbStar").innerHTML = "&nbsp;";
        }   
        else
        {
            blnError = true;
            getElement("txtSuburbStar").innerHTML = "*";
        }
        
        if (getElement("Step3Control_txtPostcode").value != "")
        {
            getElement("txtPostcodeStar").innerHTML = "&nbsp;";
        }   
        else
        {
            blnError = true;
            getElement("txtPostcodeStar").innerHTML = "*";
        }
        if (getElement("Step3Control_cboState").value != "")
        {
            getElement("cboStateStar").innerHTML = "&nbsp;";
        }   
        else
        {
            blnError = true;
            getElement("cboStateStar").innerHTML = "*";
        }
        
    }    
    
    if (!blnError)
    {
        getElement("tblNext").style.display = "";
        getElement("tblError").style.display = "none";
        return;
    }
    else
    {
        getElement("lblError").innerHTML = "&nbsp;";
        getElement("tblError").style.display = "none";
        getElement("tblNext").style.display = "none";
    }
}

function RunRegExp(sVal, sExp)
{
    if (sVal == "")
        return true;

	var filter  = sExp;

    //alert (sVal + " " + filter.test(sVal));

    return filter.test(sVal);
}

function checkEmail(sEmail)
{
    return RunRegExp(sEmail, /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
}

function checkDOB(sDOB)
{
    return RunRegExp(sDOB, /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/);
}

function checkPhone(sPhone)
{
    return RunRegExp(sPhone, /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/);
}



function GetStateRates()
{
    var blnError = false;
    var d1 = getElement("cboTitle"); 
    var d2 = getElement("cboState"); 

    if (d1.options[d1.selectedIndex].value != "")
    {
        getElement("cboTitleStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("cboTitleStar").innerHTML = "*";
    }
    
    if (getElement("txtFirstName").value != "")
    {
        getElement("txtFirstNameStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("txtFirstNameStar").innerHTML = "*";
    }

    if (getElement("txtLastName").value != "")
    {
        getElement("txtLastNameStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("txtLastNameStar").innerHTML = "*";
    }

    if (getElement("txtAddress1").value != "")
    {
        getElement("txtAddress1Star").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("txtAddress1Star").innerHTML = "*";
    }

    if (getElement("txtSuburb").value != "")
    {
        getElement("txtSuburbStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("txtSuburbStar").innerHTML = "*";
    }

    if (d2.options[d2.selectedIndex].value != "")
    {
        getElement("cboStateStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("cboStateStar").innerHTML = "*";
    }

    if (getElement("txtPostcode").value != "")
    {
        getElement("txtPostcodeStar").innerHTML = "&nbsp;";
    }
    else
    {
        blnError = true;
        getElement("txtPostcodeStar").innerHTML = "*";
    }

    if (!blnError)
    {
        var sState = d2.options[d2.selectedIndex].value;
        if (getElement("hdnState").value != sState)
        {
            // make the web services call
            getElement("divLoading").style.display = "";
            getElement("tblNext").style.display = "none";
            TFT.EmploymentApplication.Step2Control.GetStateRates(sState, GetStateRates_callback);  
            return;
         }   
        getElement("tblNext").style.display = "";
        return;
    }
    else
    {
        getElement("tblNext").style.display = "none";
    }
}

function GetStateRates_callback(res)
{
    getElement("divLoading").style.display = "none";

    var x = LoadXML(res.value);
    getElement("hdnState").value = SelectSingleNode(x, "Response/State");
    getElement("lblNormal").innerHTML = SelectSingleNode(x, "Response/Normal");
    getElement("lblSaturday").innerHTML = SelectSingleNode(x, "Response/Saturday");
    getElement("lblSunday").innerHTML = SelectSingleNode(x, "Response/Sunday");
    getElement("tblNext").style.display = "";
    getElement("lblFirstName").innerHTML = getElement("txtFirstName").value;
}

function AnswerNo(el)
{
    var sId = el.id;
    var aSplit = new Array();
    aSplit = sId.split('No');
    sId = aSplit[1];
    getElement("tblNext").style.display = "none";
    alert(eval("s" + sId));
    
}

function AnswerYes(el)
{

    for (var i = 0; i<aQuestions.length; i++)
    {
        if (!getElement(aQuestions[i]).checked)
        {
            getElement("tblNext").style.display = "none";
            return;
        }
    }

    getElement("tblNext").style.display = "";

}
   
function getElement(thisEl)
{
    var el;
    try
    {
        el = document.getElementById(thisEl);
    }
    catch (e){}
    
    try
    {
        if (!el)
            el = document.getElementById("ctl00$Body$" + thisEl);
    }
    catch (e){}

    try
    {
        if (!el)
            el = document.getElementById("ctl00_Body_" + thisEl);
    }
    catch (e){}

    try
    {
        if (!el)
            el = document.forms[0].item(thisEl);
    }
    catch (e){}
        
    try
    {
        if (!el)
            el = document.forms[0].item("ctl00$Body$" + thisEl)
    }
    catch (e){}

    try
    {
        if (!el)
            el = document.forms[0].item("dnn_ctr417_" + thisEl)
    }
    catch (e){}


    try
    {
        if (!el)
            el = getElement2(thisEl);
    }
    catch (e){}
        
	return (el);
}

function getElement2(name)
{
    var elems = document.getElementsByTagName('*'); 
    var num = elems.length; 
    for(var c=0;c<num;c++)
    {
        var val = elems[c].getAttribute('tft'); 
        if(val!=null && val==name)
            return elems[c]; 
    }
}

function SelectSingleNode(xmlDoc, elementPath) 
{ 
    if(window.ActiveXObject) 
    { 
        // IE
        return xmlDoc.selectSingleNode(elementPath).text; 
    } 
    else 
    { 
        //Firefox, Mozilla, Opera, etc.
        var xpe = new XPathEvaluator(); 
        var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement); 
        var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null); 
        return results.singleNodeValue.textContent; 
    } 
} 

function LoadXML(s)
{
    var xmlDoc;
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.loadXML(s);
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
            parser=new DOMParser();
            xmlDoc=parser.parseFromString(s,"text/xml");
        }
        catch(e) {alert(e.message)}
    }
    return xmlDoc;
}