	function showdiv(baliseId,e,type,disp){ var posx = mouseX(e);var posy = mouseY(e);
	var ns4=document.layers;var ie4=document.all;var ns6=document.getElementById&&!document.all;
	 if (ns4) {	document.eval(baliseId).style.visibility=type;	document.eval(baliseId).style.display=disp;
    	document.eval(baliseId).style.top = posy+10+'px';document.eval(baliseId).style.left = posx+'px';}
	else if (ns6) { document.getElementById(baliseId).style.visibility=type;document.getElementById(baliseId).style.display=disp;
    	document.getElementById(baliseId).style.top =posy+10+'px'; document.getElementById(baliseId).style.left = posx+'px';}
  	else if (ie4) {eval(baliseId).style.visibility=type;eval(baliseId).style.display=disp;eval(baliseId).style.top = posy+10+'px';
    	eval(baliseId).style.left = posx+'px';}	}
	function mouseX(evt) {if (evt.pageX) return evt.pageX;
		else if (evt.clientX)  return evt.clientX + (document.documentElement.scrollLeft ?
		   document.documentElement.scrollLeft :   document.body.scrollLeft);else return null;	}
	function mouseY(evt) {	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)   return evt.clientY + (document.documentElement.scrollTop ?
	   document.documentElement.scrollTop :	document.body.scrollTop);else return null;	}
	style='close';
	function wikidisp(e){
		obj = document.getElementById(e).style;
		obj_img=document.getElementById(e+'_img');
		if (obj.display=='none') {obj.display='block';}
		else {obj.display='none';}
		if (style=='open') {obj_img.className='close';style='close';}
		else {obj_img.className='open';style='open';}
	}
	var wikidisp_open='article';
	function wikidispulous(e) {
		if ( wikidisp_open ) {
			var old_obj_img=document.getElementById(wikidisp_open+'_img');
			if ( old_obj_img ) {
				new Effect.SlideUp(wikidisp_open, {duration:1});
				old_obj_img.className='close';
				if ( wikidisp_open == e ) {
					wikidisp_open=false;
					return;
				}
			}
			wikidisp_open=false;
		}
		var obj=$(e);
		var obj_img=document.getElementById(e+'_img');
		if ( obj.style.display=='none' ) {
			new Effect.SlideDown(e, {duration:1});
			obj_img.className='open';
			wikidisp_open=e;
		}
	}
	function change_disp(param){ var adress = (window.document.location).toString();
    adress = adress.replace(/&page=[^&]+/,'');
    var exist=adress.search(/&disp=.+/);
     if(exist != -1){
       adress = adress.replace(/&disp=[^&]+/,'&disp='+param);
			 window.document.location.href = adress;} 
		else {
			var apos = adress.indexOf('#');
			var avalue = (apos != -1)?adress.substr(apos):'';
			if ( apos != -1 ) adress = adress.substr(0,apos);
			window.document.location.href= adress+"&disp="+param+avalue;
		}
	}

	function showmore(url,title) {
	setTimeout('showmore2("'+ url +'","' + title +'")',5000);
	}
	function showmore2(url,title) {
	  var pos = window.location.href.indexOf("?");
	  if (pos == -1) {
	    document.location=window.location+"?page=1&action=url:"+url+"&title="+title;
	  } else {
	    document.location=window.location+"&page=1&action=url:"+url+"&title="+title;
	  }
	}

function createXMLHttpRequest() {
        var xmlhttp=false;
        /*@cc_on @*/
        /*@if (@_jscript_version >= 5)
        // JScript gives us Conditional compilation, we can cope with old IE versions.
        // and security blocked creation of the objects.
        try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
        try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
        xmlhttp = false;
        }
        }
        @end @*/
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                try {
                        xmlhttp = new XMLHttpRequest();
                } catch (e) {
                        xmlhttp=false;
                }
        }
        if (!xmlhttp && window.createRequest) {
                try {
                        xmlhttp = window.createRequest();
                } catch (e) {
                        xmlhttp=false;
                }
        }

        return xmlhttp;
}

function switchShow(box,box2) {
	var elt = $(box);
	if ( elt ) {
		if ( elt.style.display=='none' ) new Effect.SlideDown(box, {duration:1});
		else new Effect.SlideUp(box, {duration:1});
	}
	if ( box2 ) {
		if ( $(box2).style.display!='none' ) new Effect.SlideUp(box2, {duration:1});
	}
}

function switchShowOn(box,box2) {
	var elt = $(box);
	if ( elt ) {
		if ( elt.style.display=='none' ) new Effect.SlideDown(box, {duration:1});
	}
	if ( box2 ) {
		if ( $(box2).style.display!='none' ) new Effect.SlideUp(box2, {duration:1});
	}
}

function add_to_basket(url) {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/add_to_basket.php?url=" + encodeURI(url), true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.responseText != '') document.getElementById('basket-top').style.display = 'block';
			document.getElementById('basket').innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function remove_from_basket(id) {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/remove_from_basket.php?ids=" + id,true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.responseText == "") document.getElementById('basket-top').style.display = 'none';
        	        document.getElementById("basket").innerHTML = xmlhttp.responseText;
		}
        }

        xmlhttp.send(null);
}

function remove_all_from_basket() {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/remove_all_from_basket.php", true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
			document.getElementById('basket-top').style.display = 'none';
        	        document.getElementById("basket").innerHTML = xmlhttp.responseText;
		}
        }

        xmlhttp.send(null);
}

function save_basket() {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/save_basket.php", true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("basket").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function display_basket() {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/display_basket.php", true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("basket").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function mail_basket() {
	var mail = document.getElementById('basketemail').value;

        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/mail_basket.php?mail=" + mail, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("basket").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_message(msg) {
	var message = document.createTextNode(msg);
	var my_message = document.getElementById("my_message");
	while(my_message.hasChildNodes()) my_message.removeChild(my_message.firstChild);
	document.getElementById("my_message").appendChild(message);
}

function my_login() {
	var my_content = document.getElementById('my_content');

	var email = document.getElementById('my_email').value;

	if (email == "") {
		my_message('email missing');
		return;
	}

	var password = document.getElementById('my_password').value;

	if (password == "") {
		my_message('password missing');
		return;
	}

	var lang = document.getElementById("loginlang").value;

        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_login.php?email=" + email + "&password=" + password + "&lang=" + lang, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_logout() {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_logout.php", true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_register(submit) {
        var xmlhttp = createXMLHttpRequest();
	var query = "";
	if (submit) {
		query += "?submit=1";

		var email = document.getElementById('my_email').value;
		if (email == "") {
			my_message('email missing');
			return;
		}
		query += "&email=" + email;

		var password = document.getElementById('my_password').value;
		if (password == "") {
			my_message('password missing');
			return;
		}
		query += "&password=" + password;

		var passwordcheck = document.getElementById('my_password_check').value;
		if (password != passwordcheck) {
			my_message("password doesn't match");
			return;
		}
	}
        xmlhttp.open("GET", "ajax/my_register.php" + query, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_lost(submit) {
        var xmlhttp = createXMLHttpRequest();
	var query = "";
	if (submit) {
		query += "?submit=1";

		var email = document.getElementById('my_email').value;
		if (email == "") {
			my_message('email missing');
			return;
		}
		query += "&email=" + email;
	}
        xmlhttp.open("GET", "ajax/my_lost.php" + query, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_content(lang) {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_content.php?lang=" + lang, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_engine() {
	var engines = document.getElementsByName('userengine');
	var n = engines.length;
	var engine;

	for(var i = 0;i < n;i++) {
		if (engines[i].checked) {
			engine = engines[i].value;
		}
	}

        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_engine.php?engine=" + engine, true);
        xmlhttp.send(null);
}

function my_new_engine(lang, submit) {
	var query = "?lang=" + lang;
	if (submit) {
		query += "&submit=1";

		var enginename = document.getElementById('newenginename').value;
		if (enginename == "") {
			my_message("You must choose an engine name");
			return;
		}
		query += "&name=" + enginename;

		var engines = "";
		var selectedengines = document.getElementsByName("selectedengine");
		var n = selectedengines.length;
		for(var i = 0;i < n;i++) {
			if (selectedengines[i].checked) {
				if (engines == "") engines = selectedengines[i].value;
				else engines += "," + selectedengines[i].value;
			}
		}
		if (engines == "") {
			my_message("You must select at least one engine");
			return;
		}
		query += "&engines=" + engines;
	}

        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_new_engine.php" + query, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

function my_remove_from_list(listname, engine) {
	var list = document.getElementsByName(listname);
	var n = list.length;

	for(var i = 0;i < n;i++) {
		if (list[i].value == engine) {
			var li = list[i].parentNode;
			li.parentNode.removeChild(li);
			return;
		}
	}
}

function my_add_to_list(listname, engine, callback, checked) {
	var li = document.createElement("li");

	var checkbox = document.createElement("input");
	checkbox.setAttribute("type", "checkbox");
	checkbox.setAttribute("name", listname);
	checkbox.setAttribute("value", engine);
	if (checked) checkbox.setAttribute("checked", true);
	checkbox.addEventListener("click", callback, false);
	li.appendChild(checkbox);

	li.appendChild(document.createTextNode(engine));

	var selectedengines = document.getElementById(listname + "s");
	selectedengines.appendChild(li);
}

function my_unselect_engine(engine) {
	my_add_to_list("availableengine", engine, function() { my_select_engine(engine); }, false);
	my_remove_from_list("selectedengine", engine);
}

function my_select_engine(engine) {
	my_add_to_list("selectedengine", engine, function() { my_unselect_engine(engine); }, true);
	my_remove_from_list("availableengine", engine);
}

function my_engine_list() {
	var lang = document.getElementById('enginelang').value;

        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_engine_list.php?lang=" + lang, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("availableengines").innerHTML = xmlhttp.responseText;

			var selected = Array();
			var selectedengines = document.getElementsByName("selectedengine");
			var n = selectedengines.length;

			for(var i = 0;i < n;i++) {
				selected.push(selectedengines[i].value);
			}

			var availableengines = document.getElementsByName("availableengine");
			var n = availableengines.length;

			var toremove = Array();

			for(var i = 0;i < n;i++) {
				if (selected.indexOf(availableengines[i].value) != -1) {
					var li = availableengines[i].parentNode;
					toremove.push(li);
				}
			}

			for(var i = 0;i < n;i++) {
				var li = toremove[i];
				li.parentNode.removeChild(li);
			}
		}
        }
        xmlhttp.send(null);
}

function my_engine_remove(engine) {
        var xmlhttp = createXMLHttpRequest();
        xmlhttp.open("GET", "ajax/my_engine_remove.php?engine=" + engine, true);
        xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState == 4) {
        	        document.getElementById("my_content").innerHTML = xmlhttp.responseText;
		}
        }
        xmlhttp.send(null);
}

var dn_auto_token = 1;
var last_auto_input = '';
var auto_curs = -1;
var auto_curs_max = 0;
var dn_reloading = false;
var dn_relocated = false;

function dn_auto_complete_continue(elt,e) {
  if ( !e ) e = window.event;
  var key = e.keyCode? e.keyCode : e.charCode;
  switch ( key ) {
    case 38:
    case 40:
      stop_event(e);
      dn_auto_complete(document.getElementById('action'),e);
    case 13: break;
    default: document.getElementById('action').focus();
  }
  return true;
}

function dn_auto_invalidate() {
  var div = $('dncomplete');
  if ( div ) {
    var children = div.getElementsByTagName('li');
    for ( i=0 ; i<children.length ; i++ ) {
      children[i].className='';
    }
    if (( auto_curs >= 0 )&&( auto_curs < children.length )) {
      children[auto_curs].className='dn_selected';
      children[auto_curs].childNodes[0].focus();
    }
  }
}

function stop_event(e) {
  if (e.stopPropagation) {
    e.stopPropagation();
  } else {
    e.cancelBubble = true;
  }
}

function arrow_catch(e) {

  if ( !e ) e = window.event;
  var key = e.keyCode? e.keyCode : e.charCode;
  switch ( key ) {
    case 38: // up
    case 40: // down
      stop_event(e);
      return false;
  }
  return true;
}

function dn_auto_complete(elt,e) {
  if ( !e ) e = window.event;
  var key = e.keyCode? e.keyCode : e.charCode;
  var div = document.getElementById("dncomplete");
  switch ( key ) {
    case 38: // up
      div.style.display='block'
      if ( auto_curs>0 ) {
        auto_curs--;
        dn_auto_invalidate();
      }
      if ( auto_curs<0 ) {
        auto_curs = auto_curs_max-1;
        dn_auto_invalidate();
      }
      break;
    case 40: // down
      div.style.display='block'
      if ( auto_curs < auto_curs_max-1 ) {
        auto_curs++;
        dn_auto_invalidate();
      }
      break;
    case 27:
      auto_curs=-1;
      dn_auto_invalidate();
      div.style.display='none';
      break;
  }
  var q = elt.value;
  if ( q == last_auto_input ) return true;
  dn_reloading = true;
  last_auto_input = q;
  if ( q.indexOf(' ')>0 ) q='';
  init_auto_complete(q);
  return true;
}
function dn_clicked() {
  var recent = document.getElementById('irecent');
  if ( !recent ) document.location = '/?lang='+lang;
  else {
    var div = document.getElementById('dncomplete');
    if ( div ) div.style.display='none';
    setTimeout("var recent = document.getElementById('irecent'); var favorite = document.getElementById('ifavorite'); if ( recent ) recent.src = recent.src; if ( favorite ) favorite.src = favorite.src;", 1000 );

  }
  return true;
}
function init_auto_complete(q) {
  var div = $('dncomplete');
 	if ( !dn_relocated ) {
  		var base = $('action');
  		if ( base ) {
  			div.clonePosition( base, {setHeight:false,offsetTop:25} );
  			div.setStyle({width: (div.getWidth()-2)+'px'});
  		}
  		dn_relocated = true;
  	}
  if ( q ) {
    var this_token = dn_auto_token++;
    div.style.display='block';
    var xmlhttp = createXMLHttpRequest();
    xmlhttp.open("GET", "ajax/dncomplete.php?q=" + q + "&token=" + this_token, true);
    xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState == 4) {
        var html = xmlhttp.responseText;
        var regToken = new RegExp('<!-- token='+this_token+' -->');
        if ( html.match(regToken) ) {
          document.getElementById('action').focus();
          document.getElementById("dncomplete").innerHTML = html;
          dn_reloading = false;
          auto_curs=-1;
          var regs = /<!-- nlines=([0-9]+) -->/.exec(html);
          if ( regs ) auto_curs_max = regs[1]; else auto_curs_max = 0;
          if ( auto_curs_max==0 ) { div.style.display='none'; }
        }
      }
    }
    xmlhttp.send(null);
  } else div.style.display='none';
}
function body_mouse() {
  var div = document.getElementById("dncomplete");
  if ( div ) div.style.display='none';
  return true;
}

var GoogleItem = Class.create({
	initialize: function(elt,data) {
		this.anchor = elt;
		this.url = data.url;
		this.hideUnique = 0;
		this.anchor.setStyle({textDecoration:'underline'});
		this.popup = new Element('div',{'title':data.visible_url.stripTags()});
		this.popup.setStyle({display:'none'});
		this.popup.addClassName( 'googlepopup' );
		$('page-box').insert( this.popup );
		var link = new Element('a',{'href':'http://services.google.com/feedback/abg','target':'_blank','title':'Information about google ads'}).update('Google Ads');
		link.observe('click', this.linkClick );
		link.addClassName('googleheader');
		this.popup.insert( link );
		this.popup.insert( new Element('img',{'src':'images/del_panier.png','title':'close'}).observe('click',this.close.bind(this)) );
		this.popup.insert( new Element('a').addClassName('google').update(data.line1) );
		this.popup.insert( new Element('br') );
		this.popup.insert( data.line2 );
		this.popup.insert( new Element('br') );
		this.popup.insert( data.line3 );
		this.popup.insert( new Element('br') );
		this.popup.insert( new Element('a').addClassName('google_url').update(data.visible_url) );
		this.popup.clonePosition( elt, {setWidth:false,setHeight:false,offsetLeft:-60,offsetTop:20} );
		this.popup.observe('click', this.onClick.bind(this));
		
		this.anchor.observe('mouseover', this.show.bind(this));
		this.anchor.observe('mouseout', this.hide.bind(this));
		
		this.popup.observe('mouseover', this.popupIn.bind(this));
		this.popup.observe('mouseout', this.popupOut.bind(this));
	},
	linkClick: function(event) { window.location='http://services.google.com/feedback/abg'; event.stop(); },
	onClick: function(event) { window.location=this.url; event.stop(); },
	popupIn: function() { 
		this.inPopup = true; 
		this.hideToken = false; 		
		this.popup.setStyle({'zIndex':(GoogleItem.currentZ++)}); },
	popupOut: function() { this.inPopup = false; },
	show: function() {
		this.inPopup = true;
		this.hideToken = false;
		this.popup.setStyle({'zIndex':(GoogleItem.currentZ++)});
		if ( this.popup.style.display == 'none' ) 
			new Effect.Appear(this.popup,{duration:0.5,fps:10});
	},
	close: function(event) {
		if ( event ) event.stop();
		this.inPopup = false;
		this.popup.hide();
	},
	hide: function() {
		this.hideToken = false;
		this.inPopup = false;
		this.hideUnique++;
		var meUnique = this.hideUnique;
		var me = this;
		new PeriodicalExecuter(function(pe) {
			if ( meUnique != me.hideUnique ) { pe.stop(); return; }
			if ( !me.inPopup ) {
				if ( !me.hideToken ) me.hideToken = true;
				else {
					new Effect.Fade(me.popup,{duration:0.5,fps:10});
			    pe.stop();
			  }
		  }
		}, 1);
	}
});

GoogleItem.currentZ = 100;

function google_popup_insert( data ) {
	var bs = $$('#main-column b');
	var n = bs.length; if ( n > 25 ) n = 25;
	for ( var i = 0 ; i < n ; i++ ) {
		new GoogleItem( bs[i], data[i%data.length] );
	}
}

