/** Configuration **/
//var gMobileRedirectorTargetDefault = "http://   ---   YOUR DOMAIN   ---   /";
var gMobileRedirectorExceptions = {};
/** Don't edit the lines below **/
(function(fLocation, fDefaultLink, fLinks) {
   function lkFindTarget(fLocation, fDefaultLink, fLinks) {
      var tTargetUrl = typeof(fDefaultLink) != 'undefined' ? fDefaultLink : false;
      var tUrls = typeof(fLinks) != 'undefined' ? fLinks : {};

      if(fLocation.href in tUrls) {
         tTargetUrl = tUrls[fLocation.href];
      } else if(fLocation.pathname in tUrls){
         tTargetUrl = tUrls[fLocation.pathname];
      } else {
         var tSubUrl = fLocation.pathname + fLocation.search.replace(/(&amp;)/i, '&');
         if(tSubUrl in tUrls)
            tTargetUrl = tUrls[tSubUrl];
      }

      if(typeof tTargetUrl == 'object') {
         if('target' in tTargetUrl)
            tTargetUrl = [tTargetUrl];
         if('length' in tTargetUrl) {
            var tResolvedUrl = false;
            var tSearch = '&' + (fLocation.search || '').slice(1).replace(/(&amp;)/i, '&') + '&';

            for(var tC in tTargetUrl) {
               var tUrlInfo = tTargetUrl[tC];
               var tValid = true;
               if(tUrlInfo.params && tUrlInfo.params.length) {
                  for(var tC2 in tUrlInfo.params){
                     if(tSearch.indexOf('&' + tUrlInfo.params[tC2] + '&') < 0) {
                        tValid = false; break;
                     }
                  }
               }
               if(tValid) {
                  tResolvedUrl = tUrlInfo['target'];
                  break;
               }
            }
            tTargetUrl = tResolvedUrl || fDefaultLink;
         }
      }
      return tTargetUrl
   }

   function lkFetchDomain(fString)
      {
         var tStart = fString.indexOf('//') + 2;
         var tEnd = (fString + '/').indexOf('/', tStart);
         if (tEnd > tStart)
            {
               var t = fString.substring(tStart, tEnd);
               if(t.length > 7 && t.indexOf('www.') == 0)
                  t = t.substring(4);
               return t;
            }
         return false;
      }

   function lkCheckRefererAndMakeTransfer(fUrl) {
      if(document.referrer && document.referrer.length > 5)
         {
            if(lkFetchDomain(document.referrer) == lkFetchDomain(fUrl))
               return lkRedirectorTurnOff();
         }
      return lkMakeTransfer(fUrl);
   }

   function lkMakeTransfer(fUrl){
      var tPrefix = (fUrl.indexOf('?') > 0 ? '&': '?');
      window.location = fUrl + tPrefix + 'mobile-redirector-transfer=true';
      return true;
   }

   function lkRedirectorTurnOff() {
      document.cookie = 'mobile-redirector-off=true;';
      return false;
   }

   function lkRedirectorIsTurnedOff() {
      var tCookies = (document.cookie || '').split(';');
      for(var t in tCookies) {
         if(tCookies[t].indexOf('mobile-redirector-off') >= 0)
            return true;
      }
      return false;
   }

   var tTargetUrl = lkFindTarget(fLocation, fDefaultLink, fLinks);
   if(!tTargetUrl)
      return false;

   if(lkRedirectorIsTurnedOff())
      return false;

   if((fLocation.search || '').indexOf('mobile-redirector-off') >= 0)
      return lkRedirectorTurnOff();

   var tWidthMax = 1010;
   var tHeightMax = 600;
   var tScreen = window.screen;
   if(tScreen) {
      if((tScreen.availWidth + tScreen.availHeight) > (tWidthMax + tHeightMax))
         return lkRedirectorTurnOff();

      if(tScreen.availWidth <= tWidthMax || tScreen.availHeight <= tHeightMax) {
         return lkCheckRefererAndMakeTransfer(tTargetUrl);
      }
   }

   if(/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent||navigator.vendor||window.opera))
      return lkCheckRefererAndMakeTransfer(tTargetUrl);

   return lkRedirectorTurnOff();
})(document.location, gMobileRedirectorTargetDefault || {}, gMobileRedirectorExceptions || {});
