function buttonOver() {
    if (objExists('wrapper')) {
        thewrap = document.getElementById('wrapper');
        buttons = thewrap.getElementsByTagName('input');
        for (i = 0; i < buttons.length; i++) {
            if(buttons[i].getAttribute('type') == 'image') {
                buttons[i].onmouseover = function() {
                    this.src = this.src.substring(0, this.src.length - 5) + "2.jpg";
                }
                buttons[i].onmouseout = function() {
                    if (this.src.substring( (this.src.length - 5) , (this.src.length) ) == "2.jpg" ) {
                        this.src = this.src.substring(0, this.src.length - 5) + "1.jpg";
                    }
                }
            }
        }
    }
}

function imageOver() {
    if (objExists('sitContent')) {
        var thewrap = document.getElementById('sitContent');
        var images = thewrap.getElementsByTagName('img');
        var preLoadImgs = new Array();

        for (i = 0; i < images.length; i++) {
            if(images[i].className.substring(0, 5) == "hover") {
                preLoadImgs[i] = new Image;
                preLoadImgs[i].src = images[i].src.substring(0, images[i].src.length - 5) + "2.jpg";

                images[i].onmouseover = function() {
                    this.src = this.src.substring(0, this.src.length - 5) + "2.jpg";
                }
                images[i].onmouseout = function() {
                    if (this.src.substring( (this.src.length - 5) , (this.src.length) ) == "2.jpg" ) {
                        this.src = this.src.substring(0, this.src.length - 5) + "1.jpg";
                    }
                }
            }
        }
    }
}



function searchWidget() {
    if (objExists('search')) {
        var search = document.getElementById('search');
        search.onfocus = function() {
            if(this.value == "Enter area, street, postcode etc...") {
                this.value = "";
            } else if(this.value == "") {
                this.value = "Enter area, street, postcode etc...";
            }
        }
        search.onblur = function() {
            if(this.value == "Enter area, street, postcode etc...") {
                this.value = "";
            } else if(this.value == "") {
                this.value = "Enter area, street, postcode etc...";
            }
        }
    }
}

function addOption(selectbox, text, value) {
    var opt = document.createElement("option");
    opt.text = text;
    opt.value = value;
    selectbox.options.add(opt);
}

function reFormat(selectbox, selectbox2, showprop, reset) {
    var i;
    for(i = selectbox.options.length-1; i >= 0; i--) {
        selectbox.remove(i);
     }
    var j;
    for(j = selectbox2.options.length - 1; j >= 0; j--) {
        selectbox2.remove(j);
    }
    var y;
    if (showprop == "sales") {
    addOption(selectbox,'Minimum price','')
        addOption(selectbox, '\u00a325,000', '25000')
        addOption(selectbox, '\u00a350,000', '50000')
        addOption(selectbox, '\u00a375,000', '75000')
        addOption(selectbox, '\u00a3100,000', '100000')
        addOption(selectbox, '\u00a3125,000', '125000')
        addOption(selectbox, '\u00a3150,000', '150000')
        addOption(selectbox, '\u00a3175,000', '175000')
        addOption(selectbox, '\u00a3200,000', '200000')
        addOption(selectbox, '\u00a3300,000', '300000')
        addOption(selectbox, '\u00a3400,000', '400000')
        addOption(selectbox, '\u00a3500,000', '500000')
        addOption(selectbox, '\u00a3600,000', '600000')
        addOption(selectbox, '\u00a3700,000', '700000')
        addOption(selectbox, '\u00a3800,000', '800000')
        addOption(selectbox, '\u00a3900,000', '900000')
        addOption(selectbox, '\u00a31,000,000', '1000000')
        selectbox.options[0].selected = true;
        addOption(selectbox2, 'Maximum price','')
        addOption(selectbox2, '\u00a325,000','25000')
        addOption(selectbox2, '\u00a350,000', '50000')
        addOption(selectbox2, '\u00a375,000', '75000')
        addOption(selectbox2, '\u00a3100,000', '100000')
        addOption(selectbox2, '\u00a3125,000', '125000')
        addOption(selectbox2, '\u00a3150,000', '150000')
        addOption(selectbox2, '\u00a3175,000', '175000')
        addOption(selectbox2, '\u00a3200,000', '200000')
        addOption(selectbox2, '\u00a3300,000', '300000')
        addOption(selectbox2, '\u00a3400,000', '400000')
        addOption(selectbox2, '\u00a3500,000', '500000')
        addOption(selectbox2, '\u00a3600,000', '600000')
        addOption(selectbox2, '\u00a3700,000', '700000')
        addOption(selectbox2, '\u00a3800,000', '800000')
        addOption(selectbox2, '\u00a3900,000', '900000')
        addOption(selectbox2, '\u00a31,000,000', '1000000')
        selectbox2.options[0].selected = true;
    }
    if(showprop == "lettings") {
        addOption(selectbox, 'Minimum rent','')
        addOption(selectbox, '\u00a3100 pcm','100')
        addOption(selectbox, '\u00a3200 pcm','200')
        addOption(selectbox, '\u00a3300 pcm','300')
        addOption(selectbox, '\u00a3400 pcm','400')
        addOption(selectbox, '\u00a3500 pcm','500')
        addOption(selectbox, '\u00a3600 pcm','600')
        addOption(selectbox, '\u00a3700 pcm','700')
        addOption(selectbox, '\u00a3800 pcm','800')
        addOption(selectbox, '\u00a3900 pcm','900')
        addOption(selectbox, '\u00a31000 pcm','1000')
        addOption(selectbox, '\u00a32500 pcm','2500')
        selectbox.options[0].selected = true;
        addOption(selectbox2, 'Maximum rent','')
        addOption(selectbox2, '\u00a3100 pcm','100')
        addOption(selectbox2, '\u00a3200 pcm','200')
        addOption(selectbox2, '\u00a3300 pcm','300')
        addOption(selectbox2, '\u00a3400 pcm','400')
        addOption(selectbox2, '\u00a3500 pcm','500')
        addOption(selectbox2, '\u00a3600 pcm','600')
        addOption(selectbox2, '\u00a3700 pcm','700')
        addOption(selectbox2, '\u00a3800 pcm','800')
        addOption(selectbox2, '\u00a3900 pcm','900')
        addOption(selectbox2, '\u00a31000 pcm','1000')
        addOption(selectbox2, '\u00a32500 pcm','2500')
        selectbox2.options[0].selected = true;
    }
    selminprice = document.getElementById("selminprice").value;
    selmaxprice = document.getElementById("selmaxprice").value;

    if (reset == 1) {
        document.getElementById("bedrooms").selectedIndex = 0;
        document.getElementById("propertytype").selectedIndex = 0;
    }
    if (isNaN(selminprice)) {
        selectbox.selectedIndex = 0;
    } else {
        for (j = selectbox.options.length - 1; j >= 0; j--) {
            if (selectbox.options[j].value == selminprice) {
                selectbox.selectedIndex = j;
            }
        }
    }
    if (isNaN(selmaxprice)) {
        selectbox2.selectedIndex = 0;
    } else {
        for (j = selectbox2.options.length - 1; j >= 0; j--) {
            if (selectbox2.options[j].value == selmaxprice) {
                selectbox2.selectedIndex = j;
            }
        }
    }
}

function initSearch() {
    if (objExists('propertySearch')) {
        var initValue; 
        var minprice = document.getElementById("minprice");
        var maxprice = document.getElementById("maxprice");

        showsales = document.getElementById("showsales");
        showlets = document.getElementById("showlets");
        if (showsales.checked) {
            initValue = "sales";
        } else {
            initValue = "lettings";
        }
        reFormat(minprice, maxprice, initValue, 0);
        showsales.onclick = function() {
            reFormat(minprice, maxprice, "sales", 1);
        }
        showlets.onclick = function() {
            reFormat(minprice, maxprice, "lettings", 1);
        }

    }
}

function valuation(manual) {
if (objExists("valuation")) {
        for (i = 1; i < 7; i++) {
            document.getElementById("hidden" + i).style.display = "none";
        }
        document.getElementById("valuation").onclick = function() {
            if (this.checked) {
                var style = "none"
            } else {
                var style = "block";
            }
            for (i = 1; i < 7; i++) {
                document.getElementById("hidden" + i).style.display = style;
            }
        }
    }
}

function enableValuation() {
    for (i = 1; i < 7; i++) {
        document.getElementById("hidden" + i).style.display = "block";
    }
}

function objExists(theVal) {
    if (document.getElementById(theVal) != null) {
        return true;
    } else {
        return false;
    }
}

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function addUnloadEvent(func) {
    var oldonunload = window.onunload;
    if (typeof window.onunload != 'function') {
        window.onunload = func;
    } else {
        window.onunload = function() {
            oldonunload();
            func();
        }
    }
}

addLoadEvent(initSearch);
addLoadEvent(valuation);
addLoadEvent(buttonOver);
addLoadEvent(imageOver);
addLoadEvent(searchWidget);