
(function($){  
 $.fn.toggleable= function(options) {      
  var defaults = {
    moreText : 'ShowFullSummary'
   ,hideText : 'HideSummary'
  };      
  var options = $.extend(defaults, options);
  return this.each(function() {    
    var obj = $(this)
   
    var elink= $('<a href="" class="extenderLink">'+$.i18n._(options.moreText)+'</a>');
    elink.toggle(function(){
       $(this).addClass('extOpen').text($.i18n._(options.hideText));      
       obj.show();
    }
    ,function(){
       $(this).removeClass('extOpen').text($.i18n._(options.moreText));
       obj.hide();
    });
    obj.after(elink);
    
  });  
 };  
})(jQuery);  

(function($){  
 $.fn.toggler= function(options) {      
  var defaults = {
     toggles: 'next'

  };      
  var options = $.extend(defaults, options);
  return this.each(function() {    
    var obj = $(this);
    var toggles = null;
    if (options.toggles == 'next'){
       toggles = obj.next()
    }  
    else{
       toggles = obj.prev()    
    } 
    obj.toggle(function(){
       obj.addClass('extOpen'); 
       toggles.show();
    }
    ,function(){
       obj.removeClass('extOpen');
       toggles.hide();
    });
  });  
 };  
})(jQuery); 

(function($){  
 $.fn.expandAll= function(options) {      
  var defaults = {
     expandTrigger: '.toggles'
  };      
  var options = $.extend(defaults, options);
  return this.each(function() {    
    var $this = $(this);
    $this.bind('click', function(event){
       event.stopPropagation();
       event.preventDefault();
       $(options.expandTrigger).trigger('click');
    });
   });  
 };  
})(jQuery); 



(function($){  
  $.fn.biglink= function(options) {      
    var defaults = {
      hoverClass: 'blockLinksOver'
     ,triggerClass : 'trigger'
    };      
    var options = $.extend(defaults, options);
    
    return this.each(function() {    
      var $this = $(this);
      var href = $this.find("a."+options.triggerClass).attr("href");
      if(href){
        $this.hover(
          function(){
            $this.toggleClass(options.hoverClass)
          }, 
          function(){
            $this.toggleClass(options.hoverClass)
          }
        )
        .bind('click', function(event){
          event.stopPropagation()
          event.preventDefault()
          window.location = href;        
        });   
      }       
    });  
 }
})(jQuery); 

(function($){  
  $.fn.autosubmit = function(options) {      
    var defaults = {      
     trigger : '.trigger'
    };      
    var options = $.extend(defaults, options);
    
    return this.each(function() {    
      var $this = $(this);
      var $submit = $(":submit", $this).hide();
      $(options.trigger, $this).bind('change', function(event){
      	event.stopPropagation();
      	event.preventDefault();
      	$submit.trigger('click');
      })
    });  
 }
})(jQuery); 

(function($){  
 $.fn.selectableText= function(options) {      
  var defaults = {};      
  var options = $.extend(defaults, options);
  return this.each(function() {    
    var $this = $(this);
    $this.bind('click', function(event){
       event.stopPropagation();
       event.preventDefault();
       $this.focus();
       $this.select();
    });
   });  
 };  
})(jQuery);

(function($){
  $.fn.pager = function(options) {
    var defaults = {
     page : '.page',
     type : 'page_navigator',
     navigatorSibling : 'this'
    };
    var options = $.extend(defaults, options);

    return this.each(function() {
      var $this = $(this);      
      var $pages = $(options.page, $this).hide();
      var currentPageNumber = 1;
      var numberOfPages = $pages.length;
      var $navigator = $('<div class="navigator clearfix"></div>');
      var $currentPage = null;
      var pageShiftInProgress = false;
      
      var $navigatorSibling = options.navigatorSibling == 'this' ? $this : $(options.navigatorSibling, $this);
      if($pages.length > 1){        
        $navigatorSibling.after($navigator);
      }
      
      var pageId = location.hash;
      if(pageId){
          var $selectedPages = $(pageId).show();
          $currentPage = $selectedPages.eq(0);
      }
      else{
          $currentPage = $pages.eq(0).show();
      }
      currentPageNumber = $pages.index($currentPage) + 1; 
     
      switch(options.type){
          case 'history_slideshow':
            if($pages.length > 1){
              $('.caption p', $this).css({'margin-bottom':'50px'})
            }    
	    var $next = $('<a class="navigator_next" href="" title="Next"><span class="hidden">Next</span></a>');
	    var $prev = $('<a class="navigator_previous" href="" title="Previous"><span class="hidden">Previous</span></a>');
            var $progress = $('<div class="progress">'+$.i18n._('Image')+' '+ currentPageNumber +' '+ $.i18n._('Of')+ ' ' + numberOfPages +'</div>');
            $navigator.append($prev).append($next).append($progress);
            $navigator.addClass("default");
            $pages.show();

            $next.bind('click', function(event){
              if(currentPageNumber < numberOfPages && !pageShiftInProgress){
                pageShiftInProgress = true;
                currentPageNumber = currentPageNumber + 1;
                $(".flashDate", $this).hide();
                $navigator.fadeOut(50, function(){       
                  $currentPage = $currentPage.animate({marginLeft:'-'+ '740px'}, 500,function(){
                    $progress.text($.i18n._('Image')+' '+currentPageNumber + ' ' + $.i18n._('Of') + ' '+ numberOfPages);
                    $(".flashDate").show();
                    $navigator.fadeIn(200, function(){
                      pageShiftInProgress = false;                          
                    })  
                  }).next().animate({marginLeft:'0px'},500);
                });
              };
              return false;
            });
           
            $prev.bind('click', function(event){
              if(currentPageNumber > 1 && !pageShiftInProgress){
                pageShiftInProgress = true;
                currentPageNumber = currentPageNumber - 1;
                $(".flashDate", $this).hide();
                $navigator.fadeOut(50, function(){                  
                  $currentPage = $currentPage.animate({marginLeft:'740px'}, 500, function(){
                    $progress.text($.i18n._('Image')+' '+currentPageNumber + ' ' + $.i18n._('Of')+ ' '+ numberOfPages);
                    $(".flashDate", $this).show();
                    $navigator.fadeIn(200, function(){
                      pageShiftInProgress = false;                      
                    })  
                  }).prev().animate({marginLeft:'0'}, 500)
                });
              }
              return false
            });
          
            break;
        case 'page_navigator':  
            var $next = $('<a class="navigator_next" href="" title="Next"><span class="hidden">Next</span></a>');
            var $prev = $('<a class="navigator_previous" href="" title="Previous"><span class="hidden">Previous</span></a>');
            var $progress = $('<div class="progress">'+ currentPageNumber + ' ' + $.i18n._('Of')+ ' ' + numberOfPages + '</div>');
            $navigator.append($prev).append($next).append($progress);
            $navigator.addClass("default");
            
            $next.bind('click',function(event){
                //$currentPage.stop();
                event.stopPropagation();
                event.preventDefault();
                if(currentPageNumber < numberOfPages && !pageShiftInProgress){
                    pageShiftInProgress = true;
                    currentPageNumber = currentPageNumber +1;
                    $currentPage = $currentPage.fadeOut(250, function(){
                       $(this).hide();
                       $(this).next().fadeIn(250, function(){pageShiftInProgress = false;});
                 
                    }).next();
                    $progress.text(currentPageNumber + ' ' + $.i18n._('Of')+ ' ' + numberOfPages);
                }
            });
            $prev.bind('click', function(event){
              
                event.stopPropagation();
                event.preventDefault();
                if(currentPageNumber > 1 && !pageShiftInProgress){
                    pageShiftInProgress = true;
                    currentPageNumber = currentPageNumber - 1;
                    $currentPage = $currentPage.fadeOut(250, function(){
                      $(this).hide()
                      $(this).prev().fadeIn(250, function(){pageShiftInProgress = false;})
                    }).prev();
                    $progress.text(currentPageNumber + ' ' + $.i18n._('Of')+ ' ' + numberOfPages);
                }
            });            
            break;
        case 'page_and_title_navigator':  
            var $next = $('<div class="right"><a class="navigator_next left" href="" title="Next"><span>'+$.i18n._('Next')+': </span><span class="nextTitle"></span></a></div>');
            var $prev = $('<div class="left"><a class="navigator_previous right" href="" title="Previous"><span>'+$.i18n._('Previous')+': </span><span class="prevTitle"></span></a></div>');            
            $navigator.append($prev).append($next);            
            function updateNavigation(){
                if($pages.index($currentPage) == 0){                    
                    $('.nextTitle', $next).text($currentPage.next().find('h2').text());
                    $prev.hide();
                }
                else if($pages.index($currentPage) == $pages.length-1){                    
                    $('.prevTitle', $prev).text($currentPage.prev().find('h2').text());
                    $next.hide();
                }
                else{                    
                    $('.nextTitle', $next).text($currentPage.next().find('h2').text());
                    $('.prevTitle', $prev).text($currentPage.prev().find('h2').text());
                    $prev.show();
                    $next.show();
                }  
                            
                var heading = $currentPage.find("h2").text();                    
                $("#shadowbox_title_inner", top.document).text(heading);  
            }
            
            updateNavigation();               
        
            $next.bind('click',function(event){
                event.stopPropagation();
                event.preventDefault();		
                if(currentPageNumber < numberOfPages){
                    $prev.show();                    
                    $currentPage = $currentPage.hide().next().show();
                    updateNavigation();  
                    currentPageNumber = currentPageNumber + 1;                    
                }		
            });
            $prev.bind('click', function(event){
                event.stopPropagation();
                event.preventDefault();
                if(currentPageNumber > 1){                    
                    $currentPage = $currentPage.hide().prev().show();
                    updateNavigation();                       
                    currentPageNumber = currentPageNumber - 1; 
                   
                }
            });            
	    
            break;
        case 'linklist_navigator':
            var linklist = '<ul class="linklist">'
            $pages.each(function(){
                var $page = $(this);
                linklist = linklist + '<li><a class="bulletBlueChevron" href="#'+$page.attr('id')+'">'+$page.find('h2').text()+'</a></li>'                
            })
            linklist = linklist + "</ul>"
            var $linklist = $(linklist)
            
            $('a', $linklist)
                .bind('click', function(event){
                    var $link = $(this); 
                    $('a', $link.parents('ul')).removeClass("selected");
                    $link.addClass("selected");
                    event.stopPropagation();
                    event.preventDefault();
                    $currentPage.hide();
                    var id = $(this).attr("href");
                    id = id.substring(id.indexOf("#"));                     
                    $currentPage = $(id, $this).show();
                    //set the title of the shadobox as well. only applicable when opened in a shadowbox though
                    var heading = $currentPage.find("h2").text();                    
                    $("#shadowbox_title_inner", top.document).text(heading);                    
                });
              if(pageId){  
                $('a[href='+pageId+']', $linklist).addClass('selected');		
              }
              else{
                $('a', $linklist).eq(0).addClass('selected')
              }
            $navigator.append($linklist);
            
      }
    });
 }
})(jQuery);




(function($){
  $.fn.iframer = function(options){  
    var defaults = {};
    var options = $.extend(defaults, options);
    return this.each(function(){
      var $this = $(this);
      var rel = $this.attr("rel")
      var attributes = {}
      var pairs = rel.split(";")
      for(pos in pairs){
        var attributeAndValuePair = pairs[pos].split("=")
        attributes[attributeAndValuePair[0]] = attributeAndValuePair[1];  
      }
      
      $this.hide().after($('<iframe frameborder="0" scrolling="no" src="'+ $this.attr('href') +'"width="'+attributes['width']+'" height="'+attributes['height']+'"></iframe>'))
    });
  }
})(jQuery);


(function($){
  $.fn.externallink = function(options){
    var defaults = {}
    var options = $.extend(defaults, options);
    return this.each(function(){
      var $this = $(this);
      $this.attr('target', '_blank');
    });
  }
})(jQuery);



// Initialization

Shadowbox.loadSkin("telenor", "http://www.telenor.com/en/resources/shadowbox-skin/");

$(document).ready(function(){
   var siteAddress = location.protocol + "//" + location.host
   var options = {
     animSequence: 'sync',
     overlayColor: '#22292e',
     handleOversize: '#ffffff',
     flvPlayer:'http://www.telenor.com/en/resources/flash/player.swf',
     onOpen: function(sb){
       
       //add custom parameter when opening in shadowbox so calling page know about it
    
       var href = sb.content;
       var hash = ""
       if(href.indexOf("#") > -1){
         hash = href.substring(href.indexOf("#"));
         href = href.replace(hash, "");
       }
       if(href.indexOf("?") > 0){
          href = href + "&overlay=true" + hash;
       }
       else{
         href  = href + "?overlay=true" + hash;
       }
       sb.content = href;
     }
   };
   Shadowbox.init(options);
   $(".textTabs > ul").tabs();
   $('.toggleable.summary').toggleable();
   $('.toggleable.fulltext').toggleable({moreText:'ShowFullText', hideText:'HideFullText'});
   $('.toggleable.rssfulltext').toggleable({moreText:'ShowRSSFullText', hideText:'HideFullText'});
   $('.toggleable.faqfulltext').toggleable({moreText:'ShowFAQFullText', hideText:'HideFullText'});
   $('.toggles.next').toggler();
   $('.toggles.prev').toggler({toggles:'prev'});
   $('.blockLinks, .blockLinksSmall, .sideBarArticle').biglink();
   $('.autosubmit').autosubmit();
   $('.selectable').selectableText();
   $('#whyJoinTestimony').pager();
   $('.slideshow.with_linklist_nav').pager({type:'linklist_navigator'});  
   $('.slideshow.with_default_nav').pager();
   $('.slideshow.with_title_nav').pager({type:'page_and_title_navigator'});
   $('.historyInfo').pager({type:'history_slideshow', navigatorSibling:'.flashDate'});
   $('.iframe').iframer();
   swfobject.embedSWF("http://www.telenor.com/en/resources/flash/telenoranimation.swf", "flowerBg", "200", "500", "9.0.0","http://www.telenor.com/en/resources/flash/expressInstall.swf", {type: "constant", speed: "20",releaseTime: "1000", fadeColour: "0x006eda"}, {bgcolor: "#22292E"}, {});
   swfobject.embedSWF("http://www.telenor.com/en/resources/flash/telenoranimation.swf","flowerBgWhite", "250", "170", "9.0.0","http://www.telenor.com/en/resources/flash/expressInstall.swf", {colour: "0xE4E4E4", fadeColour: "0xE4E4E4", frame: "2", speed: "50", releaseTime:"100"}, {bgcolor: "#FFFFFF"}, {});
   swfobject.embedSWF("http://www.telenor.com/en/resources/flash/telenoranimation.swf", "flowerBgBlue","250", "600", "9.0.0", "http://www.telenor.com/en/resources/flash/expressInstall.swf", {speed: "50", releaseTime:"100", fadeColour: "0x0073c5"}, {bgcolor: "#000000"}, {});
   swfobject.embedSWF("http://www.telenor.com/en/resources/flash/black_logo_animated.swf", "flashLogo", "190", "70", "9.0.0","http://www.telenor.com/en/resources/flash/expressInstall.swf", {}, {bgcolor: "#000000"});
   $("#infoTabs > ul").tabs();
   $('a[rel="external"]').externallink();
 
});