function ReadCookie (CookieName) {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces;
  var ReturnValue = "";

  var x = 0;
  for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) {

    CookiePieces = CookieSet[x].split ('=');
    if (CookiePieces[0].substring (0,1) == ' ') CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    if (CookiePieces[0] == CookieName) ReturnValue = CookiePieces[1];
    
  }
  return ReturnValue;;
}

function AddToCookie (CookieName, value) {
	var cookiedate = new Date();
	cookiedate.setTime(cookiedate.getTime()+(30*24*60*60*1000)); //Thirty days expiration

	var expires = "; expires="+cookiedate.toGMTString();
	document.cookie = CookieName + '=' + value +expires+ "; path=/";
}

function FormatCookie( value ) {
	if(value.substring(0,1)!=",") value = "," + value;
	return value;
}
//--------------------------------------------------------------------------------------------//

function getPropertyCount(str)
{
	str=removeExtraCommas(str);
	return str.split (',').length;
}

function removeExtraCommas(str) {
	if(str.substr(str.length-1,1)==",") str=str.substr(0,str.length-1);
	if(str.substr(0,1)==",") str=str.substr(1,str.length);
	return str;
}

var propertyCompare = removeExtraCommas(ReadCookie("propertyCompare"));
if (propertyCompare.length>0) {
	var propertyNo = propertyCompare.split (',');
	var SetSize = propertyNo.length;
	var x = 0;
	for (x = 0; x < SetSize; x++) {
		toggleCompare(propertyNo[x]);
	}
}

function addToCompare(pNo) {
	var propertyCompare = FormatCookie( ReadCookie("propertyCompare") );

	if (propertyCompare.indexOf((","+pNo+","))<0) {
		var tot = getPropertyCount( propertyCompare );
		if( tot == 5 ) {
			alert("Cannot compare more than five properties");
			return false;
		}
		propertyCompare += pNo.toString() + "," ;
		AddToCookie("propertyCompare",propertyCompare)
	}
	return true;
}

function removeFromCompare(pNo) {
	var propertyCompare = FormatCookie( ReadCookie("propertyCompare") );
	
	propertyCompare = propertyCompare.replace(","+pNo+",", "," );
	document.cookie = "propertyCompare=" + propertyCompare;

}

function toggleCompare(pNo) {
	var compareNowOn		= 'comparenow-on-'		+ pNo;
	var compareNowOff		= 'comparenow-off-'		+ pNo;
	var compareSelectAdd	= 'comparetog-add-'		+ pNo;
	var compareSelectRemove	= 'comparetog-remove-'	+ pNo;

	if (document.getElementById(compareNowOn) == null) return;	//Make sure the element exists.
	
	if (document.getElementById(compareNowOn).style.display == 'none') {	//Add
		if(!addToCompare(pNo)) return ;

		document.getElementById(compareNowOn).style.display='block';
		document.getElementById(compareNowOff).style.display='none';
		document.getElementById(compareSelectAdd).style.display='none';
		document.getElementById(compareSelectRemove).style.display='block';
		
	} 
	else {																	//Remove
		removeFromCompare(pNo);
		
		document.getElementById(compareNowOn).style.display='none';
		document.getElementById(compareNowOff).style.display='block';
		document.getElementById(compareSelectAdd).style.display='block';
		document.getElementById(compareSelectRemove).style.display='none';
	}
}
