﻿function localeUrl() {
    return "/" + State.Language + "-" + State.Units;

}

function baseUrl() {
    return localeUrl() + "/" + State.BrandId + "/" + State.MachineId;
}

function openHelp(page) {
    HelpPopup(baseUrl() + "/Help/" + page);
}

function ShapeHelpURL(ShapeId) {

    return baseUrl() + "/Help_Shape/" + ShapeId;
}

function openShapeHelp(ShapeId){
    HelpPopup(ShapeHelpURL(ShapeId));
}

function HelpPopup(url) {
    window.open(url, 'help', 'width=500,height=600,scrollbars=yes, resizable=yes');

}


function homeUrl(brand) {
    if (typeof (brand) == 'undefined') brand = State.BrandId;
    return localeUrl() + "/Home/" + brand;


}

function addressUrl(brand) {
    if (typeof (brand) == 'undefined') brand = State.BrandId;
    return localeUrl() + "/" + brand + "/Addresses";


}


function urlFromHome(brand, family) {
    if (typeof (brand) == 'undefined') brand = State.BrandId;
    if (typeof (family) == 'undefined') family = State.Machine.Family;
    return localeUrl() + "/" + brand + "/Machine/" + family;
}


function urlFromMachine(brand, machineId) {
    if (typeof (brand) == 'undefined') brand = State.BrandId;
    if (typeof (machineId) == 'undefined') machineId = State.MachineId;
    return localeUrl() + "/" + brand + "/FieldSettings/" + machineId;

}


function UrlPartFieldSettings(ww, dosage, speed, tdmethod) {
    return  ww + "-" +
                    dosage + "-" +
                    speed + "-" +
                    tdmethod;
}

function valuesFromFieldSettings(ww, dosage, speed, tdmethod) {
        return baseUrl() + "/" + UrlPartFieldSettings(ww, dosage, speed, tdmethod) ;
}

function urlFromFieldSettings(ww, dosage, speed, tdmethod) {
    if (typeof (ww) == 'undefined') ww = State.WorkingWidth;
    if (typeof (dosage) == 'undefined') dosage = State.Dosage;
    if (typeof (speed) == 'undefined') speed = State.DrivingSpeed;
    if (typeof (tdmethod) == 'undefined') tdmethod = State.TopDressing;
    
    return valuesFromFieldSettings(ww, dosage, speed, tdmethod) + "/FertProperties";
}


function UrlPartFertilizer(fr1, fr2, fr3, fr4, dens, shape) {
    if (fr1 == undefined) fr1 = State.fract1;
    return fr1 + "-" +
            fr2 + "-" +
            fr3 + "-" +
            fr4 + "-" +
            dens + "-" +
            shape;
}

function valuesFromFertilizer(fr1,fr2,fr3,fr4,dens,shape) {
    return valuesFromFieldSettings(State.WorkingWidth ,State.Dosage ,State.DrivingSpeed ,State.TopDressing) + "/" + 
                UrlPartFertilizer(fr1,fr2,fr3,fr4,dens,shape);
}

function urlFromFertilizer(fr1, fr2, fr3, fr4, dens, shape) {
    if (typeof (fr1) == 'undefined') fr1 = State.fract1;
    if (typeof (fr2) == 'undefined') fr2 = State.fract2;
    if (typeof (fr3) == 'undefined') fr3 = State.fract3;
    if (typeof (fr4) == 'undefined') fr4 = State.fract4;
    if (typeof (dens) == 'undefined') dens = State.Density;
    if (typeof (shape) == 'undefined') shape = State.SelectedFertilizerShape;

    return valuesFromFertilizer(fr1,fr2,fr3,fr4,dens,shape) + "/Fertilizers";
}

function UrlFromFertilizers(fertid) {
    
    if (typeof (fertid) == 'undefined') fertid = State.SelectedFertilizerId;
    return valuesFromFertilizer(State.fract1, State.fract2, State.fract3, State.fract4, State.Density, State.SelectedFertilizerShape) +
                "/Advice/" + fertid; 
}

function UrlFromAdviceToChart(fertid) {
    if (typeof (fertid) == 'undefined') fertid = State.SelectedFertilizerId;
    return valuesFromFertilizer(State.fract1, State.fract2, State.fract3, State.fract4, State.Density, State.SelectedFertilizerShape) +
                "/Chart/" + fertid + FineApplKitValue();
}
function UrlFromChartToAdvice(fertid) {
        return UrlFromFertilizers(fertid) + FineApplKitValue();
}

function FineApplKitValue(){
    if (State.UseFineDosage)
        return "/WithFineApplKit"
    else
        return "/WithoutFineApplKit"
}


function changeLanguage(newlang) {
    var path = window.location.pathname;
    var newpath = "/" + newlang + path.substring(path.indexOf("/",2), path.length);
    window.location = newpath;
}


function mobileUrl() {
    if (State.BrandId=="VICON")
        return "http://vicontab.mobi"
    else
        return "http://kvernelandtab.mobi"
}

