 //-------------------------------------------------------------------------
 //  Author        : LÊ Huu Thao (huu-thao.le@gfi.be)
 //  Creation Date : 12/09/2007
 //  Version       : 01
 //-------------------------------------------------------------------------
 var app_agent = navigator.userAgent.toLowerCase(); // Browser type
 var app_is_ie = app_agent.indexOf('msie') >= 0;
 var app_is_opera = app_agent.indexOf('opera') >= 0;
 var app_is_safari = app_agent.indexOf('safari') >= 0;
 var app_is_mozilla = app_agent.indexOf('gecko') >= 0;
 
 // Uncomment to view states (1/3)
 //var states = [];
 var timer;
 
 var initStates = [];
 var initTimer;
 var g_urlstr = ""; 
 
 //-------------------------------------------------
 // Change the iFrame URL
 // But wait until the page status equals "complete"
 //-------------------------------------------------
 function changeIframeUrlWhenReadyState() 
 {
    var state = document.readyState;
    
    // Uncomment to view states (2/3)
    //states.push(state);
    
    if (state == "complete") 
    {
       clearInterval(timer);
       changeIframeURL(g_urlstr);
       
       // Uncomment to view states (3/3)
       //alert(states.join("\n"));
    }
 }
 
 //-------------------------------------------------
 // Open the file downloader of the browser 
 // to download the document
 //-------------------------------------------------
 function openDoc(urlstr){window.location.href = urlstr;}
 
 //------------------------------------------------- 
 // Onclick Event Handler for Safari and Opera
 //------------------------------------------------- 
 function onclickHybridHandler(urlstr)
 {   
	 var lUrl = unescape(urlstr);
	 g_urlstr = urlstr;
	 
	 document.getElementById('statIframe').src='#';
	 
	 if(lUrl.toLowerCase().match('javascript:void')){eval(lUrl);}
     else{openDoc(lUrl);} 
     
	 timer = setInterval(changeIframeUrlWhenReadyState, 500); 
}
 
 //------------------------------------------------- 
 // Onclick Event Handler for Safari and Opera
 //------------------------------------------------- 
 function onclickSafariHandler(urlstr)
 {   
	 var lUrl = unescape(urlstr);
	 g_urlstr = urlstr;
	 
	 if(lUrl.toLowerCase().match('javascript:void')){eval(lUrl);}
     else{openDoc(lUrl);} 
     
	 timer = setInterval(changeIframeUrlWhenReadyState, 500); 
 }
 //------------------------------------------------- 
 // Onclick Event Handler for Mozilla
 //-------------------------------------------------   
 function onclickMozillaHandler(urlstr)
 {   
	 var lUrl = unescape(urlstr);
	 if(lUrl.toLowerCase().match('javascript:void')){eval(lUrl);}
     else{openDoc(lUrl);} 
	 changeIframeURL(urlstr);
         return false;
 }
 
 //------------------------------------------------- 
 // Onclick Event Handler for Microsoft
 //------------------------------------------------- 
 function onclickMicrosoftHandler(urlstr)
 {   
	 changeIframeURLIE(urlstr); 
 }
 
 //------------------------------------------------- 
 // If javascript is enable, the link will be 
 // replaced by an event handler to permit some 
 // actions before. 
 // If there's no javascript nothing is changed
 //------------------------------------------------- 
 function changeWinOpen(e,urlTarget)
 {
  var lUrlTarget = '';
  var winTarget = e.target;
  //if (winTarget == '_blank'){lUrlTarget = "javascript:void(window.open('"+urlTarget+"','',''))";}
  //else {lUrlTarget = urlTarget;}
  lUrlTarget = "javascript:void(window.open('"+urlTarget+"','',''))";
  return lUrlTarget;
 }
 
 //------------------------------------------------- 
 // If javascript is enable, the link will be 
 // replaced by an event handler to permit some 
 // actions before. 
 // If there's no javascript nothing is changed
 //------------------------------------------------- 
 function redirectLink(e)
 {
  var urlTarget = e.href;
      
  // MS IE	  
  if (app_is_ie){e.onclick = function() {onclickMicrosoftHandler(urlTarget);}}
  // OPERA
  else if (app_is_opera){e.onclick = function(){onclickHybridHandler(escape(changeWinOpen(e,urlTarget))); return false;}; e.href = '#';}
  // SAFARI
  else if (app_is_safari){e.onclick = function(){onclickSafariHandler(escape(changeWinOpen(e,urlTarget))); return false;}; e.href = '#';}
  //MOZILLA
//  else if (app_is_mozilla){e.setAttribute("onclick","onclickMozillaHandler('"+escape(changeWinOpen(e,urlTarget))+"');return false;"); e.href = '#';}	
  else if (app_is_mozilla){e.setAttribute("onclick","onclickMozillaHandler('"+escape(changeWinOpen(e,urlTarget))+"');return false;"); e.href = 'javascript:void(0);';e.target='';}	
 }

function initAwStatable()
{
 initTimer = setInterval(waitDomTreeLoaded, 500); 	 
}  
 
function waitDomTreeLoaded() 
{ 
 var state = document.readyState;
 //initStates.push(state);
 
 if (state == "complete") 
 {
    clearInterval(initTimer);
    AwStatableLinks();
    //alert(initStates.join("\n"));
 }	
}

function AwStatableLinks()
{
	 //alert('AwStatableLinks trace');
	 var oLinks = document.getElementsByTagName('A');
	 for(var i=0;i<oLinks.length;i++)
	 {
	  var olink = oLinks[i];
			
	  var relAttribute = String(olink.getAttribute('rel'));
			
	  // use the string.match() method to catch 'awstatable' references in the rel attribute
	  if (olink.getAttribute('href') && (relAttribute.toLowerCase().match('awstatable')))
	  {
		redirectLink(olink);
	  }
	 }
}

if (app_is_safari)
{
 initAwStatable();	
}
else if((/mozilla/i.test(navigator.userAgent)&&!/(compati)/.test(navigator.userAgent)) 
    || (/opera/i.test(navigator.userAgent)))
{ 
 document.addEventListener("DOMContentLoaded", AwStatableLinks, false);
}
else
{ 
 initAwStatable();	
} 

