// --------------------------------------------------------------------------------------------  
// Language selection and All Websites menu actions
  $().ready(function() {
    $('#language_select_menu').mouseover(ShowLanguageMenu);
    $('#language_select_menu').mouseout(HideLanguageMenu);
    $('#language_select_menu li ul li').click(SelectLanguage);

    $('#top_navigation_allwebsites_ddl').mouseover(ShowAllWebsitesMenu);
    $('#top_navigation_allwebsites_ddl').mouseout(HideAllWebsitesMenu);
  });
  
// -- Language handling  
  function HideLanguageMenu() {
    $(this).children('li').children('ul').css('visibility','hidden');
  }
  function ShowLanguageMenu() {
    $(this).children('li').children('ul').css('visibility','visible');
  }
  function SelectLanguage() {
    var currentPageUrl = location.href;
    var currentLanguageTitle = '';
    //var selectedLanguage = $(this).text().replace(/ /g, '');
    var selectedLanguage = $.trim($(this).text());
    for(var i = 0;i < languageOptions.length;i++) {      
      var regex = new RegExp('/' + languageOptions[i].Title + '/', "i");
      if (regex.test(currentPageUrl)) {
        currentLanguageTitle = languageOptions[i].Title;
        break
      }
    }
    if (currentLanguageTitle != '') {
      for(var i = 0;i < languageOptions.length;i++) {
        if (languageOptions[i].DisplayName == selectedLanguage) {
          var regex = new RegExp('/' + currentLanguageTitle + '/', "i");
          if (regex.test(currentPageUrl)) {
            var newUrl = currentPageUrl.replace(regex, '/' + languageOptions[i].Title + '/');
            location.href = newUrl;
            return;
          }          
        }
      }
    }
  }

// -- All Web Sites menu
  function HideAllWebsitesMenu() {
    $(this).children('li').children('ul').css('visibility','hidden');
  }
  function ShowAllWebsitesMenu() {
    $(this).children('li').children('ul').css('visibility','visible');
  }
// --------------------------------------------------------------------------------------------  


	function showPassword()
	{
		document.getElementById('header_mockpass').style.display='none'; 
	    document.getElementById('header_mockpass').name='password_mock'; 

		document.getElementById('header_realpass').style.display=''; 
		document.getElementById('header_realpass').focus();
	}
	
	function hidePassword()
	{
		if(document.getElementById('header_realpass').value=='') 
		{
			document.getElementById('header_mockpass').style.display=''; 
			document.getElementById('header_realpass').style.display='none';
			document.getElementById('header_mockpass').name='password'; 
		}
	}
	
	var timeout    = 100;
	var closetimer = 0;
	var ddmenuitem = 0;

	function jsddm_open()
	{  	 
	   jsddm_canceltimer();
	   jsddm_close();
	  
	ddmenuitem = $(this).find('ul').css('visibility', 'visible');
	
	   	if ($.browser.msie && $.browser.version.substr(0,1)<7){
		
		$(this).find("span.bottom_border").css('display', 'block')
		}
	}
	
	function jsddm_close()
	{   
		if(ddmenuitem) 
		{
			ddmenuitem.css('visibility', 'hidden');
			if ($.browser.msie && $.browser.version.substr(0,1)<7){
				$('span.bottom_border').hide();
			}
		}
	
	}
	
	function jsddm_timer()
	{  closetimer = window.setTimeout(jsddm_close, timeout);}
	
	function jsddm_canceltimer()
	{  if(closetimer)
	   {  window.clearTimeout(closetimer);
		  closetimer = null;}}

	document.onclick = jsddm_close;
var dlm = function()
{

	this.init = function (id)
	{
	 $("#"+id+ " > li").bind('mouseover', jsddm_open)
	 $('#'+id+' > li').bind('mouseout',  jsddm_timer)
	}
	
	

}

//This function is very important, it fixes the main menu blue shadow
function fixMainMenu()
{
	var mainLinkElements = $("#main_menu li a.root_item")
	//alert(mainLinkElements.length)
	var mainLinkBottomBorderElements = $("#main_menu li a span.bottom_border")
	for(var i =0; i < mainLinkElements.length; i ++ )
	{
		mainLinkBottomBorderElements[i].style.width  = mainLinkElements[i].offsetWidth + "px"
	}
	
	
}

//Get the root URL for the current variation
function GetVariationRoot() {
    var variationRootUrl = '';
    var $langMenuSelection = $('#language_select_menu>li>a');
    if ($langMenuSelection.length == 0) {
        variationRootUrl = "en";
    }
    else {
        var selectedLanguage = $.trim($langMenuSelection.text());      
        for(var i = 0;i < languageOptions.length;i++) {      
            if (languageOptions[i].DisplayName == selectedLanguage) {
                variationRootUrl = languageOptions[i].Title;
                break;
            }
        }
    }
    return variationRootUrl;
}

//Extract the value of a querystring element
function GetQueryStringValue(name){
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS, 'i' );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

//Unencode escapted characters
function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				//alert( 'Bad escape combination near ...' + encoded.substr(i) );
				//plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while

   return plaintext;
};
