// JavaScript Document
	
// Numeric check	
	
	function CheckNumeric(frm){
	// var checktype = true;
		for(i=1;i<frm.elements.length-1;i++){
			if(frm.elements[i].type="text"){
				if(isNaN(frm.elements[i].value)){
						alert("Given Value Is Not Numeric");
						frm.elements[i].focus();
						return false;
						break;
				}
				if(frm.elements[i].value=="" || frm.elements[i].value==0 || frm.elements[i].value <= 0){ 
					alert("Provided value is not a valid positive Integer");
					frm.elements[i].focus();
					return false;
					break;
				}
			}
		}
		frm.mode.value = "Update"
	}
	
// Blinking Curser when the page load

	function CurserBlink(){
		document.forms[0].user.focus();
	}
	
	function trim(pstrString)
	{
		if(typeof(pstrString)=="undefined") return false;
		
		//alert(pstrString);
		var intLoop=0;
		for(intLoop=0; intLoop<pstrString.length; )
		{
			if(pstrString.charAt(intLoop)==" ")
			{
				pstrString=pstrString.substring(intLoop+1, pstrString.length);
			}
			else
				break;
		}

		for(intLoop=pstrString.length-1; intLoop>=0; intLoop=pstrString.length-1)
		{
			if(pstrString.charAt(intLoop)==" ")
					pstrString=pstrString.substring(0,intLoop);
			else
					break;
		}
	return pstrString;
	}

/////////////////////////////////////////////////   Validate Email   ////////////////////////////////////////

	function validateEmail(addr,man,db){
		if (addr == '' && man) {
		   if (db) alert('email address is mandatory');
		   return false;
		}
		var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
		for (i=0; i<invalidChars.length; i++) {
		   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
			  if (db) alert('email address contains invalid characters');
			  return false;
		   }
		}
		for (i=0; i<addr.length; i++) {
		   if (addr.charCodeAt(i)>127) {
			  if (db) alert("email address contains non ascii characters.");
			  return false;
		   }
		}

		var atPos = addr.indexOf('@',0);
		if (atPos == -1) {
		   if (db) alert('email address must contain an @');
		   return false;
		}
		if (atPos == 0) {
		   if (db) alert('email address must not start with @');
		   return false;
		}
		if (addr.indexOf('@', atPos + 1) > - 1) {
		   if (db) alert('email address must contain only one @');
		   return false;
		}
		if (addr.indexOf('.', atPos) == -1) {
		   if (db) alert('email address must contain a period in the domain name');
		   return false;
		}
		if (addr.indexOf('@.',0) != -1) {
		   if (db) alert('period must not immediately follow @ in email address');
		   return false;
		}
		if (addr.indexOf('.@',0) != -1){
		   if (db) alert('period must not immediately precede @ in email address');
		   return false;
		}
		if (addr.indexOf('..',0) != -1) {
		   if (db) alert('two periods must not be adjacent in email address');
		   return false;
		}
		var suffix = addr.substring(addr.lastIndexOf('.')+1);
		if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
		   if (db) alert('invalid primary domain in email address');
		   return false;
		}
		return true;
	}

////////////////////////////////////////////////      End     ///////////////////////////////////////////////
///////////////////////////////// Validating domain names for url validations//////////////////////////////
function checkDomain(nname)
{
var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.museum','.name',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw');

var mai = nname;
var val = true;

var dot = mai.lastIndexOf(".");
//////sh finding theposition of dot for long url as:  maps.google.com.au/maps?f=q&hl=en&geocode=&q=56+bowman+st+pyrmont&sll=-33.844738,150.902002&sspn=0.008127,0.013411&ie=UTF8&ll=-33.866033,151.18932&spn=0.008125,0.013411&z=16&iwloc=addr////////////
var slash=mai.lastIndexOf("/");
var ques=mai.lastIndexOf("?");
var min_dot=Math.min(dot,slash);
var min_dot=Math.min(min_dot,ques);
//alert(min_dot);	
var temp_dname = mai.substring(0,min_dot);
dot = temp_dname.lastIndexOf(".");
//////end sh////////////
//var dname = mai.substring(0,dot);
//var ext = mai.substring(dot,mai.length);
var dname = temp_dname.substring(0,dot);
var ext = temp_dname.substring(dot,temp_dname.length);
//////end sh////////////
//alert(ext);
//alert("dot"+dot);	
if(dot>2 && dot<57)
{
	for(var i=0; i<arr.length; i++)
	{
	  if(ext == arr[i])
	  {
	 	val = true;
		break;
	  }	
	  else
	  {
	 	val = false;
	  }
	}
	if(val == false)
	{
	  	 alert("Your domain extension "+ext+" is not correct");
		 return false;
	}
	else
	{
		for(var j=0; j<dname.length; j++)
		{
		  var dh = dname.charAt(j);
		  var hh = dh.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dname.length-1) && hh == 45)	
		  	 {
		 	  	 alert("Domain name should not begin are end with '-'");
			      return false;
		 	 }
		  }
		else	{
		  	 alert("Your domain name should not have special characters");
			 return false;
		  }
		}
	}
}
else
{
 alert("Your Domain name is too short/long");
 return false;
}	

return true;
}
/////////////////////////////////end  Validating domain names for url validations//////////////////////////////





/////////////////////////////////////sh phone validate///////////////////////
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

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++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidateForm(){
	var Phone=document.frmSample.txtPhone
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please Enter your Phone Number")
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }
/////////////////////////////////////sh phone validate///////////////////////


	function textCounter(field,cntfield,maxlimit) {
		if (field.value.length > maxlimit){
			field.value = field.value.substring(0, maxlimit);
		}else {
			cntfield.value = maxlimit - field.value.length;
		}
	}

	function Check_Element(strform,strtype){
		var flag=false;
		for(var i=0; i<strform.elements.length; i++){
			if(strform.elements[i].type==strtype){
				if(strform.elements[i].checked==true){
					flag=true;
				}
			}
		}
		if(flag==true)
			return true;
		else
			return false;
	}

	function Uncheck_Element(strform,strtype){
		for(var i=0; i<strform.elements.length; i++){
			if(strform.elements[i].type==strtype){
				if(strform.elements[i].checked==true){
					strform.elements[i].checked=false;
				}
			}
		}
	}

	function Element_select(strform,strtype){
		for(var i=0; i<strform.elements.length; i++){
			if(strform.elements[i].type==strtype){
				if(strform.elements[i].checked==false){
					strform.elements[i].checked=true;
				}
			}
		}
	}


	function SelDselAll(strstat,strform,strtype){
		if(strstat==true){
			Element_select(strform,strtype);
		}else{
			Uncheck_Element(strform,strtype);
		}
	}

	
	function CheckElementsId(strform,strtype,strid){
		var flag=false;
		for(var i=0; i<strform.elements.length; i++){
			if(strform.elements[i].type==strtype){
				if(strform.elements[i].id==strid){
					if(strform.elements[i].checked==true){
						flag=true;
					}
				}
			}
		}
		if(flag==true)
			return true;
		else
			return false;
	}

	function isNumeric(strform){
		var characters="0123456789-";
		var tmp;
		var lTag;
		lTag = 0;
		temp = (strform.value.length);
		for (var i=0;i<temp;i++){
			tmp=strform.value.substring(i,i+1);
			if (characters.indexOf(tmp)==-1){
				lTag = 1;
			}
		}
		if(lTag == 1)
			return false;
		else
			return true;
	}
	
	function isNumericCheck(strform,chars){
		//var characters="0123456789-";
		var characters=chars;
		var tmp;
		var lTag;
		lTag = 0;
		temp = (strform.value.length);
		//alert(temp);
		for (var i=0;i<temp;i++){
			tmp=strform.value.substring(i,i+1);
			//alert(tmp+' '+strform.value);
			if (characters.indexOf(tmp)==-1){
				
			//if (tmp!=strform.value){	
				lTag = 1;
				//break;
			}
		}
		//alert(lTag);
		if(lTag == 1)
		{
			tmp=strform.value.substring(0,(strform.value.length)-1);
			//alert(tmp);
			strform.value = tmp;
			//return false;
		}
		else
			return true;
	}

	function chkimage(image){
		var val = trim(image);
		strlen = val.length;
		strcnt = val.lastIndexOf("\\");
		newstr = val.substr(strcnt+1,strlen);
		tempval = val.toUpperCase();
		val = tempval.substr(val.lastIndexOf("."),val.length);

		if(((val.length==4)&&((val!='.JPG')  &&  (val!='.GIF') &&  (val!='.PNG') )) || ((val.length==5)&&(val!='.JPEG'))){
			return false;
		}
		else{
			return true;
		}
	}
	
// String Similiraty............	
	
	function StringSimilir(str1,str2,frm){
		if(trim(str1)==""){
			alert('Password Can Not Be Blank');
			frm.txt_password.focus();
			return false;
		}
		if(trim(str2)==""){
			alert('Confirm Password Can Not Be Blank');
			frm.txt_conf_password.focus();
			return false;
		}
		if(str1!=str2){
			alert('Password Mismatch');
			frm.txt_conf_password.focus();
			return false;
		}
		return true;
	}
	
	
// number formatting function
// copyright Stephen Chapman 24th March 2006, 10th February 2007
// permission to use this function is granted provided
// that this copyright notice is retained intact

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) 
{
	var x = Math.round(num * Math.pow(10,dec));if (x >= 0) n1=n2='';var y = (''+Math.abs(x)).split('');var z = y.length - dec; if (z<0) z--; for(var i = z; i < 0; i++) y.unshift('0');y.splice(z, 0, pnt); if(y[0] == pnt) y.unshift('0'); while (z > 3) {z-=3; y.splice(z,0,thou);}var r = curr1+n1+y.join('')+n2+curr2;return r;
}	
	
	
////////////// Calendar code

	function CalCalender(val){
		//alert(arguments[1]);
		var btnId=(arguments[1] ? arguments[1] : val);
		//alert(btnId+"="+findPosY(document.getElementById(btnId)) );
		var posX=findPosX(document.getElementById(btnId));
		var posY=findPosY(document.getElementById(btnId)) - 40;
		
		Calendar.setup({
			inputField     :    val,   // id of the input field
			ifFormat       :    "%d-%b-%Y",       // format of the input field
			daFormat       :    "%d-%m-%Y",       // format of the Display field   button:"start_date"
			showsTime      :    false,
			button         :    (arguments[1] ? arguments[1] : val),
			timeFormat     :    "24",
			align		   :	"Br",
			position	   :	Array(posX,posY), 
			step           :    1
		}); 
		//Calendar.prototype.show();
		//alert(Calendar.is_ie);
		/*if(arguments[2])
			Calendar.showAtElement(arguments[2]);*/
	 
	}
	
	function CalCalenderTime(val){
		
		var posX=findPosX(document.getElementById(val));
		var posY=findPosY(document.getElementById(val));
		
		Calendar.setup({
			inputField     :    val,   // id of the input field
			ifFormat       :    "%H:%M",       // format of the input field
			daFormat       :    "%d-%m-%Y %H-%M",       // format of the Display field   button:"start_date"
			showsTime      :    true,
			button         :    val,
			align		   :	"Br",
			position	   :	Array(posX,posY), 
			timeFormat     :    "24",
			step           :    1
		});
		
	}

/////////////////update cases////////////////
 
/////////////////end update cases////////////////
///////////////find pos//////////////
function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
///////////////end find pos//////////////
  
	function SelectData(strid){
		//var CType="<?php print $sex ?>";
		for (var i=0; i<document.frmuser.cbouser.options.length; i++){
			if (document.frmuser.cbouser.options[i].value==strid){
				document.frmuser.cbouser.value=strid;
				break;
			}
		}
	}

	function Select_Element(strtype,strval){
		for(var i=0; i<document.frmuser.elements.length; i++){
			if(document.frmuser.elements[i].type==strtype){
				if(document.frmuser.elements[i].value==strval){
					document.frmuser.elements[i].checked=true;
				}
			}
		}
	}

	function Select_ElementByID(strtype,strval,strid){
		for(var i=0; i<document.frmdomain.elements.length; i++){
			if(document.frmdomain.elements[i].type==strtype){
				if(document.frmdomain.elements[i].id==strid){
					if(document.frmdomain.elements[i].value==strval){
						document.frmdomain.elements[i].checked=true;
					}
				}
			}
		}
	}

///////////////////////////bookmark ///////////////////////////////
function bookmark(url, description)
{
	netscape="Netscape User's hit CTRL+D to add a bookmark to this site."
	if (navigator.appName=='Microsoft Internet Explorer')
	{
	window.external.AddFavorite(url, description);
	}
	else if (navigator.appName=='Netscape')
	{
	alert(netscape);
	}
}
///////////////////////////bookmark ///////////////////////////////


	//-----------------------------------------------------------------------------
	// timer.js
	//-----------------------------------------------------------------------------
	// Author: Lalitha Ranganathan, 
	// Date:  03/29/2000,
	//-----------------------------------------------------------------------------
	//
	// Description:  This page is used to handle the time-out operation
	//-----------------------------------------------------------------------------
	// This script and many more are available free online at -->
	// The JavaScript Source!! http://javascript.internet.com -->

	// Take user here after session timed out


	//exiturl = "http://localhost/wilsonproperty/index.php";////local
	//exiturl = "http://www.work.randem.com.au/wilsonproperty/index.php";//server randem
	exiturl = "http://www.wilsonproperty.com.au/index.php";//server wilsonproperty.com.au
	var sec = 00,
		min = 60;
	//Down();


	function Minutes(data) {
		for (var i = 0; i < data.length; i++)
			if (data.substring(i, i + 1) == ":")
				break;
		return (data.substring(0, i));
	}

	function Seconds(data) {
		for (var i = 0; i < data.length; i++)
			if (data.substring(i, i + 1) == ":")
				break;
		return (data.substring(i + 1, data.length));
	}

	function Display(min, sec) {
		var disp;
		disp = min;
		if (disp <= 1)
			disp += " minute ";
		else
			disp += " minutes ";
		if (sec <= 9) 
			disp += "0" + sec;
		else 
		disp += sec + " seconds"; 
		return (disp);
	}

	function Down() { 
		//every second this is called and rescheduled.  This is to allow the status bar an update and to auto logout the user....
		sec--;      
		if (sec == -1){ 
			sec = 59; min--;
		}		
		window.status = "Session will expire in " + Display(min, sec);	
		if (min == 0 && sec == 0) {		
			window.location.href = exiturl;		
			//alert("For security reasons you have been logged off.");
		}
		else 
			down = setTimeout( "Down()", 1000);	//rescheduler
	}
	//  End -->


	function pagelink(drop) {
	// var b = drop.options[drop.selectedIndex].value;
	var page;
	page=drop.value;
	//alert(page);
		if (drop.value!=""){
			window.location.href= page;
			//drop.selectedindex = 0;
		}			
	}
	
	function goodchars(e, goods)
	{
		var key, keychar;
		key = getKey(e);
		
		if (key == null) 
			return true;
		// get character
		keychar = String.fromCharCode(key);
		keychar = keychar.toLowerCase();
		goods = goods.toLowerCase();
		// check goodkeys
		if (goods.indexOf(keychar) != -1)
			return true;
		// control keys
		if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
		return true;
		// else return false
		return false;
	}

