// JavaScript Document
var cia_items = new Array();
var sds_items = new Array();
var gss_items = new Array();
var css_items = new Array();

//Text to be displayed when option is available
var cia_text = "CIA (Christie Intruder Alarms Ltd)"; 
var sds_text = "SDS (State Digital Security)";
var gss_text = "Gardner Security Ltd";
var css_text = "Capital Security Systems";

var postcode = {

	init: function(){
		$('postcode').addEvent('keyup', this.keyevent);
		
		var file = new Request.JSON({url:'postcode.php?action=codes', 
									onComplete: function(postcodes) {
										postcode.makearray(postcodes.postcodes);
									}}).get()
	},
		 
	makearray: function(pcode){
		var cia_count = 0;
		var sds_count = 0;
		var gss_count = 0;
		var css_count = 0;
		pcode.each(function(code, index){
			if(code){
				switch (code.company){
					case "cia":
					cia_items[cia_count] = code;
					cia_count++;
					break;
					
					case "sds":
					sds_items[sds_count] = code;
					sds_count++;
					break;
					
					case "gss":
					gss_items[gss_count] = code;
					gss_count++;
					break;
					
					case "css":
					css_items[css_count] = code;
					css_count++;
					break;
				}
			}
   		});
	},
	
	keyevent:function(event){
			var flags = new Array();
			var text = $('postcode').value;
			if (text.length > 4){
					//shorten postcode to 4 chars
					var postcode1 = text.substring(0, text.length-3);
					postcode1 = postcode1.trim();
					cia_items.each(function(itom, index){
						if(itom.postcode.toLowerCase() == postcode1.toLowerCase()){
							
							flags[0] = itom.email;
						}
					});
					sds_items.each(function(itom, index){
						if(itom.postcode.toLowerCase() == postcode1.toLowerCase()){
							flags[1] = itom.email;
						}
					});
					gss_items.each(function(itom, index){
						if(itom.postcode.toLowerCase() == postcode1.toLowerCase()){
							flags[2] = itom.email;
						}
					});
					css_items.each(function(itom, index){
						if(itom.postcode.toLowerCase() == postcode1.toLowerCase()){
							flags[3] = itom.email;
						}
					});
			}
			postcode.keyeventdo(flags);
	},
	
	keyeventdo: function(flags){
	var flaglen = 0;
	flags.each(function(item, index){
						  if(item){
						  		   flaglen++;
						  }
	});
		if (flaglen >= 2){
			var location = $('area');
			$('area').empty();
			var message = new Element('div', {html:'Looks as though we have more than one company that services your area<br />Please choose your prefered company'}).inject(location);
	
			if (flags[0]){
				var ciaP = new Element('p',{html:cia_text});
				var ciacheck = new Element('input', {type:'radio', 'id':'ciaRadio', 'name':'company', events:{click:function(){
					$('companyEmail').value = flags[0];
				}}}).inject(ciaP, 'top');
				ciaP.inject(location);
			}
			
			if (flags[1]){
				var sdsP = new Element('p',{html:sds_text});
				var ciacheck = new Element('input', {type:'radio', 'id':'sdsRadio', 'name':'company', events:{click:function(){
					$('companyEmail').value = flags[1];
				}}}).inject(sdsP, 'top');
				sdsP.inject(location);
			}
			
			if (flags[2]){
				var gssP = new Element('p',{html:gss_text});
				var ciacheck = new Element('input', {type:'radio', 'id':'gssRadio', 'name':'company', events:{click:function(){
					$('companyEmail').value = flags[2];
				}}}).inject(gssP, 'top');
				gssP.inject(location);
			}
			
			if (flags[3]){
				var cssP = new Element('p',{html:css_text});
				var ciacheck = new Element('input', {type:'radio', 'id':'cssRadio', 'name':'company', events:{click:function(){
					$('companyEmail').value = flags[3];
				}}}).inject(cssP, 'top');
				cssP.inject(location);
			}
			//replaceRadios()
		} else if(flags.length == 0){
			$('area').empty();
			$('companyEmail').value = "";
		} else {
			$('area').empty();	
			if(flags[0]){
				$('companyEmail').value = flags[0];
			}
			if(flags[1]){
				$('companyEmail').value = flags[1];
			}
			if(flags[2]){
				$('companyEmail').value = flags[2];
			}
			if(flags[3]){
				$('companyEmail').value = flags[3];
			}
		}	
	}
}
window.addEvent('domready', function(){
									   postcode.init();
});