var req = null;
var colorreq = null;
var vehreq = null;
var custreq = null;
var dlreq = null;
var sellreq = null;
var postreq = null;
var year;
var flagDealer = [0,0,0,0,0];
var reservationIds =[];
var getquotev = document.getElementById("quote");
var noOfDealers = 0;
var cityName="";
var stateName="";
var flagFname = 0, flagLname = 0, flagStreet = 0, flagEmail=0, flagWphone=0, flagHphone=0, flagZip = 0;

function getTrim(selModel) {
    var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*")[0];
    var model = selModel.options[selModel.selectedIndex].value.split("*")[0];
    var colorvif = selModel.options[selModel.selectedIndex].value.split("*")[1];
    var selTrim = document.getElementById("trim");
    selTrim.innerHTML = "";
    var divdisp = document.getElementById("hiddendisplay2").innerHTML;
    var dispsplit = divdisp.split(",");
    var disparray = new Array();
//    alert(divdisp);
    for (var i = 0; i < dispsplit.length; i++) {
        var textsplit = dispsplit[i].split("*");
        if ((textsplit[1] == make) && (textsplit[2] == model)) {
            var trim = textsplit[0] + "*" + textsplit[3] + "*" + textsplit[4];
            if (disparray.length == 0) {
                disparray[0] = trim;
            } else {
                var foundtrim = false;
                for (var j = 0; j < disparray.length; j++) {
                    if (disparray[j] == trim) {
                        foundtrim = true;
                    }
                }
                if (foundtrim == false) {
                    disparray[disparray.length] = trim;
                }
            }
        }
    }
    var opt = document.createElement("option");
    opt.text = "Select Trim";
    try {
        selTrim.add(opt, null);
    } catch (e) {
        selTrim.add(opt);
    }
    for (var k = 0; k < disparray.length; k++) {
        opt = document.createElement("option");
        opt.value = disparray[k];
        dispsplit = disparray[k].split("*");
        opt.text = dispsplit[1];
        try {
            selTrim.add(opt, null);
        } catch (e) {
            selTrim.add(opt);
        }
    }
//    alert(selTrim.innerHTML);
    document.getElementById("divVehDesc").innerHTML = make + " " + model;
    if (window.ActiveXObject) {
        colorreq = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        colorreq = new XMLHttpRequest();
    }
    var url = "getquotecolor?vif=" + colorvif;
    colorreq.open("get", url, true);
    colorreq.onreadystatechange = handleColorResponse;
    colorreq.send(null);
}
function changeColor(selColors) {
    var imgsrc = selColors.options[selColors.selectedIndex].value;
    document.getElementById("imgVehicle").src = imgsrc;
}
function ValidatePhone(element){
var t, t0, t1, t2, t3;
var pp;
var p=element.value
p = p.replace( /\D+/g ,"");
if (p.length < 3){
    pp = "("+p;
    element.value = "";
    element.value = pp;
}
else if(p.length>=3 && p.length < 7){
    t= p.substring(0,3);
	pp = "("+t+") "+p.substring(3,p.length);
	element.value = "";
    element.value = pp;
	}
else if(p.length>=7 && p.length < 11){
    t1= p.substring(0,3);
    t2= p.substring(3,6);
    t3 = p.substring(6,p.length);
    pp = "("+t1+") "+t2+"-"+t3;
	element.value = "";
    element.value = pp;
	}
    else{
        t0 = p.substring(0,1);
        t1= p.substring(1,4);
        t2= p.substring(4,7);
        t3 = p.substring(7,p.length);
        pp = t0+"("+t1+") "+t2+"-"+t3;
        element.value = "";
        element.value = pp;
    }
}
function getModelTrim() {
    var selmake = document.getElementById("make");
/*
    var selModel = document.getElementById("model");
    selModel.innerHTML = "";
    var selTrim = document.getElementById("trim");
    selTrim.innerHTML = "";
*/
    var make = selmake.options[selmake.selectedIndex].value.split("*");
    if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        req = new XMLHttpRequest();
    }
    var url = "getquotemodeltrim?make=" + make[0];
    req.open("get", url, true);
    req.onreadystatechange = handleResponse;
    req.send(null);
}
function chooseTrim() {
    var selTrim = document.getElementById("trim");
    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 trim = selTrim[selTrim.selectedIndex].value.split("*")[1];
    year = selTrim[selTrim.selectedIndex].value.split("*")[0];
    var colorvif = selTrim[selTrim.selectedIndex].value.split("*")[2];
    if (window.ActiveXObject) {
        colorreq = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        colorreq = new XMLHttpRequest();
    }
    var url = "getquotecolor?vif=" + colorvif;
    colorreq.open("get", url, true);
    colorreq.onreadystatechange = handleColorResponse;
    colorreq.send(null);
/*
    var divdisp = document.getElementById("hiddendisplay3").value;
    var dispsplit = divdisp.split(",");
    for (var i = 0; i < dispsplit.length; i++) {
        var textsplit = dispsplit[i].split("*");
        var tyear = textsplit[0];
        tyear = tyear.replace(/(^\s*)/g, "");
        if ((textsplit[0] == year) && (textsplit[1] == make) && (textsplit[2] == model) && (textsplit[3] == trim)) {
            var colorvif = textsplit[4];
            if (window.ActiveXObject) {
                colorreq = new ActiveXObject("Microsoft.XMLHTTP");
            } else {
                colorreq = new XMLHttpRequest();
            }
            var url = "getquotecolor?vif=" + colorvif;
            colorreq.open("get", url, true);
            colorreq.onreadystatechange = handleColorResponse;
            colorreq.send(null);
        }
    }
*/
    document.getElementById("divVehDesc").innerHTML = make + " " + model + " " + trim;
}
function handleResponse() {
    if (req.readyState == 4 && req.status == 200) {
        var response = req.responseText;
        document.getElementById("hiddendisplay2").innerHTML = "";
        document.getElementById("hiddendisplay2").innerHTML = response;
        var make = document.getElementById("make").options[document.getElementById("make").selectedIndex].value.split("*");
        var reqstr = document.getElementById("reqstr").value;
        var reqstrsplit = reqstr.split("*");
        var selModel = document.getElementById("model");
        selModel.innerHTML = "";
        var selTrim = document.getElementById("trim");
        selTrim.innerHTML = "";
        var divdisp = document.getElementById("hiddendisplay2").innerHTML;
        var dispsplit = divdisp.split(",");
        var disparray = new Array();
        var vifarray = new Array();
        for (var i = 0; i < dispsplit.length; i++) {
            var textsplit = dispsplit[i].split("*");
            if (textsplit[1] == make[0]) {
                var model = textsplit[2];
                var vif = textsplit[4];
                if (disparray.length == 0) {
                    disparray[0] = model;
                    vifarray[0] = vif;
                } else {
                    var foundmodel = false;
                    for (var j = 0; j < disparray.length; j++) {
                        if (disparray[j] == model) {
                            foundmodel = true;
                            vifarray[j] = vif;
                        }
                    }
                    if (foundmodel == false) {
                        vifarray[disparray.length] = vif;
                        disparray[disparray.length] = model;
                    }
                }
            }
        }
        var opt = document.createElement("option");
        opt.text = "Select Model";
        try {
            selModel.add(opt, null);
        } catch (e) {
            selModel.add(opt);
        }
        var colorvif = make[1];
        for (var k = 0; k < disparray.length; k++) {
            var opt = document.createElement("option");
            opt.value = disparray[k] + "*" + vifarray[k];
            opt.text = disparray[k];
            if (reqstrsplit[1] == disparray[k]) {
                opt.selected = true;
                colorvif = vifarray[k];
            }
            try {
                selModel.add(opt, null);
            } catch (e) {
                selModel.add(opt);
            }
        }

        if (window.ActiveXObject) {
            colorreq = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            colorreq = new XMLHttpRequest();
        }
        var url = "getquotecolor?vif=" + colorvif;
        colorreq.open("get", url, true);
        colorreq.onreadystatechange = handleColorResponse;
        colorreq.send(null);
        document.getElementById("divVehDesc").innerHTML = make[0];
        getTrim(selModel);
    }
}
function handleColorResponse() {
    if (colorreq.readyState == 4 && colorreq.status == 200) {
        var response = colorreq.responseText;
        var colorssplit = response.split(",");
        var colorsplit = colorssplit[0].split("*");
//        var imgsrc = "http://zautos.com/zAutosImageServer/quoteimagerequest?VIF=" + colorsplit[0] +
//            "&Res=0320&Angle=032&ExtColorCode=" + colorsplit[1];
        var imgsrc = "http://images02.zautos.com/lib/color_0320_032/" + colorsplit[0] + "/" + colorsplit[0] + "_cc0320_032_" + colorsplit[1] + ".jpg";
        document.getElementById("imgVehicle").src = imgsrc;
        var infosel = document.getElementById("infosel");
        infosel.innerHTML = "";
        for (var i = 0; i < colorssplit.length - 1; i++) {
            colorsplit = colorssplit[i].split("*");
            var opt = document.createElement("option");
            opt.text = colorsplit[2];
//            imgsrc = "http://zautos.com/zAutosImageServer/quoteimagerequest?VIF=" + colorsplit[0] +
//                "&Res=0320&Angle=032&ExtColorCode=" + colorsplit[1];
            imgsrc = "http://images03.zautos.com/lib/color_0320_032/" + colorsplit[0] + "/" + colorsplit[0] + "_cc0320_032_" + colorsplit[1] + ".jpg";
            opt.value = imgsrc;
            try {
                infosel.add(opt, null);
            } catch (e) {
                infosel.add(opt);
            }
        }
    }
}
function workHomePhone()
{
    if (document.getElementById("checkHP").checked == true) {
        document.getElementById("gq_homephone").value = document.getElementById("gq_workphone").value;
        var hp = document.getElementById("gq_homephone");
        validatePhone(hp);
    } else {
        document.getElementById("gq_homephone").value = "";
        var hp = document.getElementById("gq_homephone");
        validatePhone(hp);
    }
}
function updateQuoteVeh()
{
    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 vehyear = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value.split("*")[0];
    var trim = document.getElementById("trim").options[document.getElementById("trim").selectedIndex].value.split("*")[1];
    var zip = document.getElementById("zip").value;
    var quoteid = document.getElementById("quoteId").value;
//    alert(make + " " + model + " " + vehyear + " " + trim + " " + quoteid);
//            getQuoteDatabaseInsert.updateQuoteVeh("2011", "BMW", "3Series", "328xi", "90631", ret);
//            getQuoteDatabaseInsert.updateQuoteCust("Jim", "Bowerman", "555 main street", "92618", "Irvine", "CA", "jb@vig.biz", "7145551212", "", "5626917094", "ANY", ret);
    if (window.ActiveXObject) {
        vehreq = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        vehreq = new XMLHttpRequest();
    }
    var url = "updatequote?make=" + make + "&model=" + model + "&vehyear=" + vehyear + "&trim=" + trim + "&vehzip=" + zip + "&quoteid=" + quoteid;
    vehreq.open("get", url, true);
    vehreq.onreadystatechange = function() {
//        alert(vehreq.readyState + " " + vehreq.status);
        if (vehreq.readyState == 4 && vehreq.status == 200) {
//            alert("veh updated");
        }
    }
    vehreq.send(null);
}
function updateQuoteCust(fname, lname, address, city, state, zip, email, wphone, ext, hphone, btc, quoteid)
{
    if (window.ActiveXObject) {
        custreq = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        custreq = new XMLHttpRequest();
    }
    var url = "updatequote?fname=" + fname + "&lname=" + lname + "&address=" + address + "&custzip=" + zip + "&city=" + city +
        "&state=" + state + "&wphone=" + wphone + "&wphoneext=" + ext + "&hphone=" + hphone + "&email=" + email + "&btc=" + btc + "&quoteid=" + quoteid;
    custreq.open("get", url, true);
    custreq.onreadystatechange = function() {
//        alert(custreq.readyState + " " + custreq.status);
        if (custreq.readyState == 4 && custreq.status == 200) {
//            alert("cust update");
        }
    };
    custreq.send(null);
}

function phoneMask(f){
    tel='(';
    var val =f.split('');
    for(var i=0;i<val.length;i++)
    {
        if(i==2)
        {
            val[i]=val[i]+') ';
        }
        if(i==5)
        {
            val[i]=val[i]+'-';
        }
        tel=tel+val[i]
    }
    return tel;
}
function validatePhone(fld) {
    var error = "";
    var ulid = "ul" + fld.id;
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');
   if (fld.value == "") {
        error = "Please enter a valid phone number.\n";
        fld.style.background = 'Yellow';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        fld.style.background = 'Yellow';
    } else if (!(stripped.length == 10)) {
        error = "The phone number must contain 10 digits.\n";
        fld.style.background = 'Yellow';
    } else {
        fld.style.background = 'White';
        fld.value = phoneMask(stripped);
    }
    if (!(error == "")) {
        var li = document.createElement("li");
        li.id = ulid;
        if ((ulid == "ulgq_workphone") && (flagWphone == 0)) {
            li.innerHTML = "Work Phone: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagWphone = 1;
        } else if ((ulid == "ulgq_homephone") && (flagHphone == 0)) {
            li.innerHTML = "Home Phone: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagHphone = 1;
        }
    } else {
        try {
            var li = document.getElementById(ulid);
            document.getElementById("msg1UL").removeChild(li);
            if (ulid == "ulgq_workphone") {
                flagWphone = 0;
            } else if (ulid == "ulgq_homephone") {
                flagHphone = 0;
            }
        } catch (e) {}
    }
   // return error;
}
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var ulid = "ul" + fld.id;
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    if (!(error == "")) {
        var li = document.createElement("li");
        li.id = ulid;
        if ((ulid == "ulgq_email") && (flagEmail == 0)) {
            li.innerHTML = "Email: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagEmail = 1;
        }
    } else {
        try {
            var li = document.getElementById(ulid);
            document.getElementById("msg1UL").removeChild(li);
            if (ulid == "ulgq_email") {
                flagEmail = 0;
            }
        } catch (e) {}
    }
}
function validateEmpty(fld) {
    var error = "";
    var ulid = "ul" + fld.id;
    if (fld.value.length == 0) {
        fld.style.background = 'Yellow';
        error = "The required field has not been filled in.\n"
    } else {
        fld.style.background = 'White';
    }
    if (!(error == "")) {
        var li = document.createElement("li");
        li.id = ulid;
        if ((ulid == "ulgq_fname") && (flagFname == 0)) {
            li.innerHTML = "First Name: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagFname = 1;
        } else if ((ulid == "ulgq_lname") && (flagLname == 0)) {
            li.innerHTML = "Last Name: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagLname = 1;
        } else if ((ulid == "ulgq_street") && (flagStreet == 0)) {
            li.innerHTML = "Address: " + error;
            document.getElementById("msg1UL").appendChild(li);
            flagStreet = 1;
        }
    } else {
        try {
            var li = document.getElementById(ulid);
            document.getElementById("msg1UL").removeChild(li);
            if (ulid == "ulgq_fname") {
                flagFname = 0;
            }
            if (ulid == "ulgq_lname") {
                flagLname = 0;
            }
            if (ulid == "ulgq_street") {
                flagStreet = 0;
            }
        } catch (e) {}
    }

}

