// Removes leading whitespaces
function LTrim( value )
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim( value )
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value )
{
	return LTrim(RTrim(value));
}

function setAddresseeCnt(cnt)
{
	for(i = 1; i <= cnt; i++)
	{
		document.getElementById('name'+i).style.display = 'block';
		if(document.getElementById('email'+i))
			document.getElementById('email'+i).style.display = 'block';
	}
	for(i = ++cnt; i <= 10; i++)
	{
		document.getElementById('name'+i).style.display = 'none';
		if(document.getElementById('email'+i))
			document.getElementById('email'+i).style.display = 'none';
	}
}

function setAddresseeCnt2(cnt)
{
	for(i = 1; i <= cnt; i++)
	{
		document.getElementById('name'+i).style.display = 'block';
		document.getElementById('iname'+i).disabled = false;
		document.getElementById('email'+i).style.display = 'block';
		document.getElementById('iemail'+i).disabled = false;
	}
	for(i = ++cnt; i <= 10; i++)
	{
		document.getElementById('name'+i).style.display = 'none';
		document.getElementById('iname'+i).disabled = true;
		document.getElementById('email'+i).style.display = 'none';
		document.getElementById('iemail'+i).disabled = true;
	}
}

function setInvitationAddresseeCnt(cnt)
{
	for(i = 1; i <= cnt; i++)
	{
		document.getElementById('email'+i).style.display = 'block';
	}
	for(i = ++cnt; i <= 10; i++)
	{
		document.getElementById('email'+i).style.display = 'none';
	}
}

function changeStationery(addpath, top_file, middle_file, bottom_file, top_height, bottom_height)
{
	document.getElementById('top').style.backgroundImage = 'url('+addpath+'/stationery/'+top_file+')';
	document.getElementById('middle').style.backgroundImage = 'url('+addpath+'/stationery/'+middle_file+')';
	document.getElementById('bottom').style.backgroundImage= 'url('+addpath+'/stationery/'+bottom_file+')';
	document.getElementById('top').style.height = top_height+'px';
	document.getElementById('bottom').style.height = bottom_height+'px';
}

function newWindow(width, height, content)
{
  x = Math.floor(screen.width/2)-(Math.floor(width/2));
	y = Math.floor(screen.height/2)-(Math.floor(height/2));
	window.open(content,'','scrollbars=yes,resizable=no,toolbar=no,statusbar=no,menubar=no,top='+y+',left='+x+',width='+width+',height='+height);
}

function addEventFromCalendar(event_name, event_type, day, month, year)
{
	if(!document.getElementById('event_form'))
		return false;
	if(event_type == 'other')
		document.getElementById('event_name').value = event_name;
	else
		document.getElementById('event_text').value = event_name;
	document.getElementById('event_type').value = event_type;
	document.getElementById('day').value = day;
	document.getElementById('month').value = month;
	document.getElementById('year').value = year;
	document.getElementById('event_form').submit();
}

function showEventDetails(id)
{
	var f = document.getElementById('id'+id);
	if(f.style.display == 'none')
	{
		f.style.display = 'block';
	}
	else
	{
		f.style.display = 'none';
	}
	return false;
}

function modifyAddContactForm(date_form, mode)
{
	if(date_form == '3')
	{
		document.getElementById('name'+date_form).disabled = !mode;
		document.getElementById('repeat'+date_form).disabled = !mode;
	}
	document.getElementById('day'+date_form).disabled = !mode;
	document.getElementById('month'+date_form).disabled = !mode;
	if(date_form != 2)
		document.getElementById('year'+date_form).disabled = !mode;
	document.getElementById('remind_me'+date_form).disabled = !mode;
}

function chooseAddressee(name, email)
{
	document.getElementById('addressee_name').value = name;
	document.getElementById('addressee_email').value = email;
	document.getElementById('addressee_form').submit();
	return false;
}

function chooseEventType(type, checkEventsExists)
{
	if(type == 'name')
		document.getElementById('year_select').style.display = 'none';
	else
		document.getElementById('year_select').style.display = 'inline';
	if(type == 'other')
	{
		document.getElementById('other_text_div').style.display = document.getElementById('repeat_div').style.display = 'block';
		document.getElementById('repeat').disabled = false; 
		document.getElementById('hidden_repeat').disabled = true;
	}
	else 
	{
		document.getElementById('other_text_div').style.display = document.getElementById('repeat_div').style.display = 'none'
		document.getElementById('repeat').disabled = true; 
		document.getElementById('hidden_repeat').disabled = false;
	}
	if(type == 'birth')
		document.getElementById('add_text1').style.display = 'inline';
	else
		document.getElementById('add_text1').style.display = 'none';
}

function setDataForContactQuery(c_name, c_email)
{
	document.getElementById('qc_name').value = c_name;
	document.getElementById('qc_email').value = c_email;
	document.getElementById('query_contact_form').submit();
}

function showTapster(photo)
{
    var winl = (screen.width - 800) / 2;
    var wint = (screen.height - 550) / 2;
   window.open('http://www.tapster.pl/?pid=2875&url='+photo,'_blank','titlebar=no,toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=yes,top=' + wint + ',left=' + winl + ',width=800,height=550');
}

function checkExistedEvents(url, data)
{
	http_request = false;
  if(window.XMLHttpRequest)
  { // Mozilla, Safari,...
  	http_request = new XMLHttpRequest();
    if(http_request.overrideMimeType)
    {
      http_request.overrideMimeType('text/xml');
    }
  }
  else if (window.ActiveXObject)
  { // IE
    try
    {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
  }
  if(!http_request)
  {
    alert('Nie mozna nawiazac polaczenia z serwerem.');
    return false;
  }
  http_request.onreadystatechange = existedEventsAnswer;
  http_request.open('POST', url, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http_request.send(data);
}

function existedEventsAnswer()
{
  if(http_request.readyState == 4)
  {
	  if(http_request.status == 200)
		document.getElementById('error_event').innerHTML = http_request.responseText;
  }
}

var id_field;
function isValidEmail(url, data, id_result_field)
{
	id_field = id_result_field;
	document.getElementById(id_field).innerHTML = '';
	http_request = false;
  if(window.XMLHttpRequest)
  { // Mozilla, Safari,...
  	http_request = new XMLHttpRequest();
    if(http_request.overrideMimeType)
    {
      http_request.overrideMimeType('text/xml');
    }
  }
  else if (window.ActiveXObject)
  { // IE
    try
    {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
  }
  if(!http_request)
  {
    alert('Nie mozna nawiazac polaczenia z serwerem.');
    return false;
  }
  http_request.onreadystatechange = isValidEmailAnswer;
  http_request.open('POST', url, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http_request.send(data);	
}

function isValidEmailAnswer()
{
  if(http_request.readyState == 4)
  {
	  if(http_request.status == 200)
	  {
			var answer = http_request.responseText;
			if(answer == '<ok/>' || answer == '')
			{
				document.getElementById(id_field).innerHTML = '';
				return true;
			}
			var message_type = answer.substr(3,1);
			var message_text = answer.substr(4, answer.length-4);
			if(message_type == '1')
				document.getElementById(id_field).style.color = 'red';
			else
				document.getElementById(id_field).style.color = 'blue';
			document.getElementById(id_field).innerHTML = message_text;
		}
  }
}

function notDeliveredEcardHint()
{
	alert('eKartka nie została doręczona z powodu\nniepoprawnego adresu e-mail\nlub przepełnionej skrzynki odbiorcy.');
}

function personForReminder(val, c_name, c_email)
{
	if(val == 'me')
	{
		document.getElementById('contact_name_div').style.display = 'none';
		document.getElementById('contact_name').value = c_name;
		document.getElementById('contact_email').value = c_email;
	}
	else
	{
		removeContactFromEventForm()
		document.getElementById('contact_name_div').style.display = 'block';
	}
}

function removeContactFromEventForm()
{
	document.getElementById('contact_email').value = '';
	document.getElementById('contact_name').value = '';
	document.getElementById('contact_name').readOnly = false;
	document.getElementById('contact_name').style.backgroundColor = '#fff';
	document.getElementById('contacts_list_btn').style.display = 'inline';
	document.getElementById('remove_contact_btn').style.display = 'none';
	
}

function isValidSendDate()
{
	var month_days = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var data=new Date();
	var current_day=data.getDate();
	var current_month=data.getMonth()+1;
	var current_year=data.getYear();
	if(current_year < 2000)
		current_year += 1900;
	var f = document.getElementById('send_card');
	var error_field = document.getElementById('date_error');
	if((f.year.value % 4 == 0 && f.year.value % 100 != 0) || f.year.value % 400 == 0)
		month_days[2] = 29;
	var max_day = current_day-1;
	var max_month = (current_month+3)%12;
	if(max_month == 0)
		max_month = 12;
	var max_year = current_year;
	if(max_month < current_month)
		max_year++;	
	if(f.day.value > month_days[f.month.value] 
	  || f.year.value < current_year
	  || (f.year.value == current_year && f.month.value < current_month)
	  || (f.year.value == current_year && f.month.value == current_month && f.day.value < current_day))
		error_field.innerHTML = 'Nieprawidłowa data wysłania eKartki';
	else
	{
		//alert(max_day+' '+max_month+' '+max_year);
		if((f.month.value == max_month && f.day.value > max_day)
			 || (f.year.value == max_year && f.month.value > max_month)
			 || f.year.value > max_year)
			error_field.innerHTML = 'UWAGA! Wysłanie eKartki możesz zaplanować maksymalnie na 3 miesiące do przodu';
		else
			error_field.innerHTML = '';
	}
}

function sendSourcePage(href)
{
	if(document.getElementById('source_page'))
	{
		document.getElementById('source_page').action = href;
		document.getElementById('source_page').submit();
		return false;
	}
	return true;
}


function openWishesWindow(categoryId, type)
{
  x = Math.floor(screen.width/2)-300;
  y = Math.floor(screen.height/2)-240;
  var url = '/wishes.php?';
  if(categoryId > 0)
    url += 'kategoria='+categoryId+'&';
  if(type)
    url += 'typ='+type;
  wishes_window = window.open(url,'UserProfiles','scrollbars=yes,resizable=yes,toolbar=no,statusbar=no,menubar=no,top='+y+',left='+x+',width=700,height=550');
  wishes_window.focus();
}

function chooseWishes(id)
{
  if(window.opener.document.getElementById('ecardContent').value != '')
    window.opener.document.getElementById('ecardContent').value += '\n'+document.getElementById('wishText'+id).value;
  else
    window.opener.document.getElementById('ecardContent').value = document.getElementById('wishText'+id).value;
  if(document.getElementById('wishAuthor'+id).value != '')
    window.opener.document.getElementById('ecardContent').value += '\n   autor: '+document.getElementById('wishAuthor'+id).value;
    
  window.opener.document.getElementById('wishId').value = id; 
  window.close(); 
}
