function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
 
function MM_vdateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_vdateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('Please insert a number \n'); 
  document.MM_returnValue = (errors == '');
 //window.location = 'viewprop'+IntPNum+'.cp'//
}

function gosub()
{
 
var mval=document.quicks.IntPNum.value;
 var  mact ="viewproperty"+mval+".cp";
 document.quicks.action = mact;
 document.quicks.submit;
} 


    function submitform()
        {
document.getElementById('form1').submit();
//        alert('FOR SALE'+document.getElementById('opsearchtype').value));
        }
    function submitform2()
        {
        document.getElementById('form1').submit();
//        alert('2 LET'+document.getElementById('opsearchtype').value));
        }
    
    function UpdateCityTextSearch()
    {
        //Updates search for city/suburb on text box search
        //alert('Search City: '+document.getElementById('idcity2').value);
        if (document.getElementById('txtCountry').value == '' || document.getElementById('txtProvince').value == '' )
            {
            alert('No Country and or Province selected!');
            return;
            }
        var ToolTip = new wwToolTip('idsuburb');
        ToolTip.show("Updating...",0);
        //UpdateMapCity();
        document.getElementById('idsuburb').disabled = 'Disabled'
        var myList = document.getElementById('txtCity');
        var numItems = myList.options.length;
        var selecteditems = document.getElementById('idcity2').value;
//      Use this when using multiple city selection
//        var selecteditems = '';
//        var i=0;
//        for( i= 0; i < numItems; i++ )
//        {
//            if (myList.options(i).selected)
//            {
//                selecteditems = selecteditems + "'"+myList.options(i).value + "',";
//            }
//        }
        
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = selecteditems;  //document.getElementById('txtCity').value;
        
        var Callback = new wwCallbackMethod();
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('getMAPSuburbText',[para1,para2,para3],getSuburb_Callback,OnError);
        UpdateType(para1,para2,para3);
    }
    function UpdateMap()
        {
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = document.getElementById('txtmap').src;
        
        var para4 = '420'
        var para5 = '320'
        var CallbackMap = new wwCallbackMethod();
        CallbackMap.serverUrl = 'JsonCallbacks.qck';
        CallbackMap.PostBackMode = 'Post'
        CallbackMap.callMethod('getProvinceMap',[para1,para2,para3,para4,para5],UpdateMap_Callback,OnError);
        }
    
    function UpdateMap_Callback(Result)
        {
        if (Result == null) 
        { alert("Invalid Server Response"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message); return; }
        
        document.getElementById('txtmap').src = Result;
        document.getElementById('txtmap').alt = document.getElementById('idprovince').value;

        }

    function UpdateMapCity()
        {
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = document.getElementById('txtmap').src;
        var para4 = '420'
        var para5 = '320'
        var para6 = document.getElementById('txtCity').value;
        var CallbackMap = new wwCallbackMethod();
        CallbackMap.serverUrl = 'JsonCallbacks.qck';
        CallbackMap.PostBackMode = 'Post'
        CallbackMap.callMethod('getCityMap',[para1,para2,para3,para4,para5,para6],UpdateMapCity_Callback,OnError);
        }
    
    function UpdateMapCity_Callback(Result)
        {
        if (Result == null) 
        { alert("Invalid Server Response"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message); return; }
        
        document.getElementById('txtmap').src = Result;
        document.getElementById('txtmap').alt = document.getElementById('idcity').value;

        }

    function UpdateType(lcpara1,lcpara2,lcpara3)
        {
        document.getElementById('idtype').disabled = 'Disabled' 
        var ToolTip2 = new wwToolTip('idtype');
        ToolTip2.show("Updating...",0);
        var Callback = new wwCallbackMethod();
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('PropertyTypeList',[lcpara1,lcpara2,lcpara3],PropertyTypeList_Callback,OnError);
        }

    function UpdateTypeSub()
        {
        var ToolTip2 = new wwToolTip('idtype');
        var par1 = document.getElementById('txtSuburb').value 
        ToolTip2.show("Updating...",0);
        document.getElementById('idtype').disabled = 'Disabled'
//      Use this when single suburb selection
//        var Callback = new wwCallbackMethod();
//      Use this when using multiple city selection
        var myList = document.getElementById('txtSuburb');
        var numItems = myList.options.length;
        var selecteditems = '';
        var i=0;
        for( i= 0; i < numItems; i++ )
        {
            if (myList.options(i).selected)
            {
                selecteditems = selecteditems + "'"+myList.options(i).value + "',";
            }
        }
        var Callback = new wwCallbackMethod();
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = 'x';
        
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('PropertyTypeList',[para1,para2,para3,selecteditems],PropertyTypeList_Callback,OnError);
        }
    
    function PropertyTypeList_Callback(Result)
    {
        var ToolTip2 = new wwToolTip('idtype');
        ToolTip2.hide();
        if (Result == null) 
        { alert("Invalid Server Response - types"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message)+ ' - types'; return; }
        
        var DataTable = Result;  
        var List = new wwList("txtType");
        var SelectedValue = document.getElementById('txtType').value 
        List.clear();
        List.dataValueField = "htm";
        List.dataTextField = "disp";
        List.setData(DataTable);
        document.getElementById('txtType').value = SelectedValue;
        document.getElementById('idtype').disabled = '' 
    }       

    function UpdateProvince()
        {
        var pstr = "";
        pstr = document.getElementById('idcountry').value;
        
        pstr = pstr.replace(/\s/,'_')+'.jpg';
        
        document.getElementById('txtmap').src = 'http://www.cyberprop.com/maps/'+ pstr;
        document.getElementById('txtmap').alt = document.getElementById('idcountry').value;
//        document.getElementById('txtmap').width = 0;
//        document.getElementById('txtmap').height = 0;
        var ToolTip = new wwToolTip('idprovince');
        ToolTip.show("Updating...",0);
        var List2 = new wwList("txtCity");
        document.getElementById('idprovince').disabled = 'Disabled';
        document.getElementById('idcity').disabled = 'Disabled';
        document.getElementById('idsuburb').disabled = 'Disabled';
        document.getElementById('idcity2').value = '';
        List2.clear();
        List2.addItem('Select Province/State First...','')

        var List3 = new wwList("txtSuburb");
        List3.clear();
        List3.addItem('Select City First...','')

        var para1 = document.getElementById('txtCountry').value;
        var para2 = '<%= podefault.bid %>';
        var para3 = 'Data';
        var Callback = new wwCallbackMethod();
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('getMapProvince',[2,para1,para2,para3],getProvince_Callback,OnError);
        UpdateType(para1,para2,para3);
    }
    
    function getProvince_Callback(Result)
    {
        var ToolTip = new wwToolTip('idprovince');
        ToolTip.hide();
        if (Result == null) 
        { alert("Invalid Server Response"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message); return; }
        
        var DataTable = Result;  
        var List = new wwList("txtProvince");
        var SelectedValue = document.getElementById('txtProvince').value ;
        document.getElementById('idprovince').disabled = '';
        //alert(SelectedValue)
        List.clear();
//        var List2 = new wwList("txtCity");
//        List2.clear();
//        List2.addItem('Select Province/State first','')
        List.dataValueField = "province";
        List.dataTextField = "disp";
        List.setData(DataTable);
        document.getElementById('txtProvince').value = SelectedValue;
        
    }       
    function UpdateCity()
    {

        if (document.getElementById('txtCountry').value == '' || document.getElementById('txtProvince').value == '')
            {
            alert('No Country and or Province');
            return;
            }

       var ToolTip = new wwToolTip('idcity');
       ToolTip.show("Updating...",0);
        document.getElementById('idcity2').value = ''
//        UpdateMap();
        
        var List3 = new wwList("txtSuburb");
        List3.clear();
        List3.addItem('Select City First...','')
        document.getElementById('idcity').disabled = 'Disabled'
        document.getElementById('idsuburb').disabled = 'Disabled'
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = 'Data';
        var Callback = new wwCallbackMethod();
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('getMAPCity',[3,para1,para2,para3],getCity_Callback,OnError);
        UpdateType(para1,para2,para3);
        //UpdateMap();

    }
    function getCity_Callback(Result)
    {
       var ToolTip = new wwToolTip('idcity');
       ToolTip.hide();
        if (Result == null) 
        { alert("Invalid Server Response"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message); return; }
        
        var DataTable = Result;  
        var List = new wwList("txtCity");
        var SelectedValue = document.getElementById('txtCity').value 
        //alert(SelectedValue)
        List.clear();
    
        List.dataValueField = "city";
        List.dataTextField = "disp";
        List.setData(DataTable);
        document.getElementById('txtCity').value = SelectedValue;
        document.getElementById('idcity').disabled = ''
        document.getElementById('idcity2').value = '';

    }         
    function UpdateSuburb()
    {
        
        if (document.getElementById('txtCountry').value == '' || document.getElementById('txtProvince').value == '' || document.getElementById('txtCountry').value == '')
            {
            alert('No Country, Province and or City!');
            return;
            }

        var ToolTip = new wwToolTip('idsuburb');
        ToolTip.show("Updating...",0);
 //       UpdateMapCity();
        document.getElementById('idsuburb').disabled = 'Disabled'
        document.getElementById('idcity2').value = '';
        var myList = document.getElementById('txtCity');
        var numItems = myList.options.length;
        var selecteditems = document.getElementById('txtCity').value;
//      Use this when using multiple city selection
//        var selecteditems = '';
//        var i=0;
//        for( i= 0; i < numItems; i++ )
//        {
//            if (myList.options(i).selected)
//            {
//                selecteditems = selecteditems + "'"+myList.options(i).value + "',";
//            }
//        }
        
        var para1 = document.getElementById('txtCountry').value;
        var para2 = document.getElementById('txtProvince').value;
        var para3 = selecteditems;  //document.getElementById('txtCity').value;
        
        var Callback = new wwCallbackMethod();
        Callback.serverUrl = 'JsonCallbacks.qck';
        Callback.callMethod('getMAPSuburb',[para1,para2,para3],getSuburb_Callback,OnError);
        UpdateType(para1,para2,para3);
    }
    function getSuburb_Callback(Result)
    {
       var ToolTip = new wwToolTip('idsuburb');
       ToolTip.hide();
        if (Result == null) 
        { alert("Invalid Server Response"); return; }
        if (Result.IsCallbackError)
        { alert(Result.Message); return; }
        
        var DataTable = Result;  
        var List = new wwList("txtSuburb");
        var SelectedValue = document.getElementById('txtSuburb').value 
        //alert(SelectedValue)
        List.clear();
    
        List.dataValueField = "suburb";
        List.dataTextField = "disp";
        List.setData(DataTable);
        document.getElementById('txtSuburb').value = SelectedValue;
        document.getElementById('idsuburb').disabled = ''
        
    }        

    function OnError(Error)
        {
             alert("An error occurred on the server:\r\n\r\n" + Error.message);
        }
