/*
	get js string from vb.
  done with compatibility to SetVBStringForJS() vb function
  (should be found in functions.asp include file),
  using the character `.
  if ` character is found (single) in string, it is being replaced with \" .
  note: the character ` is illegal for original string (before vb conversion).
*/
function GetJSStringFromVB(p_str)
{
	var l_char;
	var l_length = p_str.length;
	var l_returnString = "";
	
	for(var l_counter = 0; l_counter < l_length; l_counter++)
	{
		l_char = p_str.charAt(l_counter);
		if(l_char == "`") l_char = "\"";
		l_returnString += l_char;
	}
	
	return l_returnString;
}

/*-------------------------/
/  Reverse-Text Functions  /
/-------------------------*/
	
var c_RTJS_Numbers = 0;
var c_RTJS_English = 1;
var c_RTJS_NumbersEnglish = 2;
	
function ReverseTextJS(p_str, p_mode)
{
	var l_currentChar, l_strReversed;
	var l_str = p_str.toString();
	var l_returnString = "";
	
	for(var l_counter = 0; l_counter < l_str.length; l_counter++)
	{
		l_currentChar = l_str.charAt(l_counter);
		
		if(IsCharToReverseJS(l_currentChar, p_mode) && (l_currentChar != ".") && (l_currentChar != " ") && (l_currentChar != "_"))
		{
			l_strReversed = GetReverseTextJS(l_str.slice(l_counter), p_mode);
			l_returnString += l_strReversed;
			l_counter += l_counter + l_strReversed.length - 1;
		}
		else
			l_returnString += l_currentChar;
	}
	
	return l_returnString;
}

function IsCharToReverseJS(p_char, p_mode)
{
	var l_relevantChars;
	
	switch(p_mode)
	{
		case c_RTJS_Numbers:
			l_relevantChars = "0123456789._ ";
			break;
		case c_RTJS_English:
			l_relevantChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._ ";
			break;
		case c_RTJS_NumbersEnglish:
			l_relevantChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._ ";
			break;
	}
	
	return (l_relevantChars.indexOf(p_char) == -1 ? false : true);
}
	
function GetReverseTextJS(p_str, p_mode)
{
	var l_counter, l_returnString, l_charsToReverseLength;
		
	l_returnString = p_str.charAt(0);
	
	l_counter = 2;
	while(IsCharToReverseJS(p_str.charAt(l_counter), p_mode) && (l_counter < p_str.length))
		l_counter += 1;
	
	if((p_str.charAt(l_counter - 1) == ".") || (p_str.charAt(l_counter - 1) == " ") || (p_str.charAt(l_counter - 1) == "_"))
		l_counter -= 1;
	
	if(l_counter > 2)
	{
		l_charsToReverseLength = l_counter - 1;
		l_returnString = "";
		for(l_counter = l_charsToReverseLength; l_counter >= 0; l_counter--)
			l_returnString += p_str.charAt(l_counter);
	}
	
	return l_returnString;
}

function PopupWindow(p_url, p_windowName)
{
	var l_width = screen.width - 10;
	var l_height = screen.height - 50;
	var l_left = 0;
	var l_top = 0;
	
	window.open(p_url, p_windowName, 'toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=1, resizable=0, left=' + l_left + ', top=' + l_top + ', width=' + l_width + ', height=' + l_height);
	
	return false;
}

//===================================================//

// variables for encode quotes functions
var EQSingle = 0;
var EQDouble = 1;
var EQBoth = 2;

// This function recieves a string, doubles single quote characters
// and double quote characters, and returns the edited string.	
function EncodeQuotes(strInput, EncodeMode) {
	var returnString = strInput;
	// find out which character to double (according to "mode")
	switch (EncodeMode) {
	  case EQSingle:
			returnString = EncodeCharInString(strInput, '\'');
			break;
	  case EQDouble:
			returnString = EncodeCharInString(strInput, '"');
			break;
	  case EQBoth:
			returnString = EncodeCharInString(strInput, '\'');
			returnString = EncodeCharInString(returnString, '"');
			break;
	}
	
	return returnString;
}

// move along the characters in the string
// and send characters to "DoubleChar"
function EncodeCharInString(inputString, CharToEncode) {
	var stringLength;
	var charPosition;
	var chrCheck;
	var returnString;
	var stringToWorkOn;
	
	// init return string
	returnString = "";
	
	stringToWorkOn = inputString.toString();
	stringLength = stringToWorkOn.length;
	
	for(charPosition = 0; charPosition < stringLength; charPosition++) {
		chrCheck = stringToWorkOn.charAt(charPosition);
		returnString += EncodeChar(chrCheck, CharToEncode);
	}
	
	return returnString;
}
	
// if character matches the qoute character then double it
function EncodeChar(charInString, charToEncode) {
	var returnString;
	
	returnString = charInString;
	if(charInString == charToEncode) {
		if(charToEncode == "\"")
			returnString = "&quot";
		else
			returnString = "\\"+ charInString;
	}
		
	return returnString;
}
