﻿var curchkcnt = 0, sMapType = "", sMapVal1 = "", sMapVal2 = "";

var resnum = getDomAdapter().createDocument();
resnum.validateOnParse = false;
resnum.async = false;

function search() {
    window.setTimeout("gosearch()", 1);
}

function gosearch() {
    if (searchstr != undefined) {
        var sPost = "sSQL=vListing" + typeid;
        sPost += "Grid L where " + escape(searchstr);

        if (sMapType != "") {
            sPost += "&sMapType=" + sMapType + "&sMapVal1=" + sMapVal1 + "&sMapVal2=" + sMapVal2;
            xmlhttp.open("POST", "WSSearch.asmx/SearchResNumMap", false);
        }
        else {
            xmlhttp.open("POST", "WSSearch.asmx/SearchResNum", false);
        }

        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.send(sPost);
        chng = 0;

        var sResponseText = xmlhttp.responseText;
        sResponseText = sResponseText.replace(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/NCMMLSIDX/WSSearch"', '');

        try {
            resnum = getDomAdapter().parseXml(sResponseText);
        }
        catch (exception) {
            document.getElementById("totfld").innerHTML = "Error";
        }

        var iResNum = SelectSingleNode(resnum, "//Res/Num").childNodes[0].nodeValue;
        document.getElementById("totfld").innerHTML = iResNum;

        if (gonow == 1) {
            gonow = 0;
            shownow();
        }
    }
}

function shownow() {
    var sURL = "";
    if (document.getElementById("totfld").innerHTML > 200) {
        alert("You have selected " + document.getElementById("totfld").innerHTML + " records to view. The maximum number you can load into the grid is 200. Please narrow your search.")
    }
    else {
        if (document.getElementById("totfld").innerHTML == "0") {
            alert("No Listings Found");
        }
        else {
            document.getElementById("hCmd").value = searchstr;
            document.getElementById("hMapType").value = sMapType;
            document.getElementById("hMapVal1").value = sMapVal1;
            document.getElementById("hMapVal2").value = sMapVal2;
            document.getElementById("btnSearchNow").click();
        }
    }
}

function addlst(el, fldnm, chkcnt) {
    if (document.getElementById('f1').elements['L' + chkcnt].checked == 0) {
        var cnt = document.getElementById('f1').elements['hdn' + el].value;
        var el1;
        var tmp1 = "";
        for (i = 0; i < cnt; i++) {
            el1 = document.getElementById('f1').elements['L' + chkcnt + '_' + i];
            if (el1.checked != 0) {
                if (tmp1.length == 0) {
                    tmp1 = el1.value;
                }
                else {
                    tmp1 += "," + el1.value;
                }
            }
        }

        if (tmp1.length > 0) {
            searchstr += " and " + fldnm + " in (" + tmp1 + ")";
        }
    }
}

function addlsttxt(el, fldnm, chkcnt) {
    if (document.getElementById('f1').elements['L' + chkcnt].checked == 0) {
        var cnt = document.getElementById('f1').elements['hdn' + el].value;
        var el1;
        var onechecked = 0;
        for (i = 0; i < cnt; i++) {
            el1 = document.getElementById('f1').elements['L' + chkcnt + '_' + i];

            if (el1.checked != 0) {
                if (onechecked == 0) {
                    onechecked = 1;
                    searchstr += " and (";
                }
                else {
                    searchstr += " or ";
                }

                if (el1.value == "Unknown") {
                    searchstr += fldnm + " = '' OR " + fldnm + " IS NULL";
                } else {
                    searchstr += fldnm + " = '" + el1.value + "'";
                }
            }
        }

        if (onechecked == 1) {
            searchstr += ")";
        }
    }
}

function chkchg(el, chkcnt, chkid) {
    var el1;
    var bChecked = 0;

    if (document.getElementById('f1').elements['L' + chkcnt + '_' + chkid].checked != 0) {
        document.getElementById('f1').elements['L' + chkcnt].checked = 0;
    }
    else {
        var cnt = document.getElementById('f1').elements['hdn' + el].value;
        for (i = 0; i < cnt; i++) {
            el1 = document.getElementById('f1').elements['L' + chkcnt + '_' + i];
            if (el1.checked != 0) {
                bChecked = 1;
                break;
            }
        }

        if (bChecked == 0) {
            document.getElementById('f1').elements['L' + chkcnt].checked = 1;
        }
        else {
            document.getElementById('f1').elements['L' + chkcnt].checked = 0;
        }
    }
    chg();
}

function allchk(el, chkcnt) {
    if (document.getElementById('f1').elements['L' + chkcnt].checked != 0) {
        var cnt = document.getElementById('f1').elements['hdn' + el].value;
        var el1;
        for (i = 0; i < cnt; i++) {
            el1 = document.getElementById('f1').elements['L' + chkcnt + '_' + i];
            el1.checked = 0;
        }
    }
    chg();
}

function addlstone(el, fldnm) {
    var el1 = document.getElementById('f1').elements[el];
    if (el1 != null) {
        if (el1.selectedIndex > 0) {
            searchstr += " and " + fldnm + "=" + el1.options[el1.selectedIndex].value;
        }
    }
}

function sr(el, id, op) {
    if (document.getElementById('f1').elements[id].value != '') {
        var val = document.getElementById('f1').elements[id].value;
        val = val.replace(/'/g, "''");
        if (op == "like") {
            searchstr += " and " + el + " like '" + val + "%'";
        }
        else {
            searchstr += " and " + el + op + "'" + val + "'";
        }
    }
}

function srm(el, id, op) {
    if (document.getElementById('f1').elements[id].value != '') {
        var val = document.getElementById('f1').elements[id].value;
        val = val.replace(/'/g, "''");

        var objNewVal = val.split(",");
        var part_num = 0;

        searchstr += " and (";

        while (part_num < objNewVal.length) {
            if (part_num > 0) {
                searchstr += " or ";
            }
            if (op == "like") {
                searchstr += el + " like '" + objNewVal[part_num] + "%'";
            }
            else {
                searchstr += el + op + "'" + objNewVal[part_num] + "'";
            }

            part_num += 1;
        }
        searchstr += ")";
    }
}

function srn(el, id, op) {
    if (document.getElementById('f1').elements[id].value != '') {
        var val = document.getElementById('f1').elements[id].value;
        var re = /[^0-9.]*/g;
        var vl = val.replace(re, "");
        searchstr += " and " + el + op + vl;
    }
}

function numchg(el) {
    chg();
}

function chg() {
    makesrch();
    if (searchstr != lastsearchstr) {
        document.getElementById("totfld").innerHTML = "?";
        search();
        chng = 1;
    }
}

function searchreset() {
    document.getElementById('f1').reset();
    resetfields();
    searchstr = "";
    document.getElementById("totfld").innerHTML = "?";
    chng = 0;
    gonow = 0;
    makesrch();
    search();
}

function show() {
    if (chng == 1) {
        makesrch();
        search();
        gonow = 1;
    }
    else {
        shownow();
    }
}

function GetXmlHttp() {
    var oXmlHttp = null;

    try {
        oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (oc) {
            oXmlHttp = null;
        }
    }

    if ((!oXmlHttp) && (typeof XMLHttpRequest != 'undefined')) {
        oXmlHttp = new XMLHttpRequest();
    }

    return oXmlHttp;
}

function FindSubdivisions(chkcnt, type) {
    curchkcnt = chkcnt;
    var submitargs = new Array(1);
    submitargs[0] = typeid;
    var returnargs = showModalDialog("FindSubdivisions_dlg.htm", submitargs, "dialogWidth:530px;dialogHeight:264px;center:yes;help:no;status:no;resizable:yes;");

    if (returnargs) {
        if (returnargs[0] != "") {
            Find2(returnargs[1], type);
        }
    }
}

function Find2(names, type) {
    var el1;

    switch (type) {
        case 1: //Subdivision
            el1 = document.getElementById('f1').elements["tblListing" + typeid + "Subdivision"];
            break;
    }

    if (el1 != null) {
        for (i = el1.options.length - 1; i >= 0; i--) {
            el1.options[i] = null;
        }

        if (names != "") {
            var namesarray = names.split('|');

            i = 0;
            for (var j in namesarray) {
                el1.options[i] = new Option(namesarray[j], namesarray[j]);
                el1.options[i].selected = 1;
                i++;
            }
        }
        document.getElementById('f1').elements['L' + curchkcnt].checked = 0;
    }
    else {
        document.getElementById('f1').elements['L' + curchkcnt].checked = 1;
    }

    chg();
}

function addlstpopup(el, fldnm) {
    var el1 = document.getElementById('f1').elements[el];
    if (el1 != null) {
        var tmp1 = "";
        var tmp2 = "";
        for (i = 0; i < el1.options.length; i++) {
            if (el1.options[i].selected != 0) {
                if (el1.options[i].value != -1) {
                    if (tmp1.length != 0) {
                        tmp1 += ","
                    }
                    tmp2 = el1.options[i].value;
                    tmp2 = tmp2.replace("'", "''");
                    tmp1 += "'" + tmp2 + "'";
                }
            }
        }
        if (tmp1.length > 0) {
            searchstr += " and " + fldnm + " in (" + tmp1 + ")";
        }
    }
}

function clearaddlstpopup(el, chkcnt) {
    var el1 = document.getElementById('f1').elements[el];
    if (el1 != null) {
        var tmp1 = "";
        for (i = el1.options.length - 1; i >= 0; i--) {
            el1.options[i] = null;
        }
    }
    chg();
}

function ShowMap(type) {
    var myx = (640 - 640) / 2;
    var myy = (480 - 580) / 2;
    if (screen) {
        myx = (screen.availWidth - 640) / 2;
        myy = (screen.availHeight - 580) / 2;
    }
    var sURL = "mapSearch.aspx?vSubjLL=" + vSubjLL + "&width=600&height=450";

    if (sMapType != "") {
        sURL += "&render=" + sMapType + "&val1=" + sMapVal1 + "&val2=" + sMapVal2;
    }
    var mywin = window.open(sURL, '', 'height=605,width=615,screenX=' + myx + ',screenY=' + myy + ',left=' + myx + ',top=' + myy + ',status=No,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no');
}

function MapSearchDefined(render, val1, val2) {
    if (render) {
        sMapType = render;
        sMapVal1 = val1;
        sMapVal2 = val2;
    }
    else {
        sMapType = "";
        sMapVal1 = "";
        sMapVal2 = "";
    }
    search();
}