/**
 *
 * LCMS and its source-code is licensed under the LGPL.
 * You may copy, adapt, and redistribute this file for commercial or non-commercial use.
 * When copying, adapting, or redistributing this document in keeping with the guidelines above,
 * you are required to provide proper attribution to champion open systems.
 * If you reproduce or distribute the document without making any substantive modifications to its content,
 * please use the following attribution line:
 *
 * Copyright 2007 champion open systems (http://www.chaosys.ch) All rights reserved.
 *
 */

/** 
*
* Navigation-Section.
*
*/
/** 
* Move to the x px, y px position.
*/
function goToPosition( width, x, y ) {
	viewObjectElement = document.getElementById('viewObject');
	setViewObjectWidth(width);
	viewObjectElement.style.top = y + "px";
	viewObjectElement.style.left = x + "px";
}

/** 
* Center the picture.
*/
function centerView() {
	adjustView(50, 50);
}

/** 
*
* Features-Section.
*
*/
/** 
* Show the navigatorEye.
*/
function setNavigatorEye() {
	if(useNavigatorEye){
		navigatorEyeThis = document.getElementById('navigatorEye');
		navigationScreenImageThis = document.getElementById("navigationScreenImage");
		objectivXPerc = calculatePercentage(getViewObjectWidth(), getObjectivX());
		objectivYPerc = calculatePercentage(getViewObjectHeight(), getObjectivY());
	
		xPercent = parseFloat(calculatePercLeft(50)) - (objectivXPerc / 2);
		yPercent = parseFloat(calculatePercTop(50)) - (objectivYPerc / 2);
		
		navigatorEyeThis.style.top = yPercent*(navigationScreenImageThis.height/100) + "px";
		navigatorEyeThis.style.left = xPercent*(navigationScreenImageThis.width/100) + "px";
		navigatorEyeThis.style.width = objectivXPerc + "%";
		imageHeight = navigationScreenImageThis.height;
		yValue = imageHeight/100 * objectivYPerc;
		navigatorEyeThis.style.height = yValue + "px";
	}
}

/** 
* NavigatorEye Move-Listener Implementation.
*/
function navigatorEyeMoveListenerImplementation(){
			element = document.getElementById('navigatorEye');
			objectivXPerc = calculatePercentage(getViewObjectWidth(), getObjectivX());
			objectivYPerc = calculatePercentage(getViewObjectHeight(), getObjectivY());
			yPerc = calculatePercentage(document.getElementById('navigationScreenImage').height, parseFloat(element.style.top))+ (objectivYPerc/2);
			xPerc = calculatePercentage(document.getElementById('navigationScreenImage').width, parseFloat(element.style.left))+ (objectivXPerc/2);
			adjustView (xPerc , yPerc );
			setLabelLayer();
}

/** 
* Show or hide the cross-hairs.
*/
function setCrossHairs() {
	var elem = document.getElementById('crossHairs');
	var elem2 = document.getElementById('crossHairs2');
	if (elem != null) {
		if (elem.style.visibility == "hidden") {
			elem.style.visibility = "";
			elem2.style.visibility = "";
		} else {
			elem.style.visibility = "hidden";
			elem2.style.visibility = "hidden";
		}
	}else {
		var newElement = document.createElement("div");
		var newElement2 = document.createElement("div");
		newElement.id = "crossHairs";
		newElement2.id = "crossHairs2";
		var objectivElement = document.getElementById("objectiv");
		objectivElement.appendChild(newElement);
		objectivElement.appendChild(newElement2);
	}
}

/** 
* If this feature is enabled, the webmic cannot be navigated beyond the viewObject's border.
*/
function avoidWhiteAreas(){
	viewObjectElement = document.getElementById('viewObject');
	//object positions
	leftThis = parseFloat(viewObjectElement.style.left);
	topThis = parseFloat(viewObjectElement.style.top);
	widthThis =getViewObjectWidth();
	heightThis = getViewObjectHeight();
	//avoid white areas
	if( leftThis > 0 ) {
		viewObjectElement.style.left = "0";
	}
	if ( topThis > 0 ) {
		viewObjectElement.style.top = "0";
	}
	if ( (leftThis + widthThis) < getObjectivX() ) {
		diff = ( leftThis + widthThis ) - getObjectivX();
		viewObjectElement.style.left = (leftThis - diff) + "px";
	}
	if ( (topThis + heightThis) < getObjectivY() ) {
		diff = ( topThis + heightThis ) - getObjectivY();
		viewObjectElement.style.top = (topThis - diff) + "px";
	}
}

