	/////////////////////////////////////////////////////////////////////////////////////
	// Script for Layers (DIV) hide-and-show
	// Type: Generic Script (macromedia)
	// Function Call :  onClick="MM_showHideLayers('Layer1','','show')"
		function MM_reloadPage(init) {  //reloads the window if Nav4 resized
			if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
				document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
			else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
		}
		MM_reloadPage(true);

		function MM_findObj(n, d) { //v4.0
			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 && document.getElementById) x=document.getElementById(n); return x;
		}

		function MM_showHideLayers() { //v3.0
			var i,p,v,obj,args=MM_showHideLayers.arguments;
			for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
			if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
			obj.visibility=v; }
		}
	/////////////////////////////////////////////////////////////////////////////////////
	
	// Function Call : href="popupwindow('target URL', 'New Window Name', Width, height, toolbar(1/0), locationbar(1/0), resizable(1/0), scrollbar(1/0), statusbar(1/0));"
	function popupwindow(popurl,popwindowname,popwidth,popheight,poptoolbar,poplocation,popresizable,popscrollbar,popstatusbar) 
	{
		try {
			var W = (screen.width/2 - popwidth/2);
			var H = (screen.height/2 - popheight/2);
			newwindow = window.open (popurl,popwindowname,'width='+popwidth+',height='+popheight+',toolbar='+poptoolbar+',location='+poplocation+',resizable='+popresizable+',scrollbars='+popscrollbar+',status='+popstatusbar+',top='+H+',left='+W+'');
			newwindow.focus();
		} catch (e) {
			 alert (e);
		}
	}
	
	function getSelectedCSS (callingPath)
	{
		if (callingPath != null) {
			var pathCSS = callingPath + '/_styles';
		} else {
			var pathCSS = '_styles';
		}
		document.write ( '<LINK href="' + pathCSS + '/' + templateCSS + '" type=text/css rel=stylesheet>' );
	}

	/////////////////////////////////////////////////////////////////////////////////////
	// Script for user-input validation and restriction
	// Function Call :  onkeypress="return keyhandler(event, this, true, false, true, true, false );"
		function keyhandlerOld(ev, obj, en, gr, num, spc, toUpper) 	{
		var validEn  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
		var validGr  = 'ÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÓÔÕÖ×ØÙáâãäåæçèéêëìíîïðñóôõö÷øù¢¸¹º¼¾¿ÜÝÞßüýþ';
		var validNum = '0123456789';
		var validSpc = '-';
		
		var validStr = '';
		if (en)  { validStr = validStr + validEn; }
		if (gr)  { validStr = validStr + validGr; }
		if (num) { validStr = validStr + validNum; }
		if (spc) { validStr = validStr + validSpc; }
		k = document.all ? brVer='IE' : brVer='NS';
				
		if (brVer == 'IE') {
			k = parseInt(ev.keyCode);
			kTrue = false;
		} else {
			k = parseInt(ev.which);
			kTrue = ev.keyCode == 8 || ev.keyCode == 35 || ev.keyCode == 36 || ev.keyCode == 46 || ev.keyCode == 116;
		}
		
		if (validStr.indexOf(String.fromCharCode(k)) != -1 || kTrue) {
			if (! kTrue && toUpper) {
				tmpChar = String.fromCharCode(k);
				obj.value = obj.value + tmpChar.toUpperCase();
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	}
	
	function browserAndOSCheck() {
		OSFound = false;
		for (idx=0; idx<=os.length-1; idx++) {
			if ( (navigator.platform.indexOf(os[idx]) != -1) && (! OSFound) ) {
				OSFound = true;
			}
		}

		BrowserFound = false;
		for (idx=0; idx<=browser.length-1; idx++) {
			if ( (navigator.userAgent.indexOf(browser[idx]) != -1) && (! BrowserFound) ) {
				BrowserFound = true;
			}
		}		

		if (! OSFound || ! BrowserFound) {
			window.location = unsuppRedirURL;
		}
	}
    /////////////////////////////////////////////////////////////


	/////////////////////////////////////////////////////////////////////////////////////
	// Script for user-input validation and restriction
	// Function Call :  onkeypress="return keyhandler(event, this, true, false, true, true, '.@', false, 10);"
		function keyhandler(ev, obj, en, gr, num, spc, cstm, toUpper, maxLength) 	{
		var validEn  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
		var validGr  = 'ÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÓÔÕÖ×ØÙáâãäåæçèéêëìíîïðñóôõö÷øù¢¸¹º¼¾¿ÜÝÞßüýþ';
		var validNum = '0123456789';
		var validSpc = '-';
		
		if (maxLength != '') {
			if (obj.value.length >= maxLength) {
				return false;
			}
		}
		
		var validStr = '';
    if (en)   { validStr = validStr + validEn; }
		if (gr)   { validStr = validStr + validGr; }
		if (num)  { validStr = validStr + validNum; }
		if (spc)  { validStr = validStr + validSpc; }
		validStr = validStr + cstm;
		k = document.all ? brVer='IE' : brVer='NS';
				
		if (brVer == 'IE') {
			k = parseInt(ev.keyCode);
			kTrue = false;
		} else {
			k = parseInt(ev.which);
			kTrue = ev.keyCode == 8 || ev.keyCode == 9 || ev.keyCode == 35 || ev.keyCode == 36 || ev.keyCode == 46 || ev.keyCode == 116;
		}
		
		if (validStr.indexOf(String.fromCharCode(k)) != -1 || kTrue) {
			if (! kTrue && toUpper) {
				tmpChar = String.fromCharCode(k);
				obj.value = obj.value + tmpChar.toUpperCase();
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	}
    /////////////////////////////////////////////////////////////
    
    function SelectRoute(Element,ChangeThis,companyField, companyValue) {
	document.getElementById(ChangeThis).value  = Element.value;
	document.getElementById(companyField).value = companyValue;

    }
    
        function fixShowCompany() {
          var spans = document.getElementsByTagName('span');
          for (idx=0; idx<spans.length; idx++) {
            if (spans[idx].title == 'showVesselCompany') {
              if (! showCompanyVessel) {
                spans[idx].style.display = 'none';
              } else {
                spans[idx].style.display = '';
              }
            }
            if (spans[idx].title == 'hideRouteforVessel') {
              if (! showCompanyVessel) {
                spans[idx].style.display = '';
              } else {
                spans[idx].style.display = 'none';
              }
            }
            if (spans[idx].title == 'showRouteInfoSpan') {
              if (showRouteInfo) {
                spans[idx].style.display = '';
              }
            }
          }
        }
       function autofitIframe(id)
         {
              var iframes = parent.document.getElementsByTagName('iframe');
          myiframe=iframes[id-1];
          if (!window.opera && !document.mimeType && document.all && document.getElementById)
              {
                   myiframe.style.height=this.document.body.offsetHeight+"px";
            
              }
              else if(document.getElementById)
              {
          myiframe.style.height=this.document.body.scrollHeight+20+"px";
          
              }
          parent.autofitIframe('RouteFrame');
          
         }
    
    	function autofitIframe(ifid){
    		  myiframe = parent.document.getElementById(ifid);
    		  
    		  if (!window.opera && !document.mimeType && document.all && document.getElementById){
                   myiframe.style.height=this.document.body.offsetHeight+"px";
    			
              }
              else if(document.getElementById){
    			myiframe.style.height=this.document.body.scrollHeight+20+"px";
    			
              }
         }
    	 
	 
