﻿$(document).ready(function() {
    generateMap();
});

function generateMap() {
    var map = new VEMap('geoMap');
    map.SetDashboardSize(VEDashboardSize.Small);
    map.LoadMap();
    map.SetZoomLevel(10);
    //var latLngs = new VELatLong(40.769656, -73.973533)
    //map.SetCenterAndZoom(latLngs, 12);

    var vemap = new VMap(map);

    var storecode = GetElementByName('hdnDealer', 'input');

    var cntlurl = 'Zipcodes.svc/Dealer/' + document.getElementById(storecode).value;

    $.get(cntlurl, function(data) {
        var geojson = eval('(' + data + ')');
        var address = GetElementByName('lblAddress', 'span');
        var lnkaddr = GetAddress(geojson.Address);
        document.getElementById('lnkDirection').href = 'http://maps.google.com/maps?f=d&source=s_d&daddr=' + lnkaddr;
        document.getElementById(address).innerHTML = geojson.Address;
        vemap.addGeoJSON(geojson);
    });

    cntlurl = 'Zipcodes.svc/Centers/' + document.getElementById(storecode).value;

    var centername = GetElementByName('ddlLocation', 'select');

    if (centername.length > 1) {
        centername = "#" + centername;
    }
    else {
        centername = GetElementByName('ddlLocationEx', 'select');
        if (centername.length > 1) {
            centername = "#" + centername;
        }
    }

    $.get(cntlurl, function(data) {
        var geojson = eval('(' + data + ')');
        $.each(geojson, function() {
            $(centername).append($("<option></option>").val(this['Id']).text(this['Name']));
        });
    });
}

function GetElementByName(cname, ctype) {
    var elementLen = document.body.getElementsByTagName(ctype).length;
    var cntlname = "";
    for (var i = 0; i < elementLen; i++) {
        cntlname = document.body.getElementsByTagName(ctype).item(i).id;
        if (cntlname.indexOf(cname) != -1) {
            break;
        }
    }

    if (cntlname == "" || cntlname.indexOf(cname) == -1) {
        cntlname = "";
    }
    
    return cntlname;
}

function GetElementByNameEx(cname, ctype) {
    var elementLen = document.body.getElementsByTagName(ctype).length;
    var cntlname;
    for (var i = 0; i < elementLen; i++) {
        cntlname = document.body.getElementsByTagName(ctype).item(i).name;
        if (cntlname.indexOf(cname) != -1) {
            break;
        }
    }
    return cntlname;
}
function SetCursor() {
    document.body.style.cursor = 'wait';
}

function ListChanged(cname, url, category, cntl) {
    if (category == "Model") {
        url = url + "/" + cntl.value;
    }
    if (category == "Service") {
        url = url + "/" + cntl.value;
    }
    if (url != "") {
        $.get(url, function(data) {
            var geojson = eval('(' + data + ')');
            $(cname+'>option').remove();
            $.each(geojson, function() {
                $(cname).append($("<option></option>").val(this['Id']).text(this['Name']));
            });
        });
    }
}

function SetListValue(cntl, category) {
    
    var yearname = GetElementByName('ddlYear', 'select');
    var yearnameex = GetElementByName('hdnYear', 'input');
    var cntlex;
    
    if (yearname.length > 1) {
        yearname = "#" + yearname;
    }
    else {
        yearname = GetElementByName('ddlYearEx', 'select');
        if (yearname.length > 1) {
            yearname = "#" + yearname;
        }
    }

    if (yearnameex.length > 1) {
        yearnameex = "#" + yearnameex;
        $(yearnameex).val($(yearname).val());
    }

    if (category == "Model") {
        var makename = GetElementByName('ddlMake', 'select');
        var makenameex = GetElementByName('hdnMake', 'input');
        var makenameexname = GetElementByName('hdnMakeName', 'input');
        var modelnameex = GetElementByName('hdnModel', 'input');
        var modelnameexname = GetElementByName('hdnModelName', 'input');

        if (makename.length > 1) {
            makename = "#" + makename;
        }
        else {
            makename = GetElementByName('ddlMakeEx', 'select');
            if (makename.length > 1) {
                makename = "#" + makename;
            }
        }

        if (makenameex.length > 1) {
            makenameex = "#" + makenameex;
            $(makenameex).val($(makename).val());
        }

        if (makenameexname.length > 1) {
            makenameexname = "#" + makenameexname;
            $(makenameexname).val($(makename).find('option').filter(':selected').text());
        }

        if (modelnameex.length > 1) {
            modelnameex = "#" + modelnameex;
            $(modelnameex).val(cntl.value);
        }

        if (modelnameexname.length > 1) {
            modelnameexname = "#" + modelnameexname;
            cntlex = "#" + cntl.id;
            $(modelnameexname).val($(cntlex).find('option').filter(':selected').text());
        }
    }
    if (category == "Service") {
        var locname = GetElementByName('ddlLocation', 'select');
        var locnameex = GetElementByName('hdnLocation', 'input');
        var locnameexname = GetElementByName('hdnLocationName', 'input');
        var servicenameex = GetElementByName('hdnService', 'input');
        var servicenameexname = GetElementByName('hdnServiceName', 'input');

        if (locname.length > 1) {
            locname = "#" + locname;
        }
        else {
            locname = GetElementByName('ddlLocationEx', 'select');
            if (locname.length > 1) {
                locname = "#" + locname;
            }
        }

        if (locnameex.length > 1) {
            locnameex = "#" + locnameex;
            $(locnameex).val($(locname).val());
        }

        if (locnameexname.length > 1) {
            locnameexname = "#" + locnameexname;
            $(locnameexname).val($(locname).find('option').filter(':selected').text());
        }

        if (servicenameex.length > 1) {
            servicenameex = "#" + servicenameex;
            $(servicenameex).val(cntl.value);
        }

        if (servicenameexname.length > 1) {
            servicenameexname = "#" + servicenameexname;
            cntlex = "#" + cntl.id;
            $(servicenameexname).val($(cntlex).find('option').filter(':selected').text());
        }
    }
}

function ListValidate() {

    var hdnvid = GetElementByName('hdnVid', 'input');

    if (document.getElementById(hdnvid).value == "0") {

        var yearname = GetElementByName('ddlYear', 'select');
        if (yearname.length <= 0) {
            yearname = GetElementByName('ddlYearEx', 'select');
        }
        if (document.getElementById(yearname).value == '0') {
            alert('Select Year');
            return false;
        }

        var makename = GetElementByName('ddlMake', 'select');
        if (makename.length <= 0) {
            makename = GetElementByName('ddlMakeEx', 'select');
        }
        if (document.getElementById(makename).value == '0') {
            alert('Select Make');
            return false;
        }

        var modelname = GetElementByName('ddlModel', 'select');
        if (modelname.length <= 0) {
            modelname = GetElementByName('ddlModelEx', 'select');
        }
        if (document.getElementById(modelname).value == '0') {
            alert('Select Model');
            return false;
        }
    }

    var locname = GetElementByName('ddlLocation', 'select');
    if (locname.length <= 0) {
        locname = GetElementByName('ddlLocationEx', 'select');
    }
    if (document.getElementById(locname).value == '0') {
        alert('Select Location/Advisor');
        return false;
    }

    var servicename = GetElementByName('ddlService', 'select');
    if (servicename.length <= 0) {
        servicename = GetElementByName('ddlServiceEx', 'select');
    }
    if (document.getElementById(servicename).value == '0') {
        alert('Select Service');
        return false;
    }

    var loanername = GetElementByName('chkLoaner', 'input');
    if (loanername.length <= 0) {
        loanername = GetElementByName('chkLoanerEx', 'input');
    }
    if (document.getElementById(loanername)) {
        var loanernameex = GetElementByName('hdnLoaner', 'input');
        document.getElementById(loanernameex).value = document.getElementById(loanername).checked;
    }

    var waitname = GetElementByName('chkWait', 'input');
    if (waitname.length <= 0) {
        waitname = GetElementByName('chkWaitEx', 'input');
    }
    if (document.getElementById(waitname)) {
        var waitnameex = GetElementByName('hdnWait', 'input');
        document.getElementById(waitnameex).value = document.getElementById(waitname).checked;
    }

    var chryslername = GetElementByName('chkChrysler', 'input');
    if (chryslername.length <= 0) {
        chryslername = GetElementByName('chkChryslerEx', 'input');
    }
    if (document.getElementById(chryslername)) {
        var chryslernameex = GetElementByName('hdnChrysler', 'input');
        document.getElementById(chryslername).value = document.getElementById(chryslername).checked;
    }


    return true;
}

function GetAddress(pAddr) {
    var addr = 'http://maps.google.com/maps?f=d&source=s_d&daddr=';
    try {
        var ipos = pAddr.indexOf('<br>', 0);
        var temp = pAddr.substring(ipos + 4, pAddr.length).replace('<br>',',');
        addr = addr + temp; 
    }
    catch (err){
    }
    return addr;
}


