
var paxcroft = {
	
	editunit : function(id) {
		
		var data = 'id=' + id; 	
		data += '&rand=' + Math.round((Math.random() * 10000));
		
		$.ajax({
			url: "/ajax/fetchunit.php",
			data : data,
			success: function(data, success){
				
				if (success == 'success') {
					
					var data = $.parseJSON(data);
					
					data.desc = data.desc.replace('[POUND]', '£');
					
					$('#unit_id').val(data.id);
					$('#unit_unit').val(data.name);
					$('#unit_desc').val(data.desc);
					
					$('#unit_edit').show('slow');
					
				} else {
					
					alert("Sorry, chicken shit in the databse.\n\n Please try again.\n\n");
					
				}
			}
		
		});

	
	},
	
	addunit : function() {
		
		$('#unit_id').val('new');
		$('#unit_unit').val('');
		$('#unit_desc').val('');
		
		$('#unit_edit').show('slow');
		
	},
	
	saveunit : function() {
		
		var id 		= $('#unit_id').val();
		var unit 	= $('#unit_unit').val();
		var desc 	= $('#unit_desc').val();
		
		if (unit.length == 0) {
			
			alert('Please enter the unit');
		
		} else if (desc.length == 0) {
			
			alert('Please enter the description');
		
		} else {	
		
			desc = desc.replace('£', '[POUND]');
			
			var data = '';
			data += 'id=' + id;
			data += '&unit=' + unit;
			data += '&desc=' + desc;
			
			$.ajax({
				type: "POST",
			   	url: '/ajax/editunit.php',
			   	data: data,
			   	success: function(data, status){
					
					if (status == 'success') {
						
						if (data == 'done') {
							
							location.href = 'admin.php?tab=2';
							
						} else {
							
							alert("Something went tits up.\n\n" + data);
							
						}
						
					} else {
					
						alert(data);
						
					}
				
				}
			
			});
		}
	},
	
	toggleunit : function(id, available) {
		
		
		var data = 'id=' + id; 	
		data += '&available=' + available;
		data += '&rand=' + Math.round((Math.random() * 10000));
		
		if (available == 0) {
			var conf = 'Do you want to set this unit to available and display on the website?';
		} else {
			var conf = 'Do you want to set this unit to unavailable and remove from the website?';
		}
		
		if (confirm(conf)) {
		
			$.ajax({
				url: "/ajax/toggleunit.php",
				data : data,
				success: function(data, success){
					
					if (success == 'success') {
						
						if (data == 'done') {
							
							alert("Done\n\nPLEASE NOTE: You must close your browser, then re-open to see changes to the website.\n\n");
							
							location.href = 'admin.php?tab=2';
							
						} else {
							alert("Oops, chicken shit in the databse.\n\n Please try again.\n\n");
						}		
						
					} else {
						
						alert("Sorry, chicken shit in the databse.\n\n Please try again.\n\n");
						
					}
				}
			
			});
		
		}
		
	},
	
	save : function(farm) {
			
		var id 			= $('#' + farm + '_id').val();
		var tenant 		= $('#' + farm + '_tenant').val();
		var unit 		= $('#' + farm + '_unit').val();
		var business 	= $('#' + farm + '_business').val();
		var contact 	= $('#' + farm + '_contact').val();
		var telephone	= $('#' + farm + '_telephone').val();
		var website 	= $('#' + farm + '_website').val();
		
		if (tenant.length == 0) {
			
			alert('Tenant name is missing...');
			
		} else {
		
			var data = '';
			data += 'id=' + id;
			data += '&farm=' + farm;
			data += '&tenant=' + tenant;
			data += '&unit=' + unit;
			data += '&business=' + business;
			data += '&contact=' + contact;
			data += '&telephone=' + telephone;
			data += '&website=' + website;
			
			if (farm == 'paxcroft') {
				tab = 0;
			} else {
				tab = 1;
			}
			
			$.ajax({
				type: "POST",
			   	url: '/ajax/edit.php',
			   	data: data,
			   	success: function(data, status){
					
					if (status == 'success') {
						
						if (data == 'done') {
							
							location.href = 'admin.php?tab=' + tab;
							
						} else {
							
							alert("Something went tits up.\n\n" + data);
							
						}
						
					} else {
					
						alert(data);
						
					}
				
				}
			
			});
		}	
	},
	
	add: function(farm, id) {
		
		$('#' + farm + '_id').val('new');
		$('#' + farm + '_tenant').val('');
		$('#' + farm + '_unit').val('');
		$('#' + farm + '_business').val('');
		$('#' + farm + '_contact').val('');
		$('#' + farm + '_telephone').val('');
		$('#' + farm + '_website').val('');
		
		$('#' + farm + '_edit').show('slow');
		
	},
	
	editdir: function(farm, id) {
	
		var data = 'id=' + id; 	
		data += '&rand=' + Math.round((Math.random() * 10000));
		
		$.ajax({
			url: "/ajax/fetch.php",
			data : data,
			success: function(data, success){
				
				if (success == 'success') {
					
					var data = $.parseJSON(data);
					
					$('#' + farm + '_id').val(data.id);
					$('#' + farm + '_tenant').val(data.tenant);
					$('#' + farm + '_unit').val(data.unit);
					$('#' + farm + '_business').val(data.business);
					$('#' + farm + '_contact').val(data.contact);
					$('#' + farm + '_telephone').val(data.telephone);
					$('#' + farm + '_website').val(data.website);
					
					$('#' + farm + '_edit').show('slow');
					
				} else {
					
					alert("Sorry, chicken shit in the databse.\n\n Please try again.\n\n");
					
				}
			}
		
		});
	
	},
		
	removeunit: function(id) {
	
		var check = confirm('Sure?');
		
		if (check) {
			
			var data = 'id=' + id; 	
			
			$.ajax({
				url: "/ajax/remove.php",
				data : data,
				success: function(data, success){
					
					if (success == 'success') {
						
						if (data == 'done') {
							$('#available_' + id).hide('slow');
						} else {
							alert("Some kind of fuck up occurred.\n\nPlease try again...\n\n\n");
						}
						
					}	
				}
			
			});
			
		}
	},
	
	removedir: function(farm, id) {
		
		var check = confirm('Sure?');
		
		if (check) {
			
			var data = 'id=' + id; 	
			
			$.ajax({
				url: "/ajax/removedir.php",
				data : data,
				success: function(data, success){
					
					if (success == 'success') {
						
						if (data == 'done') {
							$('#'+farm+'_' + id).hide('slow');
						} else {
							alert("Some kind of cockup occurred.\n\nPlease try again...\n\n\n");
						}
						
					}	
				}
			
			});
			
		}
	}
		
}

var tools = {
		
	html_entity_decode : function (string, quote_style) {
	    
		var hash_map = {},
	        symbol = '',
	        tmp_str = '',
	        entity = '';
	    tmp_str = string.toString();

	    if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
	        return false;
	    }

	    // fix &amp; problem
	    // http://phpjs.org/functions/get_html_translation_table:416#comment_97660
	    delete(hash_map['&']);
	    hash_map['&'] = '&amp;';

	    for (symbol in hash_map) {
	        entity = hash_map[symbol];
	        tmp_str = tmp_str.split(entity).join(symbol);
	    }
	    tmp_str = tmp_str.split('&#039;').join("'");

	    return tmp_str;
	},
	
	get_html_translation_table : function (table, quote_style) {

		var entities = {},
	        hash_map = {},
	        decimal = 0,
	        symbol = '';
	    var constMappingTable = {},
	        constMappingQuoteStyle = {};
	    var useTable = {},
	        useQuoteStyle = {};

	    // Translate arguments
	    constMappingTable[0] = 'HTML_SPECIALCHARS';
	    constMappingTable[1] = 'HTML_ENTITIES';
	    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
	    constMappingQuoteStyle[2] = 'ENT_COMPAT';
	    constMappingQuoteStyle[3] = 'ENT_QUOTES';

	    useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
	    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';

	    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
	        throw new Error("Table: " + useTable + ' not supported');
	        // return false;
	    }

	    entities['38'] = '&amp;';
	    if (useTable === 'HTML_ENTITIES') {
	        entities['160'] = '&nbsp;';
	        entities['161'] = '&iexcl;';
	        entities['162'] = '&cent;';
	        entities['163'] = '&pound;';
	        entities['164'] = '&curren;';
	        entities['165'] = '&yen;';
	        entities['166'] = '&brvbar;';
	        entities['167'] = '&sect;';
	        entities['168'] = '&uml;';
	        entities['169'] = '&copy;';
	        entities['170'] = '&ordf;';
	        entities['171'] = '&laquo;';
	        entities['172'] = '&not;';
	        entities['173'] = '&shy;';
	        entities['174'] = '&reg;';
	        entities['175'] = '&macr;';
	        entities['176'] = '&deg;';
	        entities['177'] = '&plusmn;';
	        entities['178'] = '&sup2;';
	        entities['179'] = '&sup3;';
	        entities['180'] = '&acute;';
	        entities['181'] = '&micro;';
	        entities['182'] = '&para;';
	        entities['183'] = '&middot;';
	        entities['184'] = '&cedil;';
	        entities['185'] = '&sup1;';
	        entities['186'] = '&ordm;';
	        entities['187'] = '&raquo;';
	        entities['188'] = '&frac14;';
	        entities['189'] = '&frac12;';
	        entities['190'] = '&frac34;';
	        entities['191'] = '&iquest;';
	        entities['192'] = '&Agrave;';
	        entities['193'] = '&Aacute;';
	        entities['194'] = '&Acirc;';
	        entities['195'] = '&Atilde;';
	        entities['196'] = '&Auml;';
	        entities['197'] = '&Aring;';
	        entities['198'] = '&AElig;';
	        entities['199'] = '&Ccedil;';
	        entities['200'] = '&Egrave;';
	        entities['201'] = '&Eacute;';
	        entities['202'] = '&Ecirc;';
	        entities['203'] = '&Euml;';
	        entities['204'] = '&Igrave;';
	        entities['205'] = '&Iacute;';
	        entities['206'] = '&Icirc;';
	        entities['207'] = '&Iuml;';
	        entities['208'] = '&ETH;';
	        entities['209'] = '&Ntilde;';
	        entities['210'] = '&Ograve;';
	        entities['211'] = '&Oacute;';
	        entities['212'] = '&Ocirc;';
	        entities['213'] = '&Otilde;';
	        entities['214'] = '&Ouml;';
	        entities['215'] = '&times;';
	        entities['216'] = '&Oslash;';
	        entities['217'] = '&Ugrave;';
	        entities['218'] = '&Uacute;';
	        entities['219'] = '&Ucirc;';
	        entities['220'] = '&Uuml;';
	        entities['221'] = '&Yacute;';
	        entities['222'] = '&THORN;';
	        entities['223'] = '&szlig;';
	        entities['224'] = '&agrave;';
	        entities['225'] = '&aacute;';
	        entities['226'] = '&acirc;';
	        entities['227'] = '&atilde;';
	        entities['228'] = '&auml;';
	        entities['229'] = '&aring;';
	        entities['230'] = '&aelig;';
	        entities['231'] = '&ccedil;';
	        entities['232'] = '&egrave;';
	        entities['233'] = '&eacute;';
	        entities['234'] = '&ecirc;';
	        entities['235'] = '&euml;';
	        entities['236'] = '&igrave;';
	        entities['237'] = '&iacute;';
	        entities['238'] = '&icirc;';
	        entities['239'] = '&iuml;';
	        entities['240'] = '&eth;';
	        entities['241'] = '&ntilde;';
	        entities['242'] = '&ograve;';
	        entities['243'] = '&oacute;';
	        entities['244'] = '&ocirc;';
	        entities['245'] = '&otilde;';
	        entities['246'] = '&ouml;';
	        entities['247'] = '&divide;';
	        entities['248'] = '&oslash;';
	        entities['249'] = '&ugrave;';
	        entities['250'] = '&uacute;';
	        entities['251'] = '&ucirc;';
	        entities['252'] = '&uuml;';
	        entities['253'] = '&yacute;';
	        entities['254'] = '&thorn;';
	        entities['255'] = '&yuml;';
	    }

	    if (useQuoteStyle !== 'ENT_NOQUOTES') {
	        entities['34'] = '&quot;';
	    }
	    if (useQuoteStyle === 'ENT_QUOTES') {
	        entities['39'] = '&#39;';
	    }
	    entities['60'] = '&lt;';
	    entities['62'] = '&gt;';


	    // ascii decimals to real symbols
	    for (decimal in entities) {
	        symbol = String.fromCharCode(decimal);
	        hash_map[symbol] = entities[decimal];
	    }

	    return hash_map;
	}
		
}

