/* ======================================================================
DESC: comparePL.js

PLATFORMS: 

USAGE NOTES:  var  first, last need to be defined; requires compOrder1[],compOrder2[], CS1[], CS2[], etc. 
====================================================================== */

/* ======================================================================
FUNCTION: 	

INPUT:		define: comp = new Array;  compOrder = new Array;comp1 = new Array;  compOrder1 = new Array;comp2 = new Array;  
				compOrder2= new Array; absMcPos = new Array; absMcPos1 = new Array; absMcPos2 = new Array;
					
				
RETURNS:		

DESC:							
====================================================================== */
function compare(s1,s2) {
var first1,first2,last1,last2
structurePL(s1);
comp1=comp; compOrder1 = compOrder; absMcPos1 = absMcPos
s1 = newtext;

comp = null; comp = new Array; compOrder = null; compOrder = new Array;
structurePL(s2); 
comp2=comp;  compOrder2 = compOrder; absMcPos2 = absMcPos
s2 = newtext; 
	var l1 = s1.length; var l2 =s2.length
	for ( var i=0; i<l1; i++ ) {
   	if ( s1.charAt(i) != s2.charAt(i) ) {
   		first1 = i; first2 = i; break;
		}
	}
	for ( var i=1; i<l1+1; i++ ) {
	last1=0; last2 = 0;
   	if ( s1.charAt(l1 - i ) != s2.charAt(l2 - i ) ){
   		last1 = l1 - i; last2 = l2 -i; break;
		}
	}
	cmp1=s1
	for ( var i=0; i<compOrder1.length; i++ ) {
   	var x = compOrder1[i]; 
   	if ( first1 <=x && x<= last1 ) {
   		cmp1 = comp1[x]; 
			break;
		}
	}
//time to define cmp1's structure
sub1 = ''; sub2 = ''
mc1 = s1.charAt(x); P1 = absMcPos1[x];
	if (atomic.indexOf(mc1)>-1) {
		mc1 = null; 
	}
	else if ( mc1 == '~' ) {
		sub1 = cmp1.substring(1);
	}
	else {
		sub1 = comp1[compOrder1[++i]]; 
			while ( i < compOrder1.length) {
				var y = compOrder1[++i]
					if ( y > x) {sub2 = comp1[y]	; break }
			}
	}
//on to cmp2
	for ( var i=0; i<compOrder2.length; i++ ) {
   	var x = compOrder2[i]; cmp2=s2
		if ( first2 <= x && x<= last2 ) {
   		cmp2 = comp2[x]; 
			mc2 = s2.charAt(x)
			break
		}
	}
//time to define cmp2's structure: sub21 is the cmp2's first subcomponent, p2 cmp2's 
sub21 = ''; sub22 = ''
mc2 = s2.charAt(x); P2 = absMcPos2[x];
	if (atomic.indexOf(mc1)>-1) {
		mc2 = null; 
	}
	else if ( mc2 == '~' ) {
		sub21 = cmp2.substring(1);
	}
	else {
		sub21 = comp2[compOrder2[++i]]; 
			while ( i < compOrder2.length) {
				var y = compOrder2[++i]
					if ( y > x) {sub22 = comp2[y]	; break }
			}
	}

}  
