﻿window.onload=SetInitials;

function SetInitials()
{
    var btnControl = JSFINISHDATE + "_trigger";
    
    document.getElementById(JSSTARTDATE + "_calendar").onchange = jsPolicyStartDate_OnChange;
    
    document.getElementById(JSFINISHDATE + "_calendar").readOnly = true;
    document.getElementById(btnControl).disabled = true;
    
    jsPolicyStartDate_OnChange();
 
    OnrdlOverSeventy_Clicked();
    OnrdlAccidentGuarantee();
}

function SetPackage(rb)
{
    rb.checked = true;
    var hidden = document.getElementById("ctl00_SiteContentPlaceHolder_hidden");
    if(hidden != null)
    {
        var radiobutton = document.getElementById(rb);
        //alert(radiobutton.value);
        if(radiobutton != null)
        {
            hidden.value = radiobutton.value;
        }
    }
    //CheckIsPacketSelected();        
}

function jsPolicyStartDate_OnChange() {
    document.getElementById(JSSTARTDATE + "_hdn").value = document.getElementById(JSSTARTDATE + "_calendar").value;
    SetFinishDate();
}

function OnddlJourneyTime_Changed(obj)
{
    SetFinishDate();
}

function OnrdlOverSeventy_Clicked()
{
    var over70 = GetElement("rdlOverSeventy_0").checked == true
    GetElement("pnlAccidentGuarantee").disabled = over70;
    if(over70)
    {
        GetElement("rdlAccidentGuarantee_1").checked = true;
    }
    
    var accidentGuarantee = GetElement("rdlAccidentGuarantee_0").checked == true;
    
    GetElement("hdnAccidentGuarantee").value = accidentGuarantee;
}

function OnrdlAccidentGuarantee()
{
    var accidentGuarantee = GetElement("rdlAccidentGuarantee_0").checked == true;
    GetElement("hdnAccidentGuarantee").value = accidentGuarantee;
}

function SetFinishDate()
{
    var date = new Date();
    var selDate = document.getElementById(JSSTARTDATE + "_calendar").value;

    if(selDate != "" && selDate.split('.').length == 3)
    {
        var Year = parseInt(getYear(selDate));
        var Month =  getMonth(selDate)
        var Day = getDay(selDate);
        date = new Date(Year, Month-1, Day);
    }

    date.setDate(date.getDate() + GetSelectedJourneyTime());
    document.getElementById(JSFINISHDATE + "_calendar").value= date.scwFormat('dd.mm.yyyy')
    document.getElementById(JSFINISHDATE + "_hdn").value= date.scwFormat('dd.mm.yyyy')
}

function GetSelectedJourneyTime()
{
    var Code = GetElement("ddlJourneyTime").value
    
    for(i=0; i<timeArray.length; i++)
    {
        if( timeArray[i][0] == Code)
        {
            return parseInt(timeArray[i][1]);
        }
    }
    return 0;
}

function getYear(prm)
{
    return prm.split('.')[2];
}

function getMonth(prm)
{
    return prm.split('.')[1];
}

function getDay(prm)
{
    return prm.split('.')[0];
}

Date.prototype.scwFormat =
function(scwFormat)
{
    var charCount = 0,
    codeChar  = '',
    result    = '';

    for (var i=0;i<=scwFormat.length;i++)
    {
        if (i<scwFormat.length && scwFormat.charAt(i)==codeChar)
        {
            // If we haven't hit the end of the string and
            // the format string character is the same as
            // the previous one, just clock up one to the
            // length of the current element definition
            charCount++;
        }else   {switch (codeChar)
                {case 'y': case 'Y':
                    result += (this.getFullYear()%Math.
                                pow(10,charCount)).toString().
                                scwPadLeft(charCount);
                    break;
                 case 'm': case 'M':
                    // If we find an M, check the number of them to
                    // determine whether to get the month number or
                    // the month name.
                    result += (charCount<3)
                                ?(this.getMonth()+1).
                                    toString().scwPadLeft(charCount)
                                :scwArrMonthNames[this.getMonth()];
                    break;
                 case 'd': case 'D':
                    // If we find a D, get the date and format it
                    result += this.getDate().toString().
                                scwPadLeft(charCount);
                    break;
                 default:
                    // Copy any unrecognised characters across
                    while (charCount-- > 0) {result += codeChar;}
                }

             if (i<scwFormat.length)
                {// Store the character we have just worked on
                 codeChar  = scwFormat.charAt(i);
                 charCount = 1;
                }
            }
    }
    return result;
}
    
String.prototype.scwPadLeft =
function(padToLength)
{
    var result = '';
    for (var i=0;i<(padToLength - this.length);i++) {result += '0';}
    return (result + this);
}


