/*
Files:
/libs/_js/formfunc.js
/libs/_js/cookiesLibrary.js
/libs/_js/conversionsLib.js
/libs/_js/dynamicContentLibrary.js
*/

// ---------------------------- START: /libs/_js/formfunc.js ----------------------------

function addNewParameter(paramString, name, value) {
	if((typeof(value)=="object") && (value.length)) {
		for(i=0; i<value.length; i++) {
			if(paramString.length == 0) {
				paramString = name+"["+value[i][0]+"]="+value[i][1];
			}
			else {
				paramString += "&"+name+"["+value[i][0]+"]="+value[i][1];
			}			
		}	
	}
	else {
		if(paramString.length == 0) {
			paramString = name+"="+value;
		}
		else {
			paramString += "&"+name+"="+value;
		}	
	}
	return paramString;
}

// ---------------------------- END : /libs/_js/formfunc.js -----------------------------


// ---------------------------- START: /libs/_js/cookiesLibrary.js ----------------------------

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function haveCookie(name) {
	if(document.cookie.indexOf(name+'=') >= 0) {
		return true;
	}
	else {
		return false;
	}
}

function saveMultipleCookie(cookieName, valName, valContent) {
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valStart = cookieStr.indexOf(valName);
		if(valStart >= 0) {
			valEnd = cookieStr.indexOf('#', valStart);
			if(valEnd == -1) {
				valEnd = cookieStr.length;
			}
			valTmp = cookieStr.substr(valStart, valEnd-valStart);
			cookieStr = cookieStr.replace(valTmp, valName+':'+valContent);
			createCookie(cookieName, cookieStr, 360);
		}
		else {
			createCookie(cookieName, cookieStr+'#'+valName+':'+valContent, 360);
		}
	}
	else {
		createCookie(cookieName, valName+':'+valContent, 360);
	}
}

function getMultipleCookieValue(cookieName, valName) {
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valStart = cookieStr.indexOf(valName);
		if(valStart >= 0) {
			valEnd = cookieStr.indexOf('#', valStart);
			if(valEnd == -1) {
				valEnd = cookieStr.length;
			}
			valTmp = cookieStr.substr(valStart, valEnd-valStart);
			valArr = valTmp.split(':');
			return valArr[1];
		}
		else {
			return false;
		}
	}
	else {
		return false;
	}
}

function getMultipleCookieAll(cookieName) {
	var returnArr;
	if(haveCookie(cookieName)) {
		cookieStr = readCookie(cookieName);
		valArr = cookieStr.split('#');
		returnArr = new Array();
		for(i=0; i<valArr.length; i++) {
			tmp = valArr[i].split(':');
			returnArr[i] = new Array(tmp[0], tmp[1]);
		}
		return returnArr;
	}
	else {
		return false;
	}
}

// ---------------------------- END : /libs/_js/cookiesLibrary.js -----------------------------


// ---------------------------- START: /libs/_js/conversionsLib.js ----------------------------

function replacePLChars(str) {
	str = str.replace(String.fromCharCode(261), 'a');
	str = str.replace(String.fromCharCode(281), 'e');	
	str = str.replace(String.fromCharCode(347), 's');	
	str = str.replace(String.fromCharCode(263), 'c');
	str = str.replace(String.fromCharCode(380), 'z');
	str = str.replace(String.fromCharCode(378), 'z');
	str = str.replace(String.fromCharCode(243), 'o');
	str = str.replace(String.fromCharCode(322), 'l');
	str = str.replace(String.fromCharCode(324), 'n');
	return str;
}

function replacePLCharsInField(fieldName) {
	tmpField = document.getElementById(fieldName);
	tmpField.value = replacePLChars(tmpField.value);
}

function replacePLCharsInBlock(fieldName) {
	tmpField = document.getElementById(fieldName);
	tmpField.innerHTML = replacePLChars(tmpField.innerHTML);
}

// ---------------------------- END : /libs/_js/conversionsLib.js -----------------------------


// ---------------------------- START: /libs/_js/dynamicContentLibrary.js ----------------------------

function changeVisible(layerName) {
	$("#"+layerName).toggle();
	saveMultipleCookie('layersVisible', layerName, $("#"+layerName).css("display"));
}

function changeVisibleSlide(layerName) {
	$("#"+layerName).slideToggle("slow");
	saveMultipleCookie('layersVisible', layerName, $("#"+layerName).css("display"));
}

function changeVisibleButton(layerName, buttonName, buttonShow, buttonHide) {
	$("#"+layerName).toggle();
	if($("#"+layerName).css("display") == "none") {
		$("#"+buttonName).html('<img src="'+buttonShow+'" alt="" onclick="changeVisibleButton(\''+layerName+'\', \''+buttonName+'\', \''+buttonShow+'\', \''+buttonHide+'\');">');
	}
	else {
		$("#"+buttonName).html('<img src="'+buttonHide+'" alt="" onclick="changeVisibleButton(\''+layerName+'\', \''+buttonName+'\', \''+buttonShow+'\', \''+buttonHide+'\');">');
	}
	saveMultipleCookie('layersVisible', layerName, $("#"+layerName).css("display"));
}

function loadLayersVisible(layersToCheck) {
	if(haveCookie('layersVisible')) {
		for(i=0; i<layersToCheck.length; i++) {
			layerName = layersToCheck[i];
			layerValue = getMultipleCookieValue('layersVisible', layerName);
			if(layerValue !== false) {
				$("#"+layerName).css("display", layerValue);	
			}
		}
	}
}

function loadLayersVisibleButton(layersToCheck) {
	if(haveCookie('layersVisible')) {
		for(i=0; i<layersToCheck.length; i++) {
			layerName = layersToCheck[i][0];
			buttonName = layersToCheck[i][1];
			buttonShow = layersToCheck[i][2];
			buttonHide = layersToCheck[i][3];			
			layerValue = getMultipleCookieValue('layersVisible', layerName);
			if(layerValue !== false) {
				$("#"+layerName).css("display", layerValue);	
			}
			if(layerValue == "none") {
				$("#"+buttonName).html('<img src="'+buttonShow+'" alt="" onclick="changeVisibleButton(\''+layerName+'\', \''+buttonName+'\', \''+buttonShow+'\', \''+buttonHide+'\');">');
			}
			else {
				$("#"+buttonName).html('<img src="'+buttonHide+'" alt="" onclick="changeVisibleButton(\''+layerName+'\', \''+buttonName+'\', \''+buttonShow+'\', \''+buttonHide+'\');">');
			}			
		}
	}
}

function changeGroupVisible(groupPrefix, groupContentPrefix, inactiveTabClass, activeTabClass, activeElementNr, elementsCount, saveCookie) {
	var i;
	for(i=1; i<(elementsCount+1); i++) {
		if(document.getElementById(groupPrefix+'_'+i).className != 'zaklOff') {
			document.getElementById(groupPrefix+'_'+i).className = inactiveTabClass;
		}
		document.getElementById(groupContentPrefix+'_'+i).style.display = "none";
	}	
	document.getElementById(groupPrefix+'_'+activeElementNr).className = activeTabClass;
	document.getElementById(groupContentPrefix+'_'+activeElementNr).style.display = "";	
	if(saveCookie != false) {
		saveMultipleCookie('groupVisible', groupPrefix+'|'+groupContentPrefix+'|'+inactiveTabClass+'|'+activeTabClass+'|'+elementsCount, activeElementNr);
	}
}

function changeFontSize(elementID, fontSize) {
	document.getElementById(elementID).style.fontSize=fontSize;	
	saveMultipleCookie('textSizes', elementID, fontSize);
}

function loadGroupVisible() {
	var groupArr, j;
	groupArr = new Array();
	groupArr = getMultipleCookieAll('groupVisible');
	for(j=0; j<groupArr.length; j++) {
		tmpOptions = groupArr[j][0].split('|');
		if(document.getElementById(tmpOptions[0]+'_'+1) != null) {
			changeGroupVisible(tmpOptions[0], tmpOptions[1], tmpOptions[2], tmpOptions[3], parseInt(groupArr[j][1]), parseInt(tmpOptions[4]));
		}
	}
}

// ---------------------------- END : /libs/_js/dynamicContentLibrary.js -----------------------------


