//Script name: refworld.js
//Purpose: Utility functions for rwMain vortex script
var serverURL = "http://swiged75.hcrnet.ch/cgi-bin/texis.exe/";
addEvent(window, 'load', mainOnLoad);
//========================================================================================
function mainOnLoad() {
MM_preloadImages(
	'/graphics/refworld/africa.jpg',
	'/graphics/refworld/asia.jpg',
	'/graphics/refworld/europe.jpg',
	'/graphics/refworld/latin-america.jpg',
	'/graphics/refworld/northern-america.jpg',
	'/graphics/refworld/oceania.jpg'
	);
// Apply javascript to rollover map
if(!document.getElementById) { return; }
var myArea = document.getElementById("m_americas");
myArea.onmouseover = function(){SwapImage ('document.map','document.map','/graphics/refworld/americas.jpg','#2');}
myArea.onmouseout = SwapImgRestore;

myArea = document.getElementById("m_africa");
myArea.onmouseover = function(){SwapImage('document.map','document.map','/graphics/refworld/africa.jpg','#3');}
myArea.onmouseout = SwapImgRestore;

myArea = document.getElementById("m_europe");
myArea.onmouseover = function(){SwapImage('document.map','document.map','/graphics/refworld/europe.jpg','#4');}
myArea.onmouseout = SwapImgRestore;

myArea = document.getElementById("m_asia");
myArea.onmouseover = function(){SwapImage('document.map','document.map','/graphics/refworld/asia.jpg','#5');}
myArea.onmouseout = SwapImgRestore;

myArea = document.getElementById("m_oceania");
myArea.onmouseover = function(){SwapImage('document.map','document.map','/graphics/refworld/oceania.jpg','#6');}
myArea.onmouseout = SwapImgRestore;

myArea = document.getElementById("query");
myArea.onfocus = function(){if(this.value=='Enter a word or phrase') {this.value='';}}
myArea.onblur = function(){if(this.value=='') this.value='Enter a word or phrase';}

try 
    {    
      myArea = document.getElementById("newFolder");
      myArea.onfocus = function(){if(this.value=='New folder') {this.value='';}}
      myArea.onblur = function(){if(this.value=='') this.value='New folder';}
    }
catch(err) {}

// Apply javascript to tabs
if (window.location.href != "")
{
var myPage = "";
var myCategory = "";
var myType = "";
var myPublisher = "";
var str = window.location.href;

if (str.indexOf("?") > 0){
	var x = location.search.substr(1).split(";")
	for (var i=0; i<x.length; i++)
	{
		var y = x[i].split("&");
  	for (var z=0; z<y.length; z++)
  	{
  		if (y[z].substr(0, y[z].indexOf("=")) == "page"){myPage = y[z].substr((y[z].indexOf("=")+1));}
  		if (y[z].substr(0, y[z].indexOf("=")) == "category"){myCategory = y[z].substr((y[z].indexOf("=")+1));}
  		if (y[z].substr(0, y[z].indexOf("=")) == "type"){myType = y[z].substr((y[z].indexOf("=")+1));}
  		if (y[z].substr(0, y[z].indexOf("=")) == "publisher"){myPublisher = y[z].substr((y[z].indexOf("=")+1));}
    }          		
	}
}
else{
    var P1 = (str.indexOf("/refworld/") + 10);
    var P2 = str.indexOf(",");
    myPage = str.substr(P1, P2-P1);
    var P3 = str.indexOf(",", P2 + 1);
    myCategory = str.substr(P2+1, P3-P2-1);
    var P4 = str.indexOf(",", P3 + 1);
    myPublisher = str.substr(P3+1, P4-P3-1);
    var P5 = str.indexOf(",", P4 + 1);
    myType = str.substr(P4+1, P5-P4-1);
}
}	

if (myPage != "search" && myPage != "category")
{
  // Apply javascript to open links with class="newWindow" in a new browser window
  getNewWindowLinks()
}
if (myPage == "country")
{
  // Hide/show tabs   
  if (myCategory != "" && myPublisher == "")
    {
    document.getElementById("divPublisher").style.display = 'block';    
    } 
  if (myPublisher != "")
    {
      try 
      { if (myCategory != "" && myPublisher != "")
          {    
            document.getElementById("divType").style.display = 'block';
          }
      }
      catch(error){}      
    }    
  if (myType != "" && myPublisher != "" && myCategory != "")
    {
      try 
          {    
            document.getElementById("divReflink").style.display = 'block';
          }
      catch(error){}      
    }         
}

if (myPage == "category")
{
  try 
  { if (myPublisher != "")
      {    
        document.getElementById("divType").style.display = 'block';
        document.getElementById("divCountry").style.display = 'none';        
      }
    else
      {
        document.getElementById("divPublisher").style.display = 'block';          
      }
  }
  catch(error){}      
}    
}
//========================================================================================
// Preload Rollover Images
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];}}
}
// Swap Rollover Images
function SwapImage() {
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.SwapImgData;
  for (i=0; i < (SwapImage.arguments.length-2); i+=3) {
    objStr = SwapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = SwapImage.arguments[i+2];
  } }
  document.SwapImgData = swapArray; //used for restore
}
// Restore Swapped Images
function SwapImgRestore() { //v2.0
  if (document.SwapImgData != null)
    for (var i=0; i<(document.SwapImgData.length-1); i+=2)
      document.SwapImgData[i].src = document.SwapImgData[i+1];
}
//========================================================================================
function ShowHideItem(myID, myPage){
if (myPage == "country" || myPage == "publisher" || myPage == "topic" || myPage == "category" || myPage == "type" || myPage == "reflink" )
{
  switch (myID)
  {
    case "divCategory":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liCategory").className = 'current';
      try 
      {      
        document.getElementById("divPublisher").style.display = 'none';
        document.getElementById("liPublisher").className = '';  
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divType").style.display = 'none';   
        document.getElementById("liType").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divCountry").style.display = 'none';   
        document.getElementById("liCountry").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divReflink").style.display = 'none';   
        document.getElementById("liReflink").className = ''; 
      }
      catch(error)
      {
        //break;
      }            
      break;      
      
    case "divPublisher":
      document.getElementById(myID).style.display = 'block';  
      document.getElementById("liPublisher").className = 'current'; 

      try 
      {      
        document.getElementById("divCategory").style.display = 'none';
        document.getElementById("liCategory").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      
      try 
      {      
        document.getElementById("divType").style.display = 'none';   
        document.getElementById("liType").className = '';    
      }
      catch(error)
      {
        //break;
      } 
      
      try 
      {      
        document.getElementById("divCountry").style.display = 'none';   
        document.getElementById("liCountry").className = ''; 
      }
      catch(error)
      {
        //break;
      }     
      try 
      {      
        document.getElementById("divReflink").style.display = 'none';   
        document.getElementById("liReflink").className = ''; 
      }
      catch(error)
      {
        //break;
      }              
      break;

    case "divReflink":
      document.getElementById(myID).style.display = 'block';  
      document.getElementById("liReflink").className = 'current'; 

      try 
      {      
        document.getElementById("divCategory").style.display = 'none';
        document.getElementById("liCategory").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      
      try 
      {      
        document.getElementById("divType").style.display = 'none';   
        document.getElementById("liType").className = '';    
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divPublisher").style.display = 'none';
        document.getElementById("liPublisher").className = '';  
      }
      catch(error)
      {
        //break;
      }           
      break;
      
      
    case "divAZ":
      document.getElementById(myID).style.display = 'block';  
      document.getElementById("liAZ").className = 'current'; 

      try 
      {      
        document.getElementById("divCat").style.display = 'none';
        document.getElementById("liCategory").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;

    case "divCat":
      document.getElementById(myID).style.display = 'block';  
      document.getElementById("liCategory").className = 'current'; 

      try 
      {      
        document.getElementById("divAZ").style.display = 'none';
        document.getElementById("liAZ").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;
            
    case "divType":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liType").className = 'current';
      try 
      {      
        document.getElementById("divCategory").style.display = 'none';         
        document.getElementById("liCategory").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      
      try 
      {      
        document.getElementById("divPublisher").style.display = 'none'; 
        document.getElementById("liPublisher").className = '';
      }
      catch(error)
      {
        //break;
      }  

      try 
      {      
        document.getElementById("divCountry").style.display = 'none';   
        document.getElementById("liCountry").className = ''; 
      }
      catch(error)
      {
        //break;
      }     
      try 
      {      
        document.getElementById("divReflink").style.display = 'none';   
        document.getElementById("liReflink").className = ''; 
      }
      catch(error)
      {
        //break;
      }             
      break;

    case "divCountry":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liCountry").className = 'current';
      try 
      {      
        document.getElementById("divCategory").style.display = 'none';         
        document.getElementById("liCategory").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      
      try 
      {      
        document.getElementById("divPublisher").style.display = 'none'; 
        document.getElementById("liPublisher").className = '';
      }
      catch(error)
      {
        //break;
      }
      
      try 
      {      
        document.getElementById("divType").style.display = 'none';   
        document.getElementById("liType").className = '';    
      }
      catch(error)
      {
        //break;
      }              
      break;     
      
    case "divRLType":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liType").className = 'current';
      try 
      {      
        document.getElementById("divRLTopic").style.display = 'none';         
        document.getElementById("liTopic").className = ''; 
        document.getElementById("divRLRegion").style.display = 'none';         
        document.getElementById("liRegion").className = ''; 
        document.getElementById("divRLCoi").style.display = 'none';         
        document.getElementById("liCoi").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break; 
    case "divRLTopic":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liTopic").className = 'current';
      try 
      {      
        document.getElementById("divRLType").style.display = 'none';         
        document.getElementById("liType").className = ''; 
        document.getElementById("divRLRegion").style.display = 'none';         
        document.getElementById("liRegion").className = ''; 
        document.getElementById("divRLCoi").style.display = 'none';         
        document.getElementById("liCoi").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;       
    case "divRLRegion":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liRegion").className = 'current';
      try 
      {      
        document.getElementById("divRLType").style.display = 'none';         
        document.getElementById("liType").className = ''; 
        document.getElementById("divRLTopic").style.display = 'none';         
        document.getElementById("liTopic").className = '';         
        document.getElementById("divRLCoi").style.display = 'none';         
        document.getElementById("liCoi").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;       
    case "divRLCoi":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liCoi").className = 'current';
      try 
      {      
        document.getElementById("divRLType").style.display = 'none';         
        document.getElementById("liType").className = ''; 
        document.getElementById("divRLTopic").style.display = 'none';         
        document.getElementById("liTopic").className = '';         
        document.getElementById("divRLRegion").style.display = 'none';         
        document.getElementById("liRegion").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;         
        
  	default:
  		break;
  }
}  
if (myPage == "profile" )
{
  switch (myID)
  {
    case "divFolders":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liFolder").className = 'current';
      try 
      {      
        document.getElementById("divSearches").style.display = 'none';
        document.getElementById("liSearch").className = '';  
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divProfile").style.display = 'none';   
        document.getElementById("liProfile").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break; 
      
    case "divSearches":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liSearch").className = 'current';
      try 
      {      
        document.getElementById("divFolders").style.display = 'none';
        document.getElementById("liFolder").className = '';  
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divProfile").style.display = 'none';   
        document.getElementById("liProfile").className = ''; 
      }
      catch(error)
      {
        //break;
      } 
      break;       
    case "divProfile":
      document.getElementById(myID).style.display = 'block';
      document.getElementById("liProfile").className = 'current';
      try 
      {      
        document.getElementById("divSearches").style.display = 'none';
        document.getElementById("liSearch").className = '';  
      }
      catch(error)
      {
        //break;
      } 
      try 
      {      
        document.getElementById("divFolders").style.display = 'none';
        document.getElementById("liFolder").className = '';  
      }
      catch(error)
      {
        //break;
      }            
      break; 
        
  	default:
  		break;       
    }
}
}
//========================================================================================
// fuction used to change text sizes in open document template
function textSize(MyNum) {
    document.getElementById('opendoc').style.fontSize = MyNum + '%';
}
//========================================================================================

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}
function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}
//========================================================================================
/* Create the new window */
function openInNewWindow(e) {
	var event;
	if (!e) event = window.event;
	else event = e;
	// Abort if a modifier key is pressed
	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
		return true;
	}
	else {
		// Change "_blank" to something like "newWindow" to load all links in the same new window
	    var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
			}
			return false;
		}
		return true;
	}
}
/*
Add the openInNewWindow function to the onclick event of links with a class name of "newWindow"
*/
function getNewWindowLinks() {
	// Check that the browser is DOM compliant
	if (document.getElementById && document.createElement && document.appendChild) {
		// Find all links
		var links = document.getElementsByTagName('a');
		var link;
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			// Find all links with a class name of "newWindow"
			if (/\bnewWindow\b/.test(link.className)) {
				link.onclick = openInNewWindow;
			}
		}
		objWarningText = null;
	}
}
//========================================================================================
/*
Submits Delete folders form on Profile page 
*/
function deleteFolder() {
var doDelete = confirm("Do you really want to delete the seleted item(s)?");
if (doDelete== true){
  document.frmDeleteFolders.submit();
  return;
  }
}
