/***
 * Makiert die Hot-Spots und gibt Sie zum verbauen frei
 *
 * @param {Long} Index Die Nummer des Teilobjektes oder -1, wenn das Objekt sich nicht unter der Maus befindet
 * @param {String} LocalName Der Name des Teilobjektes in der aktuell eingestellten Sprache
 * @param {String} DatabaseName Der Name des Teilobjektes in der Datenbanksprache
 * @param {String} DisplayName Der Text des Tooltips. Wenn Sie nicht eingreifen, wird der lokale Name des Teilobjektes angezeigt. Um die Anzeige vollständig zu unterdrücken, setzen Sie diesen String auf einen leeren String.
 */
function onSubObjectPicked(Index, LocalName, DatabaseName, DisplayName) {
	if(document.o2cPlayer.CurrentObject!=HotSpotId) {
		document.o2cPlayer.CurrentObject = HotSpotId;	
	}
	if(Index!=o2cObjectDatabase[0]) {
	   o2cObjectDatabase[0] = Index;
	   o2cObjectDatabase[1] = LocalName;
	   o2cObjectDatabase[2] = DatabaseName;
	   o2cObjectDatabase[3] = DisplayName;
	   if(o2cObjectDatabase[1] && o2cObjectDatabase[1].search(/Hot-Spot/)!=-1) {
		  document.o2cPlayer.SetCursorMode(5);
		  document.o2cPlayer.ObjectSetHighlightedSubObject(Index);
		  document.o2cPlayer.Refresh();
	   } else {
		  document.o2cPlayer.SetCursorMode(1);
		  document.o2cPlayer.ObjectSetHighlightedSubObject(-1);
		  document.o2cPlayer.Refresh();
	   }
	}
}

/***
 * Wird bei einem MouseDown-Event des o2cPlayers ausgelöst und kontrolliert dabei ob es sich um eine Hot-Spot Fläche handelt die angeklickt wurde
 * wenn dies der Fall ist wird ein neues Object erzeugt und an die vom Hot-Spot vorgegebene Stelle positioniert.
 *
 * @param {Long} objID Objekt- bzw. Gruppenindex des angeklickten Objektes.
 * @param {Long} whichMouseButton Bitmaske, wobei 1 = Linke Maustaste, 2 = Rechte Maustaste und 4 = Mittlere Maustaste.
 * @param {Long} flags Bitmaske mit dem Status der Tastatur, Werte siehe o2cKeyState.
 */
function onMouseDown(objID, whichMouseButton, flags) {
	if(o2cObjectDatabase[1] && o2cObjectDatabase[1].search(/Hot-Spot/)!=-1 && whichMouseButton == 1) {
		var cacheit = document.o2cPlayer.CurrentObject;
		var ObjectData = document.o2cPlayer.ObjectGetUserData(objID).split(',');
		whichAddProduct(AddProduct,ObjectData[0]);
		o2cObjectDatabaseCache = o2cObjectDatabase[2];
		document.o2cPlayer.CurrentObject = cacheit;	 
	} else { 
                       if(objID>1 && o2cObjectDatabase[1].search(/Hot-Spot/)==-1 && whichMouseButton == 1) {
                                 dSelectHotSpot();
                                 setClickObject(objID);
                       }
                }
}

/***
 * Hier wird unterschieden um welche Art der Produkt-Hinzufügen es sich handelt.
 *
 * @param {Long} wAP Wert der Produkt Hinzufügung
 * @param {Object} objID Objekt-ID
 */
function whichAddProduct(wAP, uid) {
	if(objecttarget.document.forms['objDetails'+uid].elements['ttp_basket[23][quantity]']) { 
		var quantity23 = objecttarget.document.forms['objDetails'+uid].elements['ttp_basket[23][quantity]'].value;
		objecttarget.document.forms['objDetails'+uid].elements['ttp_basket[23][quantity]'].value= parseInt(quantity23)+parseInt(Elementhalter); 
	}
	objecttarget.document.forms['objDetails'+uid].submit();
}

/*** 
 * Setzt als Klickobjekt das ausgewählte Produkt im rechten Frame
 *
 * @param {Object} uid tt_products Produkt-ID des Objektes
 */
function setClickHotSpotObject(uid, accessory) {
	if(accessory>0) {
		Elementhalter = accessory;
	} else {
		Elementhalter = 0;
	}
	iframenavigation.window.location.href = 'http://'+window.location.hostname+'/konf_navigationen_ko.html?tt_products='+uid+'&hotspot=true'+MP;	
}

/***
 * Deaktiviert das momentan aktive HotSpot
 */
function dSelectHotSpot() {
	if(HotSpotId>0) {
		document.o2cPlayer.CurrentObject = HotSpotId; 
		document.o2cPlayer.ObjectShow(false);
		// Die Optionen deaktivieren
		document.o2cPlayer.CurrentObject = 0;
		iframenavigation.window.location.href = 'http://'+window.location.hostname+'/konf_navigationen_ko.html?tt_products=2'+MP;
	}
}
