
/**
 * Provides suggestions for state names (USA).
 * @class
 * @scope public
 */
function StateSuggestions() {
   // var autoCompString;
  //      this.states = autoCompString.split('|');
    
    this.states = [];
}

// Get browser type
var IE = 1;
var NS = 2;
function BrowserType()
{
	if (navigator.appName.toLowerCase().indexOf("microsoft") >= 0) {
		return IE;
	} else if (navigator.appName.toLowerCase().indexOf("netscape") >= 0) {
		return NS;
	}
}

// Create XML Http object
function CreateXMLHttp()
{
	var xmlHttp = null;
	if (BrowserType() == IE) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (BrowserType() == NS) {
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}


function ReturnArray(fld)
{

   
    var stringResult;
    var url = '../../webservices/autocomplete.aspx?action=';

    var Prov_ID = document.getElementById('ctl00_ContentPlaceHolder_Main_Prov_ID')
    var munic = document.getElementById('ctl00_ContentPlaceHolder_Main_txtMunicipality')
    var deedtown = document.getElementById('ctl00_ContentPlaceHolder_Main_txtDeedTown')
    var suburb = document.getElementById('ctl00_ContentPlaceHolder_Main_txtSuburb')
    
    switch(fld.id)
    {
        case 'ctl00_ContentPlaceHolder_Main_txtDeedTown':
           url = url + 'Deedtown&Deedtown=' + fld.value + '&Municipality=' + munic.value;
           break;
         case 'ctl00_ContentPlaceHolder_Main_txtMunicipality':
           url = url + 'Municipality&Prov_id=' + Prov_ID.value + '&Municipality=' + fld.value;
           break;
         case 'ctl00_ContentPlaceHolder_Main_txtEstate':
           url = url + 'Estate&Estate=' + fld.value;
           break;
       case 'ctl00_ContentPlaceHolder_Main_txtSectionalTitle':
           var ss = fld.value;
           if (ss.substring(0, 2).toLowerCase() != 'ss') {
               fld.value = 'SS ' + fld.value;
               
           }
           url = url + 'SS_NR&Municipality=' + munic.value + '&Deedtown=' + deedtown.value + '&SS=' + fld.value;
           break;
         case 'ctl00_ContentPlaceHolder_Main_txtSuburb':
           url = url + 'Suburb&Prov_id=' + Prov_ID.value + '&Municipality=' + munic.value + '&Suburb=' + fld.value;
           break;
           case 'ctl00_ContentPlaceHolder_Main_txtStreet':
           url = url + 'Street&Suburb=' + suburb.value + '&Street=' + fld.value;
           break;
    }
    
    url = url + '&dt=' +  new Date();
   
    
    
    var xmlHttp = CreateXMLHttp();

	xmlHttp.open("GET", url , false);
	xmlHttp.send(null);
	stringResult = xmlHttp.responseText;
	 
//alert(url);

	var arrResult;
	
	//alert(stringResult);
	
	//stringResult = 'aaaa|aaab|aaac|aaa' + new Date();
    arrResult = stringResult.split('|');

    return arrResult;
}


StateSuggestions.prototype.requestSuggestions = function(oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value.toLowerCase();

    if (sTextboxValue.length > 2) {
        this.states = ReturnArray(oAutoSuggestControl.textbox);
        //search for matching states
        for (var i = 0; i < this.states.length; i++) {

            if (this.states[i].toLowerCase().indexOf(sTextboxValue) == 0) {
                aSuggestions.push(this.states[i]);
            }
        }
    }

    bTypeAhead = false;
    //provide suggestions to the control
    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};


function handleBlur(id) {
    if (id == 'ctl00_ContentPlaceHolder_Main_txtSectionalTitle') {
        var SS = document.getElementById('ctl00_ContentPlaceHolder_Main_txtSectionalTitle');
        var deedtown = document.getElementById('ctl00_ContentPlaceHolder_Main_txtDeedTown')
        var t = String(SS.value);
        if (t.indexOf('[') != -1) {
            var arr = SS.value.split('[');

            SS.value = arr[0].trim();
            deedtown.value = arr[3].replace(']', '').trim();
            
        }

        
    }

  


}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
}