/**
 * Create imagegallery object
 * @type  ImageGallery
 */
var imagegallery = null;

/**
 * Initializes ImageGallery module
 * @type ImageGallery
 */ 
imagegallery = new ImageGallery();

/**
 * Image Gallery module
 * @constructor
 * @author   Sperg Ádám
 * @version  2.01
 */
function ImageGallery() {

	/**
	 * Pointer to this
	 * @type  ImageGallery
	 */
	var self = this;
	
	/**
	 * Image gallery base setting
	 * @type  Object
	 */
	var setting = {need: true, relname: 'imagegallery', basename: 'base', pagepadding: 10};
	
	/**
	 * Image gallery objects
	 * @type  Object
	 */
	var object = {background: null, frame: null, table: null, content: null, image: null, title: null, navigate: null, previous: null, info: null, next: null, exit: null};
	
	/**
	 * Gallery informations
	 * @type  Object
	 */
	var gallery = {array: new Array(), current: '', running: false};
	
	/**
	 * Background informations
	 * @type  Object
	 */
	var background = {fade: false, opacity: 0, opacitymax: 8};
	
	/**
	 * Frame informations
	 * @type  Object
	 */
	var frame = {basewh: 300, position: false, inposition: false, fade: false, opacity: 0, opacitymax: 10, width: 0, height: 0, left: 0, top: 0, targetwidth: 0, targetheight: 0, targetleft: 0, targettop: 0};
	
	/**
	 * Table informations
	 * @type  Object
	 */
	var table = {bordersize: 10};
	
	/**
	 * Image informations
	 * @type  Object
	 */
	var image = {current: 0, fade: false, opacity: 0, opacitymax: 10};
	
	/**
	 * Title informations
	 * @type  Object
	 */
	var title = {height: 20, fade: false, opacity: 0, opacitymax: 10, have: false};
	
	/**
	 * Navigate informations
	 * @type  Object
	 */
	var navigate = {height: 30, fade: false, opacity: 0, opacitymax: 10};
		
	/**
	 * Page and window size
	 * @type  Object
	 */
	var pageSize = {pageWidth: 0, pageHeight: 0, windowWidth: 0, windowHeight: 0};
	
	/**
	 * Call when have ajax loaded images
	 */
	this.relGet = function() {
		relGet();
	}
	
	/**
	 * Get all "a" with specified "rel"
	 * Set onclick events
	 */
	function relGet() {
		var aElements = document.getElementsByTagName('a');
		for(i = 0; i < aElements.length; i++) {
			if(aElements[i].rel && aElements[i].rel.substring(0, setting.relname.length) == setting.relname && aElements[i].href) {
				aElements[i].onclick = imageClick;
			}
		}
	}
	
	/**
	 * Show image gallery
	 */
	this.show = function() {
		if(!gallery.running) {
			return;
		}
		if(frame.fade || image.fade || title.fade || navigate.fade) {
			var repeat = setTimeout('imagegallery.show()', 200);
			return;
		}
		var currentImg = gallery.array[gallery.current][image.current];
		if(!currentImg.image.complete) {
			var repeat = setTimeout('imagegallery.show()', 1000);
			return;
		}
		var imageSize = imageSetSize();
		if(!frame.inposition) {
			if(!frame.position) {
				frame.position = true;
				frame.targetwidth = Math.max(frame.basewh, Math.round(imageSize.width + (2 * table.bordersize)));
				frame.targetheight = Math.max(frame.basewh, Math.round(imageSize.height + (currentImg.title != '' ? title.height : 0) + navigate.height + (2 * table.bordersize)));
				frame.targetleft = Math.round((pageSize.windowWidth / 2) - (frame.targetwidth / 2) + getScrollXY().scrollX);
				frame.targettop = Math.round((pageSize.windowHeight / 2) - (frame.targetheight / 2) + getScrollXY().scrollY);
				self.frameMoveToPosition();
			}
			var repeat = setTimeout('imagegallery.show()', 200);
			return;			
		}
		titleShow();
		navigateShow();
		imageShow(imageSize.width, imageSize.height);
		imagePreload();
	}
	
	/**
	 * Show next image
	 */
	this.showNext = function() {
		if(!gallery.running) {
			return;
		}
		if(frame.fade || frame.position || image.fade) {
			return;
		}
		titleHide();
		navigateHide();
		imageHide();
		frame.inposition = false;
		frame.position = false;
		var imgInGallery = gallery.array[gallery.current].length - 1;
		image.current = imgInGallery > image.current ? image.current + 1 : 1;
		if(gallery.array[gallery.current][image.current].image == null) {
			imageGet();
		}
		self.show();
	}
	
	/**
	 * Show previous image
	 */
	this.showPrevious = function() {
		if(!gallery.running) {
			return;
		}
		if(frame.fade || frame.position || image.fade) {
			return;
		}
		titleHide();
		navigateHide();
		imageHide();
		frame.inposition = false;
		frame.position = false;
		var imgInGallery = gallery.array[gallery.current].length - 1;
		image.current = image.current != 1 ? image.current - 1 : imgInGallery;
		if(gallery.array[gallery.current][image.current].image == null) {
			imageGet();
		}
		self.show();
	}
	
	/**
	 * Hide image gallery
	 */
	function hide() {
		titleHide();
		navigateHide();
		imageHide();
		frameHide();
		backgroundHide();
		frame.inposition = false;
		gallery.running = false;
	}
	
	/**
	 * Manage image galley on click event
	 */
	function imageClick() {
		var caller = this;
		if(!caller) {
			return true;
		}
		if(!object.background) {
			backgroundCreate();
		}
		if(!object.frame) {
			frameCreate();
		}
		if(!object.background || !object.frame) {
			return true;
		} else {
			getPageSize();
			backgroundShow();
			frameShow();
		}
		window.onresize = function() {
			getPageSize();
			object.background.style.width = pageSize.pageWidth + 'px';
			object.background.style.height = pageSize.pageHeight + 'px';
		}
		var imageRel = caller.rel.split('|');
		gallery.current = imageRel.length > 1 ? imageRel[1] : setting.basename;
		if(!gallery.array[gallery.current]) {
			galleryGet(caller.href);
		} else {
			for(var i = 1; i <= gallery.array[gallery.current].length; i++) {
				if(gallery.array[gallery.current][i].src == caller.href) {
					image.current = i;
					break;
				}
			}
		}
		if(!gallery.array[gallery.current] || !image.current || image.current == 0) {
			return true;
		}
		if(gallery.array[gallery.current][image.current].image == null) {
			imageGet();
		}
		gallery.running = true;
		self.show();
		return false;
	}
	
	/**
	 * Create image
	 * Set gallery image
	 */
	function imageGet() {
		var newImage = new Image();
		newImage.src = gallery.array[gallery.current][image.current].src;
		gallery.array[gallery.current][image.current].image = newImage;
	}
	
	/**
	 * Preload next and previous images
	 */
	function imagePreload() {
		var imgInGallery = gallery.array[gallery.current].length - 1;
		var nextImage = gallery.array[gallery.current][image.current + 1];
		if(imgInGallery > image.current && nextImage.image == null) {
			var nextImagePreload = new Image();
			nextImagePreload.src = nextImage.src;
			gallery.array[gallery.current][image.current + 1].image = nextImagePreload;
		}
		var previousImage = gallery.array[gallery.current][image.current - 1];
		if(image.current != 1 && previousImage.image == null) {
			var previousImagePreload = new Image();
			previousImagePreload.src = previousImage.src;
			gallery.array[gallery.current][image.current - 1].image = previousImagePreload;
		}
	}
	
	/**
	 * Set image size 
	 * @return  Array  images width and height
	 */
	function imageSetSize() {
		var currentImg = gallery.array[gallery.current][image.current];
		var imageWidth = currentImg.image.width;
		var imageHeight = currentImg.image.height;
		var maxWidth = pageSize.windowWidth - (2 * table.bordersize) - (2 * setting.pagepadding);
		var maxHeight = pageSize.windowHeight - (currentImg.title != '' ? title.height : 0) - navigate.height - (2 * table.bordersize) - (2 * setting.pagepadding);
		if(imageWidth > maxWidth) {
			var aspectRatio = maxWidth / imageWidth;
			imageWidth = maxWidth;
			imageHeight = imageHeight * aspectRatio;
		}
		if(imageHeight > maxHeight) {
			var aspectRatio = maxHeight / imageHeight;
			imageHeight = maxHeight;
			imageWidth = imageWidth * aspectRatio;
		}
		return {width: Math.round(imageWidth), height: Math.round(imageHeight)};
	}
	
	/**
	 * Create image object and show it
	 * @param  Integer  pWidth   Image width
	 * @param  Integer  pHeight  Image height
	 */
	function imageShow(pWidth, pHeight) {
		var newImage = false;
		if(!object.image) {
			object.image = document.createElement('IMG');
			object.image.setAttribute('id', 'imageGalleryImage');
			newImage = true;
		}
		object.image.setAttribute('src', gallery.array[gallery.current][image.current].image.src);
		object.image.style.width = pWidth + 'px';
		object.image.style.height = pHeight + 'px';
		object.image.style.display = 'block';
		if(newImage) {
			object.content.appendChild(object.image);
		}
		image.fade = true;
		self.imageFadeIn();
	}
	
	/**
	 * Hide image
	 */
	function imageHide() {
		image.fade = true;
		self.imageFadeOut();
	}
	
	/**
	 * Fade in image
	 * Repeat as needed
	 */
	this.imageFadeIn = function() {
		if(image.opacity == image.opacitymax) {
			image.fade = false;
			return;
		}
		image.opacity = image.opacity + 2;
		setObjectOpacity(object.image, image.opacity);
		var repeat = setTimeout('imagegallery.imageFadeIn()', 20);
		return;
	}
	
	/**
	 * Fade out image
	 * Repeat as needed
	 */
	this.imageFadeOut = function() {
		if(image.opacity == 0) {
			object.image.style.display = 'none';
			image.fade = false;
			return;
		}
		image.opacity = image.opacity - 2;
		setObjectOpacity(object.image, image.opacity);
		var repeat = setTimeout('imagegallery.imageFadeOut()', 20);
		return;
	}
	
	/**
	 * Get gallery
	 * Set current image
	 */
	function galleryGet(pCurrentHref) {
		gallery.array[gallery.current] = new Array();
		var aElements = document.getElementsByTagName('a');
		var counter = 0;
		for(i = 0; i < aElements.length; i++) {
			if(aElements[i].rel && aElements[i].rel.substring(0, setting.relname.length) == setting.relname && aElements[i].rel.substring(setting.relname.length + 1, aElements[i].rel.length) == gallery.current && aElements[i].href) {
				counter++;
				gallery.array[gallery.current][counter] = {src: aElements[i].href, title: aElements[i].title, image: null};
				if(aElements[i].href == pCurrentHref) {
					image.current = counter;
				}
			}
		}
	}
	
	/**
	 * Create gallery background div
	 */
	function backgroundCreate() {
		object.background = document.createElement('DIV');
		object.background.setAttribute('id', 'imageGalleryBackground');
		document.body.appendChild(object.background);
	}
	
	/**
	 * Show background div
	 */
	function backgroundShow() {
		object.background.style.display = 'none';
		object.background.style.width = pageSize.pageWidth + 'px';
		object.background.style.height = pageSize.pageHeight + 'px';
		object.background.style.display = 'block';
		if(background.opacity != background.opacitymax) {
			background.fade = true;
			self.backgroundFadeIn();
		}
	}
	
	/**
	 * Hide background div
	 */
	function backgroundHide() {
		background.fade = true;
		self.backgroundFadeOut();
	}
	
	/**
	 * Fade in background div
	 * Repeat as needed
	 */
	this.backgroundFadeIn = function() {
		if(background.opacity == background.opacitymax) {
			object.background.onclick = hide;
			background.fade = false;
			return;
		}
		background.opacity = background.opacity + 2;
		setObjectOpacity(object.background, background.opacity);
		var repeat = setTimeout('imagegallery.backgroundFadeIn()', 20);
		return;
	}
	
	/**
	 * Fade out background div
	 * Repeat as needed
	 */
	this.backgroundFadeOut = function() {
		if(background.opacity == 0) {
			object.background.onclick = falseFunc;
			object.background.style.display = 'none';
			background.fade = false;
			return;
		}
		background.opacity = background.opacity - 2;
		setObjectOpacity(object.background, background.opacity);
		var repeat = setTimeout('imagegallery.backgroundFadeOut()', 20);
		return;
	}
	
	/**
	 * Create gallery frame div
	 */
	function frameCreate() {
		object.frame = document.createElement('DIV');
		object.frame.setAttribute('id', 'imageGalleryFrame');
		var classId = [
					   ['TopLeft', 'TopCenter', ''], 
					   ['MiddleLeft', '', 'MiddleRight'], 
					   ['NavigateLeft', '', 'NavigateRight'], 
					   ['BottomLeft', 'BottomCenter', 'BottomRight']
					   ];
		object.table = document.createElement('TABLE');
		object.table.setAttribute('class', 'imageGalleryTable');
		var tbody = document.createElement('TBODY');
		var nbsp = '&nbsp;';
		for(var i = 0; i < 4; i++) {
			var row = document.createElement('TR');
			for (var j = 0; j < 3; j++) {
				var cell = document.createElement('TD');
				if(classId[i][j] != '') {
					cell.setAttribute('class', 'imageGalleryTable' + classId[i][j]);
					cell.innerHTML = nbsp;
				} else {
					if(i == 0) {
						cell.setAttribute('class', 'imageGalleryTableTopRight');
						navigateCreate();
						cell.appendChild(object.exit);
					} else if(i == 1) {
						cell.setAttribute('id', 'imageGalleryIn');
						object.content = cell;
					} else if(i == 2){
						cell.setAttribute('class', 'imageGalleryNavigationCenter');
						titleCreate();
						cell.appendChild(object.title);
						cell.appendChild(object.navigate);
					}
				}
				row.appendChild(cell);
			}
			tbody.appendChild(row);
		}
		object.table.appendChild(tbody);
		object.frame.appendChild(object.table);
		document.body.appendChild(object.frame);
	}
	
	/**
	 * Show frame div
	 */
	function frameShow() {
		object.frame.style.display = 'none';
		if(frame.width == 0 || frame.height == 0) {
			frame.width = frame.basewh;
			object.frame.style.width = frame.width + 'px';
			frame.height = frame.basewh + navigate.height;
			object.frame.style.height = frame.height + 'px';
			object.table.style.width = frame.width + 'px';
			object.table.style.height = frame.height + 'px';
			object.content.style.width = frame.width - (2 * table.bordersize) + 'px';
			object.content.style.height = frame.height - (2 * table.bordersize) + 'px';
			var posLeft = Math.round((pageSize.windowWidth / 2) - (frame.width / 2) + getScrollXY().scrollX);
			posLeft = posLeft < 0 ? 0 : posLeft;
			var posTop = Math.round((pageSize.windowHeight / 2) - (frame.height / 2) + getScrollXY().scrollY);
			posTop = posTop < 0 ? 0 : posTop;
			object.frame.style.left = posLeft + 'px';
			frame.left = posLeft;
			object.frame.style.top = posTop + 'px';
			frame.top = posTop;
		}
		object.frame.style.display = 'block';
		if(frame.opacity != frame.opacitymax) {
			frame.fade = true;
			self.frameFadeIn();
		}
	}
	
	/**
	 * Hide frame div
	 */
	function frameHide() {
		frame.fade = true;
		self.frameFadeOut();
	}
	
	/**
	 * Fade in frame div
	 * Repeat as needed
	 */
	this.frameFadeIn = function() {
		if(frame.opacity == frame.opacitymax) {
			frame.fade = false;
			return;
		}
		frame.opacity = frame.opacity + 2;
		setObjectOpacity(object.frame, frame.opacity);
		var repeat = setTimeout('imagegallery.frameFadeIn()', 20);
		return;
	}
	
	/**
	 * Fade out frame div
	 * Repeat as needed
	 */
	this.frameFadeOut = function() {
		if(frame.opacity == 0) {
			object.frame.style.display = 'none';
			frame.fade = false;
			return;
		}
		frame.opacity = frame.opacity - 2;
		setObjectOpacity(object.frame, frame.opacity);
		var repeat = setTimeout('imagegallery.frameFadeOut()', 20);
		return;
	}
	
	/**
	 * Move frame to target position
	 */
	this.frameMoveToPosition = function() {
		if(!frame.position) {
			return;
		}
		var inPosition = true;
		var posVar = ['width', 'height', 'left', 'top'];
		var posDifference = [20, 20, 10, 10];
		var change = 0;
		for(var i = 0; i < posVar.length; i++) {
			if(eval('frame.' + posVar[i] + ' != frame.target' + posVar[i] + '')) {
				eval('var difference = Math.abs(frame.' + posVar[i] + ' - frame.target' + posVar[i] + ');');
				if(difference < posDifference[i]) {
					change = difference;
				} else {
					change = posDifference[i];
					for(var j = 100; j > 9; j--) {
						if(difference > (posDifference[i] * j)) {
							change = posDifference[i] * (j / 10);
							break;
						}
					}
				}
				eval('frame.' + posVar[i] + ' = frame.' + posVar[i] + ' < frame.target' + posVar[i] + ' ? (frame.' + posVar[i] + ' + change) : (frame.' + posVar[i] + ' - change);');
				eval('object.frame.style.' + posVar[i] + ' = frame.' + posVar[i] + ' + "px";');
				eval('inPosition = false;');
			}
		}
		var currentImg = gallery.array[gallery.current][image.current];
		var tableObject = ['table', 'content'];
		for(var i = 0; i < tableObject.length; i++) {
			for(var j = 0; j < 2; j++) {
				eval('var size = i == 0 ? frame.' + posVar[j] + ' : frame.' + posVar[j] + ' - (currentImg.title != "" ? title.height : 0) - navigate.height - (2 * table.bordersize);');
				eval('object.' + tableObject[i] + '.style.' + posVar[j] + ' = size + "px";');
			}
		}
		object.title.style.width = frame.width - (2 * table.bordersize) + 'px';
		object.navigate.style.width = frame.width - (2 * table.bordersize) + 'px';
		if(inPosition) {
			frame.position = false;
			frame.inposition = true;
			return;
		} else {
			var repeat = setTimeout('imagegallery.frameMoveToPosition()', 20);
			return;
		}
	}
	
	/**
	 * Create title objects
	 */
	function titleCreate() {
		object.title = document.createElement('DIV');
		object.title.setAttribute('id', 'imageGalleryNavigateTitle');
	}
	
	/**
	 * Show title div
	 */
	function titleShow() {
		object.title.style.display = 'none';
		var currentImg = gallery.array[gallery.current][image.current];
		if(currentImg.title != '') {
			object.title.innerHTML = currentImg.title;
			object.title.style.display = 'block';
			title.fade = true;
			self.titleFadeIn();
		} else {
			object.title.innerHTML = '';
			title.opacity = 0;
			setObjectOpacity(object.title, title.opacity);
			title.fade = false;
		}
	}
	
	/**
	 * Hide title div
	 */
	function titleHide() {
		title.fade = true;
		self.titleFadeOut();
	}
	
	/**
	 * Fade in title div
	 * Repeat as needed
	 */
	this.titleFadeIn = function() {
		if(title.opacity == title.opacitymax) {
			title.fade = false;
			return;
		}
		title.opacity = title.opacity + 2;
		setObjectOpacity(object.title, title.opacity);
		var repeat = setTimeout('imagegallery.titleFadeIn()', 20);
		return;
	}
	
	/**
	 * Fade out title div
	 * Repeat as needed
	 */
	this.titleFadeOut = function() {
		if(title.opacity == 0) {
			object.title.style.display = 'none';
			title.fade = false;
			return;
		}
		title.opacity = title.opacity - 2;
		setObjectOpacity(object.title, title.opacity);
		var repeat = setTimeout('imagegallery.titleFadeOut()', 20);
		return;
	}
	
	/**
	 * Create navigate objects
	 */
	function navigateCreate() {
		object.navigate = document.createElement('DIV');
		object.navigate.setAttribute('id', 'imageGalleryNavigate');
		object.previous = document.createElement('A');
		object.previous.setAttribute('id', 'imageGalleryNavigatePrevious');
		var previous = document.createTextNode('Előző');
		object.previous.appendChild(previous);
		object.info = document.createElement('SPAN');
		object.info.setAttribute('id', 'imageGalleryNavigateInfo');
		object.next = document.createElement('A');
		object.next.setAttribute('id', 'imageGalleryNavigateNext');
		var next = document.createTextNode('Következő');
		object.next.appendChild(next);
		object.navigate.appendChild(object.previous);
		object.navigate.appendChild(object.info);
		object.navigate.appendChild(object.next);
		object.exit = document.createElement('DIV');
		object.exit.setAttribute('id', 'imageGalleryExit');
		object.exit.onclick = hide;
	}
	
	
	/**
	 * Show navigate div
	 */
	function navigateShow() {
		object.navigate.style.display = 'none';
		if(image.current > 1) {
			object.previous.style.display = 'inline-block';
			object.previous.onclick = self.showPrevious;
		} else {
			object.previous.style.display = 'none';
			object.previous.onclick = falseFunc;
		}
		var imgInGallery = gallery.array[gallery.current].length - 1;
		object.info.style.display = 'none';
		object.info.innerHTML = ' ( ' + image.current + ' / ' + imgInGallery + ' ) ';
		object.info.style.display = 'inline-block';
		if(image.current < imgInGallery) {
			object.next.style.display = 'inline-block';
			object.next.onclick = self.showNext;
		} else {
			object.next.style.display = 'none';
			object.next.onclick = falseFunc;
		}
		object.navigate.style.display = 'block';
		object.exit.style.display = 'block';
		navigate.fade = true;
		self.navigateFadeIn();
	}
	
	/**
	 * Hide navigate div
	 */
	function navigateHide() {
		navigate.fade = true;
		self.navigateFadeOut();
	}
	
	/**
	 * Fade in navigate div
	 * Repeat as needed
	 */
	this.navigateFadeIn = function() {
		if(navigate.opacity == navigate.opacitymax) {
			navigate.fade = false;
			return;
		}
		navigate.opacity = navigate.opacity + 2;
		setObjectOpacity(object.navigate, navigate.opacity);
		setObjectOpacity(object.exit, navigate.opacity);
		var repeat = setTimeout('imagegallery.navigateFadeIn()', 20);
		return;
	}
	
	/**
	 * Fade out navigate div
	 * Repeat as needed
	 */
	this.navigateFadeOut = function() {
		if(navigate.opacity == 0) {
			object.navigate.style.display = 'none';
			object.exit.style.display = 'none';
			navigate.fade = false;
			return;
		}
		navigate.opacity = navigate.opacity - 2;
		setObjectOpacity(object.navigate, navigate.opacity);
		setObjectOpacity(object.exit, navigate.opacity);
		var repeat = setTimeout('imagegallery.navigateFadeOut()', 20);
		return;
	}
	
	/**
	 * Get page, widow height and width size 
	 * @return  Array  Size data
	 */
	function getPageSize() {
		var db = document.body;
		var dde = document.documentElement;
		pageSize.pageWidth = Math.max(db.scrollWidth, dde.scrollWidth, db.offsetWidth, dde.offsetWidth, db.clientWidth, dde.clientWidth);
		pageSize.pageHeight = Math.max(db.scrollHeight, dde.scrollHeight, db.offsetHeight, dde.offsetHeight, db.clientHeight, dde.clientHeight);
		// IE7 dde.scrollWidth, dde.scrollHeight nem frissül átméretezéskor ^
		if(dde && dde.clientHeight) {
			pageSize.windowWidth = dde.clientWidth;
			pageSize.windowHeight = dde.clientHeight;
		} else if(db) {
			pageSize.windowWidth = db.clientWidth;
			pageSize.windowHeight = db.clientHeight;
	    }
	}
	
	/**
	 * Get scroll x and y position
	 * @return  Array  size data
	 */
	function getScrollXY() {
		var scrollX = 0;
		var scrollY = 0;
		if(typeof(window.pageYOffset ) == 'number') {
			scrollY = window.pageYOffset;
			scrollX = window.pageXOffset;
		} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
			scrollY = document.body.scrollTop;
			scrollX = document.body.scrollLeft;
		} else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
			scrollY = document.documentElement.scrollTop;
			scrollX = document.documentElement.scrollLeft;
		}
		return {
			'scrollX': scrollX, 
			'scrollY': scrollY
		};
	}
	
	/**
	 * Set object opacity
	 * @param  Object   pObj    Object to set opacity
	 * @param  Integer  pSetTo  Set opacity to
	 */
	function setObjectOpacity(pObj, pSetTo) {
		if(!pObj || typeof pObj != 'object' || !pSetTo) {
			return false;
		}
		pObj.style.opacity = pSetTo / 10;
		pObj.style.filter = 'alpha(opacity=' + pSetTo * 10 + ')';
		return;
	}
	
	/**
	 * Empty, return false function
	 * @return  Boolean  false
	 */
	function falseFunc() {
		return false;
	}
	
	/**
	 * Initialize
	 */
	if(setting.need) {
		relGet();
	}
}
