//FROM MEDIAWIKI

var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
if (clientPC.indexOf('opera')!=-1) {
    var is_opera = true;
    var is_opera_preseven = (window.opera && !document.childNodes);
    var is_opera_seven = (window.opera && document.childNodes);
}


function insertTags(txtarea, tagOpen, tagClose, sampleText) {

	// IE
	if(document.selection  && !is_gecko) {
		var theSelection = document.selection.createRange().text;
		if (!theSelection) { theSelection = sampleText; }
		txtarea.focus();
		if (theSelection.charAt(theSelection.length - 1) == " ") {// exclude ending space char, if any
			theSelection = theSelection.substring(0, theSelection.length - 1);
			document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
		} else {
			document.selection.createRange().text = tagOpen + theSelection + tagClose;
		}

	// Mozilla
	} else if (txtarea.selectionStart || txtarea.selectionStart == '0') {
 		var startPos = txtarea.selectionStart;
		var endPos = txtarea.selectionEnd;
		var scrollTop = txtarea.scrollTop;
		var myText = (txtarea.value).substring(startPos, endPos);
		if (!myText) { myText = sampleText; }
		if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
			subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
		} else {
			subst = tagOpen + myText + tagClose;
		}
		txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length);
		txtarea.focus();

		var cPos = startPos + (tagOpen.length + myText.length + tagClose.length);
		txtarea.selectionStart = cPos;
		txtarea.selectionEnd = cPos;
		txtarea.scrollTop = scrollTop;

	// All others
	} else {
		var copy_alertText = alertText;
		var re1 = new RegExp("\\$1","g");
		var re2 = new RegExp("\\$2","g");
		copy_alertText = copy_alertText.replace(re1,sampleText);
		copy_alertText = copy_alertText.replace(re2,tagOpen + sampleText + tagClose);
		var text;
		if (sampleText) {
			text = prompt(copy_alertText);
		} else {
			text = "";
		}
		if (!text) { text = sampleText; }
		text = tagOpen + text + tagClose;
		document.infoform.infobox.value = text;
		
		// in Safari this causes scrolling
		if (!is_safari) {
			txtarea.focus();
		}
		noOverwrite=true;
	}

	// reposition cursor if possible
	if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();

}


function makeRequest(url, param, lang) {

	var http_request = false;

	url = url + encodeURI(param);
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { alertContents(http_request, lang); };
	http_request.open('GET', url, true);
	http_request.send(null);

}

var element = 'status_description';

function alertContents(http_request, lang) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var content = http_request.responseText;
			
			var rel = new RegExp("<!--ALERT-->","g");
			
			if (content.match(rel)) {
				if (lang == 'fr') {
					alert("Vous pouvez consulter votre panier d'achat en tout temps dans la marge de gauche sous le menu. Vos achats seront automatiquement effaces apres 30 minutes d'inactivite sur le site.");
				} else {
					alert("Your shopping cart is available in all time under the main menu. Your items will be deleted after 30 minutes of inactivity on this Website.");
				}
			}
			
			if (lang == 'fr') {
				document.getElementById(element + '_fr').innerHTML = content;
			} else {
				document.getElementById(element + '_en').innerHTML = content;
			}
		}
	}
}

function setElement(param) {
	element = param;	
}

