﻿// JScript File
String.prototype.trim = function () { return this.replace(/^\s*/, "").replace(/\s*$/, "");}
String.prototype.removeCharDot = function () { return this.replace(/[^a-zA-Z 0-9 .]+/g,'').replace(/\s+/g,'').replace(/^\s*/, "").replace(/\s*$/, "");}
String.prototype.removeChar = function () { return this.replace(/[^a-zA-Z 0-9]+/g,'').replace(/\s+/g,'').replace(/^\s*/, "").replace(/\s*$/, "");}
String.prototype.ShowMessage = function () { alert(this);}
function d(ID){return document.getElementById(ID);}
function ShowAlert(e,str){alert("An exception occurred in the script. \n\nError name: " + e.name + ".\n\n Error message: " + e.message+ ".\n\n Error Description: " + e.Description+".\n\nError number: " + e.number+".\n\nFunction: "+str);}
var loc = new Array();
var loc_r="N";
var AW = new Array();
var AW_R = new Array();

var Pack = new Array('P','B','C');
var CourseName = new Array('Tandem','StaticLine','AFFLevel1','AFFFullCourse');
var DiscountCode = Array();
DiscountCode[0]=new Array();DiscountCode[0][0]="FL09";DiscountCode[0][1]="10";
DiscountCode[1]=new Array();DiscountCode[1][0]="GD10";DiscountCode[1][1]="10";
DiscountCode[2]=new Array();DiscountCode[2][0]="GD20";DiscountCode[2][1]="15";
DiscountCode[3]=new Array();DiscountCode[3][0]="GD30";DiscountCode[3][1]="20";

function FillTable(strLoc,strCheck)
{
    var k=null,strName=null,l=null,RowID=null,divDeposit=null,divDayPayment=null,Deposit=null,DayPayment=null,hdnDeposit=null,hdnDayPayment=null;
    var hdnSH = null;
    var hdn = d("hdnGiftPackSilver").value;
    try
    {
        d("divError").innerHTML="";
        if(loc_r=="N")
        {
            d("divError").innerHTML="Information coming soon";
            return;
        }
       
        
       // return 1;
        //Hide All the ows for Course
        for(i=0;i<Pack.length;i++)
        {
            for(j=0;j<CourseName.length;j++)
            {
                if(d("TR_"+Pack[i]+"_"+CourseName[j])!=null)
                {
                    d("TR_"+Pack[i]+"_"+CourseName[j]).style.visibility="hidden";
                    d("TR_"+Pack[i]+"_"+CourseName[j]).style.display="none";
                    /*d("hdn"+Pack[i]+CourseName[j]).value="0";*/
                    d("hdn"+Pack[i]+CourseName[j]+"_Deposit").value="0";
                    d("div"+Pack[i]+CourseName[j]+"_Deposit").innerHTML="0";
                    d("hdn"+Pack[i]+CourseName[j]+"_DayPayment").value="0";
                    d("div"+Pack[i]+CourseName[j]+"_DayPayment").innerHTML="0";
                    d("txt"+Pack[i]+CourseName[j]+"_DiscountCode").value="";
                    d("txt"+Pack[i]+CourseName[j]+"_Discount").value="0";
                    d("sel"+Pack[i]+CourseName[j]+"_NoOfPerson").selectedIndex=0;
                    d("div"+Pack[i]+CourseName[j]+"_TotalDeposit").innerHTML="&pound;0";
                    d("div"+Pack[i]+CourseName[j]+"_TotalDayPayment").innerHTML="&pound;0";
                    d("hdn"+Pack[i]+CourseName[j]+"_SH").value="0";
                }
            }
        }
        d("divTotalPayableNow").innerHTML="&pound;0";
        d("divRemainingBalance").innerHTML="&pound;0";
        // Show Only those rows which are for this location
       
        //if(strName==null) return ;
        
        k = AW.length;
        
        for(i=0;i<Pack.length;i++)
        {
            l = AW[i].length;
            
            for(j=0;j<l;j++)
            {
                
                RowID = "TR_"+Pack[i]+"_"+AW[i][j].removeChar();
                //alert(RowID)
                if(d(RowID)!=null)
                {
                    d(RowID).style.visibility="visible";
                    d(RowID).style.display="";
                    
                    divDeposit = "div"+Pack[i]+AW[i][j].removeChar()+"_Deposit";
                    divDayPayment = "div"+Pack[i]+AW[i][j].removeChar()+"_DayPayment";
                    hdnDeposit = "hdn"+Pack[i]+AW[i][j].removeChar()+"_Deposit";
                    hdnDayPayment = "hdn"+Pack[i]+AW[i][j].removeChar()+"_DayPayment";
                    hdnSH= "hdn"+Pack[i]+AW[i][j].removeChar()+"_SH";
                    Deposit = AW_R[j][0];
                    DayPayment = AW_R[j][1];
                    
                    //alert("divID: "+divDeposit+"\n"+"ID: "+strName+"_R["+j+"][0]"+"\n"+Deposit+"\n\n"+"divID: "+divDayPayment+"\n"+"ID: "+strName+"_R["+j+"][1]"+"\n"+DayPayment);
                    d(hdnSH).value="1";
                    if(Pack[i]=="P")
                    {
                        d(divDeposit).innerHTML="&pound;"+Deposit;
                        d(divDayPayment).innerHTML="&pound;"+DayPayment;
                        d(hdnDeposit).value=Deposit;
                        d(hdnDayPayment).value=DayPayment;
                    }
                    else if(Pack[i]=="B")
                    {
                        d(divDeposit).innerHTML="&pound;"+(parseFloat(Deposit)+parseFloat(DayPayment));
                        d(divDayPayment).innerHTML="&pound;0";
                        d(hdnDeposit).value=(parseFloat(Deposit)+parseFloat(DayPayment));
                        d(hdnDayPayment).value="0";
                    }
                    else if(Pack[i]=="C")
                    {
                        d(divDeposit).innerHTML="&pound;"+(parseFloat(Deposit)+parseFloat(DayPayment)+parseFloat(hdn));
                        d(divDayPayment).innerHTML="&pound;0";
                        d(hdnDeposit).value=(parseFloat(Deposit)+parseFloat(DayPayment)+parseFloat(hdn));
                        d(hdnDayPayment).value="0";
                    }
                    //alert(RowID);
                }
            }
        }
        
    }
    catch(e){ShowAlert(e,"FillTable");}
    return 1;
}

function GetDiscountCode(obj,panelID,Course)
{
    if(obj.value.trim()=="")
    {
        var NewID = obj.id.replace("DiscountCode","Discount");
        d(NewID).value="0";
        SetDiscountCode_Zero(obj.id,Course,panelID);
        return;
    }
    
    $.post("fun.php", { fun: "discount", DiscountCode: obj.value },
        function(data)
        {
            SetDiscountCode(data,obj.id,Course,panelID);  
        }
    );
}

function SetDiscountCode_Zero(id,Course,panelID)
{
    var DiscountAmount = 0;
    
    var NewID = id.replace("DiscountCode","Discount");
    d(NewID).value=DiscountAmount;
    if(panelID=="panel1")
    {
        CalcPayment(Course);
    }
    else
    {
        CalcPayment_panel(Course);
    }
}

function SetDiscountCode(data,id,Course,panelID)
{
    var DiscountAmount = 0;
    eval(data);
    var NewID = id.replace("DiscountCode","Discount");
    d(NewID).value=DiscountAmount;
    if(panelID=="panel1")
    {
        CalcPayment(Course);
    }
    else
    {
        CalcPayment_panel(Course);
    }
}

function GetLocationData()
{
    var sel = d("location").value;

    var strLocation = d("location").options[d("location").selectedIndex].text;
    
    d("hdnLocation").value=strLocation;
    
    if(strLocation.removeChar()!="IndoorSkydivingMiltonKeynes" && strLocation.removeChar()!="IndoorSkydivingManchester")
    {
        d("trRemainingBalance").style.visibility="visible";
        d("trRemainingBalance").style.display="";
        
        d("Panel_2").style.visibility="hidden";
        d("Panel_2").style.display="none";
        d("Panel_1").style.visibility="visible";
        d("Panel_1").style.display="";
        $.post("fun.php", { fun: "location", locationname: strLocation },
            function(data)
            {
                ShowHide(data); 
            }
        );
    }
    else
    {
        d("trRemainingBalance").style.visibility="hidden";
        d("trRemainingBalance").style.display="none";
        d("Panel_1").style.visibility="hidden";
        d("Panel_1").style.display="none";
        d("Panel_2").style.visibility="visible";
        d("Panel_2").style.display="";
        d("divTotalPayableNow").innerHTML = "&pound;0";
        d("divRemainingBalance").innerHTML = "";
        d("hdnTotalPayableNow").value = "0";
        d("hdnRemainingBalance").value = "0";
        d("coursedetails").style.visibility="visible";
        d("coursedetails").style.display="";
        d("divLocation").innerHTML = strLocation;
        d("TR_LOC_D").style.visibility="visible";
        d("TR_LOC_D").style.display="";
        d("divPSinglelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divPDoublelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divPFamilylesson_TotalDeposit").innerHTML= "&pound;0";
        d("divBSinglelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divBDoublelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divBFamilylesson_TotalDeposit").innerHTML= "&pound;0";
        d("divCSinglelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divCDoublelesson_TotalDeposit").innerHTML= "&pound;0";
        d("divCFamilylesson_TotalDeposit").innerHTML= "&pound;0";
        
        d("selPSinglelesson_NoOfPerson").selectedIndex=0;
        d("selPDoublelesson_NoOfPerson").selectedIndex=0;
        d("selPFamilylesson_NoOfPerson").selectedIndex=0;
        
        d("selBSinglelesson_NoOfPerson").selectedIndex=0;
        d("selBDoublelesson_NoOfPerson").selectedIndex=0;
        d("selBFamilylesson_NoOfPerson").selectedIndex=0;
        
        d("selCSinglelesson_NoOfPerson").selectedIndex=0;
        d("selCDoublelesson_NoOfPerson").selectedIndex=0;
        d("selCFamilylesson_NoOfPerson").selectedIndex=0;
    }
    return true;
}

function ShowHide(data)
{
    AW = new Array();
    AW_R = new Array();
    eval(data);
   
    
    //var d = d("location");
    var sel = d("location").value;
    var strLocation = d("location").options[d("location").selectedIndex].text;
    var rowID = strLocation.removeChar();
    var flag=0;
    
    
    
    //Hide Required Information
    d("TR_LOC_D").style.visibility="hidden";
    d("TR_LOC_D").style.display="none";
    d("TR_LOC_S").style.visibility="hidden";
    d("TR_LOC_S").style.display="none";
    d("divLocation").innerHTML = "";
    
    if(strLocation=="Indoor Skydiving, Milton Keynes" || strLocation=="Indoor Skydiving, Manchester" ) 
    {
        flag = FillTable(strLocation,1);
    }
    else
    {
        flag = FillTable(strLocation,0);
    }
    
    if (flag==1)
    {
        if(strLocation=="")
        {
            d("coursedetails").style.visibility="hidden";
            d("coursedetails").style.display="none";
            
        }
        else
        {
            d("coursedetails").style.visibility="visible";
            d("coursedetails").style.display="";
            d("TR_LOC_D").style.visibility="visible";
            d("TR_LOC_D").style.display="";
            d("TR_LOC_S").style.visibility="visible";
            d("TR_LOC_S").style.display="";
            d("divLocation").innerHTML = strLocation;
        }
    }
    else if(strLocation!="" && flag==0)
    {
        d("coursedetails").style.visibility="visible";
        d("coursedetails").style.display="";
    }   
    
    return false;
}

function CalcPayment(Course)
{
    var payableNow=null,Discount=null,NoOfPerson=null,DayPayment=null,TotalDeposit=null,TotalDayPayment=null;
    try
    {
        
        payableNow = d("div"+Course+"_Deposit").innerHTML.removeCharDot();
        Discount = d("txt"+Course+"_Discount").value.removeCharDot();
        NoOfPerson = d("sel"+Course+"_NoOfPerson").value.removeCharDot();
        DayPayment = d("div"+Course+"_DayPayment").innerHTML.removeCharDot();
        
        if(Discount==null || Discount=="") Discount = 0;
        if(NoOfPerson==null || NoOfPerson=="") NoOfPerson = 0;
        
        //alert("payableNow:"+payableNow+"\n Discount:"+Discount+"\n NoOfPerson:"+NoOfPerson+"\n DayPayment:"+DayPayment);
        
        if(payableNow==0 && DayPayment==0) return true;
        
        TotalDeposit = (payableNow - Discount)* NoOfPerson;
        TotalDayPayment = DayPayment * NoOfPerson;
        
        d("div"+Course+"_TotalDeposit").innerHTML = "&pound;"+parseFloat(TotalDeposit).toFixed(2);
        d("div"+Course+"_TotalDayPayment").innerHTML = "&pound;"+Math.ceil(TotalDayPayment);
        
        CalcTotalPayment();
    }
    catch(e)
    {
        ShowAlert(e,"CalcPayment");
    }
    return true;
}

function CalcTotalPayment()
{
    var TotalPayableNow=0,RemainingBalance=0,Temp1=0,Temp2=0,divTotalDeposit=null,divTotalDayPayment=null;
    
    for(i=0;i<Pack.length;i++)
    {
        for(j=0;j<CourseName.length;j++)
        {
            Temp1=0;
            Temp2=0;
            try
            {
                divTotalDeposit = "div"+Pack[i]+CourseName[j]+"_TotalDeposit";
                divTotalDayPayment = "div"+Pack[i]+CourseName[j]+"_TotalDayPayment"
                //alert(d(divTotalDeposit));
                if(d(divTotalDeposit)!= null)
                {
                    //alert("divTotalDeposit: "+divTotalDeposit+"\ndivTotalDayPayment: "+divTotalDayPayment);
                    Temp1 = d(divTotalDeposit).innerHTML.removeCharDot();
                    Temp2 = d(divTotalDayPayment).innerHTML.removeCharDot();
                }
                if(Temp1==null || Temp1=="")Temp1=0;
                if(Temp2==null || Temp2=="")Temp2=0;
                 
            }
            catch(e)
            {

                ShowAlert(e,"CalcTotalPayment\n"+"divTotalDeposit: "+divTotalDeposit+"\ndivTotalDayPayment: "+divTotalDayPayment);
            }
            TotalPayableNow = parseFloat(TotalPayableNow) + parseFloat(Temp1);
            RemainingBalance = parseFloat(RemainingBalance) + parseFloat(Temp2);
        }
    }
    d("divTotalPayableNow").innerHTML = "&pound;"+TotalPayableNow.toFixed(2);
    d("divRemainingBalance").innerHTML = "&pound;"+RemainingBalance.toFixed(2);
    d("hdnTotalPayableNow").value = TotalPayableNow.toFixed(2);
    d("hdnRemainingBalance").value = RemainingBalance.toFixed(2);
    
}

function CheckContactDetail()
{
    if(d("txtEmailAddress").value.trim()=="")
    {
        alert("Please Fill The Email Address.");
        d("txtEmailAddress").focus();
        return false;
    }
    if(d("DayTimePhone").value.trim()=="")
    {
        alert("Please provide us with your day time telephone number.");
        d("DayTimePhone").focus();
        return false;
    }
    else if(d("termscondition").value.trim()=="")
    {
        alert("Please confirm that you have read the terms and conditions.");
        d("termscondition").focus();
        return false;
    }
    else
        return true;
}

function CalcPayment_panel(Course)
{
    var FullPayment=null,Discount=null,NoOfPerson=null,DayPayment=null,TotalDeposit=null,TotalDayPayment=null;
    try
    {
        
        FullPayment = d("div"+Course+"_Deposit").innerHTML.removeCharDot();
        Discount = d("txt"+Course+"_Discount").value.removeCharDot();
        NoOfPerson = d("sel"+Course+"_NoOfPerson").value.removeCharDot();
        
        if(Discount==null || Discount=="") Discount = 0;
        if(NoOfPerson==null || NoOfPerson=="") NoOfPerson = 0;
        
        TotalDeposit = (FullPayment - Discount)* NoOfPerson;
        //alert("FullPayment:"+FullPayment+"\n Discount:"+Discount+"\n NoOfPerson:"+NoOfPerson);
        d("div"+Course+"_TotalDeposit").innerHTML = "&pound;"+parseFloat(TotalDeposit).toFixed(2);
        
        CalcTotalPayment_Panel();
    }
    catch(e)
    {
        ShowAlert(e,"CalcPayment_panel");
    }
    return true;
}

function CalcTotalPayment_Panel()
{
    var TotalPayableNow=0;
    
    TotalPayableNow += parseFloat(d("divPSinglelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divPDoublelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divPFamilylesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divBSinglelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divBDoublelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divBFamilylesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divCSinglelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divCDoublelesson_TotalDeposit").innerHTML.removeCharDot());
    TotalPayableNow += parseFloat(d("divCFamilylesson_TotalDeposit").innerHTML.removeCharDot());
    
    d("divTotalPayableNow").innerHTML = "&pound;"+TotalPayableNow.toFixed(2);
    d("divRemainingBalance").innerHTML = "&pound;0";
    d("hdnTotalPayableNow").value = TotalPayableNow.toFixed(2);
    d("hdnRemainingBalance").value = "0";
    
}
