﻿ (function($){

 $.fn.readleftmenu=function(xmlpath){
       $.get(xmlpath, function(d){
    	   /**bug fix provide by Whelan - start
    	    * When getting xml string from an url, the variable d will be treated as String rather than XML Object.
    	    * The code doesn't work with String object so that the menu fail to show up.
    	    * Below code parse the String into XML Object to make the code work.
    	    * It is just the fix tested for Firefox and IE 7 only. To "hardcode" the fix here should not be encouraged,
    	    * also, the code didn't check for the objec type.
    	    * please find a better way to solve it.
    	   **/
           if( window.DOMParser ){
           	   d = d.replace( /^\s+|\s+$/g, "" );
        	   d = (new DOMParser()).parseFromString(d, 'text/xml');
           }else if( window.ActiveXObject && window.GetObject ) {
        	   var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
               dom.loadXML( d );
               d = dom;
           }
		  /* Add title --- kevin 2090108*/
		  var html='';
		  var title = $(d).find('title').text();
          var curlang = $(d).find('lang').text();
          var curcss='';
		 
		  switch (current)
		  {
			 case "business":
			     curcss='blue'; break;
			 case "customer_service":
				 curcss='puregreen'; break;
			 case "careers":
				 curcss='yellow'; break;				
			 case "consumer": 
				 curcss='red'; break;
             default :
				 curcss='pureBlue'; break;
		  }

		  var titlehtml='<div class="Navi_title_'+curcss+'" id="navititle" style="padding-bottom:15px">';
		  titlehtml+=''+title+'';
		   titlehtml+='</div><div style="margin-bottom:0em;">';
		  var ulhtml='<ul id="leftmenu">';
           /* End*/
		  $(d).find('nav > url').each(function(){
            
            var $obj = $(this); 
            var label = $obj.attr("label");
            var url = $obj.attr('url');

		    var clss="";
			var litag="";
			var plus="LefyesChild_plus";
			 /* Add link target ----kevin 2090105*/
			var target= $obj.attr("popup")=="Y"?"_blank":"_self";    
			if (curlang=='en-uk')
			{
				if ( label.length >17)
				{
					clss="LefyesChildtall";
				}

			}
			else
			{
				if ( label.length >10 )
				{
					clss="LefyesChildtall";
				}
			}
			
			
          /*  if(label.length>(curlang=='en-uk'?24:10))  
                clss="LefyesChildtall";
			else if(label.length>(curlang=='en-uk'?48:20))  
                clss="LefyesChildtall3";*/

			if($obj.children().size()>0){
			 /* change litag's css ----kevin 2090117*/
			 	plus = 'LefyesChild';
			 	label = '<div class="floatLeft" style="width:125px">' + label + '</div><div class="height0"></div>';
              litag ='<div class="tag" style="float:left; width:13px;">+&nbsp;</div>';
			} /* change parent li's css ----kevin 2090115*/
             html+= '<li class="' + plus + '"><a href="' + url + '" class="' + clss +'" target="'+target+'" >' + litag + label+'</a>';
		
			if($obj.children().size()>0)
			{
				html+='<ul class="submenu">';
             	$obj.children().each(function()
			    {
                    var $subobj = $(this); 
				    var sublabel = $subobj.attr("label");
                    var suburl = $subobj.attr('url');
					var subtarget= $subobj.attr("popup")=="Y"?"_blank":"_self";
                    var  css="child_item";
                    if (curlang=='en-uk')
			{
				if (sublabel.length >17)
				{
					css="LefyesChildtall";
				}
			}
			else
			{
				if (sublabel.length >10 )
				{
					css="LefyesChildtall";
				}
			}
                    /*if(sublabel.length>(curlang=='en-uk'?20:8))  
                       css="LefyesChildtall";
					else if(sublabel.length>(curlang=='en-uk'?40:16))  
                       css="LefyesChildtall3";*/
					
			        html += '<li><a href="'+suburl+'"  class="'+css +'" target="'+subtarget+'" >'+sublabel+'</a></li>';
			       
			    });
               	html+='</ul>';
		   }
			
			html += '</li>';
        });
		   /* Add title --- kevin 2090108*/
		   var tmphtml=titlehtml+ulhtml+html+'</ul>'+'</div>';
           $('#NaviMain').append($(tmphtml));
		/*		$('#leftmenu').hoverAccordion();
	        $('.submenu').hoverAccordion();*/
            /* End*/

         $('body').append($("<script  type='text/javascript' src='/resources/Common/script/jquery.hoveraccordion.min.js' ></script>"));
		 $('body').append($("<script type=text/javascript>$(document).ready(function(){$('#leftmenu').hoverAccordion();$('.submenu').hoverAccordion();});</script>"));
     });
};
 })(jQuery);
