<!-- pricetracker JS -->
<!-- Updated: 12/06/2010 chr remove update call -->

var setPriceTracker= new Object();
setPriceTracker.getDataParams = function(cd_mls, price, cd_key, ms_context,cd_contact, site) {

	var rv =  {
	    SITE: site,
	    MS_CONTEXT: ms_context,
	    WANTS: "[ { js: 'status', key: 'RESPONSE_CODE', as: 'string' } ]",
	    cd_Contact:  cd_contact,
	    LT_CD_CONTACTCREATOR:  cd_contact,
		LT_CD_KEY: cd_key,
	    cd_MLS:  cd_mls,
		LT_TARGETPRICE: price
	};
	return rv;
} //end getDataParmams

setPriceTracker.generateResults = function(response_code, cd_mls, ms_context) {

	//Logger.info("resultList status is " + response_code);
	if ((response_code == '2') || (response_code == '1')) {
	    $('tracker_err'+cd_mls).innerHTML = "Error setting price tracker.";
	} else {
		$('div_tracker'+cd_mls).style.display='none';

		if (ms_context == 'VOW_LISTING_TRACKER_DELETE') {
			if(document.getElementById('tracker_btn_'+cd_mls)){document.getElementById('tracker_btn_'+cd_mls).className = 'btn';}
			$('tracker_link'+cd_mls).innerHTML='Add Price Tracker';
			$('tracker_price'+cd_mls).value='';
		} else {
			if(document.getElementById('tracker_btn_'+cd_mls)){document.getElementById('tracker_btn_'+cd_mls).className = '';}
			$('tracker_link'+cd_mls).innerHTML='Price Tracker at: ' + formatCurrency($F('tracker_price'+cd_mls));
		}


	}
} //end generateResults

setPriceTracker.setPriceTracker = function(cd_mls, price, cd_key, ms_context, cd_contact, site, side) {
	var data_parms = $H(setPriceTracker.getDataParams(cd_mls, price, cd_key, ms_context,cd_contact,site)).toQueryString();
	new Ajax.Request("/" + side + "/JSONQueryServlet",
	    {
		parameters: data_parms,
		onComplete: function(results, request) {
		    //Logger.debug('got listing results');
		    try {
				var json = "var reply = " + results.responseText + ";";
				eval(json);
				setPriceTracker.generateResults(reply['status'], cd_mls, ms_context);
		    } catch (e) {
				//Logger.error(e);
		    }
		},
		onFailure: function(){
			alert('Failed!');
		}
	});
} //end getChosenData

function addPriceTracker(cd_mls, price, cd_key, cd_contact, site, side) {

	var ms_context = "VOW_LISTING_TRACKER_ADD";
	//cr1210 if (cd_key != "0") {
	//	ms_context = "VOW_LISTING_TRACKER_UPDATE"
	//}

	price = price.toString().replace(/\$|\,/g,'');
	if(isNaN(price) || price == "") {
		$('tracker_err'+cd_mls).innerHTML='<br /><b>Price is required and must be numeric!</b>';
	} else {
		setPriceTracker.setPriceTracker(cd_mls, price, cd_key, ms_context,cd_contact, site, side);
	}
}

function removePriceTracker(cd_mls, cd_key, cd_contact, site, side) {
		setPriceTracker.setPriceTracker(cd_mls, '0', cd_key, 'VOW_LISTING_TRACKER_DELETE',cd_contact,site,side);
}

function displayTracker(cd_mls) {
	if ($('div_tracker' + cd_mls).style.display == 'block') {
		$('div_tracker' + cd_mls).style.display='none';
		if($('tracker_price' + cd_mls).value.length > 0){
			if(document.getElementById('tracker_btn_'+cd_mls)){document.getElementById('tracker_btn_'+cd_mls).className = '';}
			$('tracker_link' + cd_mls).innerHTML = 'Price Tracker at: '+formatCurrency($F('tracker_price'+cd_mls));
		} else {
			if(document.getElementById('tracker_btn_'+cd_mls)){document.getElementById('tracker_btn_'+cd_mls).className = 'btn';}
			$('tracker_link' + cd_mls).innerHTML = 'Add Price Tracker';
		}
	} else {
		$('div_tracker' + cd_mls).style.display='block'
		$('tracker_price' + cd_mls).focus();
		$('tracker_price' + cd_mls).select();
		$('tracker_link' + cd_mls).innerHTML = 'Close Price Tracker';
	}
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
	num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents < 10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
//return (((sign)?'':'-') + '$' + num + '.' + cents); removed because I don't need cents
return (((sign)?'':'-') + '$' + num);
}


