/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
document.getElementById("gq_dh").style.display = "none";
document.getElementById("gq_dh1").style.display = "none";
document.getElementById("gq_d1").style.display = "none";
document.getElementById("gq_d2").style.display = "none";
document.getElementById("gq_d3").style.display = "none";
document.getElementById("gq_d4").style.display = "none";
document.getElementById("gq_d5").style.display = "none";
document.getElementById("gq_finish_button").style.display = "none";
document.getElementById("tblQuoteInfo").style.display = "none";
document.getElementById("tblButtonsInfo").style.display = "none";
document.getElementById("tblDealerConfirm").style.display = "none";
document.getElementById("messageBoxVeh").style.display = "none";
document.getElementById("thdivInfo").style.display = "none";
document.getElementById("divFinished").style.display = "none";
document.getElementById("divLinksFooterFinal").style.display = "none";
document.getElementById("dealerTableTop").style.display = "none";
document.getElementById("dealerTableBtm").style.display = "none";

    function gqCarNextButton() {
        var validFlag1 = true;
        var validFlag2 = true;
        var validFlag3 = true;
        var validFlag4 = true;
        if ((!(document.getElementById("make").selectedIndex > 0)) && (document.getElementById("make").options.length > 1)){
            validFlag1 = false;
        }
        if ((!(document.getElementById("model").selectedIndex > 0)) && (document.getElementById("model").options.length > 1)) {
            validFlag2 = false;
        }
        if ((!(document.getElementById("trim").selectedIndex > 0))  && (document.getElementById("trim").options.length > 1)){
            validFlag3 = false;
        }
        if ((document.getElementById("zip").value == "") || (document.getElementById("zip").value == null)) {
            validFlag4 = false;
        }
        if ((validFlag1 == true) && (validFlag2 == true) && (validFlag3 == true) && (validFlag4 == true)) {
            document.getElementById("tblVehicleSelect").style.display = "none";
            document.getElementById("tblQuoteInfo").style.display = "inline";
            document.getElementById("tblButtons").style.display = "none";
            document.getElementById("tblButtonsInfo").style.display = "inline";
            document.getElementById("messageBoxVeh").style.display = "none";
            document.getElementById("thdivVeh").style.display = "none";
            document.getElementById("thdivInfo").style.display = "inline";
            document.getElementById("gq_postalcode").value = document.getElementById("zip").value;
            document.getElementById("imgSteps").src = "http://images01.zautos.com/vehicles/getQuote/getquotesteps_all_2.png";
            var city = document.getElementById("gq_city");
            var zip = document.getElementById("zip").value;
            var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*")[0];
            var model = document.getElementById("model").options[document.getElementById("model").selectedIndex].value.split("*")[0];
            var yeartrim = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value;
            var ytsplit = yeartrim.split("*");
            var year = ytsplit[0];
            var trim = ytsplit[1];
            var url = "http://www.geonames.org/postalCodeLookupJSON?postalcode=" + zip + "&country=USA&callback=getLocation";
            var obj=new JSONscriptRequest(url);
            obj.buildScriptTag(); // Build the script tag
            obj.addScriptTag(); // Execute (add) the script tag
            if (window.ActiveXObject) {
                try {
                    dlreq = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    dlreq = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                dlreq = new XMLHttpRequest();
            }
            var dlurl = "http://zautos.com/zAutosDTS/DealerListing?year=" + year + "&make=" + make + "&model=" + model + "&trim=" + trim + "&postalCode=" + zip;
            dlreq.open("get", dlurl, true);
            dlreq.onreadystatechange = function() {
                if (dlreq.readyState == 4 && dlreq.status == 200) {
                    var dl = eval('(' + dlreq.responseText + ')');
                    if(dl.dealers.length == 0) {
                        noOfDealers = dl.dealers.length;
                    } else {
                        var dllength = 0;
                        if (dl.dealers.length > 5) {
                            dllength = 5;
                        } else {
                            dllength = dl.dealers.length;
                        }
//                        noOfDealers = dl.dealers.length;
                        noOfDealers = dllength;
                        reservationIds = [];
//                        for (var i = 0; i < dl.dealers.length; i++) {
                        for (var i = 0; i < dllength; i++) {
                            //store all reservation ids in this array
//                            reservationIds[reservationIds.length] = dl.dealers[i].reservationId;
                            var rsvid = replaceCaret(dl.dealers[i].reservationId);
                            reservationIds[reservationIds.length] = rsvid;
                            //change text
                            var dlrname = replaceCaret(dl.dealers[i].name);
//                            document.getElementById("gq_d"+(i+1)+"_name").innerHTML = dl.dealers[i].name;
                            document.getElementById("gq_d"+(i+1)+"_name").innerHTML = dlrname;
                            var dlrstreet = replaceCaret(dl.dealers[i].street);
//                            document.getElementById("gq_d"+(i+1)+"_add1").innerHTML = dl.dealers[i].street;
                            document.getElementById("gq_d"+(i+1)+"_add1").innerHTML = dlrstreet;
                            var dlrcity = replaceCaret(dl.dealers[i].city);
//                            document.getElementById("gq_d"+(i+1)+"_add2").innerHTML = dl.dealers[i].city + ", " + dl.dealers[i].state + " " + dl.dealers[i].postalcode;
                            document.getElementById("gq_d"+(i+1)+"_add2").innerHTML = dlrcity + ", " + dl.dealers[i].state + " " + dl.dealers[i].postalcode;
                        }
                    }
                }
            };
            dlreq.send(null);

            updateQuoteVeh();

        } else {
            document.getElementById("messageBoxVeh").style.display = "inline";
            var ulveh = document.getElementById("ulVeh");
            ulveh.innerHTML = "";
            if (validFlag1 == false) {
                var li1 = document.createElement("li");
                li1.innerHTML = "Please Select a Make";
                ulveh.appendChild(li1);
            }
            if (validFlag2 == false) {
                var li2 = document.createElement("li");
                li2.innerHTML = "Please Select a Model";
                ulveh.appendChild(li2);
            }
            if (validFlag3 == false) {
                var li3 = document.createElement("li");
                li3.innerHTML = "Please Select a Trim";
                ulveh.appendChild(li3);
            }
            if (validFlag4 == false) {
                var li4 = document.createElement("li");
                li4.innerHTML = "Please Enter a Zip Code";
                ulveh.appendChild(li4);
            }
        }
    } //end next button

    function getLocation(data)
    {
        if(data==null) {
            alert('error');
        }
        else
        {
            if (data.postalcodes.length > 0) {
                document.getElementById("gq_city").innerHTML = data.postalcodes[0].placeName + ", " + data.postalcodes[0].adminCode1;
                document.getElementById("gq_postalcode").style.background = 'White';
                cityName = data.postalcodes[0].placeName;
                stateName = data.postalcodes[0].adminCode1;
                try {
                    var li = document.getElementById("ulgq_postalcode");
                    document.getElementById("msg1UL").removeChild(li);
                } catch (e){}
                flagZip = 0;
            } else {
                document.getElementById("gq_city").innerHTML = "";
                document.getElementById("gq_postalcode").style.background = 'Yellow';
                var li = document.createElement("li");
                li.id = "ulgq_postalcode";
                if (flagZip == 0) {
                    li.innerHTML = "Zip Code: Please Enter a Valid Zip Code";
                    document.getElementById("msg1UL").appendChild(li);
                }
                flagZip = 1;
            }
        }
    }
    function getZipCode(fld)
    {
        var zip = fld.value;
        if (!(document.getElementById("zip").value == zip)) {
            var url = "http://www.geonames.org/postalCodeLookupJSON?postalcode=" + zip + "&country=USA&callback=getLocation";
//                alert(url);
            var obj=new JSONscriptRequest(url);
            obj.buildScriptTag(); // Build the script tag
            obj.addScriptTag(); // Execute (add) the script tag
            var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*")[0];
            var model = document.getElementById("model").options[document.getElementById("model").selectedIndex].value.split("*")[0];
            var yeartrim = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value;
            var ytsplit = yeartrim.split("*");
            var year = ytsplit[0];
            var trim = ytsplit[1];

            if (window.ActiveXObject) {
                try {
                    dlreq = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    dlreq = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                dlreq = new XMLHttpRequest();
            }
            var dlurl = "http://zautos.com/zAutosDTS/DealerListing?year=" + year + "&make=" + make + "&model=" + model + "&trim=" + trim + "&postalCode=" + zip;
            dlreq.open("get", dlurl, true);
            dlreq.onreadystatechange = function() {
                if (dlreq.readyState == 4 && dlreq.status == 200) {
                    var dl = eval('(' + dlreq.responseText + ')');
//                    alert(dl.dealers.length);
                    if(dl.dealers.length == 0) {
                        noOfDealers = dl.dealers.length;
                    } else {
                        var dllength = 0;
                        if (dl.dealers.length > 5) {
                            dllength = 5;
                        } else {
                            dllength = dl.dealers.length;
                        }
                        noOfDealers = dllength;
//                        noOfDealers = dl.dealers.length;
                        reservationIds = [];
                        for (var i = 0; i < dllength; i++) {
//                        for (var i = 0; i < dl.dealers.length; i++) {
                            //store all reservation ids in this array
//                            reservationIds[reservationIds.length] = dl.dealers[i].reservationId;
                            var rsvid = replaceCaret(dl.dealers[i].reservationId);
                            reservationIds[reservationIds.length] = rsvid;
                            //change text
                            var dlrname = replaceCaret(dl.dealers[i].name);
//                            document.getElementById("gq_d"+(i+1)+"_name").innerHTML = dl.dealers[i].name;
                            document.getElementById("gq_d"+(i+1)+"_name").innerHTML = dlrname;
                            var dlrstreet = replaceCaret(dl.dealers[i].street);
//                            document.getElementById("gq_d"+(i+1)+"_add1").innerHTML = dl.dealers[i].street;
                            document.getElementById("gq_d"+(i+1)+"_add1").innerHTML = dlrstreet;
                            var dlrcity = replaceCaret(dl.dealers[i].city);
//                            document.getElementById("gq_d"+(i+1)+"_add2").innerHTML = dl.dealers[i].city + ", " + dl.dealers[i].state + " " + dl.dealers[i].postalcode;
                            document.getElementById("gq_d"+(i+1)+"_add2").innerHTML = dlrcity + ", " + dl.dealers[i].state + " " + dl.dealers[i].postalcode;
                        }
                    }
                }
            };
            dlreq.send(null);
            document.getElementById("zip").value = zip;
        }
    }
    function submitCustInfo() {
        if (flagFname == 0) {
            validateEmpty(document.getElementById("gq_fname"));
        }
        if (flagLname == 0) {
            validateEmpty(document.getElementById("gq_lname"));
        }
        if (flagStreet == 0) {
            validateEmpty(document.getElementById("gq_street"));
        }
        if (flagZip == 0) {
            getZipCode(document.getElementById("gq_postalcode"));
        }
        if (flagEmail == 0) {
            validateEmail(document.getElementById("gq_email"));
        }
        if (flagWphone == 0) {
            validatePhone(document.getElementById("gq_workphone"));
        }
        if (flagHphone == 0) {
            validatePhone(document.getElementById("gq_homephone"));
        }
        if ((flagFname == 0) && (flagLname == 0) && (flagStreet == 0) && (flagEmail == 0) && (flagWphone == 0) && (flagHphone == 0) && (flagZip == 0)) {
            document.getElementById("imgSteps").src = "http://images01.zautos.com/vehicles/getQuote/getquotesteps_all_3.png";
            document.getElementById("tblQuoteInfo").style.display = "none";
            document.getElementById("tblButtonsInfo").style.display = "none";
            var custfirstname = document.getElementById('gq_fname').value;
            var custlastname = document.getElementById('gq_lname').value;
            var custaddress = document.getElementById('gq_street').value;
            var zip = document.getElementById('gq_postalcode').value;
            var custemail = document.getElementById('gq_email').value;
            var workphone = document.getElementById('gq_workphone').value;
            var workext = document.getElementById('gq_ext').value;
            var homephone = document.getElementById('gq_homephone').value;
            var btc = document.getElementById('gq_btc').options[document.getElementById("gq_btc").selectedIndex].value;
            if (btc == "") {
                btc = "Any";
            }
            var quoteId = document.getElementById("quoteId").value;
            var referrer = document.referrer;
            if (referrer == "") {
                referrer = "http://zautos.com/vehicle/vehicleQuote.jsp";
            }
            if(noOfDealers != 0) {
/*                document.getElementById("gq_dh").style.display = "inline";
                for(var i=0;i<noOfDealers;i++) {
                     document.getElementById("gq_d"+(i+1)).style.display = "inline";
                }
                document.getElementById("dealerTableTop").style.display = "inline";
                document.getElementById("dealerTableBtm").style.display = "inline";
                document.getElementById("gq_finish_button").style.display = "inline";
*/
                document.getElementById("gq_dh").style.display = "inline";
                if (navigator.userAgent.indexOf("MSIE") != -1) {
                    for (var i = 0; i < noOfDealers; i++) {
                        document.getElementById("gq_d"+(i+1)).style.display = "inline";
                    }
                    document.getElementById("dealerTableTop").style.display = "inline";
                    document.getElementById("dealerTableBtm").style.display = "inline";
                    document.getElementById("dealerTableTop").style.width = "454px";
                    document.getElementById("dealerTableBtm").style.width = "454px";
                } else {
                    for(var i=0;i<noOfDealers;i++) {
                        document.getElementById("gq_d"+(i+1)).style.display = "inline-table";
                        document.getElementById("gq_d"+(i+1)).style.paddingTop = "35px";
                    }
                    document.getElementById("dealerTableTop").style.display = "inline-table";
                    document.getElementById("dealerTableBtm").style.display = "inline-table";
                    document.getElementById("dealerTableTop").style.width = "460px";
                    document.getElementById("dealerTableBtm").style.width = "460px";
                }
                document.getElementById("gq_finish_button").style.display = "inline";
            } else { //if no dealers returned
                // need to send lead to DTS using sellGX
                var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*")[0];
                var model = document.getElementById("model").options[document.getElementById("model").selectedIndex].value.split("*")[0];
                var yeartrim = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value;
                var ytsplit = yeartrim.split("*");
                var year = ytsplit[0];
                var trim = ytsplit[1];
                //post data to DTS sellGX
                var hostprotocol = window.location.protocol;
                var hostname = window.location.hostname;
                var portno = window.location.port;
//                var posturl = hostprotocol + "//" + hostname + "/zAutosDTS/SellLead";
                var posturl = "http://zautos.com/zAutosDTS/SellLead";
                var qs = "year=" + year + "&make=" + make + "&model=" + model + "&trim=" + trim + "&postalCode=" + zip + "&fname=" + custfirstname +
                    "&lname=" + custlastname + "&street=" + custaddress + "&city=" + cityName + "&state=" + stateName + "&email=" + custemail +
                    "&workphone=" + workphone + "&ext=" + workext + "&homephone=" + homephone + "&btc=" + btc + "&ebrochureId=" + quoteId +
                    "&formType=quote&siteType=" + referrer;
                posturl = posturl + "?" + qs;
                if (window.ActiveXObject) {
                    try {
                        sellreq = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        sellreq = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                } else {
                    sellreq = new XMLHttpRequest();
                }
                sellreq.open("get", posturl, true);
                sellreq.onreadystatechange = function() {
                    if (sellreq.readyState == 4 && sellreq.status == 200) {
                    }
                };
                sellreq.send(null);
                //hide required stuff and show only confirmation message and vehicle back button
                document.getElementById("quote").style.display = "none";
                document.getElementById("divFinished").style.display = "block";
                document.getElementById("divLinksFooter").style.display = "none";
                document.getElementById("divLinksFooterFinal").style.display = "block";
            }  //
            var quoteid = document.getElementById("quoteId").value;
            updateQuoteCust(custfirstname, custlastname, custaddress, cityName, stateName, zip, custemail, workphone, workext, homephone, btc, quoteid);

        }
    }
    function previousButton() {
        document.getElementById("tblQuoteInfo").style.display = "none";
        document.getElementById("tblVehicleSelect").style.display = "inline";
        document.getElementById("imgSteps").src = "http://images01.zautos.com/vehicles/getQuote/getquotesteps_all_1.png";
        document.getElementById("messageBox1").style.display = "none";
        document.getElementById("messageBoxVeh").style.display = "inline";
        document.getElementById("tblButtonsInfo").style.display = "none";
        document.getElementById("tblButtons").style.display = "inline";
        document.getElementById("thdivInfo").style.display = "none";
        document.getElementById("thdivVeh").style.display = "inline";

    }
// code for finish button goes here
    function finishButton() {
        //hide dealers
        if ((flagDealer[0] == 1) || (flagDealer[1] == 1) || (flagDealer[2] == 1) || (flagDealer[3] == 1) || (flagDealer[4] == 1)) {
            document.getElementById("gq_dh1").style.display = "none";
            document.getElementById("gq_d1").style.display = "none";
            document.getElementById("gq_d2").style.display = "none";
            document.getElementById("gq_d3").style.display = "none";
            document.getElementById("gq_d4").style.display = "none";
            document.getElementById("gq_d5").style.display = "none"
            document.getElementById("tblButtonsInfo").style.display = "none";
            document.getElementById("quote").style.display = "none";
            //send data to DTS
            var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*")[0];
            var model = document.getElementById("model").options[document.getElementById("model").selectedIndex].value.split("*")[0];
            var yeartrim = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value;
            var ytsplit = yeartrim.split("*");
            var year = ytsplit[0];
            var trim = ytsplit[1];
            var custfirstname = document.getElementById('gq_fname').value;
            var custlastname = document.getElementById('gq_lname').value;
            var custaddress = document.getElementById('gq_street').value;
            var zip = document.getElementById('gq_postalcode').value;
            var custemail = document.getElementById('gq_email').value;
            var workphone = document.getElementById('gq_workphone').value;
            var workext = document.getElementById('gq_ext').value;
            var homephone = document.getElementById('gq_homephone').value;
            var btc = document.getElementById('gq_btc').options[document.getElementById("gq_btc").selectedIndex].value;
            if (btc == "") {
                btc = "Any";
            }
            var quoteId = document.getElementById("quoteId").value;
            var referrer = document.referrer;
            if (referrer == "") {
                referrer = "http://zautos.com/vehicle/vehicleQuote.jsp";
            }
            var qs = "year=" + year + "&make=" + make + "&model=" + model + "&trim=" + trim + "&postalCode=" + zip + "&fname=" + custfirstname +
                "&lname=" + custlastname + "&street=" + custaddress + "&city=" + cityName + "&state=" + stateName + "&email=" + custemail +
                "&workphone=" + workphone + "&ext=" + workext + "&homephone=" + homephone + "&btc=" + btc + "&ebrochureId=" + quoteId +
                "&formType=quote&siteType=" + referrer;
            if (flagDealer[0] == 1) {
                qs = qs + "&dealer0=" + reservationIds[0];
            }
            if (flagDealer[1] == 1) {
                qs = qs + "&dealer1=" + reservationIds[1];
            }
            if (flagDealer[2] == 1) {
                qs = qs + "&dealer2=" + reservationIds[2];
            }
            if (flagDealer[3] == 1) {
                qs = qs + "&dealer3=" + reservationIds[3];
            }
            if (flagDealer[4] == 1) {
                qs = qs + "&dealer4=" + reservationIds[4];
            }
            //post lead to DTS
            var hostprotocol = window.location.protocol;
            var hostname = window.location.hostname;
            var portno = window.location.port;
//            var posturl = hostprotocol + "//" + hostname + "/zAutosDTS/PostLead";
            var posturl = "http://zautos.com/zAutosDTS/PostLead?" + qs;
            if (window.ActiveXObject) {
                try {
                    postreq = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    postreq = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                postreq = new XMLHttpRequest();
            }
            postreq.open("get", posturl, true);
            postreq.onreadystatechange = function() {
                if (postreq.readyState == 4 && postreq.status == 200) {
                }
            };
            postreq.send(null);

            //show confirmation message
            document.getElementById("divFinished").style.display = "block";
            document.getElementById("divLinksFooter").style.display = "none";
            document.getElementById("divLinksFooterFinal").style.display = "block";
        } else {
            document.getElementById("tblDealerConfirm").style.display = "block";
        }
    }   //finsh button code end
    function selectDealer(btn, dlr) {
        var    img_src1 = 'http://images02.zautos.com/vehicles/getQuote/window_checked_curvy_150x100.png';
        var    img_src2 = 'http://images03.zautos.com/vehicles/getQuote/window_unchecked_curvy_150x100.png';
        if(flagDealer[dlr] == 0) {
            btn.style.backgroundImage = "url('" + img_src1 + "')";
//            getquotev.find('#gq_d5').css('background-image','url('+img_src1+')' );
            flagDealer[dlr] =1  ;
        }
        else  if(flagDealer[dlr] == 1) {
            flagDealer[dlr] =0  ;
            btn.style.backgroundImage = "url('" + img_src2 + "')";
//            getquotev.find('#gq_d5').css('background-image','url('+img_src2+')' );
        }
    }
    function selectAllDealers() {
        var    img_src1 = 'http://images04.zautos.com/vehicles/getQuote/window_checked_curvy_150x100.png';
        var    img_src2 = 'http://images05.zautos.com/vehicles/getQuote/window_unchecked_curvy_150x100.png';
        if(reservationIds[0]) {
            document.getElementById("gq_d1").style.backgroundImage = "url('" + img_src1 + "')";
            flagDealer[0] = 1;
        }
        if(reservationIds[1]) {
            document.getElementById("gq_d2").style.backgroundImage = "url('" + img_src1 + "')";
            flagDealer[1] = 1;
        }
        if(reservationIds[2]) {
            document.getElementById("gq_d3").style.backgroundImage = "url('" + img_src1 + "')";
            flagDealer[2] = 1;
        }
        if(reservationIds[3]) {
            document.getElementById("gq_d4").style.backgroundImage = "url('" + img_src1 + "')";
            flagDealer[3] = 1;
        }
        if(reservationIds[4]) {
            document.getElementById("gq_d5").style.backgroundImage = "url('" + img_src1 + "')";
            flagDealer[4] = 1;
        }
    }

function replaceCaret(inString) {
    var inChar = "^";
    var outChar = "'";
    var newString = inString.split(inChar);
    newString = newString.join(outChar);
    return newString;
}
