var rndproduct=(function(){var isIE=false,isDomReady=false,arrDomReadyFunc=[]
var onDomReady=function(){if(!isDomReady){if(document.addEventListener){document.addEventListener('DOMContentLoaded',callDomReadyFunc,false);}
if(isIE){document.write('<script type="text/javascript" id="ieScriptLoad" defer="defer" src="javascript:void(0)"></script>');var ieScriptLoad=document.getElementById('ieScriptLoad');ieScriptLoad.onreadystatechange=function(){if(this.readyState=='complete'){callDomReadyFunc();}};}
if(/KHTML|WebKit|iCab/i.test(navigator.userAgent)){(function(){if(isDomReady){return;}
if(!/loaded|complete/.test(document.readyState)){setTimeout(arguments.callee,0);return;}
callDomReadyFunc();})();}
var funcOld=window.onload;window.onload=function(){if(funcOld){funcOld();}
callDomReadyFunc();};}}();function callDomReadyFunc(){if(isDomReady){return;}
isDomReady=true;var l=arrDomReadyFunc.length;for(var k=0;k<l;k++){arrDomReadyFunc[k]();}}
function addDomReadyEvent(func){if(isDomReady){func();}else{arrDomReadyFunc[arrDomReadyFunc.length]=func;}}
function getXMLHttpRequest(){var xhr=null;if(window.XMLHttpRequest||window.ActiveXObject){if(window.ActiveXObject){try{xhr=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){xhr=new ActiveXObject('Microsoft.XMLHTTP');}}else{xhr=new XMLHttpRequest();}}else{alert('XMLHttpRequest not supported');return null;}
return xhr;}
function getXhrData(obj){var xhr=getXMLHttpRequest();xhr.onreadystatechange=function(){if(xhr.readyState==4&&(xhr.status==200||xhr.status==0)){createXhrData(JSON.parse(xhr.responseText),obj);}};xhr.open('GET','XGetRndProduct.asp?CatPdtIdx='+obj.name+'&NbItems='+obj.numb,true);xhr.send(null);}
function createXhrData(data,obj){var u=document.createElement('ul');u.id=obj.name;u.className='rndproduct';var l=(obj.numb!=-1&&obj.numb<data.length)?obj.numb:data.length;for(var j=0;j<l;j++){u.appendChild(createDomItem(data[j],obj.name));}
return addXhrData(u,obj);}
function createDomItem(data,param){if(!param){param=-1;}
var link1=document.createElement('a');link1.href='produit.asp?CatPdtIdx='+param+'&PdtIdx='+data.ProduitIdx;link1.title=data.ProduitNom;link1.appendChild(document.createTextNode(data.ProduitNom));var title=document.createElement('h1');title.appendChild(link1);var vignette=document.createElement('img');vignette.src=data.ProduitVignette;vignette.alt=data.ProduitNom;var link2=document.createElement('a');link2.href='produit.asp?CatPdtIdx='+param+'&PdtIdx='+data.ProduitIdx;link2.title=data.ProduitNom;link2.className='img';link2.appendChild(vignette);var resume=document.createElement('em');resume.appendChild(document.createTextNode(textpreview(data.ProduitResume,30)));var prixrefunit=document.createElement('strong');prixrefunit.appendChild(document.createTextNode(data.ProduitPrixRefUnit));var link3=document.createElement('a');link3.href='produit.asp?CatPdtIdx='+param+'&PdtIdx='+data.ProduitIdx;link3.title=data.ProduitNom;link3.appendChild(document.createTextNode('En savoir plus...'));var desc=document.createElement('p');desc.appendChild(resume);desc.appendChild(prixrefunit);desc.appendChild(link3);var l=document.createElement('li');l.appendChild(title);l.appendChild(link2);l.appendChild(desc);return l;}
function addXhrData(dom,obj){var c=0;var s=setTimeout(function(){addXhrData(dom,obj);},200);var p=dom.getElementsByTagName('img');for(var l=0;l<p.length;l++){if(p[l].complete){c++;}else{break;}}
if(c==obj.numb){clearTimeout(s);var t=document.getElementById(obj.targ);if(t){detachLoader(obj);var n=document.getElementById(obj.name);if(n){t.replaceChild(dom,n);}else{t.appendChild(dom);}}}}
function addLoader(obj){var t=document.getElementById(obj.targ);if(t){var n=document.getElementById(obj.name);if(n){t.removeChild(n);}
var l=document.createElement('img');l.src='images/ajax-load.gif';l.alt='rndproduct_loader_'+obj.name;l.id='rndproduct_loader_'+obj.name;l.className='rndproduct_loader';t.appendChild(l);}}
function detachLoader(obj){var e=document.getElementById('rndproduct_loader_'+obj.name);if(e){e.parentNode.removeChild(e);}}
function textpreview(string,numb){var r=string;if(string.length>numb){r=r.substr(0,numb);var p=r.lastIndexOf(' ');if(p>1){r=r.substr(0,p);}
r=r+'...';}
return r;}
function addEvent(elem,type,func){return elem.addEventListener?elem.addEventListener(type,func,false):elem.attachEvent?elem.attachEvent('on'+type,func):elem['on'+type]=func;}
function print_r(expression){return alert(expression);}
return{create:function(elem,targ,name,numb){var params={};params.elem=elem;params.targ=targ;params.name=name;params.numb=numb;addDomReadyEvent(function(){var e=document.getElementById(elem);if(e){addEvent(e,'click',function(){addLoader(params);getXhrData(params);});}else{addLoader(params);getXhrData(params);}});}};})();
