function registerValidation(strmsg)
{
	var arrmsg =strmsg.split("#");
	
	var firstName =document.getElementById('OwnerFirstname').value;
	var lastName =document.getElementById('OwnerLastname').value;
	var address1 =document.getElementById('OwnerAddress1').value;
	var address2 =document.getElementById('OwnerAddress2').value;
	var postalcode =document.getElementById('OwnerPostalcode').value;
	var country =document.getElementById('OwnerCountryId').value;
	var region =document.getElementById('OwnerRegionId').value;
	var town =document.getElementById('OwnerTownId').value;
	var phone =document.getElementById('OwnerContactno').value;
	var mobile =document.getElementById('OwnerMobileno').value;
	var fax =document.getElementById('OwnerFaxno').value;
	var email =document.getElementById('OwnerEmailid').value;
	var password =document.getElementById('OwnerPassword').value;
	var cpassword =document.getElementById('OwnerCpassword').value;
	var referrer =document.getElementById('OwnerReferrer').value;

	if(firstName == '' || !validChars(firstName, ''))
	{
		alert(arrmsg[0]);
		document.getElementById('OwnerFirstname').focus();
		return false;
	}
	else if(lastName == '' || !validChars(lastName, ''))
	{
		alert(arrmsg[1]);
		document.getElementById('OwnerLastname').focus();
		return false;
	}
	else if(address1 == '' || !leadspace(address1))
	{
		alert(arrmsg[2]);
		document.getElementById('OwnerAddress1').focus();
		return false;
	}
	else if(address2 != '' && !leadspace(address2))
	{
		alert(arrmsg[3]);
		document.getElementById('OwnerAddress2').focus();
		return false;
	}
	else if(town == '' || !validChars(town, 'withspaces'))
	{
		alert(arrmsg[17]);
		document.getElementById('OwnerTownId').focus();
		return false;
	}
	else if(region == '' || !validChars(region, 'withspaces'))
	{
		alert(arrmsg[16]);
		document.getElementById('OwnerRegionId').focus();
		return false;
	}
	else if(country == '')
	{
		alert(arrmsg[15]);
		document.getElementById('OwnerCountryId').focus();
		return false;
	}
	else if(phone == '' || !validChars(phone, 'phone'))
	{
		alert(arrmsg[6]);
		document.getElementById('OwnerContactno').focus();
		return false;
	}
	else if(mobile != '' && !validChars(mobile, 'phone'))
	{
		alert(arrmsg[7]);
		document.getElementById('OwnerMobileno').focus();
		return false;
	}
	else if(fax != '' && !validChars(fax, 'phone'))
	{
		alert(arrmsg[8]);
		document.getElementById('OwnerFaxno').focus();
		return false;
	}
	else if(!checkEmail(document.getElementById('OwnerEmailid'),arrmsg[9],0))
	{
		return false;
	}
	else if(password == ''  || !leadspace(password))
	{
		alert(arrmsg[10]);
		document.getElementById('OwnerPassword').focus();
		return false;
	}
	else if(cpassword != '' && password != cpassword)
	{
		alert(arrmsg[12]);
		document.getElementById('OwnerCpassword').focus();
		return false;
	}
	else 
	{
		return true;	
	}
	
	/*
	else if(postalcode == '' || !validChars(postalcode, 'alphanum'))
	{
		alert(arrmsg[4]);
		document.getElementById('OwnerPostalcode').focus();
		return false;
	}
	*/
	/*
	else if(cpassword == ''   || !leadspace(cpassword))
	{
		alert(arrmsg[11]);
		document.getElementById('OwnerCpassword').focus();
		return false;
	}
	*/
}

// Function to Validate Email of user for forgot password
function emailValidation(strmsg)
{
	var arrmsg =strmsg.split("#");

	if(!checkEmail(document.getElementById("OwnerEmailid"), arrmsg[9],0))
	{
		return false;
	}
	else 
	{
		return true;
	}
}


// Function to validate Login
function loginValidation (strmsg) 
{

	var arrmsg =strmsg.split("#");
	var password = document.getElementById("OwnerLoginPassword").value;
	if(!checkEmail(document.getElementById('OwnerLoginEmail'),arrmsg[9],0))
	{
		return false;
	}
	else if (password == '' || !leadspace(password)) 
	{
		alert(arrmsg[10]);
		document.getElementById('OwnerLoginPassword').focus();
		return false;
	}
	else 
	{
		return true;
	}
}

// Function to validate add/edit advertisement
function advValidation(strmsg)
{
		var arrmsg = strmsg.split("#");
		var country = document.getElementById("AdvertisementCountryId").value;
		var region = "";
		var town = "";
		if (typeof document.getElementById("AdvertisementRegionId") != "undefined")
		{
			region = document.getElementById("AdvertisementRegionId").value;
		}
		if (typeof document.getElementById("AdvertisementTownId") != "undefined")
		{
			town = document.getElementById("AdvertisementTownId").value;
		}
		var townname_new = document.getElementById("AdvertisementTownnameNew").value;

		var propertyTypeId = document.getElementById("AdvertisementPropertytypeId").value;
		var bedrooms = document.getElementById("AdvertisementBedroom").value;
		var maxOccupants = document.getElementById("AdvertisementMaxoccupant").value;
		var airportDistance = document.getElementById("AdvertisementAirportdistance").value;
		var detail = document.getElementById("AdvertisementDetail").value;
		
		var image1 = "";
		var image2 = "";
		var image3 = "";
		var image4 = "";
		var image5 = "";
		var image6 = "";
		var image7 = "";
		var image8 = "";
		var image9 = "";
		var image10 = "";
		var image11 = "";
		var image12 = "";
		if (document.getElementById("OwnerimageImgfilename1"))
		{
		    var image1 = document.getElementById("OwnerimageImgfilename1").value;
		}
		if (document.getElementById("OwnerimageImgfilename2"))
		{
		    var image2 = document.getElementById("OwnerimageImgfilename2").value;
		}
		if (document.getElementById("OwnerimageImgfilename3"))
		{
		    var image3 = document.getElementById("OwnerimageImgfilename3").value;
		}
		if (document.getElementById("OwnerimageImgfilename4"))
		{
		    var image4 = document.getElementById("OwnerimageImgfilename4").value;
		}
		if (document.getElementById("OwnerimageImgfilename5"))
		{
		    var image5 = document.getElementById("OwnerimageImgfilename5").value;
		}
		if (document.getElementById("OwnerimageImgfilename6"))
		{
		    var image6 = document.getElementById("OwnerimageImgfilename6").value;
		}
		if (document.getElementById("OwnerimageImgfilename7"))
		{
		    var image7 = document.getElementById("OwnerimageImgfilename7").value;
		}
		if (document.getElementById("OwnerimageImgfilename8"))
		{
		    var image8 = document.getElementById("OwnerimageImgfilename8").value;
		}
		if (document.getElementById("OwnerimageImgfilename9"))
		{
		    var image9 = document.getElementById("OwnerimageImgfilename9").value;
		}
		if (document.getElementById("OwnerimageImgfilename10"))
		{
		    var image10 = document.getElementById("OwnerimageImgfilename10").value;
		}
		if (document.getElementById("OwnerimageImgfilename11"))
		{
		    var image11 = document.getElementById("OwnerimageImgfilename11").value;
		}
		if (document.getElementById("OwnerimageImgfilename12"))
		{
		    var image12 = document.getElementById("OwnerimageImgfilename12").value;
		}

		if(country == '')
		{
			alert(arrmsg[0]);
			document.getElementById('AdvertisementCountryId').focus();
			return false;
		}
		else if(region == '')
		{
			alert(arrmsg[1]);
			document.getElementById('AdvertisementRegionId').focus();
			return false;
		}
		else if((town == '' || town == '-1') && (townname_new == '' || townname_new == 'Enter Town'))
		{
			alert(arrmsg[2]);
			document.getElementById('AdvertisementTownId').focus();
			return false;
		}
		else if(propertyTypeId == '')
		{
			alert(arrmsg[3]);
			document.getElementById('AdvertisementPropertytypeId').focus();
			return false;
		}
		else if(!isFinite(bedrooms) || bedrooms == '')
		{
			alert(arrmsg[4]);
			document.getElementById('AdvertisementBedroom').focus();
			return false;
		}
		else if(!isFinite(maxOccupants) || maxOccupants == '')
		{
			alert(arrmsg[5]);
			document.getElementById('AdvertisementMaxoccupant').focus();
			return false;
		}
		else if(!isFinite(airportDistance) || airportDistance == '')
		{
			alert(arrmsg[6]);
			document.getElementById('AdvertisementAirportdistance').focus();
			return false;
		}
		else if(detail == '')
		{
			alert(arrmsg[8]);
			document.getElementById('AdvertisementDetail').focus();
			return false;
		}
		else if(image1 != '' && !getStats(image1)) 
		{
			return false;
		}
		else if(image2 != '' && !getStats(image2))
    	{
    		return false;	
    	}
    	else if(image3 != '' && !getStats(image3))
    	{
    		return false;	
    	}
    	else if(image4 != '' && !getStats(image4))
    	{
    		return false;	
    	}
    	else if(image5 != '' && !getStats(image5))
    	{
    		return false;	
    	}
    	else if(image6 != '' && !getStats(image6))
    	{
    		return false;	
    	}
    	else if(image7 != '' && !getStats(image7))
    	{
    		return false;	
    	}
    	else if(image8 != '' && !getStats(image8))
    	{
    		return false;	
    	}
    	else if(image9 != '' && !getStats(image9))
    	{
    		return false;	
    	}
    	else if(image10 != '' && !getStats(image10))
    	{
    		return false;	
    	}
    	else if(image11 != '' && !getStats(image11))
    	{
    		return false;	
    	}
    	else if(image12 != '' && !getStats(image12))
    	{
    		return false;	
    	}
	    //Check prices
	    var foundPrice = false;
	    var priceIncomplete = false;
	    var priceIsNotNumber = false;
	    var count = 1;
		var priceElement;
		var pricePeriodElement;
		while (priceElement = document.getElementById('AdpricePrice'+count))
		{
		    pricePeriodElement = document.getElementById('AdpricePeriod'+count);
		    if (priceElement.value>0 && pricePeriodElement.value!="")
		    {
		        foundPrice = true;
		    }
		    else 
		    { 
		        if ((priceElement.value>0 || pricePeriodElement.value!="") && !(priceElement.value>0 && pricePeriodElement.value!=""))
    		    {
    		        alert(arrmsg[10]);
    		        pricePeriodElement.focus();
    		        return false;
    		    }
		    }
	        if (!isFinite(priceElement.value))
	        {
	            alert(arrmsg[11]);
		        priceElement.focus();
		        return false;
	        }
		    count = count+1;
		}
		if (foundPrice == false)
		{
		    alert(arrmsg[9]);
		    document.getElementById('AdpricePeriod1').focus();
		    return false;
		}
		if(document.getElementById('AdvertisementId').value=='' && image1 == '')
		{
		    //Only relevant on "new ad" page - on "edit" page there are no images, they are on a separate page
			return confirm(arrmsg[7]);
		}
		return true;
}

function imgValidate(strmsg)
{
    var image1 = document.getElementById("OwnerimageImgfilename1").value;
	var image2 = document.getElementById("OwnerimageImgfilename2").value;
	var image3 = document.getElementById("OwnerimageImgfilename3").value;
	var image4 = document.getElementById("OwnerimageImgfilename4").value;
	var image5 = document.getElementById("OwnerimageImgfilename5").value;
	var image6 = document.getElementById("OwnerimageImgfilename6").value;
	var image7 = document.getElementById("OwnerimageImgfilename7").value;
	var image8 = document.getElementById("OwnerimageImgfilename8").value;
	var image9 = document.getElementById("OwnerimageImgfilename9").value;
	var image10 = document.getElementById("OwnerimageImgfilename10").value;
	var image11 = document.getElementById("OwnerimageImgfilename11").value;
	var image12 = document.getElementById("OwnerimageImgfilename12").value;

	var DBimage1 = "";
	if (typeof document.getElementById("AdvertisementFilename1") != "undefined")
	{
		DBimage1 = document.getElementById("AdvertisementFilename1").value;
	}

	if(image1 == '' && DBimage1 == "")
	{
		return confirm(arrmsg[7]);
	}
	else if(image1 != '')
	{
		if (!getStats(image1)) 
		{
			return false;
		}
	}
	else if(image2 != '' && !getStats(image2))
	{
		return false;	
	}
	else if(image3 != '' && !getStats(image3))
	{
		return false;	
	}
	else if(image4 != '' && !getStats(image4))
	{
		return false;	
	}
	else if(image5 != '' && !getStats(image5))
	{
		return false;	
	}
	else if(image6 != '' && !getStats(image6))
	{
		return false;	
	}
	else if(image7 != '' && !getStats(image7))
	{
		return false;	
	}
	else if(image8 != '' && !getStats(image8))
	{
		return false;	
	}
	else if(image9 != '' && !getStats(image9))
	{
		return false;	
	}
	else if(image10 != '' && !getStats(image10))
	{
		return false;	
	}
	else if(image11 != '' && !getStats(image11))
	{
		return false;	
	}
	else if(image12 != '' && !getStats(image12))
	{
		return false;	
	}
	else 
	{
		return true;
	}
}


//Function to check billing address form
function registerBilling(strmsg)
{
	var arrmsg =strmsg.split("#");
	
	var firstName =document.getElementById('PaymentFname').value;
	var lastName =document.getElementById('PaymentSurname').value;
	var address1 =document.getElementById('PaymentBill').value;
	var address2 =document.getElementById('PaymentBill2').value;
	var postalcode =document.getElementById('PaymentCode').value;
	var country =document.getElementById('PaymentCountry').value;
	var region =document.getElementById('PaymentRegion').value;
	var town =document.getElementById('PaymentTown').value;
	var paymentType = false;
	if(
	   document.getElementById('method_CreditCard').checked 
	   || 
	   document.getElementById('method_LaserCard').checked 
	   || 
	   (document.getElementById('method_Bank Draft') && document.getElementById('method_Bank Draft').checked)
	   || 
	   (document.getElementById('method_Electronic Funds Transfer') && document.getElementById('method_Electronic Funds Transfer').checked)
	   ||
	   (document.getElementById('method_Invoice') && document.getElementById('method_Invoice').checked)
	)
	{
		paymentType =true;
	}

	if(firstName == '' || !validChars(firstName, ''))
	{
		alert(arrmsg[0]);
		document.getElementById('PaymentFname').focus();
		return false;
	}
	else if(lastName == '' || !validChars(lastName, ''))
	{
		alert(arrmsg[1]);
		document.getElementById('PaymentSurname').focus();
		return false;
	}
	else if(address1 == '' || !leadspace(address1))
	{
		alert(arrmsg[2]);
		document.getElementById('PaymentBill').focus();
		return false;
	}
	else if(address2 != '' && !leadspace(address2))
	{
		alert(arrmsg[3]);
		document.getElementById('PaymentBill2').focus();
		return false;
	}
	else if(town == '' || !validChars(town, 'withspaces'))
	{
		alert(arrmsg[17]);
		document.getElementById('PaymentTown').focus();
		return false;
	}
	else if(region == '' || !validChars(region, 'withspaces'))
	{
		alert(arrmsg[16]);
		document.getElementById('PaymentRegion').focus();
		return false;
	}
	else if(country == '' || !validChars(country, 'withspaces'))
	{
		alert(arrmsg[15]);
		document.getElementById('PaymentCountry').focus();
		return false;
	}
	else if(paymentType == '')
	{
		alert("Please select a payment method.");
		//document.getElementById('method_CreditCard').focus();
		return false;
	}
	else 
	{
		return true;	
	}
	/*
	else if(postalcode == '' || !validChars(postalcode, 'alphanum'))
	{
		alert(arrmsg[4]);
		document.getElementById('PaymentCode').focus();
		return false;
	}
	*/
}

// Function to delete Category...
function confirmDelete()
{   
    //alert('jshdgfhgsdjhfgjhsd');
    var ConfDel = confirm("Are you sure you want to delete this advertisement?");
    if(ConfDel)
    {
        //window.location
    }
    else
        return false;
}


/// function to validate notices
function noticevalid(strmsg)
{
		
		var arrmsg =strmsg.split("#");
		if(document.getElementById("NoticeAdvertisementId"))
		var adv = document.getElementById("NoticeAdvertisementId").value;
		var title = document.getElementById("NoticeTitle").value;
		var content = document.getElementById("NoticeContent").value;
		
		if(adv == '')
		{
			alert(arrmsg[0]);
			document.getElementById('NoticeAdvertisementId').focus();
			return false;
		}
		else if(title == '' || !validChars(title, 'all'))
		{
			alert(arrmsg[1]);
			document.getElementById('NoticeTitle').focus();
			return false;
		}
		else if(content == '' || !validChars(content, 'all'))
		{
			alert(arrmsg[2]);
			document.getElementById('NoticeContent').focus();
			return false;
		}
		
		else
		{
			return true;
		}	
}

    // function to validate enquiry sent by the visitor 
function enquiryvalid(strmsg)
{
		
		var arrmsg =strmsg.split("#");
		var name = document.getElementById("EnquirySendername").value;
		var email = document.getElementById("EnquirySenderemail").value;
		var content = document.getElementById("EnquiryContent").value;
		
		if(name == '')
			{
				alert(arrmsg[0]);
				document.getElementById('EnquirySendername').focus();
				return false;
			}
		else if(!checkEmail(document.getElementById('EnquirySenderemail'),arrmsg[1],0))
			
		    {   
				return false;
			}

		else if(content == '')
			{
				alert(arrmsg[2]);
				document.getElementById('EnquiryContent').focus();
				return false;
			}
		
		else
		{
			return true;
		}	
}



function sendproperty(strmsg)
{
		
		var arrmsg =strmsg.split("#");
		var name = document.getElementById("EnquirySendername").value;
		var email = document.getElementById("EnquirySenderemail").value;
		var rname = document.getElementById("EnquiryRecipientname").value;
		var remail = document.getElementById("EnquiryRecipientemail").value;
		var content = document.getElementById("EnquiryContent").value;
		
		if(name == '')
			{
				alert(arrmsg[0]);
				document.getElementById('EnquirySendername').focus();
				return false;
			}
		else if(!checkEmail(document.getElementById('EnquirySenderemail'),arrmsg[1],0))
			
		    {   
				return false;
			}
			
			if(rname == '')
			{
				alert(arrmsg[0]);
				document.getElementById('EnquiryRecipientname').focus();
				return false;
			}
		else if(!checkEmail(document.getElementById('EnquiryRecipientemail'),arrmsg[1],0))
			
		    {   
				return false;
			}
		else if(content == '')
			{
				alert(arrmsg[2]);
				document.getElementById('EnquiryContent').focus();
				return false;
			}
		
		else
		{
			return true;
		}	
}
function enquirysendvalid(strmsg)
{
		
		var arrmsg =strmsg.split("#");
		var body = document.getElementById("EnquiryBody").value;
				
		if(body == '')
		{
			alert('Please enter enquiry text.');
			document.getElementById('EnquiryBody').focus();
			return false;
		}
				
		else
		{
			return true;
		}	
}

function bookingvalid(strmsg)
{
		
		var arrmsg =strmsg.split("#");
		var sdate = document.getElementById("BookingStartDate").value;
		var edate = document.getElementById("BookingEndDate").value;
		var name = document.getElementById("BookingName").value;
		var contactno = document.getElementById("BookingContactno").value;
   		var emailid = document.getElementById("BookingEmailid").value;
		var today = document.getElementById("today").value;
		
		 if(sdate == '' || sdate<today)
			{
				alert(arrmsg[1]);
				document.getElementById('BookingStartDate').focus();
				return false;
			}
         

         
        else if(edate == '')
			{
				alert(arrmsg[2]);
				document.getElementById('BookingEndDate').focus();
				return false;

			}
      
        else if(edate<sdate)
			{

             alert(arrmsg[6]);
			 alert(today);
			document.getElementById('BookingEndDate').focus();
			return false;

			}

         else if(name == '')
		{
			alert(arrmsg[3]);
			document.getElementById('BookingName').focus();
			return false;
		}

		 else if(contactno == '')
		{
			alert(arrmsg[4]);
			document.getElementById('BookingContactno').focus();
			return false;
		}

		else if(!checkEmail(document.getElementById('BookingEmailid'),arrmsg[5],0))
			
		    {   
				return false;
			}

				
		else
		{
			
			return true;
		}	
}


// Function to Update Regions i.e States
function updateRegions (countryId) 
{
	new Ajax.Updater('stateCombo', '/visitors/updateStateCombo/?id='+countryId, {asynchronous:true, evalScripts:true});
}

// Function to Update Towns i.e
function updateTowns (stateId) 
{
	new Ajax.Updater('townCombo', '/visitors/updateTownCombo/?id='+stateId, {asynchronous:true, evalScripts:true});
}

// Function to Update Regions i.e States
function updateRegionsAdvertisement (countryId) 
{
	new Ajax.Updater('stateCombo', '/owners/updateStateCombo/?id='+countryId, {asynchronous:true, evalScripts:true});
}

// Function to Update Towns 
function updateTownsAdvertisement (stateId) 
{
	new Ajax.Updater('townCombo', '/owners/updateTownCombo/?id='+stateId, {asynchronous:false, evalScripts:true});
	var townSelect = document.getElementById('AdvertisementTownId');
	if (document.getElementById('AdvertisementCountryId').value != "")
	{
    	townSelect.options[townSelect.options.length] = new Option("Other","-1");
	}
	if (
	       (document.getElementById('AdvertisementRegionId').value != "")
	       && 
	       (townSelect.options.length == 2)
	)
	{
	    document.getElementById('townCombo').style.display = "none";
	    document.getElementById('townInput').style.display = "inline";
	}
	else
	{
	    document.getElementById('townCombo').style.display = "inline";
	    document.getElementById('townInput').style.display = "none";
	}
}

function conditionalShowTownInput (townValue)
{
    if (townValue == "-1")
	{
    	document.getElementById('townInput').style.display = "inline";
	}
	else
	{
	    document.getElementById('townInput').style.display = "none";
	}
}

function toggleDisplay(elementId,imageId)
{
    var element = document.getElementById(elementId);
    var img = document.getElementById(imageId);
    if (element.style.display == "none")
    {
        element.style.display = "block";
        img.src = "/app/webroot/img/d.gif";
    }
    else
    {
        element.style.display = "none";
        img.src = "/app/webroot/img/u.gif";
    }
}

function openerChange()
{
	if (mapwindow.opener && !mapwindow.opener.closed)
	{
		mapwindow.opener.document.getElementById("mlat").value = document.getElementById("mlat").value;
		mapwindow.opener.document.getElementById("mlng").value = document.getElementById("mlng").value;

		mapwindow.opener.document.getElementById("mapLinkText").innerHTML = "Edit your property location on Google Maps(tm)";
	}
}

function parentSetLatLong(lat, lng)
{
	document.getElementById("mlat").value = lat;
	document.getElementById("mlng").value = lng;

	openerChange();
}



function getParentlatlong()
{
	return document.getElementById("mlat").value + ',' + document.getElementById("mlng").value;
}

// Function to check fields of Advance Search Page
function ckeckSubmit () 
{
	if (document.getElementById('AdvertisementCountryId').value=="")
	{
		alert("Please enter country.");
		return false;
	}
	else
	{
		return true;
	}
}


function checkempty(theform){
var returnval=true //by default, allow form submission
for (i=0; i<theform.elements.length; i++){
if (theform.elements[i].type=="text" || theform.elements[i].type=="textarea"){
if (theform.elements[i].value==""){ //if empty field
alert("Please make sure all fields are entered") //alert error message
returnval=false //disallow form submission
break //end loop. No need to continue.
}
}
}
return returnval
}

// Function to check valid value for a field
/*	whichValidation --> 'withoutspaces'
/*	whichValidation --> 'numeric'
/*	whichValidation --> 'phone'
/*	whichValidation --> 'alphanum'
/*	whichValidation --> '' // alphabets only
******************************************/
function validChars(fieldvalue, whichValidation)
{
	var result = true;
	var string = fieldvalue;
	var stringlen = fieldvalue.length;
	
	if(whichValidation == 'withspaces')
	{
		var iChars = " ?abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.'";
		//var iChars = "*,|_.~?/\":<>[]{}`\';()@&$#%";
		//var iChars = new Regexp("^+[a-z][A-Z][0-9]| ");
	}
	else if(whichValidation == 'all')
	{
		var iChars = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.*,|_.-’~?/\":<>[]{}`\';()@&$#%€ ";
	}
	else if (whichValidation == 'numeric') 
	{
		var iChars = "0123456789";
	}
	else if (whichValidation == 'phone') 
	{
		var iChars = "()+-0123456789";
	}
	else if (whichValidation == 'alphanum') 
	{
		var iChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	}
	else 
	{
		var iChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'- ";
	}
	
	if(whichValidation != 'all')
	{
		for (var i = 0; i < stringlen; i++)
		{
			if (iChars.indexOf(string.charAt(i)) == -1)
				result = false;
		}
	}

	if (string.charAt(0) == ' ')
	{
		result = false;
	}

	return result;
}

// Function checks for leading space only
function leadspace(fieldvalue)
{
	var string = fieldvalue;
	if (string.charAt('0') == ' ')
	{
  		return false;
  	}
	return true;
}

// Function to validate Email address format
function checkEmail(fld,msg,opt)
{
	if(opt=="0" || fld.value!="")
	{
        var emailStr=fld.value;
    	var checkTLD=1;
    	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

    	var emailPat=/^(.+)@(.+)$/;

    	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

    	var validChars="\[^\\s" + specialChars + "\]";

    	var quotedUser="(\"[^\"]*\")";

    	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

    	var atom=validChars + '+';

    	var word="(" + atom + "|" + quotedUser + ")";

    	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

    	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

    	var matchArray=emailStr.match(emailPat);

    	if (matchArray==null)
    	{
            fld.focus();
    		fld.select();
    		alert(msg);
    		return false;
    	}

    	var user=matchArray[1];
    	var domain=matchArray[2];

    	for (i=0; i<user.length; i++)
        {
        	if (user.charCodeAt(i)>127)
            {
            	fld.focus();
            	fld.select();
            	alert(msg);
            	return false;
    	    }
    	}

        for (i=0; i<domain.length; i++)
        {
        	if (domain.charCodeAt(i)>127)
            {
            	fld.focus();
            	fld.select();
            	alert(msg);
            	return false;
        	}
    	}

    	// See if "user" is valid

    	if (user.match(userPat)==null)
        {
	    	// user is not valid
	    	fld.focus();
	    	fld.select();
	    	alert(msg);
	    	return false;
    	}

    	var IPArray=domain.match(ipDomainPat);
    	if (IPArray!=null)
    	{
        	for (var i=1;i<=4;i++)
            {
            	if (IPArray[i]>255)
                {
                	fld.focus();
                	fld.select();
                	alert(msg);
                	return false;
            	}
        	}
    	    return true;
    	}


    	var atomPat=new RegExp("^" + atom + "$");
    	var domArr=domain.split(".");
    	var len=domArr.length;
    	for (i=0;i<len;i++)
        {
        	if (domArr[i].search(atomPat)==-1)
            {
            	fld.focus();
            	fld.select();
            	alert(msg);
            	return false;
        	}
    	}

    	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
        {
        	fld.focus();
        	fld.select();
        	alert(msg);
        	return false;
    	}

    	if (len<2)
        {
        	fld.focus();
        	fld.select();
        	alert(msg);
        	return false;
    	}
	    return true;
    }
   return true;
}

// function to validate valid image file
function getStats(fName)
{
	var fullName = fName;
	var shortName = fullName.match(/[^\/\\]+$/);
	var splitName = fullName.split(".");
	var fileType = splitName[1];
	if(fileType)
	{
		fileType = fileType.toLowerCase();
		if (fileType == 'gif' || fileType == 'jpg' || fileType == 'jpeg' || fileType == 'pjpeg')
		{
				return true;
		}
		else
		{
			alert("Please select a valid .jpg or .gif image!");
			return false;
		}
		return true;
	}
	else
	{
		alert("Please select a valid .jpg or .gif image!");
		return false;
	}

}

// Function to count characters in text area
function countchars(num,id,objEvent)
{
	var len = document.getElementById(id).value.length;
	var a = document.getElementById('charc');
	var strUserAgent = navigator.userAgent.toLowerCase();
	var isIE = strUserAgent.indexOf("msie") > -1;
	var c = num -len;

	if(len >= num)
	{

		var iKeyCode;
		if (!isIE)
		{
			if(objEvent.type == 'keypress')
			{
				iKeyCode = objEvent.which;
				if(parseInt(iKeyCode)!=0 && parseInt(iKeyCode)!=8)
				{
					alert('Error : You have reached the maximum number of characters allowed.');
					document.getElementById(id).focus();
					return false;
				}
			}
		}
		else
		{
			if(objEvent.type == 'keydown')
			{
				iKeyCode = objEvent.keyCode;
				if(((parseInt(iKeyCode)>=48 && parseInt(iKeyCode)<=90) || (parseInt(iKeyCode)>=96 && parseInt(iKeyCode)<=111) || (parseInt(iKeyCode)>=180  && parseInt(iKeyCode)<=220)  || parseInt(iKeyCode)==13 || parseInt(iKeyCode)==32))
				{
					alert('Error : You have reached the maximum number of characters allowed.');
					document.getElementById(id).focus();
					return false;
				}
			}
		}
	}
}

function addPriceLine(number)
{
    number = parseInt(number) + 1;
    var parentDiv = document.getElementById("price");
    var newLine = document.createElement("div");
    newLine.setAttribute('class','formLinePrice');
    newLine.innerHTML =  '<label>Time period:&nbsp;</label> <input name="data[Adprice][period'+number+']" type="text" class="timePeriod" value="" size="10" id="AdpricePeriod'+number+'" />    <label>Price per week in EURO:&nbsp;</label> <input name="data[Adprice][price'+number+']" type="text" class="price" size="3" value="" id="AdpricePrice'+number+'" />    <label>Comments:</label><input name="data[Adprice][comment'+number+']" type="text" value="" id="AdpriceComments'+number+'" size="30" />';
    parentDiv.appendChild(newLine);
    var addPriceLink = document.getElementById('addPrice');
    addPriceLink.onclick = function() { addPriceLine(number); };
}

// Function to show number of characters left
function newnum(num,id,target)
{
	var len = document.getElementById(id).value.length;
	var a = document.getElementById(target);
	var c = num -len;
	a.innerHTML = c + ' characters left.';
	return true;
}

function getaddress(val)
{
	if(val != '')
	{
		new Ajax.Updater('adddiv','../owners/getadd/?id='+val,{asynchronous:true, evalScripts:true});
	}
	else
	{
		document.getElementById('adddiv').innerHTML = '';
	}
}
