// JScript source code
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!document.createElement||!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7);
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){
var _25=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
for(var i=3;axo!=null;i++){axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);_25=new deconcept.PlayerVersion([i,0,0]);}}
catch(e){}
if(_23&&_25.major>_23.major){return _25;}
if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){
try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}
catch(e){}}}return _25;};
deconcept.PlayerVersion=function(_29){
this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0;
this.minor=parseInt(_29[1])||0;
this.rev=parseInt(_29[2])||0;};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;};
deconcept.util={getRequestParameter:function(_2b){
var q=document.location.search||document.location.hash;
if(q){var _2d=q.indexOf(_2b+"=");
var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;
if(q.length>1&&_2d>-1){return q.substring(q.indexOf("=",_2d)+1,_2e);}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var _2f=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2f.length;i++){
for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=null;}}}};
if(typeof window.onunload=="function"){
var oldunload=window.onunload;
window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();oldunload();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push==null){
Array.prototype.push=function(_32){
this[this.length]=_32;
return this.length;};}

var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for backwards compatibility
var SWFObject = deconcept.SWFObject;

function bookmarksite(title,url){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

function EmailThisPage(){	  
	var LeftPosition = (screen.width) ? (screen.width-320)/2 : 0;
	var TopPosition = (screen.height) ? (screen.height-240)/2 : 0;	
	var winprint=window.open('search_viewproperty_emailpage.asp','Email','resizable=yes,scrollbars=no,width=420,height=560,left='+ LeftPosition +',top=' + TopPosition);  
	winprint.focus(); 
}

// Gallery Functions
var photoid = 1;
function displayPropertyPhoto(filename,inputphotoid,previewmode){		
    if (previewmode){
        var filepath = 'Images/ImageUpload/';
    }
    else {
        var filepath = 'Images/DBImages/Properties/';
    }    
	document.getElementById("mediumpropertyphoto").src=filepath+'medium_' + filename + '.JPG';	
	photoid = inputphotoid;
	//alert(photoid);
}

// Postcode Validation
function checkPostCode (toCheck) {

  // Permitted letters depend upon their position in the postcode.
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
  var alpha3 = "[abcdefghjkpmnrstuvwxy]";                         // Character 3
  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5
  
  // Array holds the regular expressions for the valid postcodes
  var pcexp = new Array ();

  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Expression for postcodes: ANA NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));

  // Expression for postcodes: AANA  NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "{1}" + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Exception for the special postcode GIR 0AA
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  
  // Standard BFPO numbers
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  
  // c/o BFPO numbers
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);
  
  // Overseas Territories
  pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i);

  // Load up the string to check
  var postCode = toCheck;

  // Assume we're not going to find a valid postcode
  var valid = false;
  
  // Check the string against the types of post codes
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      // The post code is valid - split the post code into component parts
      pcexp[i].exec(postCode);
      
      // Copy it back into the original string, converting it to uppercase and
      // inserting a space between the inward and outward codes
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      // If it is a BFPO c/o type postcode, tidy up the "c/o" part
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      
      // Load new postcode back into the form element
      valid = true;
      
      // Remember that we have found that the code is valid and break from loop
      break;
    }
  }
  
  // Return with either the reformatted valid postcode or the original invalid 
  // postcode
  if (valid) {return postCode;} else return false;
}

// Date Validation
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : dd/mm/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){		
		return false;
	}
	else{
		return true;
	}
}

// Display Date
function displayDate(){
	// Get today's current date.
	var now = new Date();

	// Array list of days.
	var days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');

	// Array list of months.
	var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

	// Calculate the number of the current day in the week.
	var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();

	// Calculate four digit year.
	function fourdigits(number)	{
		return (number < 1000) ? number + 1900 : number;
									}

	// Join it all together
	today =  days[now.getDay()] + ", " +
			months[now.getMonth()] + " " +
			date + ", " +
			(fourdigits(now.getYear())) ;

	// Print out the data.
	document.write(today);
}

function isValidEmail(str) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)){
		return true;
	}
	else {
		return false;
	}
}

// JS Functions
function addLoadEvent(func) {	
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;		
	} 
	else {
		window.onload = function() {
		oldonload();
		func();
		}
	}
}

function emailCloak() {		
	if (document.getElementById) {
		var alltags = document.all? document.all : document.getElementsByTagName("*");
		for (i=0; i < alltags.length; i++) {
			if (alltags[i].className == "emailCloak") {
			var oldText = alltags[i].firstChild;
			var emailAddress = alltags[i].firstChild.nodeValue;
			var user = emailAddress.substring(0, emailAddress.indexOf("("));
			var website = emailAddress.substring(emailAddress.indexOf(")")+1, emailAddress.length);
			var newText = user+"@"+website;
			var a = document.createElement("a");
			a.href = "mailto:"+newText;
			var address = document.createTextNode(newText);
			a.appendChild(address);
			alltags[i].replaceChild(a,oldText);
			}
		}
	}	
}
addLoadEvent(emailCloak);

var pcrex = new RegExp("^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$","i");

function checkcontactus(){
	var ftxt = '';

	if (document.contactus.Name.value==''){
		ftxt += '\n- Please enter your Name.';
	}
	
	if (isValidEmail(document.contactus.email.value)==false){
		ftxt += '\n- Please enter your Email Address.';
	}
	
	if (document.contactus.Company.value==''){
		ftxt += '\n- Please enter your Company Name.';
	}
	
	if (document.contactus.Telephone.value==''){
		ftxt += '\n- Please enter your Telephone Number.';
	}
	
	if (document.contactus.DetailsFrom.value==''){
		ftxt += '\n- Please select where you got our details from.';
	}
		
	if (document.contactus.subject.value==''){
		ftxt += '\n- Please select the type of service/product you are interested in.';
	}
	
	if (document.contactus.Enquiry.value==''){
		ftxt += '\n- Please specify your enquiry.';
	}
	
	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checkvaluationform(){
	var ftxt = '';

	if (document.valuationform.Title.value==''){
		ftxt += '\n- Please select your Title.';
	}
	
	if (document.valuationform.Name.value==''){
		ftxt += '\n- Please enter your Name.';
	}
	
	if (document.valuationform.Address.value==''){
		ftxt += '\n- Please enter your Address.';
	}
	
	if (pcrex.test(document.valuationform.Postcode.value)==false){
		ftxt += '\n- Please enter your Postcode.';
	}
	
	if (isValidEmail(document.valuationform.email.value)==false){
		ftxt += '\n- Please enter your Email Address.';
	}
	
	if (document.valuationform.Telephone.value==''){
		ftxt += '\n- Please enter your Telephone Number.';
	}
	
	if (document.valuationform.AgeofProperty.value==''){
		ftxt += '\n- Please select the Age of your Property.';
	}
	
	if (document.valuationform.TypeofProperty.value==''){
		ftxt += '\n- Please select the Type of your Property.';
	}
	
	if (document.valuationform.Bedrooms.value==''){
		ftxt += '\n- Please specify the number of Bedrooms in your Property.';
	}
	
	if (document.valuationform.ReceptionRooms.value==''){
		ftxt += '\n- Please specify the number of Reception Rooms in your Property.';
	}
	
	if (document.valuationform.Parking.value==''){
		ftxt += '\n- Please specify the number of Parking Spaces at your Property.';
	}
	
	if (document.valuationform.EstimatedValue.value==''){
		ftxt += '\n- Please enter the Estimated Property Value.';
	}
	
	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checkhomesimplesearch(){
	var ftxt = '';
	
	/*
	var btype = false;
	for (var i=0;i<2;i++){
		if (document.simplesearchform.Type[i].checked==true){
			btype = true;
		}
	}
	if (btype==false){
		ftxt += '\n- Please select Buying or Renting.';
	}
	*/
	
	if (document.simplesearchform.AreaID.value==''){
		ftxt += '\n- Please select an Area.';
	}
	
	var displaytype = false;
	for (var i=0;i<2;i++){
		if (document.simplesearchform.DisplayType[i].checked==true){
			displaytype = true;
		}
	}
	if (displaytype==false){
		ftxt += '\n- Please select how you wish to view the results.';
	}
	
	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checklogin(){
	var ftxt = '';
	
	if (document.login.Username.value==''){
		ftxt += '\n- Please enter your Username.';
	}
	
	if (document.login.Password.value==''){
		ftxt += '\n- Please enter your Password.';
	}

	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checkforgottenpassword(){
	var ftxt = '';
	
	if (document.forgottenpassword.Username.value==''){
		ftxt += '\n- Please enter your Username.';
	}
	
	if (isValidEmail(document.forgottenpassword.EmailAddress.value)==false){
		ftxt += '\n- Please enter your Email Address.';
	}

	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

var mailingbool = false;
function toggleMailingList(fieldval){
    var mailinglist = document.getElementById("mailinglist");
    
    if (fieldval=='MailingOnly'){
        mailinglist.style.display='block';
        mailingbool = true;
    }
    else {
        mailinglist.style.display='none';
        mailingbool = false;
    }
}

function testSignupPostcode() {
    var myPostCode = document.getElementById('Postcode').value;
    if (checkPostCode (myPostCode)) {
        document.getElementById('Postcode').value = checkPostCode (myPostCode)
        return true;
    } 
    else {
        return false;
    };
}

function checkregisterform(){
	var ftxt = '';
		
	// Personal Details
	var ptxt = '';
	if (document.register.Title.value==''){
		ptxt += '\n- Please select your Title.';
	}
	
	if (document.register.Name.value==''){
		ptxt += '\n- Please enter your Name.';
	}
	
	if (document.register.Address.value==''){
		ptxt += '\n- Please enter your Address.';
	}
	
	if (testSignupPostcode(document.register.Postcode.value)==false){
		ptxt += '\n- Please enter your Postcode.';
	}
	
	if (document.register.Telephone.value==''){
		ptxt += '\n- Please enter your Telephone Number.';
	}
	
	if (isValidEmail(document.register.EmailAddress.value)==false){
		ptxt += '\n- Please enter your Email Address.';
	}
	
	if (ptxt!==''){
		if (ftxt!==''){
			ftxt += '\n';
		}
		ftxt += '\n*** Personal Details ***\n' + ptxt;
	}
	
	var bregistertype = false;
	for (var i=0;i<2;i++){
	    if (document.register.RegisterType[i].checked==true){
	        bregistertype = true;
	    }
	}
	if (bregistertype==false){
	    if (ftxt!==''){
			ftxt += '\n';
		}
		ftxt += '\n*** Register Type ***\n\nPlease select a Registration Type.';
	}
	
	if (mailingbool){	
	    // Preferences
	    var pretxt = '';
	    var btype = false;
	    for (var i=0;i<2;i++){
		    if (document.register.Type[i].checked==true){
			    btype = true;
		    }	
	    }
	    if (btype==false){
		    pretxt += '\n- Please select a Type.';
	    }
    	
	    if (document.register.AreaID.value==''){
		    pretxt += '\n- Please select an Area.';
	    }
    	
	    if (document.register.MinPrice.value==''){
		    pretxt += '\n- Please select a Minimum Price.';
	    }
    	
	    if (document.register.MaxPrice.value==''){
		    pretxt += '\n- Please select a Maximum Price.';
	    }
    	
	    if (pretxt!==''){
		    if (ftxt!==''){
			    ftxt += '\n';
		    }
		    ftxt += '\n*** Mailing List Preferences ***\n' + pretxt;
	    }
	}

	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checkeditregistrationform(){
	var ftxt = '';
		
	// Personal Details
	var ptxt = '';
	if (document.register.Title.value==''){
		ptxt += '\n- Please select your Title.';
	}
	
	if (document.register.Name.value==''){
		ptxt += '\n- Please enter your Name.';
	}
	
	if (document.register.Address.value==''){
		ptxt += '\n- Please enter your Address.';
	}
	
	if (pcrex.test(document.register.Postcode.value)==false){
		ptxt += '\n- Please enter your Postcode.';
	}
	
	if (document.register.Telephone.value==''){
		ptxt += '\n- Please enter your Telephone Number.';
	}
	
	if (isValidEmail(document.register.EmailAddress.value)==false){
		ptxt += '\n- Please enter your Email Address.';
	}
	
	if (ptxt!==''){
		if (ftxt!==''){
			ftxt += '\n';
		}
		ftxt += '\n*** Personal Details ***\n' + ptxt;
	}
	
	/* Password */
	var passtext = '';
	if (document.register.NewPassword.value!==''||document.register.NewPasswordRpt.value!==''){
	    if (document.register.NewPassword.value!==document.register.NewPasswordRpt.value){
	        passtext += '\n- Please ensure both New Passwords Match.';
	    }
	}
	if (passtext!==''){
	    if (ftxt!==''){
			ftxt += '\n';
		}
		ftxt += '\n*** Change Password ***\n' + passtext;
	}
	
	/* Register Type */
	var bregistertype = false;
	for (var i=0;i<2;i++){
	    if (document.register.RegisterType[i].checked==true){
	        bregistertype = true;
	    }
	}
	if (bregistertype==false){
	    if (ftxt!==''){
			ftxt += '\n';
		}
		ftxt += '\n*** Register Type ***\n\nPlease select a Registration Type.';
	}
	
	/* Mailing List Preferences */
	if (mailingbool){	
	    // Preferences
	    var pretxt = '';
	    var btype = false;
	    for (var i=0;i<2;i++){
		    if (document.register.Type[i].checked==true){
			    btype = true;
		    }	
	    }
	    if (btype==false){
		    pretxt += '\n- Please select a Type.';
	    }
    	
	    if (document.register.AreaID.value==''){
		    pretxt += '\n- Please select an Area.';
	    }
    	
	    if (document.register.MinPrice.value==''){
		    pretxt += '\n- Please select a Minimum Price.';
	    }
    	
	    if (document.register.MaxPrice.value==''){
		    pretxt += '\n- Please select a Maximum Price.';
	    }
    	
	    if (pretxt!==''){
		    if (ftxt!==''){
			    ftxt += '\n';
		    }
		    ftxt += '\n*** Mailing List Preferences ***\n' + pretxt;
	    }
	}

	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function checkmainsearch(){
	var ftxt = '';
	
	/*
	var btype = false;
	for (var i=0;i<2;i++){
		if (document.mainsearch.Type[i].checked==true){
			btype = true;
		}
	}
	if (btype==false){
		ftxt += '\n- Please select a Property Type.';
	}
	*/
	
	var bdisplaytype = false;
	for (var i=0;i<2;i++){
		if (document.mainsearch.DisplayType[i].checked==true){
			bdisplaytype = true;
		}		
	}
	if (bdisplaytype==false){
		ftxt += '\n- Please select a Results Format.';
	}
	
	if (ftxt!==''){
		alert('One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.');
		return false;
	}
	else {
		return true;
	}
}

function confirmLogout(){
	if (confirm('Are you sure you want to logout?')){
		location.href='login.asp?Logout=True';
	}
}

function enableMapSearch(fSelectedArea,formID){
	var listchk = document.getElementById("ListChk" + formID)
	var mapchk = document.getElementById("MapChk" + formID)
	if (fSelectedArea=='ANY'){
		listchk.checked=true;
		mapchk.disabled=true;	
	}
	else {
		listchk.checked=false;
		mapchk.disabled=false;
	}
}

/* Property Search Counter Functions */
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function calculateSimpleProperties(){	
	var qstring = "?SearchType=" + getCheckedValue(document.simplesearchform.Type) + '&AreaID=' + document.simplesearchform.AreaID.value + '&MinPrice=' + document.simplesearchform.MinPrice.value + '&MaxPrice=' + document.simplesearchform.MaxPrice.value + '&Bedrooms=' + document.simplesearchform.Bedrooms.value + '&DatacatchForm=dataCatchSimpleProperties'
	if(document.layers && document.layers['datadiv'].load){				
		document.layers['datadiv'].load('Scripts/GetPropertyCount.asp' + qstring,0);		
	}
	else if(window.frames && window.frames.length){				
		window.frames['dataframe'].window.location.replace('Scripts/GetPropertyCount.asp' + qstring);				
	}	
	//alert('Scripts/GetPropertyCount.asp' + qstring);		
}

function dataCatchSimpleProperties(propertiesfound){   
	document.getElementById("propertiesfoundnum").innerHTML = propertiesfound
}

function calculateAdvancedProperties(){	
	var qstring = "?SearchType=" + getCheckedValue(document.mainsearch.Type) + '&TypeID='+ document.mainsearch.TypeID.value +'&AreaID=' + document.mainsearch.MainAreaID.value + '&MinPrice=' + document.mainsearch.MinPrice.value + '&MaxPrice=' + document.mainsearch.MaxPrice.value + '&Bedrooms=' + document.mainsearch.Bedrooms.value + '&AddedSite=' + document.mainsearch.AddedSite.value + '&DatacatchForm=dataCatchAdvancedProperties'
	if(document.layers && document.layers['advanceddatadiv'].load){				
		document.layers['advanceddatadiv'].load('Scripts/GetPropertyCount.asp' + qstring,0);		
	}
	else if(window.frames && window.frames.length){				
		window.frames['advanceddataframe'].window.location.replace('Scripts/GetPropertyCount.asp' + qstring);				
	}	
	//alert('Scripts/GetPropertyCount.asp' + qstring);		
}

function dataCatchAdvancedProperties(propertiesfound){   
	document.getElementById("propertiesadvancedfoundnum").innerHTML = propertiesfound
}

function displayPropertyTitle(imageid,imagetitle){
    var imagelabel = document.getElementById("imagelabel");
    imagelabel.innerHTML = 'Photo ' + imageid + ': ' + imagetitle;    
}


/* Property Sales Functions */
function confirmpropertysold(submitstring){
    if (confirm('** WARNING **\n\nAre you sure you want to select this property as being sold?\n\nNote that once you have selected this property as sold you cannot relist the property.\n\nAre you sure you want proceed?')){
        location.href=submitstring;
    }
}

function validateMoney( fld )
{
   var temp_value = fld.value;

   if (temp_value == "")
   {
     fld.value = "£0.00";
     return;
   }
   var Chars = "0123456789.,£";
   for (var i = 0; i < temp_value.length; i++)
   {
       if (Chars.indexOf(temp_value.charAt(i)) == -1)
       {
           //alert("Invalid Character(s)\n\nOnly numbers (0-9), a dollar sign, a comma, and a period are allowed in this field.");
           //fld.focus();
           //fld.select();
           return false;
       }
   }
} 

function testZIPCode() {
    var myPostCode = document.getElementById('ZIPCODE').value;
    if (checkPostCode (myPostCode)) {
        document.getElementById('ZIPCODE').value = checkPostCode (myPostCode)
        return true;
    } 
    else {
        return false;
    };
}

function checkpropertyform(){   
    var ftxt = '';
    
    var s1text = '';
    if (testZIPCode(document.propertyform.ZIPCODE.value)==false){
        s1text += '\n- Please enter a Valid Postcode.';
    }
    
    if (document.propertyform.HOUSE_NAME_NUMBER.value==''){
        s1text += '\n- Please enteer a House Name/Number.'
    }
    
    if (document.propertyform.STREET_NAME.value==''){
        s1text += '\n- Please enter a Street Name.';
    }
    
    if (document.propertyform.OS_TOWN_CITY.value==''){
        s1text += '\n- Please enter a  Town/City.';
    }
    
    if (document.propertyform.OS_REGION.value==''){
        s1text += '\n- Please enter a County.';
    }
    
    if (s1text!==''){
	    if (ftxt!==''){
		    ftxt += '\n';
	    }
	    ftxt += '\n*** Step 1: Property Location Information ***\n' + s1text;
    }   
    
    var s2text = '';
    
    if (document.propertyform.TypeID.value==''){
        s2text += '\n- Please select a Property Type.';
    }
    
    if (document.propertyform.PFPROPERTYAGE.value==''){
        s2text += '\n- Please select an Age of Property.';
    }
    
    if (document.propertyform.PFLOCATION_ID.value==''){
        s2text += '\n- Please select a Location Type.';
    }
    
    if (document.propertyform.RECEPTION_ROOMS.value==''){
        s2text += '\n- Please select the number of Reception Rooms.';
    }
    
    if (document.propertyform.BATHROOMS.value==''){
        s2text += '\n- Please select the number of Bathrooms.';
    }
    
    if (document.propertyform.BEDROOMS.value==''){
        s2text += '\n- Please select the number of Bedrooms.';
    }
    
    if (s2text!==''){
	    if (ftxt!==''){
		    ftxt += '\n';
	    }
	    ftxt += '\n*** Step 1: Property Information ***\n' + s2text;
    }  
        
    var bfeatures = false;
    var featurecount = 6;
    var featurecompletecount = 0;
    for (var i=1;i<featurecount+1;i++){
        if (i==1&&document.getElementById("FEATURE"+i).value!=='e.g. 3 Storey, 4 Bedroom Property'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
        if (i==2&&document.getElementById("FEATURE"+i).value!=='e.g. Excellent Double Bedrooms'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
        if (i==3&&document.getElementById("FEATURE"+i).value!=='e.g. Clean Contemporary Style'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
        if (i==4&&document.getElementById("FEATURE"+i).value!=='e.g. New Kitchen'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
        if (i==5&&document.getElementById("FEATURE"+i).value!=='e.g. Excellent Quiet Location'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
        if (i==6&&document.getElementById("FEATURE"+i).value!=='e.g. Utility/Office Room'&&document.getElementById("FEATURE"+i).value!==''){
            featurecompletecount += 1;
        }
    }
    
    if(featurecompletecount<featurecount){
        if (ftxt!==''){
		    ftxt += '\n';
	    }
	    ftxt += '\n*** Step 1: Property Features ***\n\n- Please enter all Property Features (Features 1 to 6)';	    
    }
    
    var s3text = '';
    
    if (document.propertyform.Summary.value==''){
        s3text += '\n- Please enter a Property Summary.';
    }
    
    if (document.propertyform.Description.value==''){
        s3text += '\n- Please enter a Property Description.';
    }
    
    if (s3text!==''){
	    if (ftxt!==''){
		    ftxt += '\n';
	    }
	    ftxt += '\n*** Step 1: Property Description ***\n' + s3text;
    }  
    
    if (validateMoney(document.propertyform.PRICE)==false){ 
        if (ftxt!==''){
		    ftxt += '\n';
	    }
	    ftxt += '\n*** Step 1: Property Sale Cost ***\n\n- Please enter a Valid Sale Price.';
    } 
    
    if (ftxt!==''){		
		return 'One or more errors were found while submitting this form. The errors found are displayed below.\n' + ftxt + '\n\nPlease correct the above errors and try again.';
	}
	else {	    
		return '';
	}
}

function autoSuggestFeatures(number){
    for (var i=1;i<number+1;i++){
        if (eval('document.propertyform.FEATURE'+i+'.value')==''){            
            if (i==1){
                document.getElementById("FEATURE"+i).value = 'e.g. 3 Storey, 4 Bedroom Property';                
            }
            else if (i==2){
                document.getElementById("FEATURE"+i).value = 'e.g. Excellent Double Bedrooms';
            }
            else if (i==3){
                document.getElementById("FEATURE"+i).value = 'e.g. Clean Contemporary Style';
            }
            else if (i==4){
                document.getElementById("FEATURE"+i).value = 'e.g. New Kitchen';
            }
            else if (i==5){
                document.getElementById("FEATURE"+i).value = 'e.g. Excellent Quiet Location';
            }
            else if (i==6){
                document.getElementById("FEATURE"+i).value = 'e.g. Utility/Office Room';
            }
            document.getElementById("FEATURE"+i).style.color='#828282';
        }
    }
}

function clearFeature(fieldname,fieldval,fieldnum){
    if (fieldnum==1&&document.getElementById("FEATURE"+fieldnum).value=='e.g. 3 Storey, 4 Bedroom Property'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
    if (fieldnum==2&&document.getElementById("FEATURE"+fieldnum).value=='e.g. Excellent Double Bedrooms'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
    if (fieldnum==3&&document.getElementById("FEATURE"+fieldnum).value=='e.g. Clean Contemporary Style'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
    if (fieldnum==4&&document.getElementById("FEATURE"+fieldnum).value=='e.g. New Kitchen'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
    if (fieldnum==5&&document.getElementById("FEATURE"+fieldnum).value=='e.g. Excellent Quiet Location'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
    if (fieldnum==6&&document.getElementById("FEATURE"+fieldnum).value=='e.g. Utility/Office Room'){
        document.getElementById("FEATURE"+fieldnum).value='';
    }
}

function priceSuggest(){
    if (document.propertyform.PRICE.value==''||document.propertyform.PRICE.value=='£0'){
        document.getElementById("PRICE").value = 'e.g £650,000';
        document.getElementById("PRICE").style.color='#828282';
    }
}

function clearPrice(fieldval){
    if (fieldval=='e.g £650,000'){
        document.getElementById("PRICE").value='';
        document.getElementById("PRICE").style.color='#000000';
    }
}

function textCounter(field,cntfield,maxlimit) {
    if (field.value.length > maxlimit) // if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
    // otherwise, update 'characters left' counter
    else
    cntfield.value = maxlimit - field.value.length;
}

function submitpropertydata(){
    // Update URL
    var updateurl = document.propertyform.UpdateURL.value;
    var propertyid = document.propertyform.PropertyID.value;
    
    // This is the main submission function - It saves changes to the Property Record!    
    var qstring = 'frmAutoSubmit=True&PropertyID=' + propertyid
    
    var fieldarr = new Array("ZIPCODE","HOUSE_NAME_NUMBER","STREET_NAME","District","OS_TOWN_CITY","OS_REGION","TypeID","PFPROPERTYAGE","PFLOCATION_ID","RECEPTION_ROOMS","BATHROOMS","BEDROOMS","Summary","Description","PRICE");
    
    //compile field arr string
    for (var i=0;i<fieldarr.length;i++){       
        qstring += '&' + fieldarr[i] + '=' + escape(eval('document.propertyform.'+fieldarr[i]+'.value'));
    } 
                
    var checkarr = new Array("PARKING_GARAGE","PARKING_OFFROAD","CENTRAL_HEATING","DOUBLE_GLAZING","CONSERVATORY","SWIMMING_POOL","FIREPLACE","WATERFRONT","PADDOCK","HANDICAP_FEATURES","BALCONY","GARDEN");
    
    for (var i=0;i<checkarr.length;i++){
        if (eval('document.propertyform.'+checkarr[i]+'.checked')){
            qstring += '&' + checkarr[i] + '=' + escape(eval('document.propertyform.'+checkarr[i]+'.value'))
        }
    }
    
    // FEATURE 1 to 6
    for (var i=0;i<6;i++){
        qstring += '&FEATURE' + (i+1) + '=' + escape(eval('document.propertyform.FEATURE'+(i+1)+'.value'));
    }
    
    if (updateurl!=='login_editproperty.asp'){
        // HIP Option Selected
        var bhipoption = false;
        for (var i=0;i<3;i++){
            if (document.hipform.HIPOption[i].checked){
                qstring += '&HIPOption=' + document.hipform.HIPOption[i].value;   
            }
        }    
    }
    
    // XML DOM SUBMISSION SYSTEM!
    if (document.all) {
          var objHTTP = new ActiveXObject("MSXML2.XMLHttp");         
    } else {
          var objHTTP = new XMLHttpRequest();          
    }
    
    objHTTP.open('POST',updateurl,false);
    objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

    objHTTP.send(qstring);

    
    //alert(objHTTP.responseText);
    
    
    
       
    /*
	if(document.layers && document.layers['formdiv'].load){				
		document.layers['formdiv'].load(updateurl + qstring,0);		
	}
	else if(window.frames && window.frames.length){				
		window.frames['formframe'].window.location.replace(updateurl + qstring);				
	}
	
	alert(updateurl + qstring);
	*/			
}

function checkpurchase(packageid){
    if (confirm('Are you sure you wish to proceed with the purchase of this package?')){        
        var qstring = '';
        if (packageid==2){
            var optioncount = document.optionform.OptionCount.value;
                     
            for (var i=0;i<optioncount;i++){
                if (document.optionform.OptionID[i].checked==true){
                    if (qstring!==''){
                        qstring += ', '
                    }
                    qstring += document.optionform.OptionID[i].value;
                }
            }  
            if (qstring!==''){
                qstring = '&OptionList=' + qstring;
            }
        }        
        location.href='login_buypackage.asp?PackageID='+packageid + qstring;
    }
}

/* Upgrade Functions */
function checkupgrade(packageid,propertyid){
    if (confirm('Are you sure you wish to proceed with the upgrade to this package?')){
        location.href='login_buypackage.asp?PackageID='+packageid+'&PropertyID=' + propertyid + '&Mode=Upgrade';
    }
}

function checkupgradeform(){
    var upgradecount = document.upgradeform.OptionCount.value;
    var propertyid = document.upgradeform.PropertyID.value;
    var packageid = document.upgradeform.PackageID.value;
    
    var bupgrade = false;
    if (upgradecount==1){
        if (document.upgradeform.OptionID.checked==true){
            bupgrade = true;
        }
    }
    else if (upgradecount>1){    
        for (var i=0;i<upgradecount;i++){
            if (document.upgradeform.OptionID[i].checked==true){
                bupgrade = true;            
            }
        }
    }
    if (bupgrade==false){
        alert('Please select at least one Upgrade Option.');       
    }
    else {
        var qstring = '';
        for (var i=0;i<upgradecount;i++){
            if (document.upgradeform.OptionID[i].checked==true){
                if (qstring!==''){
                    qstring += ','
                }
                qstring += document.upgradeform.OptionID[i].value;
            }
        }  
        if (qstring!==''){
            qstring = '&OptionList=' + qstring;
        }
        
        qstring = 'login_buypackage.asp?PropertyID=' + propertyid + '&PackageID=' + packageid + qstring + '&Upgrade=True';
        location.href=qstring;
    }    
}

/* Update Functions */
function checkamendssubmit(propertyid){
    if (confirm('** WARNING **\n\nAre you sure you want to submit your changes?\n\nSubmitting your changes will remove your property from the freelocateme.co.uk site and will send your amends to one of our staff to review.\n\nAre you sure you wish to submit your changes now?')){
        location.href='login_editproperty.asp?PropertyID='+ propertyid + '&Mode=SubmitAmends';
    }
}

/* Add and Edit */
function CuteWebUI_AjaxUploader_OnPostback() {
	//submit the form after the file have been uploaded:
	document.uploaderform.submit();
}

/* Popup More Info Panels */
var win = null;
function NewWindow(mypage,myname,w,h){
    LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,resizable=yes'
    win = window.open(mypage,myname,settings)
}

/* Buy Packages - Options */
function checkoptionform(){
    var optcount = document.optionform.OptionCount.value;
    
    if (optcount==1){
        if (document.optionform.OptionList.value==''){
            alert('Please select an Option.');
            return false;
        }
        else {
            return true;
        }
    }
    else {
        var boption = false;
        for (var i=0;i<optcount;i++){
            if (document.optionform.OptionCount[i].checked==true){
                boption = true;
            }
        }
        if (boption==false){
            alert('Please select an Option.');
            return false;
        }
        else {
            return true;
        }
    }
}

function enableOption(cval,theId){
    if (cval==true){
        document.getElementById("OptionSel" + theId).style.display='block';
    }
    else {
        document.getElementById("OptionSel" + theId).style.display='none';
    }
}

/* Image Ordering */
function startDragSystem(){
    var dragListIndex = new Array();
    draglist_manager = new fv_dragList( 'draglist_container' );
    draglist_manager.setup();
    addDragList( draglist_manager );
}

function submitimagedata(){
    //document.imageFrame.form1.submit();
    //alert('yes');  
    //document.frames.imageFrame.document.forms[0].submit();
    window.frames['imageFrame'].document.forms[0].submit(); 
    window.frames['imageFrame'].document.location.reload(true);
}

/* OPTION 2 - Terms Agreed */
function checkTermsAgreed(){
    if (document.storeform.TermsAgreed.checked==false){
        alert('You must agree to the Terms & Conditions to continue.');
        return false;
    }
    else {
        return true;
    }
}

/* HIP Highlight Button */
function selectHIPBuy(){
    var HIPSelectNow = document.getElementById("HIPSelectNow")
    
    if (HIPSelectNow.checked){
        HIPSelectNow.checked = false;
    }
    else {
        HIPSelectNow.checked = true;
    }
}

function selectHIPOption(){
    var HIPOption_Upload = document.getElementById("HIPOption_Upload");
    HIPOption_Upload.checked = true;
}

function controlHIPButton(thebool){
    var uploadbutton = document.getElementById("uploadbuttoncontrols");
    
    if (thebool){
        uploadbutton.style.display='none';
    }
    else {
        uploadbutton.style.display='block';
    }
}
