function SetCookie(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 null;
}
function DeleteCookie(Name)
{
	SetCookie(Name, '', -1);
}


function element(Id)
{
	return document.getElementById(Id);
}
function ID(ID)
{
	return document.getElementById(ID);
}
function VerifyUserName(UserNameField, MarkerContainer, MarkerSuccess, MarkerFailed)
{
	var UserName = element(UserNameField).value;
	var Pattern = /^[a-zA-Z0-9_-]{3,25}$/;
	if (UserName.length > 0)
	{
		element(MarkerContainer).innerHTML = (Pattern.test(UserName)) ?  "<img src='" + MarkerSuccess + "' alt='' />" : "<img src='" + MarkerFailed + "' alt='' />";
	}
}

function VerifyPassword(Password1, Password2, MarkerContainer, MarkerSuccess, MarkerFailed)
{
	var PasswordA = element(Password1).value;
	var PasswordB = element(Password2).value;
	var Pattern = /^[a-zA-Z0-9_-]{6,}$/;
	if (PasswordB.length > 5)
	{
		if (PasswordA == PasswordB)
		{
			element(MarkerContainer).innerHTML = (Pattern.test(PasswordA)) ? "<img src='" + MarkerSuccess + "' alt='' />" : "<img src='" + MarkerFailed + "' alt='' />"
		}
		else
		{
			element(MarkerContainer).innerHTML = "<img src='" + MarkerFailed + "' alt='' />";
		}
	}
	else
	{
		element(MarkerContainer).innerHTML = "<img src='" + MarkerFailed + "' alt='' />";
	}
}

function VerifyEmail(EmailField, MarkerContainer, MarkerSuccess, MarkerFailed)
{
	var Email = element(EmailField).value;
	var Pattern = /^[a-z0-9-_]+(\.[a-z0-9-_]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
	if (Email.length > 0)
	{
		element(MarkerContainer).innerHTML = (Pattern.test(Email)) ?  "<img src='" + MarkerSuccess + "' alt='' />" : "<img src='" + MarkerFailed + "' alt='' />";
	}
}

function VerifyGG(GGField, MarkerContainer, MarkerSuccess, MarkerFailed)
{
	var GG = element(GGField).value;
	var Pattern = /^[0-9]{1,10}$/;
	if (GG.length > 0)
	{
		element(MarkerContainer).innerHTML = (Pattern.test(GG)) ?  "<img src='" + MarkerSuccess + "' alt='' />" : "<img src='" + MarkerFailed + "' alt='' />";
	}
}

function Redirect(Url)
{
	window.location.href = Url;
}

function PleaseConfirm(Url, Text)
{
	if (confirm(Text))
	{
		Redirect(Url);
	}
}
function SendMail(Url)
{
	var SendMail = null;
	SendMail = window.open(Url, "SendMail", "width=450,height=280,scrollbars=yes");
	SendMail.focus();
}
function SendMailFallback(Url)
{
	self.opener.location.href = Url;
	self.close();
}
function SendMailCheck(Message)
{
	var Pattern = /^[a-z0-9-_]+(\.[a-z0-9-_]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
	if ((element('Email').value.length > 1) && (Pattern.test(element('Email').value)) && (element('Textarea').value.length > 1))
	{
		form.submit();
	}
	else
	{
		alert(Message);
	}
}
function EnlargeGalleryPhoto(PhotoURL)
{
	var PhotoPreview = null;
	PhotoPreview = window.open(PhotoURL, "PhotoPreview", "width=670,height=670,scrollbars=no");
	PhotoPreview.focus();
}
function MailIsValid(Email)
{
	var Pattern = /^[a-z0-9-_]+(\.[a-z0-9-_]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
	return (Pattern.test(Email)) ? true : false;
}
function CheckAddCompanyForm()
{
	if (element('Nazwa').value.length == 0) { alert("Podaj nazwę firmy"); return false; }
	if (element('Ulica').value.length == 0) { alert("Wpisz ulicę"); return false; }
	if (element('Budynek').value.length == 0) { alert("Podaj nr budynku"); return false; }
	if (element('Kod').value.length == 0) { alert("Podaj kod pocztowy"); return false; }
	if (element('Miejscowosc').value.length == 0) { alert("Podaj nazwę miejscowosci"); return false; }
	if (element('Telefon').value.length == 0) { alert("Podaj numer telefonu"); return false; }
	if (element('Email').value.length == 0) { alert("Podaj adres email"); return false; }
	if (!(MailIsValid(element('Email').value))) { alert("Podaj prawidłowy adres email"); return false; }
	if (element('Kategoria').value.length == 0) { alert("Wybierz kategorię dla firmy"); return false; }
	if (element('Osoba').value.length == 0) { alert("Podaj dane kontaktowe osoby do kontaktu"); return false; }
	if (element('Haslo').value.length == 0) { alert("Wpisz hasło"); return false; }

	return true;
}
function CheckEditCompanyForm()
{
	if (element('CompanyStreet').value.length == 0) { alert("Wpisz ulicę"); return false; }
	if (element('CompanyBuilding').value.length == 0) { alert("Podaj nr budynku"); return false; }
	if (element('CompanyPostcode').value.length == 0) { alert("Podaj kod pocztowy"); return false; }
	if (element('CompanyCity').value.length == 0) { alert("Podaj nazwę miejscowosci"); return false; }
	if (element('CompanyPhone').value.length == 0) { alert("Podaj numer telefonu"); return false; }
	if (element('CompanyEmail').value.length == 0) { alert("Podaj adres email"); return false; }
	if (!(MailIsValid(element('CompanyEmail').value))) { alert("Podaj prawidłowy adres email"); return false; }
	if (element('CompanyOsoba').value.length == 0) { alert("Podaj dane kontaktowe osoby do kontaktu"); return false; }

	return true;
}

function CheckAddAdvertForm()
{
	if (element('Nazwa').value.length == 0) { alert("Podaj nazwę ogłoszenia"); return false; }
	if (element('Informacje').value.length == 0) { alert("Podaj treść ogłoszenia"); return false; }
	if (element('Miejscowosc').value.length == 0) { alert("Podaj miejscowość"); return false; }
	if (element('Telefon').value.length == 0) { alert("Podaj numer telefonu"); return false; }
	if (element('Cena').value.length == 0) { alert("Podaj cenę"); return false; }
	if (element('Kategoria').value.length == 0) { alert("Wybierz kategorię dla ogłoszenia"); return false; }
	if (element('Haslo').value.length == 0) { alert("Wpisz hasło"); return false; }

	return true;
}
function CheckEditAdvertForm()
{
	if (element('AdvertName').value.length == 0) { alert("Podaj nazwę ogłoszenia"); return false; }
	if (element('AdvertInfo').value.length == 0) { alert("Podaj treść ogłoszenia"); return false; }
	if (element('AdvertCity').value.length == 0) { alert("Podaj miejscowość"); return false; }
	if (element('AdvertPhone').value.length == 0) { alert("Podaj numer telefonu"); return false; }
	if (element('AdvertPrice').value.length == 0) { alert("Podaj cenę"); return false; }

	return true;
}

var Ajax = false;

if (window.XMLHttpRequest)
{
	Ajax = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
	Ajax = new ActiveXObject("Microsoft.XMLHTTP");
}

function Suggest(Url, Length)
{
	if (Length > 0)
	{
  		if (Ajax)
		{
			Ajax.open("GET", Url);
			Ajax.onreadystatechange = function()
			{
				if (Ajax.readyState == 4)
				{
					ID("Suggestions").innerHTML = Ajax.responseText;
				}
			}
			Ajax.send(null);
		}
	}
}

function SendKiss(Username, Url)
{
	var Pattern = /^[a-zA-Z0-9_-]{3,25}$/;
	if (Pattern.test(Username))
	{
		if (confirm("Czy napewno chcesz wysłać buziaka do " + Username + " ?"))
		{
			if (Ajax)
			{
				Ajax.open("GET", Url);
				Ajax.onreadystatechange = function()
				{
					if (Ajax.readyState == 4)
					{
						var State = Ajax.responseText.substr((Ajax.responseText.length - 1), 1);
						if (parseInt(State) == 0)
						{
							alert('Twój buziak został wysłany.');
						}
						else if (parseInt(State) == 1)
						{
							alert('Użytkownik, któremu chcesz wysłać buziaka, nie istnieje.');
						}
						else if (parseInt(State) == 2)
						{
							alert('Nie możesz wysłać buziaka do siebie.');
						}
						else if (parseInt(State) == 3)
						{
							alert('Zaloguj się by móc wysyłać buziaki.');
						}

					}
				}
				Ajax.send(null);
			}
		}
	}
}
