
var eventArray = new Array() ;
var editArray = new Array() ;

function registerEvents ( id, events ) {
   eventArray[id] = events ;
}

function registerEdit ( id ) {
   editArray[id] = true ;
}

function runEvents() {
   for ( keyVar in eventArray ) {
      // alert ( eventArray[keyVar] ) ;
      eval ( eventArray[keyVar] ) ;
   }
}

function disp ( name, what ) {
   var s = new getObj ( name ) ;
   s.style.display = what ;
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
  	lut = document.getElementById(name) ;
  	if ( lut ) this.style = lut.style;
  	else this.style = null ;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function poping ( inp, outp ) {
	var inElement = new getObj(inp);
	var outElement = new getObj(outp);
	inElement.style.display = '' ;
	outElement.style.display = 'none' ;
}

function toggleDisplay(targetField,buttonTarget) {
	var formElement = new getObj(targetField);
	var buttonElement = new getObj(buttonTarget)
	if (formElement.style.display == 'none') {
		formElement.style.display = '';
		buttonElement.obj.value = 'Hide';
	} else {
		formElement.style.display = 'none';
		buttonElement.obj.value = 'Show';
	}
}

function trimString(inputString) {
  inputString = inputString.replace( /^\s+/g, "" );
  return inputString.replace( /\s+$/g, "" );
}

function toggleActivity(ctrlField,targetField) {
	var ctrlElement = new getObj(ctrlField);
	var formElement = new getObj(targetField);
	var ctrl = ctrlElement.obj.value;
	ctrl = trimString(ctrl);
	if (ctrl.length > 0) {
		formElement.style.background = '#3399CC';
	} else {
		formElement.style.background = '#FFFFFF';
	}
}

function typeDependencies(visible,targetField) {
	var formElement = new getObj(targetField);
	if ( formElement ) {
	  if ( formElement.style ) {
	  	  if (visible) {
			  formElement.style.display = '';
		  } else {
			  formElement.style.display = 'none';
		  }
	   } else {
         alert ( targetField + "[" + visible + "]" ) ;
	   }
	}
}

function restrictionDependencies(visible,ctrlField,matchValue,targetField) {
	var ctrlElement = new getObj(ctrlField);
	var formElement = new getObj(targetField);
	if (ctrlElement.obj.value == matchValue) {
		if (visible) {
			formElement.style.display = '';
		} else {
			formElement.style.display = 'none';
		}
	}
}


function myOnSubmitEventHandler() {
   for ( id in editArray ) {

   		var editor = id + '_editor' ;
   		
		try {
			if(typeof(document.getElementById(editor).EscapeUnicode) == 'undefined') {
				throw "Error"
			} else {
				document.getElementById(editor).EscapeUnicode = true;
				document.getElementById(id).value = document.getElementById(editor).value;
			}			
		}
		catch(er) {
			document.getElementById(id).value = document.getElementById(id+'_alt').value;
			//alert ( 'alternative' ) ;
		}
		
		//alert ( editor + " // " + document.getElementById(id).value ) ;
   }
}


function populate ( from_this, to_this ) {

	// alert ( from_this + " -> " + to_this ) ;
	
   var frt = new getObj ( from_this ) ;
   var tot = new getObj ( to_this ) ;
   
	// alert ( frt.obj.value + " -> " + tot.obj.value ) ;
   
   tot.obj.value = frt.obj.value ;
   
} 

function toggle_fetchable_on () {
	$('.hiddenfield').css('display','block') ;
}

function toggle_fetchable_off () {
	$('.hiddenfield').css('display','none') ;
}


function keyCardFilter(key) {
	if (key.keyCode == 13) {
		var badid = document.getElementById('username').value;
		if (badid.length == 16) {
			badid = badid.substring(1,badid.length-1);
			document.getElementById('username').value = badid;
		} 
		document.getElementById('password').focus();
	} 
	
	return false;
}

function setFocus () {
	if(document.getElementById('username')) { 
		document.getElementById('username').focus(); 
	} else {
		document.getElementById('id').focus();
	}
}


function voyager_fetch ( name , t ) {

   var id = new getObj ( 'field_' + name ) ;
   
	t.value = '... please wait ...' ;
	
	$('#ajaxy').html('<span style="padding:5px;margin:0 10px;border:solid 1px #bbb;background-color:white;width:auto;position:absolute;"> fetching data ... <img style="padding:0;margin:0;" src="/app/eresources/static/images/ajax-loader.gif" width="20" /></span>') ;
	
	$.ajax( {
	
	    url: '/app/eresources/voyager/' + id.obj.value,
	    type: 'GET',
	    dataType: 'xml',
	    timeout: 4000,
	    
	    error: function(){
	        alert('Error loading XML document');
			t.value = 'Fetch record' ;
	    },
	    
	    success: function(xml){
			t.value = 'Fetch record' ;
		    $(xml).find('item').each(function(){
		    	toggle_fetchable_on() ;
		        var item_text = $(this).text();
		        // alert ( item_text ) ;
		        /*
		        $('<li></li>')
		            .html(item_text)
		            .appendTo('#ajaxy');
		        */
		    });
			$('#ajaxy').html('<span></span>') ;
		}
        
	});
        

}


