var xmlHttp
var xmlHttp2
var xmlHttp3
var xmlHttp4
var xmlHttpCarHit
var xmlHttpMostViewed
var order = "asc";

function sortAscending(str){

if ( order == "asc" ) {
document.getElementById('sortby').value = 'premium desc, '+str+' ASC';
order = "dec";
}
else {
document.getElementById('sortby').value = 'premium desc, '+str+' DESC';
order = "asc";
}
}

function switchMenu(obj) {
var el = document.getElementById(obj);
if ( el.style.display != 'none' ) {
el.style.display = 'none';
}
else {
el.style.display = '';
carHit(obj);
}
}

function showModel(str)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
} 
var url="/Controller/getmodels"
url=url+"?makeid="+ str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function showModelCreate(str)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
} 
var url="/Controller/getmodelscreate"
url=url+"?makeid="+ str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function showModel2(str, str2)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
} 
var url="/Controller/getmodels"
url=url+"?makeid="+ str + "&model=" + str2
url=url+"&sid="+Math.random()

xmlHttp.onreadystatechange=pageLoadSubmission 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ 
document.getElementById("modelform").innerHTML=xmlHttp.responseText;
} 
}

function stateChangedCarHit() 
{ 
if (xmlHttpCarHit.readyState==4 || xmlHttpCarHit.readyState=="complete")
{ 
} 
}

function pageLoadSubmission() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ 
document.getElementById("modelform").innerHTML=xmlHttp.responseText;
get(document.getElementById('myform')); 
} 
}

function stateChanged2() 
{ 
if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete")
{
        document.getElementById('myspan').innerHTML = xmlHttp2.responseText;  
        if(document.getElementById('info')!=null){
            document.getElementById('info').innerHTML = "";
        }
} 
}

function stateChanged3() 
{ 
if (xmlHttp3.readyState==4 || xmlHttp3.readyState=="complete")
{
document.getElementById('mystats').innerHTML = xmlHttp3.responseText;  
} 
}

function stateChanged4() 
{ 
if (xmlHttp4.readyState==4 || xmlHttp4.readyState=="complete")
{
document.getElementById('mymakes').innerHTML = xmlHttp4.responseText;  
} 
}

function GetXmlHttpObject()
{ 
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}

// Post the form
function makePOSTRequest(url, parameters) {

xmlHttp2=GetXmlHttpObject()

if (xmlHttp2==null)
{
alert ("Browser does not support HTTP Request")
return
} 
  xmlHttp2.onreadystatechange = stateChanged2;
  xmlHttp2.open('POST', url, true);
  xmlHttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp2.setRequestHeader("Content-length", parameters.length);
  xmlHttp2.setRequestHeader("Connection", "close");
  xmlHttp2.send(parameters);
}

function MostViewedStateChanged() 
{ 
if (xmlHttpMostViewed.readyState==4 || xmlHttpMostViewed.readyState=="complete")
{
        document.getElementById('mostviewed').innerHTML = xmlHttpMostViewed.responseText;
} 
}

// Post the form
function makePOSTRequestMostViewed(url, parameters) {

xmlHttpMostViewed=GetXmlHttpObject()

if (xmlHttpMostViewed==null)
{
alert ("Browser does not support HTTP Request")
return
} 
  xmlHttpMostViewed.onreadystatechange = MostViewedStateChanged;
  xmlHttpMostViewed.open('POST', url, true);
  xmlHttpMostViewed.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttpMostViewed.setRequestHeader("Content-length", parameters.length);
  xmlHttpMostViewed.setRequestHeader("Connection", "close");
  xmlHttpMostViewed.send(parameters);
}

function makePOSTRequest2(url, parameters) {

xmlHttp3=GetXmlHttpObject()

if (xmlHttp3==null)
{
alert ("Browser does not support HTTP Request")
return
} 
  xmlHttp3.onreadystatechange = stateChanged3;
  xmlHttp3.open('POST', url, true);
  xmlHttp3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp3.setRequestHeader("Content-length", parameters.length);
  xmlHttp3.setRequestHeader("Connection", "close");
  xmlHttp3.send(parameters);
}

function makePOSTRequestCarHit(url, parameters) {

xmlHttpCarHit=GetXmlHttpObject()

if (xmlHttpCarHit==null)
{
alert ("Browser does not support HTTP Request")
return
} 
  xmlHttpCarHit.onreadystatechange = stateChangedCarHit;
  xmlHttpCarHit.open('POST', url, true);
  xmlHttpCarHit.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttpCarHit.setRequestHeader("Content-length", parameters.length);
  xmlHttpCarHit.setRequestHeader("Connection", "close");
  xmlHttpCarHit.send(parameters);
}

function makePOSTRequest3(url, parameters) {

xmlHttp4=GetXmlHttpObject()

if (xmlHttp4==null)
{
alert ("Browser does not support HTTP Request")
return
} 
  xmlHttp4.onreadystatechange = stateChanged4;
  xmlHttp4.open('POST', url, true);
  xmlHttp4.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp4.setRequestHeader("Content-length", parameters.length);
  xmlHttp4.setRequestHeader("Connection", "close");
  xmlHttp4.send(parameters);
}

function get(obj) {
  var poststr = "make=" + encodeURI( document.getElementById("make").value) + 
                "&model=" + encodeURI( document.getElementById("model").value ) +
                "&year=" + encodeURI( document.getElementById("year").value ) +
                "&maxmileage=" + encodeURI( document.getElementById("mileage").value ) +
                "&body=" + encodeURI( document.getElementById("body").value ) +
                "&minprice=" + encodeURI( document.getElementById("minprice").value ) +
                "&maxprice=" + encodeURI( document.getElementById("maxprice").value ) +    
                "&colour=" + encodeURI( document.getElementById("colour").value ) +
                "&location=" + encodeURI( document.getElementById("location").value ) +
                "&sortby=" + encodeURI( document.getElementById("sortby").value ) +
                "&perPage=" + encodeURI( document.getElementById("perPage").value ) +
                "&engineminsize=" + encodeURI( document.getElementById("engineminsize").value ) +
                "&enginemaxsize=" + encodeURI( document.getElementById("enginemaxsize").value ) +
                "&enginetype=" + encodeURI( document.getElementById("enginetype").value ) +
                "&transmission=" + encodeURI( document.getElementById("transmission").value );
                
  document.getElementById('info').innerHTML = "<font color=\"red\">Performing search, please wait...</font>";

  makePOSTRequest('/Controller/filtercars', poststr);
}

function get2(obj, pageNumber) {

  var poststr = "make=" + encodeURI( document.getElementById("make").value) + 
                "&model=" + encodeURI( document.getElementById("model").value ) +
                "&year=" + encodeURI( document.getElementById("year").value ) +
                "&maxmileage=" + encodeURI( document.getElementById("mileage").value ) +
                "&body=" + encodeURI( document.getElementById("body").value ) +
                "&minprice=" + encodeURI( document.getElementById("minprice").value ) +
                "&maxprice=" + encodeURI( document.getElementById("maxprice").value ) +    
                "&colour=" + encodeURI( document.getElementById("colour").value ) +
                "&location=" + encodeURI( document.getElementById("location").value ) +
                "&sortby=" + encodeURI( document.getElementById("sortby").value ) +
                "&perPage=" + encodeURI( document.getElementById("perPage").value ) +
                "&engineminsize=" + encodeURI( document.getElementById("engineminsize").value ) +
                "&enginemaxsize=" + encodeURI( document.getElementById("enginemaxsize").value ) +
                "&enginetype=" + encodeURI( document.getElementById("enginetype").value ) +
                "&transmission=" + encodeURI( document.getElementById("transmission").value ) +
                "&pageNumber=" + pageNumber ;
              
  document.getElementById('info').innerHTML = "<font color=\"red\">Performing search, please wait...</font>";

  makePOSTRequest('/Controller/filtercars', poststr);
}

function getTop5() {
    var poststr = "";

    makePOSTRequest('/Controller/gettop5', poststr);
}

function getMostViewedCars() {
    var poststr = "";

    makePOSTRequestMostViewed('/Controller/getmostviewed', poststr);
}

function getMakes() {
    var poststr = "";

    makePOSTRequest3('/Controller/getmakes', poststr);
}

function getStats() {
    var poststr = "";

    makePOSTRequest2('/Controller/homepagestatistics', poststr);
}

function carHit(carid) {
    var poststr = "carid="+carid;
    makePOSTRequestCarHit('/Controller/carhit', poststr);
}
