function setMenueCookie(name, value)
{
    document.cookie= name + "=" + value;
}

function readMenueCookie(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 user_boxes()
{
  if(document.getElementById("user_page_login"))
  {
    reset_login_status();
    document.getElementById('login_box').target_box= "user_page";
		document.getElementById('login_box').target_anchor= "user_page_login";
    setTimeout("show_hide_div('login_box','user_page_login','bottom','right');",1000);
  }
  else
  {
    if(document.getElementById('settings_container'))
    {
      if(readMenueCookie('settings_container')=="closed")
      {
        document.getElementById('settings_container').title="closed";
        document.getElementById('settings_container').style.height="19px";
        document.getElementById('arrow_settings1').src="arrow_down.gif";
      }

      if(readMenueCookie('ads_container')=="opened")
      {
        document.getElementById('ads_container').title="";
        document.getElementById('ads_container').style.height="auto";
        document.getElementById('arrow_settings2').src="arrow_up.gif";
      }
      if(readMenueCookie('posts_container')=="opened")
      {
        document.getElementById('posts_container').title="";
        document.getElementById('posts_container').style.height="auto";
        document.getElementById('arrow_settings3').src="arrow_up.gif";
      }
    }
  }
}

function textCounter(field, countfield, maxlimit)
{
	if (field.value.length > maxlimit)
	{
		field.value = field.value.substring(0, maxlimit);
	}
	else 
	{
		countfield.value = maxlimit - field.value.length;
	}
}

function update_user(elemid)
{
	var elem = document.getElementById(elemid);
	var val = elem.value;
	var url = "updateUser.php?target=" + elemid + "&value=" + encodeURIComponent(val);
	request.open("GET", url, true);
	request.onreadystatechange = userUpdated;
	request.send(null);
}

function userUpdated() 
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			switch (success)
			{
				case 'email':
					document.getElementById("log").innerHTML = 'Email address updated.';
					document.getElementById("unconfirmed").style.visibility="visible";
					document.getElementById('email_update_button').style.display='none';
				break;
				case 'homepage':
					document.getElementById("log").innerHTML = 'Homepage updated.';
					document.getElementById('homepage_update_button').style.display='none';
				break;
				case 'locale':
					document.getElementById("log").innerHTML = 'Location updated.';
					document.getElementById('location_update_button').style.display='none';
				break;
				case 'signature':
					document.getElementById("log").innerHTML = 'Signature updated.';
					document.getElementById('signature_update_button').style.display='none';
				break;
				case 'details':
					document.getElementById("log").innerHTML = 'Profile message updated.';
					document.getElementById('details_update_button').style.display='none';
				break;
				case 'password':
					document.getElementById("log").innerHTML = 'Password updated.';
					document.getElementById("user_pass2").value="";
					document.getElementById("second_pass").style.display="none";
					document.getElementById("pass_update_button").style.display="none";
				break;
				case 'no change':
					document.getElementById("log").innerHTML = 'Password unchanged.';
					document.getElementById("second_pass").style.display="none";
					document.getElementById("user_pass2").value="";
				break;
				case 'used' :
					document.getElementById("log").innerHTML = 'This email address is already set to another account';
				break;
				case 'false':
					document.getElementById("log").innerHTML = 'Error.';
				break;
			}
		}
 		else
		{
			alert("Error! Request status is " + request.status);
		}
	}
}

function UsePassword()
{
	if(document.getElementById("use_pass").checked)
	{
		document.getElementById("first_pass").style.display="block";
	}
	else
	{
		document.getElementById("first_pass").style.display="none";
		document.getElementById("second_pass").style.display="none";
		document.getElementById("user_pass1").value="";
		document.getElementById("user_pass2").value="";
		document.getElementById("pass_update_button").style.display="none";
		var url = "updateUser.php?target=user_pass2&value=";
		request.open("GET", url, true);
		request.onreadystatechange = userUpdated;
		request.send(null);
	}
}

function ConfirmPass()
{
	if((document.getElementById("user_pass1").value == document.getElementById("user_pass2").value) && (document.getElementById("user_pass2").value != ""))
	{
		document.getElementById("pass_update_button").style.display="inline";
	}
	else
	{
		document.getElementById("pass_update_button").style.display="none";
	}
}

function resend_email()
{
	var url = "reconfirm.php";
	request.open("GET", url, true);
	request.onreadystatechange = email_sent;
	request.send(null);
}

function email_sent()
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			if (success == 'true')
			{
					document.getElementById("log").innerHTML = 'Confirmation email sent.';
			}
		}
	}
}

function collapse(container,content,bar,icon)
{	
	if (document.getElementById(container).title == "closed")
	{
	  setMenueCookie(container, "opened");
		heightChange(container,document.getElementById(content).offsetHeight);
		document.getElementById(icon).src="arrow_up.gif";
		document.getElementById(container).title = "";
	}
	else
	{
	  setMenueCookie(container, "closed");
	  if(container=="settings_container")
	  {
	    if(document.getElementById('upload_avatar_box').style.display=="block")
	    {
        show_hide_div('upload_avatar_box');
      }
      if(document.getElementById('password_info').style.display=="block")
	    {
        show_hide_div('password_info');
      }
      if(document.getElementById('password_info').style.display=="block")
	    {
        show_hide_div('confirm_info');
      }
    }
		heightChange(container,document.getElementById(bar).offsetHeight-1);
		document.getElementById(icon).src="arrow_down.gif";
		document.getElementById(container).title = "closed";
	}
}

function edit_forsale(source,category_id,ad_id)
{
	var text= document.getElementById(source + "_text").value;
	var price= document.getElementById(source + "_price").value;
	var picture=document.getElementById(source + "_photo").value;
	document.getElementById("edit_forsale_content").value=text;
	document.getElementById("edit_forsale_address").style.display="none";
	document.getElementById("edit_forsale_price_label").style.display="block";
	document.getElementById("edit_forsale_price").style.display="block";
	document.getElementById("edit_forsale_price").value=price;
	document.getElementById("forsale_edit_category_id").value=category_id;
	document.getElementById("forsale_edit_ad_id").value=ad_id;
	if(price == 0)
	{
		document.getElementById("edit_forsale_price").disabled=true;
	}
	else
	{
		document.getElementById("edit_forsale_price").disabled=false;
	}

	if(picture != "false")
	{
	  document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt + picture;
	  document.getElementById("edit_forsale_preview_picture").title=picture;
	  document.getElementById("edit_forsale_picture").style.display="block";
  }
  else
  {
    document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt;
	  document.getElementById("edit_forsale_preview_picture").title="";
    document.getElementById("edit_forsale_picture").style.display="none";
  }
  show_hide_div("edit_forsale_box",source + "_edit", "top","left");
}

function edit_personal(source,category_id,ad_id)
{
	var text= document.getElementById(source + "_text").value;
	var picture=document.getElementById(source + "_photo").value;
	document.getElementById("edit_forsale_content").value=text;
	document.getElementById("forsale_edit_category_id").value=category_id;
	document.getElementById("forsale_edit_ad_id").value=ad_id;
	document.getElementById("edit_forsale_address").style.display="none";
	document.getElementById("edit_forsale_price_label").style.display="none";
	document.getElementById("edit_forsale_price").style.display="none";

	if(picture != "false")
	{
	  document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt + picture;
	  document.getElementById("edit_forsale_preview_picture").title=picture;
	  document.getElementById("edit_forsale_picture").style.display="block";
  }
  else
  {
    document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt;
	  document.getElementById("edit_forsale_preview_picture").title="";
    document.getElementById("edit_forsale_picture").style.display="none";
  }
  show_hide_div("edit_forsale_box",source + "_edit", "top","left");
}

function Show_Edit_Calendar()
{
	if (document.getElementById('event_calendar').title == "closed")
	{
		getCalendar('calendar1','event_date');
		if (!document.getElementById('event_calendar').style.top)
		{
			document.getElementById('event_calendar').style.top= document.getElementById('event_date').offsetTop;
			document.getElementById('event_calendar').style.left= document.getElementById('edit_forsale_box').offsetWidth-document.getElementById('event_calendar').offsetWidth;
		}	
	}
	fold_unfold('event_calendar',document.getElementById('edit_forsale_box').offsetWidth, document.getElementById('event_date').offsetTop, document.getElementById('edit_forsale_box').offsetWidth - document.getElementById('event_calendar').offsetWidth, document.getElementById('event_date').offsetTop);
}

function edit_event(source,category_id,ad_id)
{
	var text= document.getElementById(source + "_text").value;
	var picture=document.getElementById(source + "_photo").value;
	var address1=document.getElementById(source + "_addr1").value;
	var address2=document.getElementById(source + "_addr2").value;
	var zip=document.getElementById(source + "_zip").value;
	var date=document.getElementById(source + "_date").value;
	document.getElementById("event_date").value=date;
	document.getElementById("edit_forsale_content").value=text;
	document.getElementById("event_address1").value=address1;
	document.getElementById("event_address2").value=address2;
	document.getElementById("zip_input").value=zip;
	checkzipcode();
	document.getElementById("edit_forsale_content").value=text;
	document.getElementById("edit_forsale_price_label").style.display="none";
	document.getElementById("edit_forsale_price").style.display="none";
  document.getElementById("edit_forsale_address").style.display="block";
	document.getElementById("forsale_edit_category_id").value=category_id;
	document.getElementById("forsale_edit_ad_id").value=ad_id;

	if(picture != "false")
	{
	  document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt + picture;
	  document.getElementById("edit_forsale_preview_picture").title=picture;
	  document.getElementById("edit_forsale_picture").style.display="block";
  }
  else
  {
    document.getElementById("edit_forsale_preview_picture").src=document.getElementById("edit_forsale_preview_picture").alt;
	  document.getElementById("edit_forsale_preview_picture").title="";
    document.getElementById("edit_forsale_picture").style.display="none";
  }
  show_hide_div("edit_forsale_box",source + "_edit", "top","left");
}

function preview_forsale_edit()
{
	var state=document.getElementById("forsale_edit_preview_button").title;
	if (state == 'Preview')
	{
		var content=document.getElementById("edit_forsale_content").value;
		if (content !="")
		{
			var url = "preview.php";
			request.open("POST", url, true);
			request.onreadystatechange = preview_forsale_edit_result;
			request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			request.send("text=" + encodeURIComponent(content));
		}
		else
		{
			document.getElementById("edit_forsale_status").innerHTML = 'Please type a message to preview it.';
		}
	}
	else
	{
		document.getElementById("edit_forsale_content").style.display='block';
		document.getElementById("edit_forsale_preview").style.display='none';
		document.getElementById("forsale_edit_preview_button").title='Preview';
		document.getElementById("forsale_edit_preview_button").src=theme_path+'button_preview.gif';
	}
}

function preview_forsale_edit_result()
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			/* Get the response from the server */
			var success = request.responseText;

	   	document.getElementById("edit_forsale_preview").innerHTML=success;
			document.getElementById("edit_forsale_preview").style.display='block';
			document.getElementById("edit_forsale_content").style.display='none';
			document.getElementById("edit_forsale_preview").style.visibility='visible';
			document.getElementById("forsale_edit_preview_button").title='Edit';
			document.getElementById("forsale_edit_preview_button").src=theme_path+'button_edit.gif';
			document.getElementById("edit_forsale_status").innerHTML ="&nbsp;";
		}
	}
}

function submit_forsale_edit()
{
	var err= false;
	var category_id=document.getElementById("forsale_edit_category_id").value;
	if(document.getElementById("edit_forsale_price").style.display=="block")
	{
	   if(document.getElementById("edit_forsale_price").disabled==true)
	   {
		    document.getElementById("edit_forsale_price").disabled= false;
		    var price=document.getElementById("edit_forsale_price").value;
		    document.getElementById("edit_forsale_price").disabled= true;
  	 }
	   else
	   {
		    var price=document.getElementById("edit_forsale_price").value;
	   }
	   if((price == 0 || price=="")&& category_id!=9)
	   {
		    document.getElementById("edit_forsale_status").innerHTML = 'Please enter a price.';
		    err=true;
		    document.getElementById("edit_forsale_price").style.border= '1px solid #f00';
	   }
  }
	if(document.getElementById("edit_forsale_address").style.display=="block")
	{
    var address1=document.getElementById("event_address1").value;
	  var address2=document.getElementById("event_address2").value;
    var zip=document.getElementById("zip_input").value;
	  var date=document.getElementById("event_date").value;
	  if (address1=="")
	  {
	     document.getElementById("edit_forsale_status").innerHTML = 'Please enter an address.';
		   err=true;
		   document.getElementById("event_address1").style.border= '1px solid #f00';
    }
    if (zip.length < 5 || document.getElementById('zip_result').innerHTML == "Invalid zip code.")
    {
      if(err)
		  {
			   document.getElementById("edit_forsale_status").innerHTML += '<BR>Please enter a valid Zip code.';
		  }
		  else
		  {
			   document.getElementById("edit_forsale_status").innerHTML = 'Please enter a valid Zip code.';
			   err=true;
		  }
		  document.getElementById("zip_input").style.border= '1px solid #f00';
    }
  }
	
	var content=document.getElementById("edit_forsale_content").value;
	var category_id=document.getElementById("forsale_edit_category_id").value;
	var ad_id=document.getElementById("forsale_edit_ad_id").value;
	var picture=document.getElementById("edit_forsale_preview_picture").title;
	
	if (content == "")
	{
		if(err)
		{
			document.getElementById("edit_forsale_status").innerHTML += '<BR>Please write a message for your new add.';
		}
		else
		{
			document.getElementById("edit_forsale_status").innerHTML = 'Please write a message for your new add.';
			err=true;
		}
		document.getElementById("edit_forsale_content").style.border= '1px solid #f00';
	}

	if(!err)
	{
	  if(document.getElementById("edit_forsale_price").style.display=="block")
	  {
	    document.getElementById("edit_forsale_price").disabled= false;
	    var url = "editforsale.php";
		  request.open("POST", url, true);
		  request.onreadystatechange = forsale_edited;
		  request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  request.send("price=" + price + "&text=" + encodeURIComponent(content) + "&cat=" + category_id + "&id=" + ad_id + "&img=" + picture);
	  }
	  else if (document.getElementById("edit_forsale_address").style.display=="block")
	  {
	    var url = "editevent.php";
		  request.open("POST", url, true);
		  request.onreadystatechange = event_edited;
		  request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  request.send("text=" + encodeURIComponent(content) + "&cat=" + category_id + "&id=" + ad_id + "&img=" + picture + "&addr1=" + address1 + "&addr2=" + address2 + "&zip=" + zip + "&date=" + date);
    }
    else
    {
      var url = "editpersonal.php";
		  request.open("POST", url, true);
		  request.onreadystatechange = personal_edited;
		  request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  request.send("text=" + encodeURIComponent(content) + "&cat=" + category_id + "&id=" + ad_id + "&img=" + picture);
    }
	}
}

function forsale_edited() 
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			switch (success)
			{
				case "false" :
					alert("listing update did not complete properly");
				break;
				case "invalid" :
					alert("listing does not exist in database");
				break;
				case "incomplete" :
					alert("incoming arguments are incomplete");
				break;
				case "photo_error" :
					alert("could not update photo for this listing");
				break;
				case "unauth" :
					alert("not authorized to edit listing");
				break;
				default:
					document.getElementById("forsale_"+success+"_text").value=document.getElementById("edit_forsale_content").value;
					document.getElementById("forsale_"+success+"_price").value=document.getElementById("edit_forsale_price").value;
					document.getElementById("forsale_"+success+"_photo").value=document.getElementById("edit_forsale_preview_picture").title;
					show_hide_div('ad_edit_confirm_box','submit_forsale_edit_button','top','right');
					show_hide_div('edit_forsale_box');
				break;
			}
		}
	}
}

function event_edited() 
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			switch (success)
			{
				case "false" :
					alert("listing update did not complete properly");
				break;
				case "invalid" :
					alert("listing does not exist in database");
				break;
				case "incomplete" :
					alert("incoming arguments are incomplete");
				break;
				case "photo_error" :
					alert("could not update photo for this listing");
				break;
				case "unauth" :
					alert("not authorized to edit listing");
				break;
				default:
					document.getElementById("event_"+success+"_text").value=document.getElementById("edit_forsale_content").value;
					document.getElementById("event_"+success+"_addr1").value=document.getElementById("event_address1").value;
					document.getElementById("event_"+success+"_addr2").value=document.getElementById("event_address2").value;
					document.getElementById("event_"+success+"_zip").value=document.getElementById("zip_input").value;
					document.getElementById("event_"+success+"_date").value=document.getElementById("event_date").value;
					document.getElementById("event_"+success+"_photo").value=document.getElementById("edit_forsale_preview_picture").title;
					show_hide_div('ad_edit_confirm_box','submit_forsale_edit_button','top','right');
					show_hide_div('edit_forsale_box');
				break;
			}
		}
	}
}

function personal_edited() 
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			switch (success)
			{
				case "false" :
					alert("listing update did not complete properly");
				break;
				case "invalid" :
					alert("listing does not exist in database");
				break;
				case "incomplete" :
					alert("incoming arguments are incomplete");
				break;
				case "photo_error" :
					alert("could not update photo for this listing");
				break;
				case "unauth" :
					alert("not authorized to edit listing");
				break;
				default:
					document.getElementById("personal_"+success+"_text").value=document.getElementById("edit_forsale_content").value;
					document.getElementById("personal_"+success+"_photo").value=document.getElementById("edit_forsale_preview_picture").title;
					show_hide_div('ad_edit_confirm_box','submit_forsale_edit_button','top','right');
					show_hide_div('edit_forsale_box');
				break;
			}
		}
	}
}

function confirm_delete_ad(type,ad_id,target)
{
  document.getElementById("ad_delete_type").value=type;
  document.getElementById("ad_delete_id").value=ad_id;
  show_hide_div('ad_delete_confirm_box',target,'top','left');
}

function delete_ad(type,ad_id,code)
{
  show_hide_div("ad_delete_confirm_box");
  var url = "dellisting.php";
  if(code!="")
	{
	   request.open("POST", url, true);
	   request.onreadystatechange = object_deleted;
	   request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      request.send("type=" + type + "&id=" + ad_id + "&code=" + code);
  }
  else
  {
     request.open("POST", url, true);
	   request.onreadystatechange = ad_deleted;
	   request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send("type=" + type + "&id=" + ad_id);
  }
}

function ad_deleted() 
{
	if (request.readyState == 4)
	{
	    if (request.status == 200)
		{
			var success = request.responseText;
			switch (success)
			{
				case "true" :
				  history.go();
				break;
				default:
					alert(success);
				break;
			}
		}
	}
}

