﻿// WARNING: 
// this file has to be encoded in UTF-8
// it contains non ansi characters


function getLocalizedString(s)
{
    s = s + "";
    var a = s.split("^");
    
    if (a.length < 2)
        return s;
        
    if (g_cultureCode && (g_cultureCode == "fr-ca"))
        return a[1];
    else
        return a[0];
}

function replaceCharListsOneByOne(sSource, sMatchList, sReplacementList)
{
	if (sSource.length == 0)
		return sSource;

	if (sMatchList.length != sReplacementList.length)
	{
		alert("Match and replacement lists do not have the same number of chars!");
		return sSource;
	}

	if (sMatchList.Length == 0)
		return sSource;

	var sDest = sSource;

	for (var i = 0; i < sMatchList.length; i++)
	{
		var sMatch = sMatchList.charAt(i);
		if (sDest.indexOf(sMatch) >= 0)
		{
			var sReplacement = sReplacementList.charAt(i);

			if ("*()!$'?: ,&+-/.".indexOf(sMatch) >= 0)
			{
				// special chars
				while (sDest.indexOf(sMatch) >= 0)
				{
					sDest = sDest.replace(sMatch, sReplacement);
				}
			}
			else
			{
				var reMatch = new RegExp(sMatch, "g");
				sDest = sDest.replace(reMatch, sReplacement);	
			}
		}
	}
	return sDest;
}

function customScriptPathEncode(sScript)
{
	var sMatchList = "*()!$'?: ,&+/.ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ";
	var sReplacementList = "--------------SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy";


	// we don't want spaces encoded as "%20" for the script but as "-"
	sScript = sScript.replace(/ /g, "-");

	// we don't want % 
	sScript = sScript.replace(/%/g, "-");

	// we don't want " 
	sScript = sScript.replace(/\"/, "-");

	// we don't want # 
	sScript = sScript.replace(/#/, "-");

	// we don't want \
	sScript = sScript.replace(/\\/, "-");

	sScript = replaceCharListsOneByOne(sScript, sMatchList, sReplacementList);

	// we don't want --
	while (sScript.indexOf("--") >= 0)
	{
		sScript = sScript.replace(/--/g, "-");
	}

	// we don't want more than 64 characters
	if (sScript.Length > 64)
	{
		sScript = sScript.Substring(0, 64);
	}

	return sScript;
}  
