var requester = null;
var g_img = null;
var g_btn = null;
var g_savedImgID = null;
var isAdv = 0;

function _SetSavedImage(id)
{
	g_savedImgID = id;
}

function _showSavedImage(img, state)
{
	if (state == true)
		document.getElementById(img).style.display = 'block';
	else
		document.getElementById(img).style.display = 'none';
}

function _showLoadingImage(img, btn, state)
{
	g_img = img;
	g_btn = btn;

	if (state == true)
	{
		document.getElementById(img).style.display = 'block';
		document.getElementById(btn).style.display = 'none';
	}
	else
	{
		document.getElementById(img).style.display = 'none';
		document.getElementById(btn).style.display = 'block';
	}
}

function _onSaveAdv(id, save)
{
	if (requester != null && requester.readyState != 0 && requester.readyState != 4)
		requester.abort();

	try {
		requester = new XMLHttpRequest();
	}
	catch (error) {
		requester = new ActiveXObject("Microsoft.XMLHTTP");
	}

	requester.onreadystatechange = onreadystatechange_onChange;

	if (save == true)
		requester.open("GET", "/ajax/save_adv.php?action=save&sellID=" + id + "&rand=" + Math.random());
	else requester.open("GET", "/ajax/save_adv.php?action=delete&sellID=" + id + "&rand=" + Math.random());
	requester.send(null);
}

function _onSaveAd(id, save)
{
	if (requester != null && requester.readyState != 0 && requester.readyState != 4)
		requester.abort();

	try {
		requester = new XMLHttpRequest();
	}
	catch (error) {
		requester = new ActiveXObject("Microsoft.XMLHTTP");
	}

	requester.onreadystatechange = onreadystatechange_onChange;

	if (save == true)
		requester.open("GET", "/ajax/save_ad_car.php?action=save&sellID=" + id);
	else requester.open("GET", "/ajax/save_ad_car.php?action=delete&sellID=" + id);
	requester.send(null);
}


function _onSaveAlert(id, save)
{
	if (requester != null && requester.readyState != 0 && requester.readyState != 4)
		requester.abort();

	try {
		requester = new XMLHttpRequest();
	}
	catch (error) {
		requester = new ActiveXObject("Microsoft.XMLHTTP");
	}

	requester.onreadystatechange = onreadystatechange_onChange;

	if (save == true)
		requester.open("GET", "ajax/save_ad_car.php?action=saveAlert&sellID=" + id);
	else requester.open("GET", "ajax/save_ad_car.php?action=deleteAlert&sellID=" + id);
	requester.send(null);
}

function _onSaveSoldAlert(id, save)
{
    if (requester != null && requester.readyState != 0 && requester.readyState != 4)
        requester.abort();

    try {
        requester = new XMLHttpRequest();
    }
    catch (error) {
        requester = new ActiveXObject("Microsoft.XMLHTTP");
    }

    requester.onreadystatechange = onreadystatechange_onChange;

    if (save == true)
        requester.open("GET", "ajax/save_ad_car.php?action=saveSoldAlert&sellID=" + id);
    else requester.open("GET", "ajax/save_ad_car.php?action=deleteSoldAlert&sellID=" + id);
    requester.send(null);
}

function _onSaveSearch(id,searchFrom,searchTo, save)
{
    if (requester != null && requester.readyState != 0 && requester.readyState != 4)
        requester.abort();

    try {
        requester = new XMLHttpRequest();
    }
    catch (error) {
        requester = new ActiveXObject("Microsoft.XMLHTTP");
    }

    requester.onreadystatechange = onreadystatechange_onChange;

    if (save == true)
        requester.open("GET", "ajax/save_search.php?action=saveSearchAlert&searchID=" + id+"&searchFrom="+searchFrom+"&searchTo="+searchTo);
    else
		requester.open("GET", "ajax/save_search.php?action=deleteSearchAlert&searchID=" + id);
    requester.send(null);
}

function _onSaveSearchNew(id, searchFrom, searchTo, factory, model, miles, zip, save)
{
    if (requester != null && requester.readyState != 0 && requester.readyState != 4)
        requester.abort();

    try {
        requester = new XMLHttpRequest();
    }
    catch (error) {
        requester = new ActiveXObject("Microsoft.XMLHTTP");
    }

    requester.onreadystatechange = onreadystatechange_onChange;

    if (save == true)
        requester.open("GET", "ajax/save_search_new.php?action=saveSearchAlert"
            + "&searchID="+id
            + "&searchFrom="+searchFrom
            + "&searchTo="+searchTo
            + "&factory="+factory
            + "&model="+model
            + "&miles="+miles
            + "&zip="+zip
        );
    else
        requester.open("GET", "ajax/save_search_new.php?action=deleteSearchAlert&searchID=" + id);
    requester.send(null);
}

function _onAddToCompare(id, save)
{
	if (cur >= max) return;
	if (requester != null && requester.readyState != 0 && requester.readyState != 4)
		requester.abort();

	try {
		requester = new XMLHttpRequest();
	}
	catch (error) {
		requester = new ActiveXObject("Microsoft.XMLHTTP");
	}

	requester.onreadystatechange = onreadystatechange_onChangeCompare;

	if (save == true)
		requester.open("GET", "ajax/save_ad_car.php?action=saveCompare&modelID=" + id);
	else requester.open("GET", "ajax/save_ad_car.php?action=deleteCompare&modelID=" + id);
	requester.send(null);
}

function onreadystatechange_onChange()
{
	if (requester.readyState == 4)
	{
		if (requester.status == 200)
		{
			if (requester.responseText == 'error') alert("fail");
			else fillSelectBoxes();
		}
		else if (requester.status != 0)
		{
			alert("There was an error while retrieving the URL: " + requester.statusText);
		}
	}

	return true;
}

function onreadystatechange_onChangeCompare()
{
	if (requester.readyState == 4)
	{
		if (requester.status == 200)
		{
			if (requester.responseText == 'error') alert("fail");
			else AddCompareProcess();
		}
		else if (requester.status != 0)
		{
			alert("There was an error while retrieving the URL: " + requester.statusText);
		}
	}

	return true;
}

function fillSelectBoxes()
{
	response = requester.responseText;
	if (g_savedImgID != null)
	{
		if (response.indexOf('|' != -1))
		{
			update = response.split('|');
			if (update[0] == 'saved')
				document.getElementById(g_savedImgID).style.display = 'block';
			if (update[0] == 'deleted')
				document.getElementById(g_savedImgID).style.display = 'none';
			if (update[1]) document.getElementById('saved_vehiles').innerHTML = update[1];

			if (isAdv == 1) _UpdateChecks();
		}
	}
	else
	{
		btn = document.getElementById(g_btn);
		btn.innerHTML = 'Ad Saved';
		btn.style.cursor = '';
		btn.style.color = '#cccccc';
		btn.onclick = '';
	}

	_showLoadingImage(g_img, g_btn, false);
}

function AddCompareProcess()
{
	response = requester.responseText;
	if (response.indexOf('|' != -1))
	{
		update = response.split('|');
		if (update[0] == 'saved')
		{
			alert('Model added to Compare');
			cur = update[1];
		}
		_UpdateAddLinks();
		//	document.getElementById(g_savedImgID).style.display = 'block';
		//if (update[0] == 'deleted')
		//	document.getElementById(g_savedImgID).style.display = 'none';
		//if (update[1]) document.getElementById('saved_compare').innerHTML = update[1];
	}
}


// Make and Models
var savd = false;
function makeAndModelsAction() {
    savd = (document.getElementById('msaved').checked ? true : false);
    document.getElementById('minput').innerHTML = '<img src="images/loading_a.gif" border="0" alt="Loading" />';
    var pars = 'make=' + document.getElementById('factory').value + '&model=' + document.getElementById('modelsID').value + '&savd=' + savd + '&rand=' + Math.random();
    new Ajax.Updater('minput', 'ajax/make_and_model.php', {parameters: pars, asynchronous: true, evalScripts: true, onComplete: mComplete});
}
function mComplete() {
    if (savd) {
        document.getElementById('saved_make_img').style.display = '';
        savd = false;
    } else {
        document.getElementById('saved_make_img').style.display = 'none';
        savd = true;
    }
}
