﻿function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" functio</>n

function trim ( s ) {
	// Remove leading spaces and carriage returns
	while ( ( s.substring ( 0, 1 ) == ' ' ) || ( s.substring (0, 1 ) == '\n') || ( s.substring (0, 1 ) == '\r' ) ) {
		s = s.substring(1,s.length);
	}
	// Remove trailing spaces and carriage returns
	while ( ( s.substring (s.length-1, s.length ) == ' ') || ( s.substring (s.length-1, s.length ) == '\n') || ( s.substring ( s.length-1, s.length ) == '\r' ) ) {
		s = s.substring (0, s.length-1 );
	}
	return s;
}

function OpenStaticHelp ( page ) {
	window.open ( page,null,'height=500,width=450,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes' )
}


function OpenUp ( page, width, height ) {
	window.open ( page,null,'height=' + height + ',width=' + width + ',status=no,toolbar=no,menubar=no,location=no,scrollbars=yes' )
}

function OpenUpResizable ( page, width, height ) {
	window.open ( page,null,'height=' + height + ',width=' + width + ',status=no,resizable=yes,toolbar=no,menubar=no,location=no,scrollbars=yes' )
}

function emailFriend ( page ) {
	var urlReferrer = getCurrentUrl ( );
	var urlToOpen = page + "?link=" + urlReferrer;
	window.open ( urlToOpen,null,'height=' + '370px' + ',width=' + '590px' + ',status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes' );
}

function emailQuote ( page ) {
	var urlReferrer = getCurrentUrl ( );
	var urlToOpen = page + "&link=" + urlReferrer;
	window.open ( urlToOpen,null,'height=' + '385px' + ',width=' + '720px' + ',status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes' );
}

function getCurrentUrl ( ) {
	var URL = escape(location.href)
	return URL;
}


function y ( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function x ( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}