/*jslint strict:true, evil: true, onevar: true, nomen: false  */ /*global $, jQuery, console, hbx, window, ndm, document */

"use strict";

var ads, advar, checkBorJ, endeca, prices, stripchars, temp, unescape;

ads = function(BorJ){
    var advar="",
        endecaJSON = {},
        yearJSON = {},
        warrantyJSON = {},
        endeca=document.getElementById(BorJ).value,
        fields = endeca.split(";"),
        p=0,
        j=0,
        i=0,
        temp;

    for (i=0; i<fields.length; i++){
        temp = fields[i].split("=");
        if (temp[0]=="Year"){
            yearJSON["year" + p] = temp[1];
            p++;
        } else if (temp[0]=="Warranty"){
            warrantyJSON["warranty" + j] = temp[1];
            j++;
        } else if (temp[0]=="Price"){
            temp[1] = temp[1].replace("$","");
            temp[1] = temp[1].replace("$","");
            temp[1] = temp[1].replace(",","");
            temp[1] = temp[1].replace(",","");
            prices = temp[1].split(" - ");
            endecaJSON.PriceFrom = prices[0];
            endecaJSON.PriceTo = prices[1];
        } else {
            endecaJSON[temp[0]] = temp[1];
        }
    }
    endecaJSON.year = yearJSON;
    endecaJSON.warranty = warrantyJSON;
    endecaJSON.Make=stripchars(endecaJSON.Make);
    endecaJSON.Location=stripchars(endecaJSON.Location);
    advar = '/SEARCH_TYPE='+endecaJSON.Search_Type+'/MAKE_ID='+endecaJSON.Make+'/REGION_ID='+endecaJSON.Location+'/MODEL='+endecaJSON.Model+'/PRICE_FROM='+endecaJSON.PriceFrom+'/PRICE_TO='+endecaJSON.PriceTo;

    return advar;
};


checkBorJ = function(){
    var urltext,
        make1,
        make,
        searchType1,
        searchType,
        model1,
        model,
        priceFrom1,
        priceFrom,
        priceTo1,
        priceTo,
        locationParam1,
        locationParam;

    if (document.getElementById("bolton")){
        advar=ads("bolton");
    } else if (document.getElementById("julio")){
        advar=ads("julio");
    } else {
        urltext = window.location.href;
        if(urltext.indexOf("make") != -1){
            make1 = urltext.substring(urltext.indexOf("make"));
            if (make1.indexOf("&")!=-1) {
                make = make1.substring(make1.indexOf("=")+1, make1.indexOf("&"));
            } else {
                make = make1.substring(make1.indexOf("=")+1);
            }
            make = decodeURI(make); //convert encoded URL back to normal string
            make = make.replace( /(\s+)|(\++)/g, "_" ); //convert space and + to "_"
        } else {
            make = "";
        }

        if(urltext.indexOf("searchType") != -1) {
            searchType1 = urltext.substring(urltext.indexOf("searchType"));
            if (searchType1.indexOf("&")!=-1) {
                searchType = searchType1.substring(searchType1.indexOf("=")+1, searchType1.indexOf("&"));
            } else {
                searchType = searchType1.substring(searchType1.indexOf("=")+1);
            }
        } else {
            searchType = "";
        }

        if(urltext.indexOf("model") != -1) {
            model1 = urltext.substring(urltext.indexOf("model"));
            if (model1.indexOf("&")!=-1) {
                model = model1.substring(model1.indexOf("=")+1, model1.indexOf("&"));
            } else {
                model = model1.substring(model1.indexOf("=")+1);
            }
        } else {
            model = "";
        }

        if(urltext.indexOf("priceFrom") != -1) {
            priceFrom1 = urltext.substring(urltext.indexOf("priceFrom"));
            if (priceFrom1.indexOf("&")!=-1) {
                priceFrom = priceFrom1.substring(priceFrom1.indexOf("=")+1, priceFrom1.indexOf("&"));
            } else {
                priceFrom = priceFrom1.substring(priceFrom1.indexOf("=")+1);
            }
        } else {
            priceFrom = "";
        }

        if(urltext.indexOf("priceTo") != -1) {
            priceTo1 = urltext.substring(urltext.indexOf("priceTo"));
            if (priceTo1.indexOf("&")!=-1) {
                priceTo = priceTo1.substring(priceTo1.indexOf("=")+1, priceTo1.indexOf("&"));
            } else {
                priceTo = priceTo1.substring(priceTo1.indexOf("=")+1);
            }
        } else {
            priceTo = "";
        }
        if(urltext.indexOf("location") != -1) {
            locationParam1 = unescape(urltext.substring(urltext.indexOf("location")));
            if (locationParam1.indexOf("&")!=-1) {
                locationParam = locationParam1.substring(locationParam1.indexOf("=")+1, locationParam1.indexOf("&"));
            }else {
                locationParam = locationParam1.substring(locationParam1.indexOf("=")+1);
            }
            locationParam = locationParam.replace("#", "");
        }else {
            locationParam = "";
        }
        advar = '/SEARCH_TYPE='+searchType+'/MAKE_ID='+make+'/REGION_ID='+locationParam+'/MODEL='+model+'/PRICE_FROM='+priceFrom+'/PRICE_TO='+priceTo;
        advar = encodeURI(advar);
    }
    return advar;
};

stripchars = function (elem) {
    elem = elem.replace(/ /g,"");
    elem = elem.replace(/\./g,"");
    elem = elem.replace(/\//g,"");
    elem = elem.replace(/-/g,"");
    elem = elem.replace(/\$/g,"");
    elem = elem.replace(/,/g,"");
    return elem;
};