//<![CDATA[
	var prrequestout=false;
	var controlgroup;
	Prudsys = function(){
		//Artikeldetailseite Event senden und related article abfragen
		var urlrecomm = "https://rde.weltbild.de/rde_server/res/d22265304964/recomm/detailview/sid/<SESSION-ID>?item=<ITEM_ID>";
		//Event Artikel in den Warenkorb gelegt
		var urlbasket = "https://rde.weltbild.de/rde_server/res/d22265304964/event/basket/sid/<SESSION-ID>?itemids=<ITEM_ID>&quantity=<QUANTITY>";
		//Event Bestellabschluss Warenkorb
		var urlorder = "https://rde.weltbild.de/rde_server/res/d22265304964/event/order/sid/<SESSION-ID>?itemids=<ITEM_ID>&quantity=<QUANTITY>";
		//Abfrage Zusatzangebot der Woche
		var urlrecommbasket = "https://rde.weltbild.de/rde_server/res/d22265304964/recomm/basketrecomm/sid/<SESSION-ID>?itemids=<ITEM_ID>";
 
 	//	- Mehrere Artikel in Warenkorb legen
	//	.. und wird sich auch fÃ¼r die Ãœbergabe mehrerer Artikel nur in der BefÃ¼llung des Parameters itemids wie folgt Ã¤ndern:
	//	http://rde.weltbild.de:8180/rde_server/res/d22265304964/recomm/basketrecomm/sid/<SESSION-ID>?itemids=<ITEMID_1,ITEMID_2,ITEMID_3,...,ITEMID_n>
		
		
		var type ="";
		var url ="";
		var session="";
		var recommend=false;
		var aktiv=null;
		var max=0;
		prrequestout = false;
		
		//FÃ¼r Timeout
		function checkRecommState(){

		    	if ( recommend == false){
		    		recommend=true;
		    		prrequestout=true;
		    		Prudsys.cleanBasketRecomm();
		    		
		    	}
		}
	
		//setzen von recommend
		function setRecommend(state){
			recommend=state;
		}
		
		//Bei Timeout muss Platzhalter beim Warenkorb entfernt werden.
		function cleanBasketRecomm(){
			if (this.type == 'basketrecomm')
				if (document.getElementById('zusatzangebot') != null)
					document.getElementById('zusatzangebot').style.display='none';
					
			if (cm_tracking_enabled)
			    if (this.type == 'basketrecomm')
					cmCreateConversionEventTag('basketrecomm', 1, "Keine_Produktempfehlung_vorhanden", 1);
				else if (this.type == 'recomm')
					cmCreateConversionEventTag('recomm', 1, "Keine_Produktempfehlung_vorhanden", 1);
		}
		
		
		//Ãœber Typ die entspr. Url definierten
		function init(session,type,article,quantity){
			this.type=type;
		   prrequestout = false;
		    var splitt= session.split(".");
		    this.session=splitt[0];
			switch (this.type) {
			    case "recomm": url=urlrecomm.replace('<SESSION-ID>',this.session).replace('<ITEM_ID>',article);
			    			   controlgroup=null;
			                   break;
			    case "basketrecomm": 
			                        if (article != ''){
			    						url=urlrecommbasket.replace('<SESSION-ID>',this.session).replace('<ITEM_ID>',article);
			    					}else{
			    						url='';
			    					}
			    					 controlgroup=null;
			                     	 break;
			    case "eventbasket": url=urlbasket.replace('<SESSION-ID>',this.session).replace('<ITEM_ID>',article).replace('<QUANTITY>',quantity);
			                     break;
			    case "eventorder": url=urlorder.replace('<SESSION-ID>',this.session).replace('<ITEM_ID>',article).replace('<QUANTITY>',quantity);
			                       break;
			    default: this.type="";
			}
			
			
		}
		
		//Url abschicken
		function sendUrl()
		{	
			var head = document.getElementsByTagName("head")[0];
			script = document.createElement("script");
			script.id = "prudsys";
			script.type = "text/javascript";
		    script.src = url;
			head.appendChild(script);
			
		}
		
		
		//Auswerten der zurÃ¼ckgelieferten Artikel
		function result(obj){	
			var count = 0;
			var numbers="";	
			var objects;
			controlgroup='true';
			
			try{
				if (obj == null){
					Prudsys.cleanBasketRecomm();
					return false;
				}
				
				/*if (obj.length == 2){
					alert(obj[1]['global']['controlgroup']);
				}else{
					alert(obj[0]['global']['controlgroup']);
				}*/
				
				
				if (obj.length == 2){
				        //Coremetrics, aber mit Liste --> keine Anzeige
						if (obj[1]['global']['controlgroup'] == null || obj[1]['global']['controlgroup'] == 'true'){
						    Prudsys.cleanBasketRecomm();
							return false;
						}else{
							//Prüfung, Artikel vorhanden
						    if (obj[0]['query1'] != null){
						    	objects=obj[0]['query1'];
								count=obj[0]['query1'].length;
								if (count <= 0) {
								    Prudsys.cleanBasketRecomm();
									return false;
								}
							}else{
							    Prudsys.cleanBasketRecomm();
								return false;
							}
						}
					}else{
						//Prudsys ohne Liste --> keine Anzeige
						if (obj[0]['global']['controlgroup'] == 'false' || obj[0]['global']['controlgroup'] == null){
							Prudsys.cleanBasketRecomm();
							return false;
						}
				}
				
			   
				if (count > 1){
				        controlgroup='false';
						for(var i=0; i<objects.length; i++){
						 	if (objects[i]['product_nr'] != 'undefined' && objects[i]['product_nr'] != null){
							  if (numbers == "")
							  	numbers=objects[i]['product_nr'];
							  else
							  	numbers=numbers+'|'+objects[i]['product_nr'];
							}
						}   
				}  
				
			} catch (e) {};
			
			getProductinfos(numbers,this.type,true);
		}
		
		
		
		
		function start(session,type,article,quantity)
		{	   
				Prudsys.init(session,type,article,quantity);
				
				if (session != null){
				   
				   if (url.replace(' ','') != '' && session.replace(' ','') != ''){
						setTimeout("Prudsys.sendUrl()",100);
						if (type == 'recomm' && type == 'basketrecomm')
							setTimeout("Prudsys.checkRecommState()",2000);
				   }else{
					   	  if (type == 'recomm'){
					   	  	getProductinfos('',this.type,true);
					   	  }else if (type == 'basketrecomm'){
					   	  	showDefaultWKRecomm();
					   	  }
				   }
				}
			
			
		}
		
		return {
			start : start,
			init : init,
			sendUrl : sendUrl,
			result : result,
			setRecommend : setRecommend,
			checkRecommState : checkRecommState,
			cleanBasketRecomm : cleanBasketRecomm
		};
		
	}();



function prudsysRecommCallback(obj){
	Prudsys.setRecommend(true);
	Prudsys.result(obj);
}

/**
Produktinfos fÃ¼r Prudsys-Artikel ermitteln
**/
function getProductinfos(numbers,type,filter){

		if( window.XMLHttpRequest ) {
          req = new XMLHttpRequest();
        } else if( window.ActiveXObject ) {
          req = new ActiveXObject( "Microsoft.XMLHTTP" );
        } else {
          return;
        }
   
        if (filter)
	    	req.open( "GET", '/index.html?f=product_list.getproductinfos&pnr='+numbers+'&type='+type, true );
	    else
	    	req.open( "GET", '/index.html?f=product_list.getproductinfos&pnr='+numbers+'&type='+type+'&filter=no', true );
	    
	    if (type=='recomm'){	
	   	 	req.onreadystatechange = callbackProductinfosRelated;
	   }else{
	   		req.onreadystatechange = callbackProductinfoZusatzangebot;
	   	}
	    req.send( null );

}

/*
* Auswerten Produktinfos für Prudsys related article
*/
function callbackProductinfosRelated() {
    
     var setdefault=true;
     var typeofrecom = '<!-- default -->';
 
     if (prrequestout == true)
     		typeofrecom = '<!-- default timeout -->';
    
     
	 if( 4 == req.readyState ){ 
		if (200 == req.status){
			
			var jsonData = JSON.parse(req.responseText);
			var setnumber = '';
			if (related_article.length > 0) setnumber=related_article[0]['order_number'];
		    
			if (jsonData.length <= 0)
				setdefault=true;
				

			//Wenn von Prudsys Empfehlungen geliefert wurden, dann werden die Daten von Coremetrics Ã¼berschrieben.	
			if (jsonData['fallback'] != 'true' && jsonData.length > 0){
			   setdefault=false;
			   
			   //Vorbelegung, wenn über Reload gekommen
			   if (kind_of_source == ''){ 
			    	kind_of_source = 'recpr.art';
			   }
			   
			   if (kind_of_source == 'recpr.art')
			   		typeofrecom = '<!-- recomm -->'
			   		
			  
			    related_article = new Array();
			    for(var i = 0;i<jsonData.length;i++){
					related_article[i] = new Object();
					related_article[i]['text']=jsonData[i]['text'];
					related_article[i]['picture']='<a href="'+jsonData[i]['url']+'"><img src="'+path_media_art+jsonData[i]['image']+'" alt="'+jsonData[i]['long_title_clear']+'"></a>';
					related_article[i]['order_number']=jsonData[i]['order_number'];
					related_article[i]['long_title_clear']=jsonData[i]['long_title_clear'];
					related_article[i]['recomm_source']=kind_of_source;
				}
            }
		}
		
		if (related_article.length > 0){
			//Setzen der ersten 4 Artikel-Empfehlungen
			for(var i = 0;i<related_article.length;i++){
				if (document.getElementById('bildpos'+i) != null && document.getElementById('textpos'+i) != null && i < num_of_prod){
					document.getElementById('bildpos'+i).innerHTML=related_article[i]['picture'];
					document.getElementById('bildpos'+i).onclick = new Function("setTrackingInformation('"+related_article[i]['order_number']+"','"+related_article[i]['recomm_source']+"')");
					document.getElementById('textpos'+i).innerHTML=related_article[i]['text'];
					document.getElementById('textpos'+i).onclick =  new Function("setTrackingInformation('"+related_article[i]['order_number']+"','"+related_article[i]['recomm_source']+"')");
				}
			}
			
			//Ausblenden weitere Elemente
				if (related_article.length < num_of_prod){
					for (var i=related_article.length ;i<num_of_prod;i++){
							if (document.getElementById('pos1'+i) != null && document.getElementById('pos2'+i) != null){
								document.getElementById('pos1'+i).style.display='none';
								document.getElementById('pos2'+i).style.display='none';
							}
						}
				}
			
			// slide-Buttons setzen 
			if (document.getElementById('linklinks'+setnumber) != null && document.getElementById('linkrechts'+setnumber) != null){
					if (related_article.length > num_of_prod){
					        	document.getElementById('linklinks'+setnumber).style.display='block';
								document.getElementById('linkrechts'+setnumber).style.display='block';
					 	
					
						document.getElementById('linkrechts'+setnumber).onclick= function() {slideshow_rechts(related_article[0]['order_number']); return false;}; 
						document.getElementById('linkrechts'+setnumber).id = 'linkrechts'+related_article[0]['order_number'];
		
						document.getElementById('linklinks'+setnumber).onclick= function() {slideshow_links(related_article[0]['order_number']); return false;};
						document.getElementById('linklinks'+setnumber).id = 'linklinks'+related_article[0]['order_number'];
					}
			}
					
	        //Art der Empfehlungen setzen
			if (document.getElementById('type') != null)
			    	document.getElementById('type').innerHTML=typeofrecom;
			//Einblenden der related article
			if (document.getElementById('showrelated') != null)
					document.getElementById('showrelated').style.display='block'; 
			
			//FÃ¼r Reload der Artikelseite merken
			var expires = new Date();
			var recommproduct = '';	
			expires = new Date(expires.getTime() + (5400000));  
			for(var i = 0;i<related_article.length;i++){
			    if (i == 0)
					recommproduct=related_article[i]['order_number'];
				else
					recommproduct=recommproduct+'|'+related_article[i]['order_number'];
					
			}	
			
			
			
			
			if (recommproduct != ''){
				if (kind_of_source == '') kind_of_source='recco.art';
			    recommproduct=order_no+'~'+recommproduct;
			    recommproduct=kind_of_source+'_'+recommproduct;
			     	
				document.cookie = 'detail_recomm='+escape(recommproduct)+';expires='+expires.toGMTString()+';path=/;';
				//Tracken, welche Empfehlungen angeboten wurden
				if (cm_tracking_enabled){
					if (kind_of_source == 'recco.art'){
						cmCreateConversionEventTag(order_no, 1, "Anzeige_Coremetrics_Artikeldetailseite", 1);
	                }else{
	                	cmCreateConversionEventTag(order_no, 1, "Anzeige_Prudsys_Artikeldetailseite", 1);
	                }
				}
			}
			
	    }
	}			
}

/*
* Auswerten Produktinfos fÃ¼r Prudsys Zusatzangebot
*/
function callbackProductinfoZusatzangebot() {
    
     var setdefault=true;
     var typeofrecom = '<!-- default -->';
    
	 if( 4 == req.readyState ){ 
		if (200 == req.status){
		 
			var jsonData = JSON.parse(req.responseText);
			
		  
			if (jsonData.length <= 0)
				setdefault=true;
			
			//Prüfung, ob Fallback angezeigt werden darf
			if (jsonData['fallback'] == 'true' && controlgroup == 'false'){
				Prudsys.cleanBasketRecomm();
				return false;
			}
			
			//Wenn von Prudsys Empfehlungen geliefert wurden, dann werden die Daten von Coremetrics Ã¼berschrieben.	
			if (jsonData['fallback'] != 'true' && jsonData.length > 0){
			   setdefault=false;
			   existrecomm=true;
			   typeofrecom = '<!-- recomm -->'
			   
			   
			   var anz = 2;
			   if (jsonData.length < 2)
			   	anz=jsonData.length;
			    
			   var explore= '';
			   
			   if (exploreaddon != null)
			   	explore=",'"+exploreaddon+"'";
			
			    for(var i = 0;i<anz;i++){
			    	if (document.getElementById('title'+i)!= null)
			    		document.getElementById('title'+i).innerHTML='<strong>'+jsonData[i]['long_title']+'</strong>';
			    	if (document.getElementById('subtitle'+i)!= null)
			    		document.getElementById('subtitle'+i).innerHTML='<strong>'+jsonData[i]['sub_title']+'</strong>';
			    	if (document.getElementById('author'+i)!= null)
			    		document.getElementById('author'+i).innerHTML=jsonData[i]['person'];
			    	if (document.getElementById('price'+i)!= null)
			    		document.getElementById('price'+i).innerHTML=jsonData[i]['price'];
			    		
			    		$wkbutton='<a href="'+jsonData[i]['addtocart']+'&cat=recpr.wk" rel="nofollow" name="wklink_'+(i+1)+'"';
 						$wkbutton=$wkbutton+' onclick="';
 						if (cm_tracking_enabled){
 							$wkbutton=$wkbutton+"cmCreatePageviewTag('Warenkorbbutton (cart.wk)', 'cart.wk', null, null"+explore+ ");";
 						}
 						
 						
 						 
 						 var splitt= session.split(".");
 						$wkbutton=$wkbutton+"Prudsys.start('"+splitt[0]+"','eventbasket','"+jsonData[i]['order_number']+"','1');";
 						
 						$wkbutton=$wkbutton+"windowOpen('/index.html?p=popup.cart.hint','Danke',280,150,0,0,'no','no','no','no');";
 						$wkbutton=$wkbutton+'"><img src="'+path_media_lay+'b_mitbestellen.gif" alt="mitbestellen"></a>';
 						
 					if (document.getElementById('button'+i)!= null)
			    		document.getElementById('button'+i).innerHTML=$wkbutton;
			    		
			    	if (document.getElementById('linkpopup'+i)!= null)
			    		document.getElementById('linkpopup'+i).innerHTML='<a href="'+jsonData[i]['popuplink']+'&amp;trbid=cart.wk" onclick="'
			    		+"windowOpen('"+jsonData[i]['popuplink'].replace('&js=false','')+"&amp;trbid=cart.wk','detail"+jsonData[i]['order_number']+"','580','680','0','0','no','no','no','no');"
			    		+'return false;" rel="nofollow">Mehr Infos</a>';
			    		
			    	if (document.getElementById('image'+i)!= null)
			    		document.getElementById('image'+i).innerHTML='<a href="'+jsonData[i]['popuplink']+'&amp;trbid=cart.wk" onclick="'
			    		+"windowOpen('"+jsonData[i]['popuplink'].replace('&js=false','')+"&amp;trbid=cart.wk','detail"+jsonData[i]['order_number']+"','580','680','0','0','no','no','no','no');"
			    		+'return false;" rel="nofollow"><img src="'+path_media_art+jsonData[i]['image']+'" alt="'+jsonData[i]['long_title_clear']+' class="middle"></a>';
					
					if (document.getElementById('pos'+i)!= null)
						document.getElementById('pos'+i).style.display='block';	

							
			    }//for
			    
            }else{
            	if (document.getElementById('pos0')!= null)
					document.getElementById('pos0').style.display='block';	
				if (document.getElementById('pos1')!= null)
					document.getElementById('pos1').style.display='block';	
            }
          
           	//Art der Empfehlungen setzen
			if (document.getElementById('type') != null)
			    	document.getElementById('type').innerHTML=typeofrecom;
			//Einblenden der related article
			if (existrecomm == true){
			    if (document.getElementById('recblock') != null)
			    	document.getElementById('recblock').style.height="";
				if (document.getElementById('zusatzangebot') != null)
					document.getElementById('zusatzangebot').style.display='block';  
			}	
		}
	}				
		
}

function showDefaultWKRecomm(){
			//Einblenden der related article
			if (existrecomm == true){
			    if (document.getElementById('recblock') != null)
			    	document.getElementById('recblock').style.height="";
				if (document.getElementById('zusatzangebot') != null)
					document.getElementById('zusatzangebot').style.display='block';  
					
				if (document.getElementById('pos0')!= null)
					document.getElementById('pos0').style.display='block';	
				if (document.getElementById('pos1')!= null)
					document.getElementById('pos1').style.display='block';	
				//Art der Empfehlungen setzen
			    if (document.getElementById('type') != null)
			    	document.getElementById('type').innerHTML='<!-- default timeout -->';
			}	
}


