
// INCONTOURNABLES
 function getHTTPObject(callBack) {
	 var xhr;

	if (window.XMLHttpRequest) {
	   xhr = new XMLHttpRequest();
	   if (xhr.overrideMimeType) xhr.overrideMimeType("text/xml");
	 } else {
	   if (window.ActiveXObject) {
		 try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } 
		 catch (e) {
		   try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } 
			catch (e) { window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest."); } 
		 }
	   }
	 }

	 if (xhr) {
		 xhr.onreadystatechange=function() {
			if (xhr.readyState == 4 && xhr.status == 200) callBack( xhr.responseXML.documentElement);
		 };
	  }
	  return xhr;
}


function inThatDivPut(divId,texte) {
  if (document.getElementById) document.getElementById(divId).innerHTML = texte;
  else document.all[divId].innerHTML = texte;
 }

 function alterne() {
	var el=document.getElementsByTagName('table');
	var c=-1;
	if (el==null ) return;
	for (var i=0; i< el.length; i++) {
		if (el[i].className!='alterne_table') continue;
		
		var rows=el[i].getElementsByTagName('tr');
		for (var j=0; j<rows.length ; j++)
		{
			var thisRow=rows[j];
			if (thisRow.className!='dont_alterne_row') c++;
			if (c%2==0) thisRow.style.backgroundColor="#C6DDF6";
			else thisRow.style.backgroundColor="#DDECFF";
		}
	}
}



/////////////////////////////////////////////////////////////////////////////////////////////
// CLASSE CLASSITEM
classItem.itemsList=new Array();
classItem.currentItem=null;

function classItem (id, label, link, stayActive, cssClass) {
	this.stayActive=stayActive;
	this.cssClass=cssClass;
	this.id=id;
	this.label=label;
	this.niveau=0;
	this.link=link;
	this.constructor.itemsList.push(this);
	this.parentNode=null;
	this.xmlNode=null;
	this.parentItem=null;
	this.sonsList=new Array();
}

classItem.shallLevel0ItemsBeAllwaysOpened=false;



classItem.prototype.toString=function () { return this.label; }

classItem.prototype.toHtml=function () { 
		var completeLabel=this.label;
		if (this.sonsList.length>0 && this.niveau>0) completeLabel='[+] '+completeLabel;
		if (this.sonsList.length==0 && this.niveau>0) completeLabel=completeLabel;
		

		var bHasClassMenu=false;
		if (this.sonsList.length>0) {
			if ( !(classItem.shallLevel0ItemsBeAllwaysOpened && this.niveau==0) )  {
				completeLabel="<a href='javascript:clickItem("+this.id+")'"+' class="menu_'+this.niveau+'"'+">"+completeLabel+"</a>";
				bHasClassMenu=true;
			}
		}
		if (this.link.length>0 && (this.link.toLowerCase()!=currentPage) ) {
			var s="<a href='javascript:clickItem("+this.id+")'"+' class="menu_'+this.niveau+' '+this.cssClass+'"'+">";
			if (this.cssClass) s+="<img src='../../images/images_page/contact_info.gif' border=0 align='bottom' class='flashy'/> ";
			completeLabel=s+completeLabel+"</a>";
			//if (this.cssClass) alert (completeLabel);
			bHasClassMenu=true;
		}

		if (this.link.length>0 && (this.link.toLowerCase()==currentPage && this.stayActive!='1') ) {
			completeLabel="<p "+' class="menu_'+this.niveau+'_actif '+this.cssClass+'"'+">"+completeLabel+"</p>";
			bHasClassMenu=true;
		}

		if (this.link.length>0 && (this.link.toLowerCase()==currentPage && this.stayActive=='1') ) {
			completeLabel="<a href='javascript:clickItem("+this.id+")'"+' class="menu_'+this.niveau+'_actif '+this.cssClass+'"'+">"+completeLabel+"</a>";
			bHasClassMenu=true;
		}

		if (this.link.toLowerCase()==currentPage) classItem.currentItem=this;


		if (!bHasClassMenu)
		{ 
			completeLabel='<p class="menu_'+this.niveau+'">'+completeLabel+'</p>';
		}


		if (this.sonsList.length>0) {
			completeLabel+="<span id='menusons_"+this.id+"'>";
			for (var i=0; i<this.sonsList.length; i++) {
				completeLabel+=this.sonsList[i].toHtml();
			}
			completeLabel+='</span>';
		}

		return completeLabel;
}

function clickItem (id) {
	var ref=classItem.itemsList[id];
	ref.click();
}

classItem.prototype.click=function () {
		if (this.niveau==0 && classItem.shallLevel0ItemsBeAllwaysOpened) return;
		
//		this.openMe();


		if (this.link.length>0) {
			document.location='../../'+this.link;
		} else {
			document.location='../../'+this.sonsList[0].link;
//			document.location='../../'+this.sonsList[0].link;
		}

}

classItem.prototype.openMe =function () {
	if (this.sonsList.length>0)
	{
		var el;
		if (document.getElementById) el=document.getElementById('menusons_'+this.id)
		else el=document.all['menusons_'+this.id];
		if (el!=null) {
			 var dis=el.style.display;
			if (dis=='none') el.style.display='block'; else el.style.display='none'; 
			el.style.display='block';
		}
	}
}

classItem.prototype.hideMySons =function () {
	var el;
	if (document.getElementById) el=document.getElementById('menusons_'+this.id)
	else el=document.all['menusons_'+this.id];
	if (el==null) return;
	el.style.display='none';
}

classItem.prototype.showMySons =function () {
	var el;
	if (document.getElementById) el=document.getElementById('menusons_'+this.id)
	else el=document.all['menusons_'+this.id];
	if (el==null) return;
	el.style.display='block';
}

classItem.prototype.show=function(b) {
	var el;
	if (document.getElementById) el=document.getElementById('menusons_'+this.id)
	else el=document.all['menusons_'+this.id];

	if (el==null) return;
	if (b) el.style.display='block'; 
	else el.style.display='none';
}

classItem.startWithNoMenu =function () {	
		for (var i=0; i<classItem.itemsList.length ; i++ )
		{
			var ref=classItem.itemsList[i];
			if (ref.sonsList.length>0) ref.hideMySons();
		}

		if (classItem.shallLevel0ItemsBeAllwaysOpened) {
			for (var i=0; i<classItem.itemsList.length ; i++ )
			{
				var ref=classItem.itemsList[i];
				if (ref.niveau==0 && ref.sonsList.length>0) ref.showMySons();
			}
		}
}

classItem.findItemWithXml =function(n) {
	for (var i=classItem.itemsList.length-1; i>=0 ; i-- )
	{
		var ref=classItem.itemsList[i];
		if (ref.xmlNode==n) return ref;
	}
	return null;
}

classItem.prototype.setParent =function (it) { this.parentItem=it; }
classItem.prototype.addSon =function (it) { this.sonsList.push(it); }


classItem.addSonsInfos =function () {
	for (var i=0; i<classItem.itemsList.length; i++ ) {
		var ref=classItem.itemsList[i];
		var foundParent=null;
		if (ref.parentNode!=null) foundParent=classItem.findItemWithXml(ref.parentNode);
		if (foundParent!=null) {
			foundParent.addSon (ref);
			ref.setParent (foundParent);
			ref.niveau=foundParent.niveau+1;
//			if (ref.niveau >0 && ref.sonsList.length==0) ref.label='. '+ref.label;
		}
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
// Node cleaner
			function go(c){
				if(!c.data.replace(/\s/g,''))
					c.parentNode.removeChild(c);
			}

			function clean(d){
				var bal=d.getElementsByTagName('*');

				for(i=0;i<bal.length;i++){
					a=bal[i].previousSibling;
					if(a && a.nodeType==3)
						go(a);
					b=bal[i].nextSibling;
					if(b && b.nodeType==3)
						go(b);
				}
				return d;
			} 


/////////////////////////////////////////////////////////////////////////////////////////////
// FONCTIONS MENUS
function buildMenus () {
	classItem.shallLevel0ItemsBeAllwaysOpened=false;
//	classItem.shallLevel0ItemsBeAllwaysOpened=false;
	var xMenu = getHTTPObject(onMenuLoaded);
	xMenu.open("GET", "../../js/cinep_menu.xml?v="+(new Date()).getDate(),true);
	xMenu.send(null);
}

function onMenuLoaded (docXml) {

	var item = docXml.getElementsByTagName('ITEM');
	var id=0;

	for (var i=0; i<item.length; i++)
	{

		var link=item[i].getAttribute('LIEN');;
		if (!link) link='';
		//if (item[i].attributes[0] != null) link=item[i].attributes[0].nodeValue;

		var stayActive=item[i].getAttribute('STAYACTIVE');
		if (!stayActive) stayActive='';
		
		var cssClass=item[i].getAttribute('CLASS');
		if (!cssClass) cssClass='';

		var it=new classItem (id, item[i].firstChild.nodeValue, link, stayActive, cssClass);
		it.parentNode=item[i].parentNode;
		it.xmlNode=item[i];
		id++;
	}

	classItem.addSonsInfos();

	var loc=new String(window.location);
	var iPages=loc.indexOf('pages/');
	var iInterro=loc.indexOf('?');
	if (iInterro==-1) currentPage=loc.substr(iPages).toLowerCase();
	else currentPage=loc.substring(iPages,iInterro).toLowerCase();

	writeMenu();
	classItem.startWithNoMenu();
	openCurrentItem();

}

function writeMenu() {
	var col=document.getElementById("col_menus");
	var mCinep='';
	for (var i=0;i<classItem.itemsList.length ; i++ )
	{
		var ref=classItem.itemsList[i];
		if (ref.niveau==0)
		{
			mCinep+=ref.toHtml();
		}
	}
	mCinep='<div id="inMenus">'+mCinep+'</div>';
	inThatDivPut('col_menus',mCinep);
	//alert (mCinep);
}

function openCurrentItem() {
	if (!classItem.currentItem) return;
	classItem.currentItem.openMe();
	classItem.currentItem.parentItem.openMe();
}


function addBackHome() {
	var t='';
	t+='<span class="clearAll"></span><hr/>';
	t+='<div class="back_home"><a href="/" class="back_home">&nbsp;<< Revenir à la page d\'accueil&nbsp;</a></div>';
	document.write(t);
	addVerticalSpace(150);
}

function addFoot() {
	var t='';
	t+='<div id="pied"><span>';
	t+='<b>CINEMAS INDEPENDANTS PARISIENS</b>   135, rue Saint-Martin   75004 Paris<br/>';
	t+='tél.: 01 44 61 85 50 - fax: 01 42 71 12 19 - <a href="mailto:contact@cinep.org">contact@cinep.org</a>';
	t+='<br/>Site / conception & réalisation : ';
	t+='<a href="http://www.microscopie.fr" target="_blank">www.microscopie.fr</a>';
	t+='</span></div>';
	document.write(t);
}

function addLogo() {
	var t='';
	t+='<h1 class="logo">';
	t+="<span>Lettre mensuelle d'informations de l'association des Cinémas Indépendants Parisiens</span>";
	t+='</h1>';
	t+='<div id="harold"></div>';
	document.write(t);
}

function addVerticalSpace (h) {
	document.write('<div style="width:1px; height:'+h+'px;">&nbsp;</div>');
}


/////////////////////////////////////////////////////////////////////////////////////////////
// WINDOW.ONLOAD
 window.onload=function () {
//	buildMenus();
}

