
/**
 * Provides suggestions for state names (USA).
 * @class
 * @scope public
 */
function StateSuggestions() {
    this.states = [
		"Agra", "Ahmedabad", "Ahmednagar", "Akola", "Aligarh", "Allahabad", "Amavati", "Amritsar", "Angul", "Aurangabad",
        "Balasore", "Bally, Howrah", "Bangalore", "Barackpore", "Bally, Howrah", "Barnala", "Baroda", "Batala", "Batanagar, Kolkatta", "Belur, Howarh", "Behrampur, Orissa", "Bhavnagar", "Bhopal", "Budgebudge", "Burdwan", 
        "Chakan", "Chakradharpur", "Chandigarh", "Chandanpur", "Chennai", "Cochin", "Cuttack", 
        "Dehra Dun", "Dehu Road", "Dekuajuli", "Delhi", "Deolali", "Dhule", "Dombivali", 
        "Ernakulam", "Erode", "Faridabad", 
        "Ghaziabad", "Goa", "Gurgaon", "Guwahati", "Gwalior", 
        "Hathras", "Hooghly", "Howrah", "Hyderabad", 
        "Indore", 
        "Jaipur", "Jalgaon", "Jallandhur", "Jalna", "Jammu", "Jamnagar", "Jamshedpur", "Jorhat", 
        "Kachrapara", "Kakinada", "Kalamboli", "Kalwa", "Kalyan", "Kamptee", "Kanhan", "Kanpur", "Kharagpur", "Khardah", "Kolhapur", "Kolkatta", "Koradi", 
        "Lonikhand", "Lucknow", "Ludhiana", 
        "Madhyamgram", "Malda", "Mathura", "Meerut", "Moga", "Mohali", "Mumbai", "Mysore", 
        "Nagpur", "Naihati", "Nashik", "Navsari", "Nerul", "New Delhi", "Noida", 
        "Palghar", "Panjim", "Pant Nagar", "Patna", "Ponda", "Pune", 
        "Raipur", "Rajkot", "Ranchi", 
        "Sholapur", "Surat", 
        "Thane", 
        "Udaipur", 
        "Vadodra", "Vapi", "Vithalwadi", "Varanasi", 
        "Zirakpur",
		
		"agra", "ahmedabad", "ahmednagar", "akola", "aligarh", "allahabad", "amavati", "amritsar", "angul", "aurangabad",
        "balasore", "bally, howrah", "bangalore", "barackpore", "bally, howrah", "barnala", "baroda", "batala", "batanagar, kolkatta", "belur, howarh", "behrampur, orissa", "bhavnagar", "bhopal", "budgebudge", "burdwan", 
        "chakan", "chakradharpur", "chandigarh", "chandanpur", "chennai", "cochin", "cuttack", 
        "dehra dun", "dehu road", "dekuajuli", "delhi", "deolali", "dhule", "dombivali", 
        "ernakulam", "erode", "faridabad", 
        "ghaziabad", "goa", "gurgaon", "guwahati", "gwalior", 
        "hathras", "hooghly", "howrah", "hyderabad", 
        "indore", 
        "jaipur", "jalgaon", "jallandhur", "jalna", "jammu", "jamnagar", "jamshedpur", "jorhat", 
        "kachrapara", "kakinada", "kalamboli", "kalwa", "kalyan", "kamptee", "kanhan", "kanpur", "kharagpur", "khardah", "kolhapur", "kolkatta", "koradi", 
        "lonikhand", "lucknow", "ludhiana", 
        "madhyamgram", "malda", "mathura", "meerut", "moga", "mohali", "mumbai", "mysore", 
        "nagpur", "naihati", "nashik", "navsari", "nerul", "new delhi", "noida", 
        "palghar", "panjim", "pant nagar", "patna", "ponda", "pune", 
        "raipur", "rajkot", "ranchi", 
        "sholapur", "surat", 
        "thane", 
        "udaipur", 
        "vadodra", "vapi", "vithalwadi", "varanasi", 
        "zirakpur"

    ];
}

/**
 * Request suggestions for the given autosuggest control. 
 * @scope protected
 * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
 */
StateSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;
    
    if (sTextboxValue.length > 0){
    
        //search for matching states
        for (var i=0; i < this.states.length; i++) { 
            if (this.states[i].indexOf(sTextboxValue) == 0) {
                aSuggestions.push(this.states[i]);
            } 
        }
    }

    //provide suggestions to the control
    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};