﻿//Javascript translations.
var asynchronTranslateCompleted = false;
var firstLoad = true;
var translatedTexts = [];
translatedTexts["PreCom webb har stöd för följande webbläsare och versioner:"] = "PreCom webb har stöd för följande webbläsare och versioner:";
translatedTexts["PreCom webb har inte stöd för din webbläsare eller webbläsarens version:"] = "PreCom webb har inte stöd för din webbläsare eller webbläsarens version:";
translatedTexts["Webbläsare"] = "Webbläsare";
translatedTexts["Version"] = "Version";
translatedTexts["Operativsystem"] = "Operativsystem";
translatedTexts["har även stöd för senare versioner"] = "har även stöd för senare versioner";


//Detect browser.
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Internet Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
 
};
BrowserDetect.init();

// The PreCom Web Start module script entry point.
// Fetches the map settings from the web service.
function doOnLoad(){
    var textsToTranslate = [];
    for(text in translatedTexts){
        textsToTranslate.push(text);
    }
    PreCom.Product.Translation.Web.WebServices.LanguageWebService.Translate(textsToTranslate, OnTranslationComplete, OnTranslationFailed);
}

function OnTranslationComplete(result){
    var i = 0;
    for(key in translatedTexts){
        translatedTexts[key] = result[i];
        i++;
    }
    asynchronTranslateCompleted = true;
}

function OnTranslationFailed(error){
    alert("Ett fel uppstod.");
}

function detectBrowser()
{
    switch(BrowserDetect.browser)
    {
        case "Internet Explorer":
            //We dont support IE below 7.
            if(BrowserDetect.version <= 6){
                browserNotSupported();
            }
            break;
        case "Firefox":
            //We dont support FF version below 3.
            if(BrowserDetect.version < 3){
                browserNotSupported();
            }
            break;
        default:
            browserNotSupported();
    }
}

//function detectBrowser2()
//{
//    switch(BrowserDetect.browser)
//    {
//        case "Internet Explorer":
//            //We dont support IE below 7.
//            if(BrowserDetect.version <= 6){
//                browserNotSupported2();
//            }
//            break;
//        case "Firefox":
//            //We dont support FF version below 3.
//            if(BrowserDetect.version < 3){
//                browserNotSupported2();
//            }
//            break;
//        default:
//            browserNotSupported2();
//    }
//}

function browserNotSupported()
{
    var div = document.getElementById('informationDiv');
    var label = document.getElementById('InformationLabel');

    div.style.display = "";
    div.style.visibility = "visible";
    
    label.innerHTML = translatedTexts["PreCom webb har stöd för följande webbläsare och versioner:"] + 
    "<br />" + 
    "<strong>Internet Explorer 7 +</strong><br />" +
    "<strong>Firefox 3.0 +</strong><br />" +
    "(+ " + translatedTexts["har även stöd för senare versioner"] + ").<br /><br />" + 
    ["PreCom webb har inte stöd för din webbläsare eller webbläsarens version:"] + "<br />" +
    "<strong>" + BrowserDetect.browser + " " + BrowserDetect.version + "</strong><br />";
    
    var browserHidden = document.getElementById('BrowserHidden');
    var browserVersionHidden = document.getElementById('BrowserVersionHidden');
    
    browserHidden.value = BrowserDetect.browser;
    browserVersionHidden.value = BrowserDetect.version;
}

//function browserNotSupported()
//{   
//    var browserHidden = document.getElementById('BrowserHidden');
//    var browserVersionHidden = document.getElementById('BrowserVersionHidden');
//    
//    browserHidden.value = BrowserDetect.browser;
//    browserVersionHidden.value = BrowserDetect.version;
//}

function deleteCookie() 
{ 
    var d = new Date(); 
    document.cookie = "v0=1;expires=" + d.toGMTString() + ";" + ";"; 
    //alert(document.cookie); 
} 
