
function DataCheck(w){ERRpos = w;
if(CheckSubmit() == true){Prompt_Show2(false,'<br><b>All seems to be filled in correctly</b>');}}

function fSubUpdate(){
if (!UDpressed == false){return;}
if (CatTypesLdd == false){alert('Page not fully loaded');return;}
ERRpos = 3; if(CheckSubmit() == true){
	document.AddNew.pCat.disabled = false;
	DisBut();
	document.AddNew.submit();}}

function DisBut(){DLpressed = true; UDpressed = true;
document.getElementById('SaveMsg').innerHTML = '<b>Please wait for network</b>';
document.getElementById('butSave').innerHTML = '<span class=navig>Save Changes <img src=\"../img/p.gif\" width=16 height=16 border=0 align=absmiddle></span>';
}
function check_mail(e) {
// Email Validation. Written by PerlScriptsJavaScripts.com
var ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
for(i=0; i < e.length ;i++){if(ok.indexOf(e.charAt(i))<0){return (false);}} 
if (document.images) {
re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!e.match(re) && e.match(re_two)) {return (-1);}}}

function CheckSubmit(){
var pF = document.AddNew;
pF.realname.value = TrimAll(' ',pF.realname.value).substr(0,60);
pF.sAddress.value = TrimAll(' ',pF.sAddress.value).substr(0,150);
if (pF.realname.value.length < 10){MkERR(15);return false;}
if (pF.sAddress.value.length < 30){MkERR(16);return false;}
if (pF.email.value.length < 10){MkERR(17);return false;}
if (!check_mail(pF.email.value)){MkERR(17);return false;}
if (pF.pType.selectedIndex < 0){MkERR(6);return false;}
pF.street.value = TrimAll(' ',pF.street.value).substr(0,10);
pF.address.value = TrimAll(' ',pF.address.value).substr(0,64);
pF.costdesc.value = TrimAll(' ',pF.costdesc.value).substr(0,40);
pF.sdesc.value = TrimChr(pF.sdesc.value);
pF.sdesc.value = TrimAll(' ',pF.sdesc.value).substr(0,200);
pF.desc.value = TrimChr(pF.desc.value);	pF.desc.value = TrimAll(' ',pF.desc.value).substr(0,5000);
if (pF.address.value.length < 5){MkERR(1);return false;}
if (pF.county.selectedIndex < 1){MkERR(2);return false;}

	var cpc = (pF.pcode.value).toUpperCase(); pF.pcode.value = cpc;
	if(cpc=='ROI'){}else{
	var re = /^[A-Z][A-Z]\d{1,2}[ ]\d{1}[A-Z][A-Z]/;
	if (!re.test(cpc)) {MkERR(5);return false;}}

if (pF.currencytype.selectedIndex == 0){MkERR(7);return false;}
var fCost = Math.round(pF.cost.value);
if (fCost == pF.cost.value){if (fCost < icat[pCat][2] && fCost > 0){MkERR(8);return false;}}	else{MkERR(8);return false;}
var frva = Math.round(pF.rva.value)
if(frva == pF.rva.value){if (frva < icat[pCat][3] && frva > 0){MkERR(9);return false;}
if(frva > 10000){MkERR(9);return false;}} else {	MkERR(9);return false;}

var fbeds = Math.round(pF.beds.value);
if (fbeds == pF.beds.value){
	if (fbeds == 0 && 'ahr'.indexOf(pCat,0) > -1){
		if(confirm('The number of Bedrooms might be required for this Property\n\nCancel to input the number of bedrooms\n\nOk to leave blank !')==false){
			return false;}}}
else{MkERR(10);return false;}
if (pF.sdesc.value.length < 5){MkERR(11);return false;}
if (SdLn() == false){return false;}
if(pF.desc.value.length < 5){MkERR(12);return false;}
if (MdLn() == false){return false;}
return true;}

function MkERR (ERR_Num){
switch (ERR_Num){
case 0: Msg = '<b>Your ref</b> is less than 4 letters long or more than 12.';break;
case 1: Msg = '<b>Address</b> is less than 10 letters long.';break;
case 2: Msg = '<b>Select County and town</b>.';break;
case 3: Msg = 'Please <b>ADD a New Town</b>.';break;
case 4: Msg = 'Please <b>Select Town</b>.';break;
case 5: Msg = '<b>Post code</b> should be formatted like:<br><b>BT1 1AA</b><br>Both parts separated with a space<br><br>If in the \'Irish Republic\'<br>please type <b>ROI</b>.';break;
case 6: Msg = 'Please Select <b>Property Type</b>.';break;
case 7: Msg = 'Please Select <b>CURRENCY</b>.';break;
case 8: Msg = '<b>Price Guide</b> should be greater than ' + icat[pCat][2] + '<br>And should not contain letters or Decimal Places'; break;
case 9: Msg = '<b>RVA</b> should be more than ' + icat[pCat][3] + '<br>And less than 10000<br>And should not contain letters or Decimal Places';break;
case 10: Msg = '<b>Beds</b> should not contain letters or Decimal Places.';break;
case 11: Msg = '<b>List description</b> is missing OR less than 5 letters long.';break;
case 12: Msg = '<b>Main description</b> is missing OR less than 5 letters long.';break;
case 13: Msg = '<b>List description</b> is past the maximum length of 200 characters.';break;
case 14: Msg = '<b>Main description</b> is past the maximum length of 20000 characters.';break;
case 15: Msg = '<b>Your Name</b> is missing OR less than 10 letters long.';break;
case 16: Msg = '<b>Your Address</b> is missing OR less than 30 letters long.';break;
case 17: Msg = '<b>Email</b> is missing, wrong syntax OR less than 10 letters long.';break;
default: Msg = 'Unknown Error.';break;}
Prompt_Show2(true,'<b><u>Data Entry Error</u></b><br><br>' + Msg);}

function TrimChr(value) { 
var re =  /[##~^¬|º¡]+/g; value = value.replace(re, "");
var re =  /["¨]+/g; value = value.replace(re, "''");
var re =  /[`¦]+/g; value = value.replace(re, "'");
var re =  /[·æ]+/g; value = value.replace(re, "* ");
return value;}

function Trim(sInString) {
sInString = sInString.replace( /^\s+/g, "" );
return sInString.replace( /\s+$/g, "" );}
function TrimAll(nsp,value) {
var temp = value;var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
var obj = / +/g; temp = temp.replace(obj, nsp);
if (temp == " ") { temp = "";} return temp;}

function SdLn(){
	var pD = document.AddNew.sdesc;
	var pPrmt = document.getElementById('SdLen');
	pPrmt.innerHTML = pD.value.length;
	if(pD.value.length > 200){
		pD.value = pD.value.substring( 0, 200 );
		ERRpos = 2; MkERR(13);}}
function MdLn(){
	var pD = document.AddNew.desc;
	var pPrmt = document.getElementById('MdLen');
	pPrmt.innerHTML = pD.value.length;
	if(pD.value.length > 5000){
		pD.value = pD.value.substring( 0, 5000 );
		ERRpos = 2; MkERR(14);}}

var iTimerID = 0;
function Prompt_Show2(stran, Msg){
if (iTimerID != 0){window.clearTimeout(iTimerID);}
var tTime = 3000;
var pEll = "pmt" + ERRpos;
var pPos = document.getElementById(pEll);var pLeft = 0;var pTop = 0;
var pPrmt = document.getElementById('ePrompt');
pPrmt.innerHTML = '';
var el = pPos; while(el){pLeft += el.offsetLeft; el = el.offsetParent;}
el = pPos; while(el){pTop += el.offsetTop; el = el.offsetParent;}
Msg = '<table height=100 border=0 cellpadding=5 cellspacing=0><tr><td align=center><a href=\"Javascript:Prompt_Hide2();\" style=\"width:100px;\">close <img src="img/f/close0.gif" border=0 align=\"absmiddle\"><\/a></td></tr><tr><td align=center>' + Msg + '</td></tr></table>'
 
pPrmt.innerHTML = Msg;
pPrmt.style.top = (pTop + 20) + 'px';
pPrmt.style.left = pLeft + 'px';
pPrmt.style.visibility = 'visible';
pPrmt.style.backgroundColor = "#ffffff";
iTimerID = window.setTimeout("Prompt_Hide2()",tTime);}

function Prompt_Hide2(){
if (iTimerID != 0){window.clearTimeout(iTimerID);}
var pPrmt = document.getElementById('ePrompt');
if(is_ie){pPrmt.filters[0].Apply();}
pPrmt.style.visibility = 'hidden';
if(is_ie){pPrmt.filters[0].Play();}
return;}

function dPaste(){document.AddNew.desc.select();document.execCommand('Paste');}
