var objectSubTypeArray = new Array();
    		
function InsertObjectType(ObjectID, ObjectSubID, ObjectText) {
    this.ObjectID = ObjectID;
    this.ObjectSubID = ObjectSubID;
    this.ObjectText = ObjectText;
}

objectSubTypeArray[0] = new InsertObjectType("1001", "1005", "Utombordare")
objectSubTypeArray[1] = new InsertObjectType("1001", "1002", "Inombordare")
objectSubTypeArray[2] = new InsertObjectType("1002", "1002", "Inombordare")
objectSubTypeArray[3] = new InsertObjectType("1004", "1015", "Ospecificerad")



/*********************************************************************************
    'Author:       Stefan Mattsson (SMA)
    'FunctionName: CheckInteger ()
    'Parameters:   obj: The object to check
    '					showError: Flag; If to show alert or not on error
    'Purpose:      Check objects value for correct Float or Money type
    'Date:         2004-04-06
    'Modified:     N/A
    'Comments:     N/A
    '*********************************************************************************/
    function CheckInteger(objvalue, showError) {
        if (objvalue != "") {
            var validRegExp = /^[-,0-9]{0,}$/;
            if (objvalue.search(validRegExp) != 0) {
	            if (showError) {
		            alert("Endast numeriska värden är godkända för inmatning!");
	            }
	            return false;
            }
            return true;
        }
        else {
            return true;
        }
    }
    /*********************************************************************************/


function checkForm() {
    if (document.getElementById("ObjectTypeID").value == 1002) {
        if (CheckInteger(document.getElementById("Maximumspeed").value, false)) {
            if (document.getElementById("Maximumspeed").value > 12) {
	            alert("Typ av båt kommer att ändras till motorbåt pga att maxfarten är högre än 12 knop!");
	            document.getElementById("ObjectTypeID").value = 1001;
            }
        }
    }
}

function hideObjectSubTypeID1(value)
{
    try{
        if (value == 1001 || value == 1002) {
            document.getElementById('   ').style.display = '';
            document.getElementById('HideObjectSubTypeID2').style.display = '';
        }
        else {
            document.getElementById('HideObjectSubTypeID').style.display = 'none';
            document.getElementById('HideObjectSubTypeID2').style.display = 'none';

        }
    }
    catch(e){}
}

function hideObjectSubTypeID(value)
{
    var opt;
    
    //This is set in premieCalc.asp. .js-files does not support asp-tags
    //var requestValue = '<%=request.form("ObjectSubTypeID")%>';

    try {
        for (var i = document.getElementById("ObjectSubTypeID").options.length; i >= 0; i--) {
            document.getElementById("ObjectSubTypeID").options[i] = null;
        }
        if (value == 1000 || value == "") {
            document.getElementById('HideObjectSubTypeID').style.display = 'none';
            document.getElementById('HideObjectSubTypeID2').style.display = 'none';
        }
        else {
            
            for (var i = 0; i < objectSubTypeArray.length; i++) {
                if (value == objectSubTypeArray[i].ObjectID) {
                    opt = document.createElement("option");
                    opt.value = objectSubTypeArray[i].ObjectSubID;
                    opt.text = objectSubTypeArray[i].ObjectText;

                    if (requestValue == opt.value) {
                        opt.selected = true;
                    }
                    document.getElementById("ObjectSubTypeID").options.add(opt);
                }
            }
            document.getElementById('HideObjectSubTypeID').style.display = '';
            document.getElementById('HideObjectSubTypeID2').style.display = '';
        }

        if (value == 1004) //Vattenskoter
        {
            $("#CompetenceID").attr('checked', false);
            $("#Tracker").attr('checked', false);
            $("#EngineFailureCoverage").attr('checked', false);
            enableEngineYear(false);
            if ($("#AddressZipcode").val() == '')
                $("#AddressZipcode").val('00000');

            $("tr[name='HideIfScoter']").hide();
            $('#HideObjectSubTypeID').hide();
            $('#HideObjectSubTypeID2').hide();
            if(typeof(requestValue) == 'undefined' || requestValue == '') //If value is not posted
                $("tr[name='ShowIfScoter']").show(); //Show warning
            $('#HasAnotherInsuranceContainer').show();

            for (var i = 0; i < document.getElementById("MaterialID").options.length; i++) {
                if (document.getElementById("MaterialID").options[i].value == '1004') {
                    document.getElementById("MaterialID").options[i].selected = true; //Välj plast
                }
                else {
                    document.getElementById("MaterialID").options[i].selected = false;
                }
            }

            for (var i = 0; i < document.getElementById("InsuranceSubTypeID").options.length; i++) {
                if (document.getElementById("InsuranceSubTypeID").options[i].value == '1000') {
                    document.getElementById("InsuranceSubTypeID").options[i].selected = true; //Välj normal
                }
                else {
                    document.getElementById("InsuranceSubTypeID").options[i].selected = false;
                }
            }
            

            //validateDateLaterThan('2011-04-01', 'Vattenskoter kan endast försäkras från 2011-04-01 eller senare.');
        }
        else {
            $("tr[name='HideIfScoter']").show();
            $("tr[name='ShowIfScoter']").hide();
            $('#HasAnotherInsuranceContainer').hide();
            if ($("#AddressZipcode").val() == '00000')
                $("#AddressZipcode").val('');
        }
    }
    catch (e) { alert(e.Message + "\n" + e.Line + ":" + e.LineText + "\n" + e.Description + "\n" + e.Data + "\n" + e) }
}
/*********************************************************************************


/*********************************************************************************
'Author:       Robert Fricke
'FunctionName: disableSubriptionButton()
'Parameters:   
'Purpose:      Disables button when a field is change, forces user to recalc
'Date:         20011-02-25
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function disableSubriptionButton() {
    //Enable calculate button
    $('#action').show();

    //disable subscribe buttons
    $('.calculateFirst').attr('disabled', true);
    $('.calculateFirst').css('color', '#444');
}
/*********************************************************************************

/*********************************************************************************
'Author:       Robert Fricke
'FunctionName: enableEngineYear()
'Parameters:   
'Purpose:      Enables the field for engine year. Called when engineFailureCoverage is checked
'Date:         20011-02-25
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function enableEngineYear(checked) {
    if (checked) {
        $('#ManufactYearContainer').show();
    }
    else {
        $('#ManufactYearContainer').hide();
        $('#ManufactYear').val('');
    }
}
/*********************************************************************************

/*********************************************************************************
'Author:       Robert Fricke
'FunctionName: validateConstructYear()
'Parameters:   
'Purpose:      Validates engine manufact. year
'Date:         20011-02-25
'Modified:     N/A
'Comments:     (Görs numer i ValideraData.inc, javasriptfunktionen används inte)
'*********************************************************************************/
function validateManufactYear() {
    var year = $('#ManufactYear').val();
    var d = new Date();
    if (year < d.getFullYear() - 6) {
        alert(engineToOld());
        $('#EngineFailureCoverage').removeAttr('checked');
    }
}

/*********************************************************************************
'Author:       Robert Fricke
'FunctionName: validateDateLaterThan()
'Parameters:   date att jämföra med, alertText att visa om datum valt är tidigare än date
'Purpose:      Validates om OriginalPeriodStart är senare än ett datum, alert om tidigare
'Date:         20011-02-25
'Modified:     N/A
'Comments:     N/A
'*********************************************************************************/
function validateDateLaterThan(date, alertText) {
    var periodStart = new Date($('#OriginalPeriodStart').val());
    var compareDate = new Date(date);
    if (periodStart < compareDate) {
        alert(alertText);
        return false;
    }
    return true;
}
