//<li>Add attr info (elFrom, elTo, dist) to (mid)pts!
//<li>How to determine from/to (similar to culverts): 
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function rteStrDmb2Smart(rteStrDmb,pathsArray) {
//In: rteStrDmb? (created on click event). Ex: [myLines][01-02-15-09]
//In: array of id#s for clicked markers
//Out: rteStrSmart? (this the one will be parsed against attr array). Ex: [myLines][01f-02f-15-09f]
//Then: (other function)? if (lastchar(part,"f")) {el = attrarr[][3];}else {el = attrarr[][2];}
//	<li>1st: can't tell; wait
//	<li>2nd: 
//		Get First/Last pts of both paths
//		aFirst = path[0].First.x + "xy" path[0].First.y
//		aLast = path[0].Last.x + "xy" path[0].Last.y
//		bFirst = path[1].First.x + "xy" path[1].First.y
//		bLast = path[1].Last.x + "xy" path[1].Last.y
//
//		if aFirst = bFirst
//		if aFirst = bLast
//		if aLast = bFirst
//		if aLast = bLast
//	<li>3rd,etc:
//		if zFirst = currEnd
//		if zLast = currEnd
//
//<li>Add paths (to array (therefore numbered (by index)))
//<li>Add (midpt) markers (use this array to also store elFrom, elTo, dist?)
//<li>make (sure) marker index corresponds to path index
//<li>correct the (last) selected path code
//	start: all [yellow]
//	latest: red
//	from start to latest: orange

	
	//Explode ordered string to ordered array
	//var orderedArray = new Array();
	//alert(rteStrDmb);
	//alert (rteStrDmb.type);
	//alert (test(rteStrDmb));
	
	var fStrDmb = new String;
	fStrDmb = rteStrDmb + '';
	//alert (test(fStrDmb));
	
	//rteStrDmb.toString();
	orderedArray = fStrDmb.split(',');
	oaLen = orderedArray.length - 1;
	//alert("orderedArray[" + oaLen + "]: " + orderedArray[oaLen]);
	var orderedPaths = new Array();
	for (j = 0; j < orderedArray.length; j++){
		orderedPaths[j] = orderedArray[j];
	}
	//orderedPaths.push("foo");
	//lineAttr = pathsArray[orderedArray[oaLen-1]];
//alert(pathsArray[orderedArray[oaLen-1]].getVertex(0).lat());
	//orderedPaths.push(pathsArray[orderedArray[oaLen-1]]);
	//orderedPaths[0] = pathsArray[orderedArray[oaLen-1]];

if (oaLen > 0) {	
	aVrtxCnt = pathsArray[orderedArray[oaLen-1]].getVertexCount();
	aFirst = pathsArray[orderedArray[oaLen-1]].getVertex(0).lat() + "xy" + pathsArray[orderedArray[oaLen-1]].getVertex(0).lng();
	aLast = pathsArray[orderedArray[oaLen-1]].getVertex(aVrtxCnt-1).lat() + "xy" + pathsArray[orderedArray[oaLen-1]].getVertex(aVrtxCnt-1).lng();
	//alert (aFirst + " firstlast " + aLast);
	
	bVrtxCnt = pathsArray[orderedArray[oaLen]].getVertexCount();
	bFirst = pathsArray[orderedArray[oaLen]].getVertex(0).lat() + "xy" + pathsArray[orderedArray[oaLen]].getVertex(0).lng();
	bLast = pathsArray[orderedArray[oaLen]].getVertex(bVrtxCnt-1).lat() + "xy" + pathsArray[orderedArray[oaLen]].getVertex(bVrtxCnt-1).lng();
	//alert (bFirst + " firstlast " + bLast);

	if (aFirst == bFirst) {
		//alert ("I. afirst==bfirst");
		orderedPaths[oaLen] = orderedArray[oaLen]+'f';
	}
	//else if (aFirst == bLast) {alert ("II. afirst==blast");}
	//else if (aLast == bFirst) {alert ("III. aLast==bfirst");}
	else if (aLast == bLast) {
		//alert ("IV. aLast==bLast");
		orderedPaths[oaLen] = orderedArray[oaLen]+'f';		
	}
	//else {alert ("Segments don't join; choose another path.");}
	
	outStr = orderedPaths[0];
	for (j = 1; j < orderedPaths.length; j++){
		outStr = outStr + ',' + orderedPaths[j];
	}
	//alert(outStr);
	
} else {
	outStr = rteStrDmb;
	//alert(outStr);
}

return outStr;
	//rteStrDmb2Smart = orderedPaths[0];
	//return rteStrDmb2Smart;
	//return orderedPaths[0];
	
	
}
	

function test (obj) {
var type = typeof obj;
if (type == 'object') {
if (obj.getDate) return 'Date';
if (obj.split) return 'String';
}
return type;
}

