﻿// ####################################
// ###  Xroot.pl v.3.0.1 (11/2010)  ###
// ####################################

var siteURL = 'http://alekredyt.pl/';

function getElement(id)
{
	with (document) var element = getElementById ? getElementById(id) : all ? all[id] : layer[id];
	if(element == null) alert('nie znaleziono obiektu: ' + id); else if(!element.style) element.style = element;
	return element;
}

function hideElement(name)
{
	getElement(name).style.display = 'none';
}

function viewElement(name)
{
	getElement(name).style.display = '';
}

function checkUncheck(name)
{
	if(getElement(name).checked == true) getElement(name).checked = false; else getElement(name).checked = true;
}

function elementOnOff(name)
{
	if (getElement(name).style.display == 'block')
		getElement(name).style.display = 'none';
	else
		getElement(name).style.display = 'block';

	// zapisanie do cookie
	createCookie(name, getElement(name).style.display);
}

function menuOff(name)
{
	getElement(name).style.visibility = 'hidden';
}

function menuOn(name)
{
	getElement(name).style.visibility = 'visible';
}

function getSelectedValue(selectObject)
{
	var listValue = '';

	for(i = 0; i < selectObject.options.length; i++)
	{
		if(selectObject.options[i].selected == true)
		{
			if(listValue.length > 0) separator = '|'; else separator = '';
			listValue = listValue + separator + selectObject.options[i].value;
		}
	}

	return listValue;
}

function getAsArraySelectedValue(selectObject)
{
	var listValue = new Array();
	var j = 0;

	for(var i = 0; i < selectObject.options.length; i++)
	{
		if(selectObject.options[i].selected == true)
		{
			listValue[j++] = selectObject.options[i].value;
		}
	}

	return listValue;
}

function getCheckedValue(checkObject)
{
}

function ereg(pattern, text)
{
	var pattern = new RegExp(pattern, 'i');
	return pattern.test(text);
}

function numberFormat(number, decimals, dec_point, thousands_sep)
{
	var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
	var d = dec_point == undefined ? "." : dec_point;
	var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
	var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function formatPrice(price)
{
	return '<span style="white-space: nowrap;">' + numberFormat(price, 2, ',', ' ') + 'zł</span>';
}

var ajaxInProgress = false;
function exeAjax(module, params)
{
	if (ajaxInProgress == false)
	{
		ajaxInProgress = true;
		params = 'ajaxTemp=' + parseInt(Math.random()*99999999) + '&' + params;
		url = siteURL + module;
		myRequest.open('POST', url, true);
		myRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		myRequest.setRequestHeader("Content-length", params.length);
		myRequest.setRequestHeader("Connection", "close");
		myRequest.onreadystatechange = responseAjax;
		myRequest.send(params);
		return true;
	}
	else
	{
		return false;
	}
}

function exeModule(target, module, params)
{
	getElement(target).innerHTML = '<div style="margin: 10px auto; width: 162px;"><img src="' + siteURL + 'images/ajax-loader.gif"></div>';
	exeAjax(module, 'ajax=' + target + '&' + params);
}

function getCategory(idElemenet, id)
{
	exeAjax('Ajax/Form/GetCategory', 'id=' + id + '&id_element=' + idElemenet);
}

function sendFormValues(target, module, formObject)
{
	var params = '';
	for(var i = 0; i < getElement(formObject).elements.length; i++)
	{
		switch(getElement(formObject).elements[i].type)
		{
			case "text": params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].value) + "&"; break;
			case "password": params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].value) + "&"; break;
			case "textarea": params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].value) + "&"; break;
			case "hidden": params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].value) + "&"; break;
			case "select-one": params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].options[getElement(formObject).elements[i].selectedIndex].value) + "&"; break;
			case "checkbox": params += getElement(formObject).elements[i].name + "=" + ((getElement(formObject).elements[i].checked == true) ? encodeURI(getElement(formObject).elements[i].value) : '') + "&"; break;
			case "radio": if(getElement(formObject).elements[i].checked == true) params += getElement(formObject).elements[i].name + "=" + encodeURI(getElement(formObject).elements[i].value) + "&"; break;
			case "select-multiple": params += getElement(formObject).elements[i].name + "=" + getAsArraySelectedValue(getElement(formObject).elements[i]) + "&"; break;
		}
		//alert(getElement(formObject).elements[i].type);
	}
	params = params.substr(0,(params.length - 1));
	exeModule(target, module, params);
}


function urlEncode(str)
{
	//str = escape(str);
	str = str.replace(/\?/gi, '%3F');
	str = str.replace(/\(/gi, '%28');
	str = str.replace(/\)/gi, '%29');
	str = str.replace(/\+/gi, '%2B');
	str = str.replace(/\*/gi, '%2A');
	str = str.replace('/', '%2F');
	str = str.replace(/@/gi, '%40');
	str = str.replace(/&/gi, '%26');
	str = str.replace(/=/gi, '%3D');
	return str;
}

function getRequest()
{
	var req = false;
	try
	{
		req = new XMLHttpRequest();
	}
	catch(err1)
	{
		try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(err2)
		{
			try
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(err3)
			{
				req = false;
			}
		}
	}
	return req;
}


function responseAjax()
{
	if (myRequest.readyState == 4)
	{
		ajaxInProgress = false;
		if (myRequest.status == 200)
		{
			//alert(myRequest.responseText);
			var xml = myRequest.responseXML;
			var result = xml.getElementsByTagName('result')[0].childNodes[0].nodeValue;
			switch(result)
			{
				case 'CheckForm':
				{

					var element = xml.getElementsByTagName('element')[0].childNodes[0].nodeValue;
					var errorIcon = xml.getElementsByTagName('errorIcon')[0].childNodes[0].nodeValue;
					var errorInfo = xml.getElementsByTagName('errorInfo')[0].childNodes[0].nodeValue;
					formElementValid(element, errorInfo, errorIcon);
					break;
				}
				case 'CheckFormInfo':
				{
					var comment = xml.getElementsByTagName('comment')[0].childNodes[0].nodeValue;
					alert(comment);
					break;
				}
				case 'Module':
				{
					var time = xml.getElementsByTagName('time')[0].childNodes[0].nodeValue;
					var content = xml.getElementsByTagName('content')[0].childNodes[0].nodeValue;
					var target = xml.getElementsByTagName('target')[0].childNodes[0].nodeValue;
					//$('#' + target).hide();
					getElement(target).innerHTML = content;
					//$('#' + target).fadeIn();
					break;
				}
				case 'Category':
				{
					var categoryPath = xml.getElementsByTagName('path')[0].childNodes[0].nodeValue;
					var categoryLinks = xml.getElementsByTagName('links')[0].childNodes[0].nodeValue;
					var categorySelect = xml.getElementsByTagName('select')[0].childNodes[0].nodeValue;

					getElement('categoryPath').innerHTML = ((categoryPath != 'none') ? categoryPath : '');
					getElement('categoryLinks').innerHTML = ((categoryLinks != 'none') ? categoryLinks : '');
					getElement('categorySelect').innerHTML = ((categorySelect != 'none') ? categorySelect : '');
					if(categorySelect != 'none') getElement('categoryVar').value = 0;

					break;
				}
				case 'CategoryComplete':
				{
					var categoryPath = xml.getElementsByTagName('path')[0].childNodes[0].nodeValue;
					var categoryLinks = xml.getElementsByTagName('links')[0].childNodes[0].nodeValue;
					var categoryId = xml.getElementsByTagName('id')[0].childNodes[0].nodeValue;
					var idElement = xml.getElementsByTagName('idElement')[0].childNodes[0].nodeValue;

					getElement('categoryPath').innerHTML = categoryPath;
					getElement('categoryLinks').innerHTML = '';
					getElement('categorySelect').innerHTML = categoryLinks;
					getElement('categoryVar').value = categoryId;

					formElementValid(idElement, '', 'ok');

					break;
				}
				case 'AutoComplete':
				{
					AutoCompleteList = xml.getElementsByTagName('keys')[0].childNodes[0].nodeValue;
					AutoCompleteTime = xml.getElementsByTagName('time')[0].childNodes[0].nodeValue;
					if(AutoCompleteList == 'none') AutoCompleteList = '';
					if (AutoCompleteWrittenString != getElement('toComplete').value) AutoCompleteInit(); else AutoCompleteDraw();
					break;
				}
				case 'Error':
				{
					var error = xml.getElementsByTagName('error')[0].childNodes[0].nodeValue;
					alert(error);
					break
				}
				default:
				{
					alert("DEFAULT:\n\n" + myRequest.responseText);
				}
			}
		}
		else
		{
			//alert('AjaxError: ' + myRequest.status);
		}
	}
}
var myRequest = getRequest();

function formElementValid(element, errorInfo, errorIcon)
{
	if (errorIcon == 'ok')
	{
		getElement('xFormErrorInfo' + element).innerHTML = '';
		getElement('xFormErrorInfo' + element).className = 'errorInfoOff';
		getElement('xFormErrorIcon' + element).innerHTML = '<img src="' + siteURL + 'images/xform/ok.png" style="width: 14px; height: 14px;" alt="poprawnie wypełnione pole">';
	}
	else if (errorIcon == 'error')
	{
		getElement('xFormErrorInfo' + element).innerHTML = errorInfo;
		getElement('xFormErrorInfo' + element).className = 'errorInfoOn';
		getElement('xFormErrorIcon' + element).innerHTML = '<img src="' + siteURL + 'images/xform/error.png" style="width: 14px; height: 14px;" alt="błędnie wypełnione pole">';
	}
	else
	{
		getElement('xFormErrorInfo' + element).innerHTML = '';
		getElement('xFormErrorInfo' + element).className = 'errorInfoOff';
		getElement('xFormErrorIcon' + element).innerHTML = '';
	}
}

function checkFormAjax(form, element, idelement, value, confirmvalue)
{
	if(confirmvalue != 0) confirmvalue = getElement('id' + confirmvalue).value; else confirmvalue = '0';
	exeAjax('Ajax/Form/Check', 'form=' + form + '&element=' + element + '&idelement=' + idelement + '&value=' + urlEncode(value) + '&confirmvalue=' + urlEncode(confirmvalue));
}

function checkFormEreg(element, textToCheck, pattern, errorInfo)
{
	if (ereg(pattern, textToCheck) == true)
	{
		formElementValid(element, '', 'ok');
		return true;
	}
	else
	{
		formElementValid(element, errorInfo, 'error');
		return false;
	}
}

function uploadFileReady(fileName, fileSize, element, id, index)
{
	getElement('xFormUploadInfoId' + element).innerHTML = '-> ZAŁADOWANO: <b>' + fileName + '</b> (' + fileSize / 1000 + 'kB) <a href="javascript:uploadFileDelete(\''+element+'\', '+index+')" style="text-decoration: none;" title="kasuj plik">[X]</a>';
	getElement('iduploadid' + element).value = id;
	formElementValid(index, '', '');
}


function uploadFile(formname, iframename, idgap)
{
	// wyswietlenie info o ladowaniu
	getElement('xFormUploadInfoId' + idgap.replace('id','')).innerHTML = '<img src="'+siteURL+'images/xform/upload.gif">';

	// przeslanie danych
	getElement(formname).target = iframename;
	getElement('idxupload').value = 'uploadfile';
	getElement(formname).submit();

	// po przeslaniu
	getElement(formname).target = '_self';
	getElement('idxupload').value = '';
	uploadFileClear(idgap);
}


function uploadFileClear(id)
{
	fileField = getElement(id);
	parentNod = fileField.parentNode;
	tmpForm	= document.createElement("form");
	parentNod.replaceChild(tmpForm,fileField);
	tmpForm.appendChild(fileField);
	tmpForm.reset();
	parentNod.replaceChild(fileField,tmpForm);
}

function uploadFileDelete(element, index)
{
	getElement('iduploadid' + element).value = '';
	getElement('xFormErrorInfo' + index).innerHTML = '';
	getElement('xFormErrorInfo' + index).className = 'errorInfoOff';
	getElement('xFormErrorIcon' + index).innerHTML = '';
	getElement('xFormUploadInfoId' + element).innerHTML = '';
}


function getScrollY()
{
	var scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' )
	{
		scrOfY = window.pageYOffset;
	}
	else if( document.body && document.body.scrollTop)
	{
		scrOfY = document.body.scrollTop;
	}
	else if( document.documentElement && document.documentElement.scrollTop)
	{
		scrOfY = document.documentElement.scrollTop;
	}
	return scrOfY;
}


/*** AUTOCOMPLETE ***/

var AutoCompleteIndex = -1;
var AutoCompleteWrittenString = '';
var AutoCompleteList = '';
var AutoCompleteArray = new Array();
var AutoCompleteTime = 0;

function AutoCompleteInit()
{
	if (getElement('toComplete').value.length > 0)
	{
		if (AutoCompleteWrittenString != getElement('toComplete').value)
		{
			AutoCompleteList = '';
			AutoCompleteIndex = -1;
			if(exeAjax('Ajax/AutoComplete/GetKeys', 'key=' + getElement('toComplete').value)) AutoCompleteWrittenString = getElement('toComplete').value;
		}

		AutoCompleteDraw();
	}
	else
	{
		AutoCompleteClose();
	}
}

function AutoCompleteClose()
{
	getElement('AutoComplete').style.visibility = 'hidden';
}

function AutoCompleteShow()
{
	if(getElement('AutoCompleteList').innerHTML.length > 0) getElement('AutoComplete').style.visibility = 'visible';
}

function AutoCompleteDraw()
{
	AutoCompleteArray = AutoCompleteList.split(',');
	getElement('AutoCompleteList').innerHTML = '';
	for(i = 0; i < AutoCompleteArray.length; i++)
	{
		if(AutoCompleteArray[i].length > 0) getElement('AutoCompleteList').innerHTML += '<li onClick="AutoCompleteText('+i+', true);" class="' + ((i == AutoCompleteIndex) ? 'on' : '') + '">' + AutoCompleteArray[i] + '</li>';
	}
	if(getElement('AutoCompleteList').innerHTML == '')
	{
		AutoCompleteClose();
	}
	else
	{
		getElement('AutoCompleteList').innerHTML += '<li style="border-top: 1px dotted #AAA; text-align: right;"><i>znaleziono w '+ AutoCompleteTime.substring(0, 6) +'[s]</i></li>';
		AutoCompleteShow();
	}

}

function AutoCompleteMove(direction)
{
	if (direction == 'up')
	{
		AutoCompleteIndex--;
	}
	else
	{
		AutoCompleteIndex++;
	}

	if (AutoCompleteIndex > AutoCompleteArray.length - 1)
	{
		AutoCompleteIndex = -1;
	}
	else if(AutoCompleteIndex < -1)
	{
		AutoCompleteIndex = AutoCompleteArray.length - 1;
	}

	if (AutoCompleteIndex != -1)
	{
		AutoCompleteText(AutoCompleteIndex, false);
	}
	else
	{
		getElement('toComplete').value = AutoCompleteWrittenString;
	}

	AutoCompleteDraw();
}

function AutoCompleteText(id, submitForm)
{
	var AutoText = AutoCompleteArray[id].replace('<b>', '').replace('</b>', '');
	getElement('toComplete').value = AutoText;
	if(submitForm == true)getElement('xFormAutoComplete').submit();
}

function AutoCompleteKey(key)
{
	// UP
	if (key == 38)
	{
		AutoCompleteMove('up');
	}

	// DOWN
	else if(key == 40)
	{
		AutoCompleteMove('down');
	}

	// ESC
	else if(key == 27)
	{
		AutoCompleteClose();
	}

	// INNY
	else
	{
		setTimeout('AutoCompleteInit();', 100);
	}
}




/*** COOKIE ***/
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 getCookie(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 '';
}

function deleteCookie(name)
{
	createCookie(name,"",-1);
}




/*** STATYSTYKI ***/
function getStat()
{
	document.write('<img src="'+ siteURL + 'stat/?referer='+ urlEncode(document.referrer) +'&temp='+ parseInt(Math.random()*99999999) +'">');
}




/*** HOMEPAGE ***/
function setPage(page)
{
	nowPage = page;

	$('#homepage').hide();
	getElement('homepage').style.backgroundImage = 'url(' + pageData[nowBookmark + '_' + page + '_pic'].src + ')';
	getElement('homepage').style.backgroundPosition = 'center center';
	getElement('homepage').style.backgroundRepeat = 'no-repeat';
	getElement('homepageLink').href = pageData[nowBookmark + '_' + page + '_link'];
	getElement('homepageLink').title = pageData[nowBookmark + '_' + page + '_title'];
	getElement('homepageLink2').href = pageData[nowBookmark + '_' + page + '_link'];
	getElement('homepageLink2').title = pageData[nowBookmark + '_' + page + '_title'];
	getElement('homepageLink2').innerHTML = pageData[nowBookmark + '_' + page + '_title'];
	getElement('homepagemoreinfo').innerHTML = pageData[nowBookmark + '_' + page + '_description'];
	$('#homepage').fadeIn();

	for (i = 1; i <= pageCount[nowBookmark]; i++)
	{
		if (i == page)
		{
			getElement('page' + i).className = 'active';
		}
		else
		{
			getElement('page' + i).className = '';
		}
	}

	nextPageIndex = 0;
}

function setBookmark(bookmark)
{
	nowBookmark = bookmark;

	for (i = 1; i <= bookmarkCount; i++)
	{
		if (i == bookmark)
		{
			getElement('bookmark' + i).className = 'active';
		}
		else
		{
			getElement('bookmark' + i).className = '';
		}
	}

	initPages(bookmark);
	setPage(1);
	nextPageIndex = 0;
}

function initPages(bookmark)
{
	var pages = '';
	for (i = 1; i <= pageCount[bookmark]; i++)
	{
		pages += '<a href="javascript:setPage(' + i + ')" id="page' + i + '">' + i + '</a>';
	}

	getElement('pages').innerHTML = pages;
}

function setNextPage()
{
	if (nowPage < pageCount[nowBookmark])
	{
		setPage(nowPage + 1);
	}
	else
	{
		if (nowBookmark < bookmarkCount)
		{
			setBookmark(nowBookmark + 1);
		}
		else
		{
			setBookmark(1);
		}
	}
}

function setAutoNextPage()
{
	if (nextPageIndex >= nextPageDelay)
	{
		nextPageIndex = 0;
		setNextPage();
	}

	nextPageIndex++;
	setTimeout('setAutoNextPage();', 1000);
}

function initBookmark()
{
	var bookmarks = '';
	if (bookmarkCount == 1) getElement('homepage-navi').style.display = 'none';
	for (i = 1; i <= bookmarkCount; i++)
	{
		bookmarks += '<a href="javascript:setBookmark(' + i + ')" id="bookmark' + i + '" onClick="this.blur();">' + bookmarkData[i] + '</a>';
	}

	getElement('homepage-navi').innerHTML = bookmarks;
}

function initHomePage()
{
	initBookmark();
	setBookmark(1);
	setPage(1);
	setAutoNextPage();
}




