// JavaScript Document
var loc_count = 1;
var loc_val = 7;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function updateInternalID(){
	var first     = '1';
	var location  = document.getElementById("LOC_ID").value;
	var type      = document.getElementById("TYPE_ID").value;
	var system_id = document.getElementById("ID").value;
	
	newContent = first+'.'+location+'.'+type+'.'+system_id;
	
	document.getElementById("awmc_id").innerHTML = newContent;
	document.getElementById("INTERNAL_ID").value = newContent;
	
	new Effect.Pulsate('awmc_id', {duration: 0.75});
}

function popAddLoc(popDiv, nextTo, offSetLeft, offSetTop){
	/* Get location of button that is being clicked */
	var addButton = Position.page(nextTo);
	var addButtonLeft = addButton[0];
	var addButtonTop  = addButton[1];
	
	/* Add offsets */
	
	divLeft = addButtonLeft+offSetLeft;
	divTop  = addButtonTop+offSetTop;
	
	/* Set div element to position */
	Element.setStyle(popDiv, {left:divLeft+'px', top:divTop+'px'});
	new Effect.Appear(popDiv, {duration:0.75});
	
}

function addLoc(loc, desc){
	var location = $(loc).value;
	var description = $(desc).value;
	
	var opt = {
		// Use POST
		method: 'post',
		
		// Send this lovely data
		postBody: 'ACTION=AJAX_Add_Location&location='+location+'&description='+description,
		
		// Evaluate returned <script> tags
		evalScripts: true,
		
		// Handle successful response
		onSuccess: function(t) {
			if(t.responseText=='ERROR_EMPTY'){
				alert('Fields cannot be empty.');	
			}
			else{
				insertLocations(t.responseText, description);	
				updateInternalID();
			}
		},
		
		// Handle 404
		on404: function(t) {
			alert('Error 404: location "' + t.statusText + '" was not found.');
		},
		
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}
	}
	
	new Ajax.Request('/admin/_PROCESSOR.php', opt);

}

function insertLocations(db_id, description){
	var new_id   = db_id;
	var new_desc = description;
	var selectedItem = $('LOC_ID').options.length; // Initially too high, but after adding new option will refer to that option.
	
	// These lines have issues in IE
	// new_loc = Builder.node('option', {value: new_id}, description);
	// $('LOC_ID').appendChild(new_loc);
	// $('LOC_ID').options[selectedItem].selected = true;
	
	document.docManage.LOC_ID[selectedItem] = new Option(new_desc, new_id, false, true);

	new Effect.Highlight('LOC_ID', {startcolor:'#ffff99', endcolor:'#ffffff'})
	
	$('add_loc_location').value = '';
	$('add_loc_description').value = '';
	
	new Effect.Fade('add_loc_div');
	
}