function GetGeoCodePostcode (item_lat, item_lng){
	new_point = new GLatLng(item_lat,item_lng);
	got_pc=0;
	geocoder.getLocations(new_point, function(response) {
		if (!response || response.Status.code != 200) {
			alert("Oops - your location cannot be recognised!");
		}
		else {
			for(i=0;i<response.Placemark.length;i++) {
				place = response.Placemark[i];
					if(place.AddressDetails.Accuracy==5) {
						 place = response.Placemark[0];
		
					var post_code=locality.PostalCode.PostalCodeNumber;
					var post_code = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber;

						//post_code=locality.PostalCode.PostalCodeNumber;
						 //document.serviceform.item_location.value = post_code;
						got_pc++;
						
						
					}
			}
			
		}
	});	
	
	return post_code;
	
}




function createRequestObject()
{var xmlHttp=null;try
{xmlHttp=new XMLHttpRequest();if(xmlHttp.overrideMimeType)
{xmlHttp.overrideMimeType('text/html');}}
catch(e)
{try
{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e)
{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}
return xmlHttp;}
function deletelogo(item_id)
{var request=createRequestObject();request.open('GET','/amendservice.php?mode=DL&item_id='+item_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;if(response=='refresh page')
{alert("Deleted!");location.reload(true);}}}}
request.send(null);}
function deleterow(item_id)
{if(confirm("Delete Selected Item?")){jQuery(".msgbox").hide();qs='mode=D&item_id='+item_id;jQuery.ajax({type:"GET",url:"/amendservice.php",data:qs,dataType:"html",success:function(data,textStatus){if(data=='refresh page'){Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=deleted',350,150);}
else{jQuery("#redbox").html("<h3>Oops - the listing is already deleted!</h3>").fadeIn();}},error:function(XMLHTTPRequest,textStatus,errorThrow){alert("Error 106: There was an error retrieving the marker information.");}});}}
function change_publish(item_id,mode)
{var request=createRequestObject();request.open('GET','/amendservice.php?mode='+mode+'&item_id='+item_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;if(response=='refresh page:P')
{alert("Service Published!");location.reload(true);}
else if(response=='refresh page:U')
{alert("Service Unpublished!");location.reload(true);}}}}
request.send(null);}
function checkserviceform(){jQuery(".msgbox").hide();xform=document.forms['serviceform'];field=xform.tags;x=0;var expr=/[a-zA-Z0-9]|\s|,|-/i;for(i=0,x=0;i<field.value.length;i++){if(!expr.test(field.value.substring(i,i+1))){x++;}}
if(xform.item_name.value==''){jQuery("#redbox").html("<h3>Oops - no title!</h3><p>Please give your listing a title and try again.</p>").fadeIn();xform.item_name.focus();}
else if(xform.item_location.value==''){jQuery("#redbox").html("<h3>Oops - no location!</h3><p>Please give your listing a location and try again.</p>").fadeIn();xform.item_location.focus();}
else if(x>0){jQuery("#redbox").hide().html("<h3>Oops - invalid chracter in the tag field!.</h3><p>Only letters, spaces, hyphens (-) and commas (,) allowed!</p>").fadeIn();xform.tags.focus();}
else{qs="";for(i=0;i<xform.elements.length;i++){e_type=xform.elements[i].type;if(e_type=="text"||e_type=="hidden"||e_type=="password"||e_type=="textarea"){qs+=xform.elements[i].name+"="+encodeURIComponent(xform.elements[i].value)+"&";}
else if(e_type=="select-one"){qs+=xform.elements[i].name+"="+encodeURIComponent(xform.elements[i].options[xform.elements[i].selectedIndex].value)+"&";}
else if(e_type=="checkbox")
{if(xform.elements[i].checked==true)
qs+=xform.elements[i].name+"=1&";else
qs+=xform.elements[i].name+"=0&";}}
qs+="submit=Submit";jQuery.ajax({type:"GET",url:"/amendservice.php",data:qs,dataType:"html",success:function(data,textStatus){Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=saved',350,150);},error:function(XMLHTTPRequest,textStatus,errorThrow){alert("Error 104: There was an error retrieving the marker information.");}});}}

function check_service_postcode(postcode, fromLocation){

var locationSearch=new GlocalSearch();
locationSearch.setSearchCompleteCallback(null,
function(){if(locationSearch.results[0]){
  var resultLat=locationSearch.results[0].lat;
  var resultLng=locationSearch.results[0].lng;
  jQuery("#redbox").hide();
  if (fromLocation =="itempage"){
    get_latlng(resultLat,resultLng);
  }
  else if (fromLocation =="regpage"){
   get_reglatlng(resultLat,resultLng);
  }
  else{
    get_userlatlng(resultLat,resultLng);
  }
  
}
else{
  jQuery("#redbox").hide().html("<h3>You have entered an invalid location or post code.</h3><p>Please try again.</p>").fadeIn();
  if (fromLocation =="itempage"){
    document.forms['serviceform'].item_location.focus();
  }
  else{
	  document.forms['register'].reg_location.focus();
  }
  
  }}
  );
locationSearch.execute(postcode+", UK");

}
function tag_filter(field){jQuery(".msgbox").hide();var expr=/[a-zA-Z0-9]|\s|,|-/i;for(i=0,x=0;i<field.value.length;i++){if(!expr.test(field.value.substring(i,i+1))){x++;}}
if(x>0){document.forms['serviceform'].tags.focus();jQuery("#redbox").html("<h3>Oops - invalid character in the tag field!.</h3><p>Only letters, spaces, hyphens (-) and commas (,) allowed!</p>").fadeIn();}}
function check_categories(cb_element)
{xform=document.forms['serviceform'];for(i=0,x=0;i<xform.categories.length;i++)
{if(xform.categories[i].type=="checkbox")
{if(xform.categories[i].checked==true)
{x++;}}}
if(x>3)
{alert("You can select a maximum of 3 categories only!");cb_element.checked=false;}}
function showdiv(id)
{document.getElementById(id).style.visibility="visible";}
function hidediv(id)
{document.getElementById(id).style.visibility="hidden";}
function checkprofileform(submitter){xform=document.forms['profile'];if(xform.postcode.value&&submitter!="valid_postcode"){check_profile_postcode(xform.postcode.value);return false;}
var expr=/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i;for(i=0,x=0;i<xform.email.value.length;i++){if(!expr.test(xform.email.value)){x++;}}
if(xform.email.value==''){jQuery("#redbox").html("<h3>Oops - this email address is not correct!</h3><p>Please try again.</p>").fadeIn();xform.email.focus();}
else if(x>0){jQuery("#redbox").html("<h3>Oops - this email address is not correct!</h3><p>Please try again.</p>").fadeIn();xform.email.focus();}
else if(xform.name.value==''){jQuery("#redbox").html("<h3>Please enter your name.</h3><p>Your name will not be visible to other users</p>").fadeIn();xform.name.focus();}
else if(xform.password.value&&xform.password.value.length<6){jQuery("#redbox").html("<h3>Your password is too short.</h3><p>Please enter at least 6 characters.</p>").fadeIn();xform.password.focus();}
else if(xform.password.value!=xform.password2.value){jQuery("#redbox").html("<h3>Your passwords do not match.</h3><p>Please try again.</p>").fadeIn();xform.password2.focus();}
else if(!submitter&&xform.postcode.value==''){jQuery("#redbox").html("<h3>You haven't entered a city or post code.</h3><p>Entering your location helps you and other users find relevant listings. <a href=\"javascript:;\" onclick=\"jQuery('#redbox').hide();checkprofileform(true);\">CLICK HERE TO SAVE ANYWAY</a></p>").fadeIn();xform.postcode.focus();}
else{submitprofileform();}}
function check_profile_postcode(postcode){var locationSearch=new GlocalSearch();locationSearch.setSearchCompleteCallback(null,function(){if(locationSearch.results[0]){checkprofileform("valid_postcode");}else{jQuery("#redbox").html("<h3>You have entered an invalid city or post code.</h3><p>Please try again.</p>").fadeIn();}});locationSearch.execute(postcode+", UK");}
function submitprofileform(){xform=document.forms['profile'];qs="";for(i=0;i<xform.elements.length;i++){e_type=xform.elements[i].type
if(e_type=="text"||e_type=="hidden"||e_type=="password"||e_type=="textarea"){qs+=xform.elements[i].name+"="+escape(xform.elements[i].value)+"&";}
if(e_type=="checkbox")
{if(xform.elements[i].checked==true)
qs+=xform.elements[i].name+"=1&";else
qs+=xform.elements[i].name+"=0&";}}
qs+="submit=Submit";if(xform.mode.value=="I")
request_url="/createprofile.php";else
request_url="/amendprofile.php";jQuery.ajax({type:"GET",url:request_url,data:qs,dataType:"html",success:function(data,textStatus){Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=saved',350,150);},error:function(XMLHTTPRequest,textStatus,errorThrow){alert("Error 103 There was an error retrieving the marker information.");}});}
function createListingNoMap(listingtype,post_code, resultLng, resultLat){ coordinate_string="&item_location="+post_code+"&item_lat="+resultLat+"&item_lng="+resultLng;if(listingtype==0)
{Lightbox.showBoxByAJAX('/amendservice.php?mode=I'+coordinate_string,660,600);}
else{Lightbox.showBoxByAJAX('/amendservice.php?mode=I&item_type=1'+coordinate_string,660,600);}}
function get_replyto_form(user_id,item_id,replyto_id)
{var request=createRequestObject();request.open('GET','replyto_service.php?mode=GF&rec_user_id='+user_id+'&item_id='+item_id+'&replyto_id='+replyto_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("replybox").innerHTML=response;document.getElementById("replybox").style.visibility="visible";document.getElementById("replybox").style.display="block";}}}
request.send(null);}
function send_replyto_form(output)
{var request=createRequestObject();xform=document.replyto_form;rec_user_id=xform.rec_user_id.value;send_user_id=xform.send_user_id.value;item_id=xform.item_id.value;message_text=escape(xform.message_text.value);message_text=message_text.replace('+','%2B');message_text=message_text.replace('*','%2A');message_text=message_text.replace('/','%2F');message_text=message_text.replace('@','%40');reply_to_message_id=xform.reply_to_message_id.value;if(message_text==''){alert("Please enter your message!");}
else{request.open('GET','/replyto_service.php?mode=SF&rec_user_id='+rec_user_id+'&send_user_id='+send_user_id+'&item_id='+item_id+'&message_text='+message_text+'&reply_to_message_id='+reply_to_message_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=replysent&msg='+response,350,150);}}}
request.send(null);}}
function show_message(message_assoc_id)
{Lightbox.showBoxByAJAX('/replyto_service.php?mode=VM&message_assoc_id='+message_assoc_id,430,500);}
function show_full_conversation(message_assoc_id)
{var request=createRequestObject();request.open('GET','/replyto_service.php?mode=VFC&message_assoc_id='+message_assoc_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("conversation-box").innerHTML=response;}}}
request.send(null);}
function closediv(div_name)
{location.reload(true);}
function delete_messages(message_assoc_id)
{if(message_assoc_id==0){xform=document.forms['message-list'];var selValues="";for(i=0;i<xform.elements.length;i++)
{if(xform.elements[i].type=="checkbox")
{if(xform.elements[i].checked==true)
{selValues=selValues+xform.elements[i].value+",";}}}}
else{selValues=message_assoc_id+",";}
if(selValues.length<1)
{alert("Please choose a message to delete!");}
else if(confirm("Delete selected message(s)?"))
{selValues=selValues.substring(0,selValues.length-1);var request=createRequestObject();request.open('GET','/replyto_service.php?mode=DML&delstring='+selValues,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;if(response=='Invalid request!')
{alert(response);}
location.reload(true);}}}
request.send(null);}}
function closediv(div_name)
{location.reload(true);}
function show_item(item_id){Lightbox.showBoxByAJAX('/include_service_panel.php?item_id='+item_id,660,600);jQuery("#overlay").pngFix();jQuery("#box img").pngFix();}
function get_rating_form(user_id,item_id)
{var request=createRequestObject();request.open('GET','/rating_service.php?mode=GF&rec_user_id='+user_id+'&item_id='+item_id,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("service-reply").innerHTML=response;}}}
request.send(null);}
function send_rating_form()
{var request=createRequestObject();xform=document.rating_form;send_user_id=xform.send_user_id.value;send_user_ip=xform.send_user_ip.value;item_id=xform.item_id.value;feedback_stars=xform.feedback_stars.value;feedback_text=escape(xform.feedback_text.value);feedback_text=feedback_text.replace('+','%2B');feedback_text=feedback_text.replace('*','%2A');feedback_text=feedback_text.replace('/','%2F');feedback_text=feedback_text.replace('@','%40');if(feedback_stars==""){alert("Please select a star rating (1 star minimum)");}
else if(feedback_text==""){alert("Please type a short feedback comment");}
else{request.open('GET','/rating_service.php?mode=SF&send_user_id='+send_user_id+'&send_user_ip='+send_user_ip+'&item_id='+item_id+'&feedback_text='+feedback_text+'&feedback_stars='+feedback_stars,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("service-reply").innerHTML=response;alert('ttt');}}}
request.send(null);}}
function show_star(number){if(document.rating_form.feedback_stars.value!="")
document.getElementById("rating-fill-star"+document.rating_form.feedback_stars.value).style.visibility="hidden";document.getElementById("rating-fill-star"+number).style.visibility="visible";}
function hide_star(number){document.getElementById("rating-fill-star"+number).style.visibility="hidden";if(document.rating_form.feedback_stars.value!="")
document.getElementById("rating-fill-star"+document.rating_form.feedback_stars.value).style.visibility="visible";}
function add_star(number){if(document.rating_form.feedback_stars.value!="")
document.getElementById("rating-fill-star"+document.rating_form.feedback_stars.value).style.visibility="hidden";show_star(number);document.rating_form.feedback_stars.value=number;}

function checksignupform(){
xform=document.forms['register'];
jQuery(".msgbox").hide();
if(xform.reg_location.value){
	//check_service_postcode(xform.reg_location.value, 'regpage')
	check_register_postcode(xform.reg_location.value);
}
if(xform.email.value==''){jQuery("#redbox").html("<h3>Oops - please enter your email address!</h3><p> </p>").fadeIn();xform.email.focus();}
else if(xform.username.value==''){jQuery("#redbox").html("<h3>Oops - please choose a user name!</h3><p> </p>").fadeIn();xform.username.focus();}
else if(xform.password.value==''){jQuery("#redbox").html("<h3>Please choose a password!</h3><p> </p>").fadeIn();xform.password.focus();}

else if(xform.reg_location.value==''){jQuery("#redbox").html("<h3>Oops - Please enter your postcode / city!</h3><p> </p>").fadeIn();xform.reg_location.focus();}
else if(xform.terms.checked==false){jQuery("#redbox").html("<h3>Oops - please tick box to agree to terms!</h3><p> </p>").fadeIn();xform.terms.focus();}
else if(xform.password.value.length<6){jQuery("#redbox").html("<h3>Oops - your password is too short!</h3><p>Please enter at least 6 characters.</p>").fadeIn();xform.password.focus();}
else if(xform.password2.value==''){jQuery("#redbox").html("<h3>Please re-type your password!</h3><p> </p>").fadeIn();xform.password2.focus();}
else if(xform.password.value!=xform.password2.value){jQuery("#redbox").html("<h3>Oops - passwords do not match!</h3><p>Please try again.</p>").fadeIn();xform.password2.focus();}
else{
	qs="";
	for(i=0;i<xform.elements.length;i++){e_type=xform.elements[i].type
		if(e_type=="text"||e_type=="hidden"||e_type=="password" ||(e_type=="checkbox" && xform.elements[i].checked == true)){qs+=xform.elements[i].name+"="+encodeURIComponent(xform.elements[i].value)+"&";}}
		qs+="submit=Submit";
		//alert("qs = " + qs);
		jQuery.ajax({type:"GET",url:"/include_registerbox.php?"+qs,data:qs,dataType:"html",success:function(data,textStatus){
			if(data.indexOf("Oops")>=0){
				jQuery("#redbox").html(data).fadeIn();
			}
			else{
			Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=registered',350,150);}},error:function(XMLHTTPRequest,textStatus,errorThrow){alert("Error 115 There was an error.");}});
			}
}
		
function checkpasswordform(){xform=document.forms['password-reminder'];jQuery(".msgbox").hide();if(xform.email.value==''){jQuery("#redbox").html("<h3>Oops - please enter your email address!</h3><p> </p>").fadeIn();xform.email.focus();}
else{qs="";for(i=0;i<xform.elements.length;i++){e_type=xform.elements[i].type
if(e_type=="text"||e_type=="hidden"||e_type=="password"){qs+=xform.elements[i].name+"="+encodeURIComponent(xform.elements[i].value)+"&";}}
qs+="submit=Submit";jQuery.ajax({type:"GET",url:"/include_password_reminder.php",data:qs,dataType:"html",success:function(data,textStatus){if(data.indexOf("Oops")>=0){jQuery("#redbox").html(data).fadeIn();}
else{Lightbox.showBoxByAJAX('/success_feedback.php?actionsuccess=reminder',350,220);}},error:function(XMLHTTPRequest,textStatus,errorThrow){alert("Error 102 There was an error retrieving the marker information.");}});}}
function close_lb(reloader){Lightbox.hideBox();if(reloader)
location.reload(true);}
function check_keypress(e){var kC=(window.event)?event.keyCode:e.keyCode;var Esc=(window.event)?27:e.DOM_VK_ESCAPE
if(kC==Esc)
close_lb(false);}
function show_thumbnail(filename)
{var request=createRequestObject();request.open('GET','/profile_image.php?mode=ST&filename='+filename,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("thumbnail").innerHTML=response;}}}
request.send(null);}
function show_item_thumbnail(filename)
{var request=createRequestObject();request.open('GET','/service_image.php?mode=ST&filename='+filename,true);request.onreadystatechange=function()
{if(request.readyState==4)
{if(request.status==200)
{var response=request.responseText;document.getElementById("item-image").innerHTML=response;}}}
request.send(null);}
function maxLength(field,maxChars)
{field.value=field.value.substring(0,maxChars+2);field.scrollTop=field.scrollHeight;if(field.value.length>=maxChars){event.returnValue=false;return false;}}
function show_message_dialog_page(item_id,page){URLString="item_id="+item_id+"&page="+page+"&output=dialog";jQuery.ajax({type:"GET",url:"/message_paging.php",data:URLString,dataType:"html",success:function(data,textStatus){jQuery("#service-msg-folder").fadeTo("slow",0.33,function(){jQuery(this).html(data);}).fadeTo("slow",1);}});}
function show_feedback_dialog_page(item_id,page){URLString="item_id="+item_id+"&page="+page+"&output=dialog";jQuery.ajax({type:"GET",url:"/feedback_paging.php",data:URLString,dataType:"html",success:function(data,textStatus){jQuery("#service-feedback").fadeTo("fast",0.1,function(){jQuery(this).html(data);}).fadeTo("fast",1);}});}
function show_feedback_main_page(item_id_string,page){URLString="item_id_string="+item_id_string+"&page="+page+"&output=main";jQuery.ajax({type:"GET",url:"/feedback_paging.php",data:URLString,dataType:"html",success:function(data,textStatus){jQuery("#latest-feedback").fadeTo("fast",0.1,function(){jQuery(this).html(data);}).fadeTo("fast",1);}});}
function show_message_main_page(message_type,page){URLString="message_type="+message_type+"&page="+page+"&output=main";jQuery.ajax({type:"GET",url:"/message_paging.php",data:URLString,dataType:"html",success:function(data,textStatus){jQuery("#msg-list").fadeTo("fast",0.1,function(){jQuery(this).html(data);}).fadeTo("fast",1);}});}
function sign_toggle(){current_sign=jQuery("#map-flyout").html();if(current_sign.indexOf("map_closed")>=0)jQuery("#map-flyout").html('<img id="map-flyout-graphic" src="/images/map_open.png" alt="Close map" width="15" height="15" />');else jQuery("#map-flyout").html('<img id="map-flyout-graphic" src="/images/map_closed.png" alt="Open map" width="15" height="15" />');jQuery("#map-flyout-graphic").pngFix();}
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 check_register_postcode(regpostcode){
	var locationSearch=new GlocalSearch();
	locationSearch.setSearchCompleteCallback(null,function(){
	if(locationSearch.results[0] && regpostcode.length != 1){
		var resultLat=locationSearch.results[0].lat;
  		var resultLng=locationSearch.results[0].lng;
		get_reglatlng(resultLat,resultLng);
		}
	else{
		jQuery("#redbox").html("<h3>Oops - You have entered an invalid city or post code.</h3><p>Please try again.</p>").fadeIn();
	}
	});locationSearch.execute(regpostcode+", UK");
}
