/*
 ======================================================================
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE PRODUCER OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.

THE PRODUCER:
Andreas Imhof
EDV-Dienstleistungen
CH-Guemligen, Switzerland
www.aiedv.ch

CREATED: 2004
Version: 1.0
Version date: 20041128
======================================================================
*/

// a general override for the language to set
// leave it empty to automatically detect the browser's language
// currently you may set it to 'de' 'en' 'fr'
var browser_language_override = "";

var cur_lang = "en";	//	language as short text like de fr en - set default to english
var cur_lang_ID = 0;	//	language iIDs:
						//	0 en
						//	1 de
						//	2 fr

var browser_lang;
var browser_name;
var lang_override = "";
var lang_override_arr = null;
try {
	lang_override_arr = window.location.search.split("?");
	lang_override_arr = lang_override_arr[1].split("=");
} catch(e) {}	// like ?l=de
if (lang_override_arr != null) {	// try to find a l and en pair
	for (var i = 0; i < lang_override_arr.length; i += 2) {
		if ( (lang_override_arr[i] == "l") || (lang_override_arr[i] == "lang") ) {
			lang_override = lang_override_arr[i+1];
			break;
		}
	}
}
//alert("lang_override: " + lang_override);

function get_language(func)
{
	if (lang_override != "") {
		cur_lang = lang_override;
	}
	else {
		switch (func) {
			case 0: {	// init language
				if (navigator.appName.toUpperCase().indexOf("EXPLORER") > -1) {	// for Internet Explorer
					cur_lang = browser_lang = navigator.userLanguage.substr(0,2);
					browser_name = navigator.appName;
					browser_version = navigator.appVersion;
					//alert("Explorer userLanguage: " + cur_lang);
				}
				else {//like: " Mozilla/5.0 (Macintosh, U; PPC Mac OS X Mach-O; de-DE; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
					//lets filter the 4th part - semicolon separated - within the ()
					try {
						if (window.navigator.language) {
							cur_lang = browser_lang = window.navigator.language.substr(0,2);
						}
						else {
							var start=navigator.userAgent.indexOf("("),
								end=navigator.userAgent.indexOf(")"),
								verstr=navigator.userAgent.substring(start+1,end),
								parts=verstr.split("; ");
							if (parts.length > 3) cur_lang=parts[3].substr(0,2);	// FF 4, opera WIN have 3 parts only
							else {
								cur_lang = "en";
								try {	// may be, we should get this from HTTP_ACCEPT_LANGUAGE
									cur_lang = window.navigator.language.substr(0,2);
								} catch(e) { cur_lang = "en"; }
							}
						}
						browser_name = navigator.appName;
						browser_version = navigator.appVersion;
					} catch(e) { cur_lang="en"; }
					//alert("Other browser language: " + cur_lang);
				}
				break;
			}
		}
	}

	switch (cur_lang) {
		case "en": cur_lang_ID = 0;
			break;
		case "de": cur_lang_ID = 1;
			break;
		case "fr": cur_lang_ID = 2;
			break;
		default: cur_lang_ID = 0;
			break;
	}

	return(null);
}


