// this website shall not be included in an iframe
//if(top.frames.length != 0) { top.location = self.document.location; }

// permet d'ajouter ou de supprimer un événement par objet dans la page ~ http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
function addEvent(obj,type,fn) {
	if(obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	} else if(obj.attachEvent) {
		obj["e"+type+fn]=fn;
		obj[type+fn]=function() {
			obj["e"+type+fn]( window.event );
		}
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent(obj,type,fn) {
	if(obj.removeEventListener) {
		obj.removeEventListener(type,fn,false);
	} else if(obj.detachEvent) {
		obj.detachEvent("on"+type,obj[type+fn]);
		obj[type+fn]=null;
		obj["e"+type+fn]=null;
	}
}

function changeElement(element) {
	return function() {
		for(var i=0;i<ids.length;i++) {
			if(document.getElementById(ids[i][1])==element) {
				if(element.value==elementValues[i] && ids[i][1]!='web') {
					element.value='';
				} else if(element.value=='') {
					element.value=elementValues[i];
				}
				document.getElementById(ids[i][2]).checked=true;
			}
		}
	}
}



// browser detection
var myBrowser = {
	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: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			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: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome",
			versionSearch: "Chrome"
		},
		{
			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.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
myBrowser.init();
//alert(myBrowser.browser + myBrowser.version + " on " + myBrowser.OS);



// focus on the right field (forms)
function focused() {
	var inputs = document.getElementsByTagName('input');
	if(inputs) {
		for(i=0; i<inputs.length; i++) {
			elem = inputs[i];
			if((elem.type == "text" || elem.type == "password") && elem.className != "signin_text") {

				//alert(i + " / " + elem.type + " / " + elem.id + " / " + elem.className + " / " + elem.name);

				elem.onfocus=function() {
					this.focused=true;
					this.style.backgroundColor = "#fff";
					this.style.border = "1px #bbb solid";
				};
				elem.onblur=function() {
					this.focused=false;
					this.style.backgroundColor = "#fff";
					this.style.border = "1px #888 solid";
				};
			}
		}
	}
}

function fieldfocus() {
	var fields = document.getElementsByTagName('input');
	for(i=0; i<fields.length; i++) {
		var field = fields[i];

		if((field.type == "text" || field.type == "password") && field.className != "signin_text" && field.disabled != true) {

			//alert(i + " / " + field.type + " / " + field.id + " / " + field.className + " / " + field.name);

			//focused();

			field.focus();
			if(field.id == "input_url") { field.value = "http://"; }
			return;
		}
	}
}


// launch things when page is loaded
function launch() {
	fieldfocus();
	bodyclick();
	helpcenter();
}

addEvent(window, 'load', launch);




// toolbar keyborad
function generateCharMAP() {
    var charMAP = "", lstCHAR = new Array("&#0161;","&#0191;","&#0162;","&#0163;","&#0165;","&#8364;","&#0164;","&#0166;","&#0167;","&#0168;","&#0169;","&#0174;","&#8482;","&#0170;","&#0172;","&#0175;","&#0176;","&#0180;","&#0181;","&#0182;","&#0183;","&#0184;","&#0186;","&#8220;","&#8221;","&#8222;","&#0171;","&#0187;","&#0185;","&#0178;","&#0179;","&#0188;","&#0189;","&#0190;","&#0247;","&#0215;","&#0177;","&#8240;","&#0402;","&#8211;","&#8212;","&#0198;","&#0230;","&#0199;","&#0231;","&#0208;","&#0240;","&#0209;","&#0241;","&#0216;","&#0248;","&#0254;","&#0222;","&#0223;","&#0140;","&#0156;","&#0352;","&#0353;","&#0192;","&#0193;","&#0194;","&#0195;","&#0196;","&#0197;","&#0200;","&#0201;","&#0202;","&#0203;","&#0204;","&#0205;","&#0206;","&#0207;","&#0210;","&#0211;","&#0212;","&#0213;","&#0214;","&#0217;","&#0218;","&#0219;","&#0220;","&#0221;","&#0376;","&#0224;","&#0225;","&#0226;","&#0227;","&#0228;","&#0229;","&#0232;","&#0233;","&#0234;","&#0235;","&#0236;","&#0237;","&#0238;","&#0239;","&#0242;","&#0243;","&#0244;","&#0245;","&#0246;","&#0249;","&#0250;","&#0251;","&#0252;","&#0253;","&#0255;");
    for(var i=0; i < lstCHAR.length; i++) {
		( lstCHAR[i] != "<br />" ? charMAP += '<a href="javascript:void 0;" onclick="systranBox.specCHAR(innerHTML);" title="'+ lstCHAR[i] +'">'+ lstCHAR[i] +'</a>' : charMAP += lstCHAR[i] );
	}
	document.write(charMAP);
}

function showKeyboard() {
    var keyboard = document.getElementById("charMAP");
    if(keyboard.style.display == "none") {
        keyboard.style.display = "block";
    }
    else {
        keyboard.style.display = "none";
    }
}





// menu styles rollover
function rollover(x) {
	if(x.className != 'menulink on') x.className = 'menulink roll';
}
function rollout(x) {
	if(x.className != 'menulink on') x.className = 'menulink';
}

function rolloverlog(x) {
	if(x.className != 'menulink log on') x.className = 'menulink log roll';
}
function rolloutlog(x) {
	if(x.className != 'menulink log on') x.className = 'menulink log';
}


// black bubble boxes
function bubbleOpen(elem,other1,other2) {
	 clicked=true;
	document.getElementById(other1).style.display='none';
	document.getElementById(other2).style.display='none';
	document.getElementById(elem).style.display='block';
}
function bubbleClose(elem) {
	document.getElementById(elem).style.display='none';
}



// close all black bubble boxes & layer zones
var clicked=false;

function bodyclick() {
	if(document.getElementById("login")){
		var x = document.getElementById("login");
		x.onclick=function(){ clicked=true; }
		var a = document.getElementsByTagName("body");
		if (a[0]) {
			a[0].onclick=function(){
				if(!clicked) {
					bubbleClose('login');
					bubbleClose('systranet');
					bubbleClose('help');
					// close helpcenter
					var i= document.getElementById("helpsummary");
					var j= document.getElementById("level1");
					i.className="hidden";
					j.className="";
				} else { clicked=false; }
			}
		} else {
			clicked=false;
		}
	}
}


// help center menu
function helpcenter() {
	if(document.getElementById("helplink")){
		var h = document.getElementById("helplink");
		var i = document.getElementById("helpsummary");
		var j = document.getElementById("level1");
		var xclick;
		//alert("original state: clicked = " + clicked);
		h.onclick=function(){
			//alert("xclick = " + xclick);
			//alert("beginning: clicked = " + clicked);
			if(!clicked){
				if(xclick=="ok"){ clicked=true; }
				else { clicked=false; }
			}
			//alert("beginning: clicked = " + clicked);
			if(!clicked){
				//alert("change to true");
				i.className="visible";
				j.className="active";
				clicked=true;
				xclick="ok";
			}
			else if(clicked){
				//alert("change to false");
				i.className="hidden";
				j.className="";
				clicked=false;
				xclick="no";
			}
			//alert("end: clicked = " + clicked);
		}
	}
}



// login bubble form
function login(next) {
    if(next.indexOf("logout") > -1) {
        next = "/";
    }
    document.getElementById("next").value = next;

	bubbleOpen('login','systranet','help');
}



/*
// language selection
var url = document.location.href;


// strpos for js
function strpos(haystack, needle, offset) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
    // *     returns 1: 14
    var i = haystack.indexOf( needle, offset ); // returns -1
    return i >= 0 ? i : false;
}
*/




// toolbar images rollovers
function btnHover(obj) {
    obj.src = obj.src.substring(0, obj.src.lastIndexOf("-")) + "-over.gif";
}

function btnNormal(obj) {
    obj.src = obj.src.substring(0, obj.src.lastIndexOf("-")) + "-normal.gif";
}

function btnPressed(obj) {
    obj.src = obj.src.substring(0, obj.src.lastIndexOf("-")) + "-pressed.gif";
}


// social share rollovers
function btnRollover(elem) {
	document.getElementById(elem).style.display='block';
}
function btnRollout(elem) {
	document.getElementById(elem).style.display='none';
}
