//<![CDATA[
if (!window.Scene7) {
	Scene7 = function(){

		var host = "http://weltbild.scene7.com/";
		var service_error = false;
		var image_attributes = null;
		var s7_id = null;
		var s7_icon = null;
		var s7_zoom = null;
		var CNA = null;
		var image = null;
		var minwidth = 800;
		var minheight = 800;

		function start(id, icon, zoom) {
			s7_id = id;
			s7_icon = icon;
			s7_zoom = zoom;
			setTimeout("Scene7.existsImages()",100);
		}

		function getImageAttributes() {
			var head = document.getElementsByTagName("head")[0];
			script = document.createElement("script");
			script.id = "scene7i";
			script.type = "text/javascript";
			script.src = host + "is/image/Weltbild/" + s7_id + "?req=imageprops,json";

			head.appendChild(script);
		}

		function existsImages()	{
			var head = document.getElementsByTagName("head")[0];
			script = document.createElement("script");
			script.id = "scene7ei";
			script.type = "text/javascript";
			script.src = host + "is/image/Weltbild/" + s7_id + "?req=exists,json";

			head.appendChild(script);
		}


		function isImageZoomable() {
			var is_zoomable = false;

			try{
				if (image_attributes["image.height"] > minheight && image_attributes["image.width"] > minwidth){
					is_zoomable = true;
				}
			} catch (e){}

			return is_zoomable;
		}

		function render(){
			if (service_error){
				throw new Exception ("S7 Service nicht verfügbar oder keine Bilddaten");
			}

			if (!isImageZoomable()){
				throw new Exception ("keine URL, da Bild nicht zoomfähig");
			}

			try{
				//Popup wird nicht mehr über Scene7 gesteuert, zusätzlicher Zoom-Button wird nun über style.display gesteuert
				//altes Produktpopup wird ausgeschaltet und CNA wird angeschaltet für die Abfrage aus dem Popup raus.
				CNA = s7_id;
				//document.getElementById("scene7zoom").style.display = 'block';
				//document.getElementById("scene7icon").style.display = 'block';
				//kamenew
				//weiterer umbau sämtliche divs raus aus dem template
				//wird nun alles per js rausgeschrieben
				//googlebooks sticht scene7 und scene7 nur anzeigen wenn produktbild div vorhanden
				var produktbild = $("#produktbild");
				var scene7bild = $(".scene7bild");
				var googlePreview = $("#googlePreview");
				if(!$.isEmptyObject(produktbild) && googlePreview.html() == null){
					scene7bild.on('click', function(ev){
						ev.preventDefault();
						windowOpen(s7_zoom, 'Zoom', 700, 700, 0, 0, 'no', 'no', 'no', 'no');
					});
					produktbild.append(s7_icon);
				}
			} catch (e) {}
		}
		
		function setImageAttributes(obj) {
			image_attributes = obj;
		}
		
		function setServiceError(bool) {
			service_error = bool;
		}
		
		function Exception(message)	{
			this.message = message;
		}
		
		function getCNA(){
			return CNA;
		}
		
		return {
			start : start,
			setImageAttributes : setImageAttributes,
			getImageAttributes : getImageAttributes,
			existsImages : existsImages,
			setServiceError : setServiceError,
			render : render,
			getCNA : getCNA
		};
		
	}();
}


function s7jsonResponse(obj) {
	try {
		// Erst die Prüfung, ob zum Produkt Daten vorliegen, erst danach die Details holen
		if (obj["catalogRecord.exists"] === undefined) {
			Scene7.setImageAttributes(obj);
			Scene7.render();
		} else {
			if (obj["catalogRecord.exists"] == 1) {
				sc7_answer = true;
				setTimeout("Scene7.getImageAttributes()",100);
			} else {
				sc7_answer = false;
				// Wenn kein Scene7, dann die Klasse "scene7bild" entfernen, damit das Artikeldetailbild über den Layer geöffnet werden kann:
				$("#produktbild a").removeClass('scene7bild');
			}
		}
	} catch (e) {}
}

function s7jsonError(obj) {
	try {
		Scene7.setServiceError(true);
	} catch (e) {}
}
