$(document).ready(function(){
    $('#topSearchForm').validate({
        submitHandler: function(form){
            var searchForm = $('#search[name=searchForm]')
            //If found search form, we're on index page
            if(searchForm.size() > 0){
            	//Push state
                $.bbq.pushState('page=1&search='+form.search.value, 2);
                //Scroll to search form
                scrollToSearch()
            }else{
                //if(form.search.value.length > 0){
                window.location.href="/#page=1&search=" + form.search.value + "&scroll=1";
                //}
            }
        }
    })
})

//Scroll to search form, for index page
function scrollToSearch(){
$('html, body').animate({scrollTop:650}, 0);    
}

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function (obj, fromIndex) {
    if (fromIndex == null) {
        fromIndex = 0;
    } else if (fromIndex < 0) {
        fromIndex = Math.max(0, this.length + fromIndex);
    }
    for (var i = fromIndex, j = this.length; i < j; i++) {
        if (this[i] === obj)
            return i;
    }
    return -1;
  };
}

function disablePage(flag){
    var pageWidth
    var pageHeight
    var blurDiv

    //Disable page
    if(flag){
        if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
            pageWidth = document.body.scrollWidth+'px';
            pageHeight = document.body.scrollHeight+'px';
        } else if( document.body.offsetWidth ) {
            pageWidth = document.body.offsetWidth+'px';
            pageHeight = document.body.offsetHeight+'px';
        } else {
            pageWidth='100%';
            pageHeight='100%';
        }

        blurDiv = document.createElement("div");
        blurDiv.id = "blurDiv";
        blurDiv.style.cssText = "position:absolute; top:0; right:0; width:"+pageWidth+"; height:"+pageHeight+"; background-color: #ffffff; opacity:0.5; filter:alpha(opacity=50); zIndex:999";
        document.getElementsByTagName("body")[0].appendChild(blurDiv);
        document.body.style.overflow = 'hidden'
    }
    //Enable page
    else{
        blurDiv = document.getElementById("blurDiv");
        blurDiv.parentNode.removeChild(blurDiv);
        document.body.style.overflow = 'auto'
    }
}

//Return query string for all elements in form: ?name=value&bar=foo
function getFormData(obj) {
    var getstr = "?";
    for (i=0; i<obj.elements.length; i++) {

        if (obj.elements[i].tagName == "INPUT") {
            if (obj.elements[i].type == "text" || obj.elements[i].type == 'hidden') {
                getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
            }
            if (obj.elements[i].type == "checkbox") {
                if (obj.elements[i].checked) {
                    getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
                } else {
                    getstr += obj.elements[i].name + "=&";
                }
            }
            if (obj.elements[i].type == "radio") {
                if (obj.elements[i].checked) {
                    getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
                }
            }
        }
        if (obj.elements[i].tagName == "SELECT") {
            var sel = obj.elements[i];
            getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
        }
        if (obj.elements[i].tagName == "TEXTAREA") {
            getstr += obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value) + "&";
        }
    }
    return getstr;
}

//Used in reply forms of view_buy and view_sell pages
function disableReplyForm(disabled){
    var frm = document.forms[0];
    var color;

    if(disabled){
        color = "gray";
    }else{
        color = "black";
    }

    frm.subject.disabled = disabled;
    frm.message.disabled = disabled;
    frm.sendReply.disabled= disabled;

    frm.subject.style.color = color;
    frm.message.style.color = color;
    //frm.antispam.style.color = color;
}

//Not used
function selectCountry(s){
    window.location="set_country.php?country=" + s.value;
}

function getFilename(s){
    var pos = s.lastIndexOf("\\");
    if(pos < 0){
        pos = s.lastIndexOf("/");
    }
    return s.substring(pos + 1);
}

function f_clientWidth() {
    return f_filterResults (
        window.innerWidth ? window.innerWidth : 0,
        document.documentElement ? document.documentElement.clientWidth : 0,
        document.body ? document.body.clientWidth : 0
        );
}
function f_clientHeight() {
    return f_filterResults (
        window.innerHeight ? window.innerHeight : 0,
        document.documentElement ? document.documentElement.clientHeight : 0,
        document.body ? document.body.clientHeight : 0
        );
}
function f_scrollLeft() {
    return f_filterResults (
        window.pageXOffset ? window.pageXOffset : 0,
        document.documentElement ? document.documentElement.scrollLeft : 0,
        document.body ? document.body.scrollLeft : 0
        );
}
function f_scrollTop() {
    return f_filterResults (
        window.pageYOffset ? window.pageYOffset : 0,
        document.documentElement ? document.documentElement.scrollTop : 0,
        document.body ? document.body.scrollTop : 0
        );
}
function f_filterResults(n_win, n_docel, n_body) {
    var n_result = n_win ? n_win : 0;
    if (n_docel && (!n_result || (n_result > n_docel)))
        n_result = n_docel;
    return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
var xmlhttp;
var sAction;

function loadXMLDoc(url, act){
    sAction = act;
    xmlhttp=null;

    if (window.XMLHttpRequest){
        // code for Firefox, Opera, IE7, etc.
        xmlhttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp!=null){
        xmlhttp.onreadystatechange=state_Change;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
    }
    else{
        alert("Your browser does not support XMLHTTP.");
    }
}

function state_Change(){
    if (xmlhttp.readyState==4){
        // 4 = "loaded"
        if (xmlhttp.status==200){
            // 200 = "OK"

            //Post new chat msg, then load new msgs
            if(sAction == "C"){
                var msgs = xmlhttp.responseXML.getElementsByTagName("tablerow");
                populateChatBox(msgs)
            }

            //Load new chat messages
            if(sAction == "M"){
                var msgs = xmlhttp.responseXML.getElementsByTagName("tablerow");
                //alert(msgs)
                populateChatBox(msgs)
            }

            if(xmlhttp.responseText != '' ){
                //vote ban user from chatbox
                if(sAction == 'BU'){
                    alert(xmlhttp.responseText);
                }

                //Admin delete ad
                if(sAction == 'D'){
                    //alert(document.getElementById("adRow" + xmlhttp.responseText).style.backgroundColor);
                    //Response is in form of: "ad id|status"

                    response = xmlhttp.responseText.split("|")
                    id = response[0]
                    status = response[1]

                    oldRowColor = '#e1e1e1';
                    deletedRowColor = '#f7c4b2'

                    if(status==1){
                        document.getElementById("adRow" + id).style.backgroundColor = oldRowColor;
                    }else{
                        document.getElementById("adRow" + id).style.backgroundColor = deletedRowColor;
                    }
                }
                //Reply to ad
                else if(sAction == 'R'){
                    var frm = document.forms[0];
                    //alert(document.getElementById("adRow" + xmlhttp.responseText).style.backgroundColor);
                    //alert(xmlhttp.responseText);
                    document.getElementById("replyMsg").innerHTML = xmlhttp.responseText
                    //frm.message.disabled = true;
                    disableReplyForm(false);
                }
                //Delete ad photo from modify_image.php
                else if(sAction == 'P'){
                    var photoDiv, photoObj, imgCell
                    //get the actual img
                    photoObj = document.getElementById(xmlhttp.responseText);
                    //the td which contains the imgs
                    imgCell = document.getElementById("imgCell");
                    //this should be same as above
                    photoDiv = photoObj.parentNode.parentNode
                    //remove the div which img is in
                    photoDiv.removeChild(photoObj.parentNode)

                    //If no more photos
                    if(photoDiv.getElementsByTagName("img").length == 0){
                        imgCell.innerHTML = "<i class='ad_info'>No photos uploaded</i><br>"
                    }
                    //Increment number uploaded
                    imgCount--
                }
                //Delete TEMP ad photo from add_sell.php
                else if(sAction == 'T'){
                    var statusSpan = document.getElementById('photoStatus' + imgCountDel)
                    document.getElementById("photoUpload").removeChild(statusSpan.parentNode)

                    //Increment number uploaded
                    imgCount--
                    disablePage(false)
                }
            }
        }
        else{
            alert("Problem retrieving data:" + xmlhttp.statusText);
        }
    }
}

function validateRequired(field, alerttxt){
    with(field){
        if (value==null||value==""){
            alert(alerttxt);
            return false;
        }
        else{
            return true;
        }
    }
}
