// Property Shopping Cart Version 1.02B

// Version 1.02B contains fix for IE 4 bug

// Version 1.05B contains fix for single digit property numbers and similar prop #'s

// Created by Chris Rock 6/1/01

// getCart function originally part of JCart by CIDEX Computer Systems

// JavaScript required to create cookies that will store multiple property names and numbers 







function storeProp(currentProp) {

	// Modify the cookie

	if (currentProp.substring(0,1)=="*")

		currentProp = currentProp.substring(1);

	if (currentProp.length == 0 || currentProp == "DEL"){

		document.cookie = "PropList=; path=/; expires=Thursday, 01-Dec-99 12:00:01 GMT"

	}else{

		document.cookie = "PropList=" + currentProp + "; path=/;"

	}



}



function addProperty(PMSID, PName, PTown, PLocation, PType, PBeds){

	

	if(PMSID.length > 0){							// URLencodes bad characters includes spaces

		var pID = (PMSID);

	}else{

		var pID = ("N/A");

	}

	if(PName.length > 0){	

		var pName = (PName);	

	}else{														

		var pName = ("N/A");

	}

	if(PTown.length > 0){

		var pTown = (PTown);

	}else{

		var pTown = ("N/A");

	}

	if(PLocation.length > 0){

		var pLocation = (PLocation);

	}else{

		var pLocation = ("N/A");

	}

	if(PType.length > 0){

		var pType = (PType);

	}else{

		var pType = ("N/A");

	}

	if(PBeds.length > 0){

		var pBeds = (PBeds);

	}else{

		var pBeds = ("N/A");

	}

	

	var props = getCart();							// Get the current Props stored in Cookie

	var currentProps;								// Initialize

	

	

	// See if property is already on list

	var propStart = props.indexOf( "^^" + pID + "^" + pName);

//alert("Cookie: " + props + "\n\n^^" + pID + "^" + pName);

//alert("propStart: "+ propStart);

	if (propStart == -1){

		currentProps = "^^" + pID + "^" + pName + "^" + pTown + "^" + pLocation + "^" + pType + "^" + pBeds;

		currentProps = escape(currentProps)

		if (props.length + currentProps.length > 3000){

			alert("Your bag is full.\nPlease submit your current list of Properties");

			currentProps="";

			//return false;

		}else{

			storeProp(props + currentProps);

			alert("Property ADDED to your bag");

			//return true;

		}





	}else{ 														// already exists

		alert ("You have already added this property!");

		//return false;

	}

	





}



function getCart() {

	var retstr = "*"											// dummy value to placate Nav 2

	var xstart = document.cookie.indexOf( "PropList=" )+0		// and force numeric

	if ( xstart > -1 ) {										// cookie exists 

		xstart += 9             								// set index of beginning of value

		if ( xstart < document.cookie.length ) {				// avoid blank cookies

			xend = document.cookie.indexOf(";", xstart)  		// set index of end of cookie value

	        if ( xend == -1 ) 

				xend = document.cookie.length

	        retstr = document.cookie.substring( xstart, xend )

			

		}

 	}

	// alert ("retstr: "+retstr);

	retstr = unescape(retstr);

	return retstr 



}



function viewCart(){

	props = getCart();

// alert("Cookie: " + props);

	if (props.length == 0 || props == "*"){

		document.write("<h3>You currently have no properties in your Beach Bag!</h3><p><a href=\"/book/query.html\">Search for Properties</a>");

		document.write("<p>If a property piques your curiosity and you do not want to reserve it now, click on <img src=\"/images/addcart.gif\" > to <b> put it in your \"Beach Bag\"</b>. You can repeat your search and property selection as many times as you want. When you are through browsing, click on <img src=\"/images/viewcart.gif\" > <b>to \"View your Beach Bag\"</b> where you can send a customized e-mail request form or view a comparison of the properties you have selected. A representative will send you more specific information about your selected properties. </p>");

		return false;

	}


	//UNCOMMENT NEXT LINE FOR NO COMPARE FEATURE
	//document.write("<p>You currently have the following properties in your Beach Bag:</p>");

	//COMMENT OUT NEXT 2 LINES FOR NO COMPARE
	document.write("<form action=\"/book/compare.html\" method=\"POST\">");
	document.write("<table bgcolor=#E9AFB4 width=500 cellpadding=2 border=0 cellspacing=1><tr><td align=center width=150 bgcolor=\"#CCE6ED\">Compare Properties<br>check to compare<br><input type=submit value=Compare class=button> <input type=reset value=Clear class=button></td><td bgcolor=#FFFFFF>You currently have the following properties in your Beach Bag:</td></tr><tr><td colspan=2 bgcolor=#CCE6ED>");

	document.write("<table width=100% bgcolor=#E9AFB4 cellpadding=4 border=0 cellspacing=1>");

	document.write("<tr>");
	
	//COMMENT OUT NEXT LINE FOR NO COMPARE
	document.write("<td bgcolor=\"#CCE6ED\">&nbsp;</th>");

	//document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Name</th>");

	document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Name</th>");

	// document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Town/Area</th>");

    document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Location</th>");

	document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Type</th>");

	document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Bdrms</th>");

	document.write("<td bgcolor=\"#006BA7\" style=\"color:#ffffff;font-weight: bold;text-align:center\">Remove From<br> List</th>");

	document.write("</tr>");

	

	propCount=1;

	while (props.length > 0 ){



		thisProperty = props.indexOf("^^", 2);

//alert("thisproperty:"+thisProperty);

		if ( thisProperty == -1 )

			thisProperty = props.length;

		var test = props.substring( 2, thisProperty );

		createList( props.substring( 2, thisProperty ),propCount);

		props = props.substring( thisProperty );

		++propCount;

		

		

	} //end while

		document.write("</table></td></tr><tr><td colspan=2 bgcolor=#FFFFFF>");

		document.write("<input type=\"hidden\" name=\"Count\" value=\""+propCount+"\">");

		document.write("</form>");

		document.write("<p>Use the Submit button below to request information on the above properties.</p>");

		document.write("<a href=\"/book/bookrequest.html?cart=Y\"><img src=\"/images/submitcart.gif\" border=0 align=middle></a>");

		document.write("&nbsp;&nbsp;<a href=\"javascript:onClick=removeProp\(\'All\'\)\"><img src=\"/images/delcart.gif\" border=0 align=middle></a>");

		document.write("</td></tr></table>");

	//	document.write ("Your current cookie value is: " + document.cookie)



}



function createList(inItem,propCountIn){

	//alert("item:"+inItem);

	var item = unescape(inItem);					// Remove URLencoding

	var control;



	itemFields = item.split("^");				// Split item at ^ and stuff into an array

	control = itemFields.length;				// get the length of the array for controlling loop

	

	colorcount= eval(propCountIn);

	var color = "#FFFFFF";

	

	if (colorcount%2 == 0){

		color = "#D3D3D3";

	}

	

	document.write("<tr>");

	//Comment Out next line for no Compare
	document.write("<td align=center bgcolor=#CCE6ED><input type=\"checkbox\" name=\"PMSUnitID"+propCountIn+"\" value=\""+itemFields[0]+"\"></td>");

	for ( i=0;i<control;++i){

		

		if (itemFields[i] == 0){

			itemFields[i]="N/A";

			// alert ("itemFields:"+itemFields[i])

		}

		if (i==0){

		//document.write("<td align=center bgcolor="+color+">"+itemFields[i].link('/book/house.html?Num='+itemFields[0])+"</td>");

		}else if (i==1){

		 document.write("<td align=center bgcolor="+color+">"+itemFields[i].link('/book/house.html?Num='+itemFields[0])+"</td>");

		}

		else if(i!=2){

		document.write("<td style=\"text-align:center\" bgcolor="+color+">"+itemFields[i]+"</td>");

		}

	}

	document.write("<td style=\"text-align:center\" bgcolor="+color+"><a href=\"javascript:onClick=removeProp\(\'"+itemFields[0]+"\'\)\"><img src=\"/images/dellist.gif\" border=0 width=25 height=25></a></td>")



	document.write("</tr>");



	 // alert ("length:"+ control)

}



function removeProp(delProp){

	if(delProp == "All"){

		if(confirm("You are about to DELETE ALL PROPERTIES from your Beach Bag.\nIf this is correct press OK, otherwise press CANCEL.")){

		var props = "DEL";

		}else{ location.reload(); return false; }

	

	}else{

	var props = getCart();

	var propStart = props.indexOf("^^"+escape(delProp)+"^");

	var propEnd = props.indexOf("^^", propStart+2);

	if(propEnd == -1){

		propEnd = props.length;

	}

	delTxt=props.substring(propStart,propEnd);

	props = props.substring(0,propStart) + props.substring(propEnd,props.length);

	}

	storeProp(props);

	path = "/book/viewcart.html";

	location.href=path;

	// location.reload();

	return false;



}