function replacevalsreverse(thenum) {
	 if (thenum == 10) { thenum = "a"; }
	 if (thenum == 11) { thenum = "b"; }
	 if (thenum == 12) { thenum = "c"; }
	 if (thenum == 13) { thenum = "d"; }
	 if (thenum == 14) { thenum = "e"; }
	 if (thenum == 15) { thenum = "f"; }
	
	 return thenum;
}
	
// getting color from stylesheet
function getColor(className,style) {

	var tmpElement = document.createElement("div");
	
	// setting classname
	tmpElement.className = className;
	
	document.body.appendChild(tmpElement);
	
	color = rgbtohex(mainElm.getCss(tmpElement,style));
	
	// removing element
	document.body.removeChild(tmpElement);
	
	return color; 
}

	
	
function rgbtohex(value) {
	
	// check value
	var regEx = new RegExp("([0-9]+)\, ([0-9]+)\, ([0-9]+)","gi");
	
	var arrRGB = value.match(regEx);
	
	if(arrRGB) {
		
		var tmpRGB = arrRGB[0].split(", ");
		
		var r = tmpRGB[0];
		var g = tmpRGB[1];
		var b = tmpRGB[2];
	
		return calc10to16(r) + calc10to16(g) + calc10to16(b);
		
	} else {
		
		value = value.replace("#","");
		
		return value;
	}
}
	
function calc10to16(num) {
	if (num < 16) {
		var thenum = replacevalsreverse(num);
	 	return "0"+thenum;
	} else {
		var themod=num % 16;
		var thenum=((num-themod) / 16);
		thenum = replacevalsreverse(thenum)
		themod = replacevalsreverse(themod)
		
	 	return ""+thenum+themod
	}
}

function showLogin(url) {
	
	var loginAjax = new ajax();
	
	loginAjax.addGetParam('getLogin',1);
	loginAjax.get();
	
	
	showShade();
}

function showComment(treeId) {
	
	var loginAjax = new ajax();
	
	loginAjax.addGetParam('getComment',1);
	loginAjax.addGetParam('moduleId',treeId);
	loginAjax.get();
	
	
	showShadeLarge();
}

function showRequest() {

	var loginAjax = new ajax();
	
	loginAjax.addGetParam('getRequest',1);
	loginAjax.get();
	
	showShade();
}

function showNotify() {
	
	var loginAjax = new ajax();
	
	loginAjax.addGetParam('getNotify',1);
	loginAjax.get();
	
	showShade();
}

function hideShade() {
	
	var objShade =  mainElm.get('shadeScreen');
	var objShadeForm =  mainElm.get('shadeScreenContent');
	var objShadeFormInner =  mainElm.get('shadeScreenContentInner');
	
	objShadeFormInner.obj.innerHTML = "";
	
	objShade.setFSH();	
	objShade.hide();
	objShadeForm.hide();
	
	resetShadeContent();
}

function showShade() {
	
	var objShade =  mainElm.get('shadeScreen');
	var objShadeContent =  mainElm.get('shadeScreenContent');
	
	// setting classname
	objShadeContent.obj.className = '';
	
	objShade.setFSH();
	
	objShade.show();
	objShadeContent.show();
}

function showShadeLarge() {
	
	var objShade =  mainElm.get('shadeScreen');
	var objShadeContent =  mainElm.get('shadeScreenContent');
	
	// setting classname
	objShadeContent.obj.className = 'shadeScreenContentLarge';
	
	objShade.setFSH();
	
	objShade.show();
	objShadeContent.show();
}


function login() {
	
	var loginAjax = new ajax();
	
	loginAjax.addForm('frontendLoginForm');
	loginAjax.addParam('ref',document.frontendLoginForm.action);
	loginAjax.post();
	
}

function sendRequest() {
	
	var loginAjax = new ajax();
	
	loginAjax.addForm('frontendLoginRequest');
	loginAjax.post();
	
	
}

function sendComment(treeId) {
	
	var loginAjax = new ajax();
	
	loginAjax.addGetParam('treeId',treeId);
	loginAjax.addGetParam('isAjaxType',2);
	loginAjax.addForm('frontendComment');
	loginAjax.post(treeId);
	
}


function getImage(imageId) {
	
	var imageAjax = new ajax();
	
	//imageId
	imageAjax.addGetParam('treeId',imageId);
	imageAjax.addGetParam('isAjaxType',5);
	imageAjax.get();
	
	showShade();
}

function resetShadeContent () {
	
	var objShadeContent =  mainElm.get('shadeScreenContent');
	objShadeContent.setW("281px");
	objShadeContent.style.top = "30%";
	objShadeContent.style.left = "50%";
	objShadeContent.style.marginLeft = "-140px";
	
}

function resizeShadeContent (width) {
	
	var objShadeContent =  mainElm.get('shadeScreenContent');
	objShadeContent.setW(width + "px");
	
}

function posShadeContent () {
	
	var objShadeContent =  mainElm.get('shadeScreenContent');
	objShadeContent.setTop("10px");
}

function centerShadeContent (width) {
	
	var objShadeContent =  mainElm.get('shadeScreenContent');
	objShadeContent.style.marginLeft = "-" + (width/2) + "px";
}

function showImage() {
	
	var imgElm = mainElm.get('ajaxImage');
	var imgNavElm = mainElm.get('ajaxImageNav');
	var imgContElm = mainElm.get('ajaxImageContainer');
	
	imgElm.show();
	posShadeContent();
	
	imgElm = checkSizes(imgElm);
	
	centerShadeContent(imgElm.obj.width);
	resizeShadeContent(imgElm.obj.width);
	imgContElm.setH(imgElm.obj.height + "px");
	imgNavElm.show();
	
	preLoadNum(1);
}

function preLoadNum(num) {
	
	if(typeof(preLoadImageArray) != 'undefined' && typeof(preLoadImageSelected) != 'undefined') {
		
		// find indexes to load
		var prevImg = (preLoadImageSelected - num)<0?(preLoadImageArray.length-1):preLoadImageSelected - num;
		var nextImg = (preLoadImageSelected + num)>=preLoadImageArray.length?0:preLoadImageSelected + num;
		
		// is next loaded
		if(!preLoadImageArray[nextImg].src) {
			
			preLoadImageArray[nextImg].src = preLoadImageArray[nextImg].tmpSrc;
			
		}
		
		// is next loaded
		if(!preLoadImageArray[prevImg].src) {
			
			preLoadImageArray[prevImg].src = preLoadImageArray[prevImg].tmpSrc;
			
		}
	}
	
}

function checkSizes(imgElm) {
	
	var windowSize = browser.windowSize();
	
	// reset 
	imgElm.setW("auto");
	imgElm.setH("auto");
	
	// does image exceed screen
	if(imgElm.obj.width > windowSize[1] || imgElm.obj.height > windowSize[0]) {
		
		// determine if image is wider or heigher than screen
		if(imgElm.obj.width/imgElm.obj.height > windowSize[1]/windowSize[0]) {
			
			imgElm.setW(windowSize[1] - 70 + "px");
			
		} else {
			imgElm.setH(windowSize[0] - 100 + "px");
		}
		
	}
	
	return imgElm;
}

function showImagePrevNxt(inc) {
	
	// check for image array;
	if(typeof(preLoadImageArray) != 'undefined' && typeof(preLoadImageSelected) != 'undefined') {
		
		// setting new selected image
		if(preLoadImageSelected + inc >= preLoadImageArray.length) {
			preLoadImageSelected = 0;
		} else if (preLoadImageSelected + inc < 0) {
			preLoadImageSelected = preLoadImageArray.length -1 ;
		} else {
			preLoadImageSelected = preLoadImageSelected + inc;
		}
		
		// changing image
		var imgElm = mainElm.get('ajaxImage');
		var imgNavElm = mainElm.get('ajaxImageNav');
		imgElm.hide();
		imgNavElm.hide();
		imgElm.obj.src = preLoadImageArray[preLoadImageSelected].src;
		
	}
	
}

function sendForm(treeId) {
	
	var loginAjax = new ajax();
	
	loginAjax.addGetParam('treeId',treeId);
	loginAjax.addGetParam('isAjaxType',2);
	loginAjax.addForm('form_' + treeId);
	loginAjax.post(treeId);
	
} 
