//$Rev: 4994 $

//--------------------------------- CUSTOM GLOBAL SECTION ----------------------------------
var mm_domain            = 'qvcuk.com';
var mm_server            = 'cg1.maxymiser.com/cg2/';
var mm_enable_time_track = 1;
var mm_traffic_level     = 1;
var mm_guard_interval    = 18;
var mm_mode              = 0; 
var mm_debug             = 0; 
//--------------------------------- END GLOBAL SECTION -------------------------------

//--------------- DO NOT EDIT BELOW THIS LINE------------------------------------------
var mm_execution_start = (new Date()).getTime();
var mm_execution_finish= 0;
var mm_variables      = new Array();
var mm_boxes          = new Array();
var mm_attributes     = new Array();
var mm_hidden         = false;
var mm_cookie_OK      = 0;
var mm_pd             ='';
var mm_rnd            = Math.random?Math.random():0.5;
var mm_host           = self.location.hostname.toLowerCase();
var mm_ref            = self.document.referrer.substring(0,128);
var mm_page           = self.location.href.substring(0,128);
var mm_proto          = self.location.protocol=="file:"?"http:":self.location.protocol;
var mm_screen_width   = self.window.screen.width;
var mm_screen_height  = self.window.screen.height;
var mm_color_depth    = self.window.screen.pixelDepth;
var mm_guard;
var mm_num_maxyboxes;
var mm_num_actions;
var mm_is_timeout     = 0;

//--------------------------------- CODE SECTION --------------------------------------
var mm_url = self.location.search.toLowerCase().substring(1);
mm_domain = mm_toStr(mm_domain, mm_getValueByKey(mm_url, 'mm_domain','=','&'));
mm_server = mm_toStr(mm_server, mm_getValueByKey(mm_url, 'mm_server','=','&'));
mm_traffic_level = mm_toNum(mm_traffic_level, mm_getValueByKey(mm_url, 'mm_traffic_level','=','&'));
mm_guard_interval = mm_toNum(mm_guard_interval, mm_getValueByKey(mm_url, 'mm_guard_interval','=','&'));
mm_mode = mm_toNum(mm_mode, mm_getValueByKey(mm_url, 'mm_mode','=','&'));
mm_debug = mm_toNum(mm_debug, mm_getValueByKey(mm_url, 'mm_debug','=','&'));

if(mm_host.indexOf(mm_domain.toLowerCase() )<0)
{
   var host_parts = mm_host.split("."); 
   var str = ""; 
   for(var i=host_parts.length-1; i>=0 && i>host_parts.length-3; i--)
   {
      str = "." + host_parts[i] + str;
   }
   if(str.length) mm_host=str.substring(1);
} else {
   mm_host = mm_domain;
}

if( self.location != top.location && mm_ref == "")
{//referrer in IFrame
      mm_ref = top.location.substring(0,128);
}

if(!document.createElement || !document.getElementsByTagName){ 
   mm_mode = 2;
}

mm_pd = mmGetCookie('mmpd');
if( mm_pd == '' && (mmGetCookie('mmtl')>0 || mm_traffic_level < mm_rnd) ){ 
  mmSetCookie('mmtl',mm_traffic_level, 5);
  mm_mode = 2;
}
mmSetCookie('mmtst', (''+mm_rnd).substring(0,5), 0); 
mm_cookie_OK = (mmGetCookie('mmtst')==(''+mm_rnd).substring(0,5))?1:0;
if( mm_pd=='' && mm_mode==0 && !mm_cookie_OK){ mm_mode=1;}
if( mm_mode==0){ mm_hidden = mmHideContent(true); }
if( mm_hidden){ mm_guard = window.setTimeout(mm_guard_func, mm_guard_interval*1000); }

function mm_toNum(default_value, str)
{
  return (str.length && !isNaN(str))? Number(str): default_value;     
}
function mm_toStr(default_value, str)
{
  return str.length? str : default_value;     
}

function mm_getValueByKey(str, paramName, field_delim, rec_delim) 
{
  var recs = str.split(rec_delim);
  for(var i=0; i<recs.length; i++){ 
    var flds = recs[i].split(field_delim); 
    if(flds[0].replace(' ','').toLowerCase()==paramName.replace(' ','').toLowerCase()) {return (flds.length>1)?flds[1]:'';}
  };
  return '';
}

function mm_guard_func()
{
    if(mm_hidden) {mm_hidden = !mmHideContent(false);}        
    mm_guard = 0;
    mm_is_timeout = 1;
}

function mmHideContent(hide)
{
   var mm_visibility = hide==true ? 'visibility:hidden;':'visibility:visible;';
   try{
      if ((navigator.userAgent).toLowerCase().indexOf("apple")!=-1){
        return false; 
      } else if ((navigator.userAgent).toLowerCase().indexOf("safari")!=-1){
        return false; 
      } else
      if ((navigator.userAgent).indexOf("Opera")!=-1){
        return false;//Opera is not supported currently!
      }else if ((navigator.appName).indexOf("Netscape")!=-1){
        document.styleSheets[0].insertRule(".Maxybox {" +mm_visibility+ "}", hide?0:1);
      }else if ((navigator.appName).indexOf("Microsoft")!=-1){
        document.styleSheets[0].addRule('.Maxybox', mm_visibility);
      }else{
        return false; //unknown browser
      }
   } catch(err) {
      return false;
   }
   return true;
}

function mmSetCookie(name, value, exp_days)
{
    var exp = new Date();
    exp.setTime((new Date()).getTime() + exp_days*1000*24*60*60);
    document.cookie  = escape(name) + "=" + escape(value)+ (mm_host!="localhost"?"; domain=" + mm_host:"") + "; path=/" + (exp_days>0?("; expires=" + exp.toGMTString()):'');
}

function mmGetCookie(name)
{
    return mm_getValueByKey(document.cookie, name.toLowerCase(), '=', ';');
}


function mmSetUserVar(varname, value, attribute)
{
    mmSetAction(varname, value, attribute);
}

function mmSetAction(varname, value, attribute)
{
    if( typeof value == "undefined") value = "";
    if( typeof attribute == "undefined") attribute = "";
    mm_variables.push(varname + "=" + value +","+attribute);
}

function mmSetUserAttribute(attrname, value)
{
    if( typeof value == "undefined") value = "";
    mm_attributes.push(attrname + "=" + value);
}

function mmVerifyMaxyBoxes()
{
   return mmVerifyMaxyboxes();
}

function mmVerifyMaxyboxes()
{
    if( mm_hidden && mm_mode>0) {mm_hidden = mmHideContent(false); return; }
    if( mm_boxes.length ==0 && mm_hidden && mm_mode==0){
        var all_div_boxes = document.getElementsByTagName('div');
        var all_div_boxes_len = all_div_boxes.length;
        for(var i=0; i<all_div_boxes_len; i++){
            if(all_div_boxes[i].id.length && all_div_boxes[i].className.toLowerCase() == 'maxybox'){
               mm_boxes.push( all_div_boxes[i] );
            }
        }
    } 
}

function mmGetMaxyboxByID(id)
{
  return mmGetMaxyBoxByID(id);
}

function mmGetMaxyBoxByID(id)
{
 if( !mm_hidden )  return;
 
 var iid = id.toLowerCase();
 for(var i=0; i<mm_boxes.length; i++){
    var mb = mm_boxes[i];
    if( mb.className.toLowerCase() == 'maxybox' && mb.id.toLowerCase()==iid){
        return mb;
    }
 }
}

function mmGo()
{
    if(mm_mode>0) {
       if(mm_guard){ clearTimeout(mm_guard);}; 
       if(mm_hidden) {mm_hidden = !mmHideContent(false);}        
    }
    if(mm_mode>1) return;

    mm_num_maxyboxes = mm_boxes.length;
    mm_num_actions = mm_variables.length;

    var uri = mm_proto+"//"+mm_server + "?";

//content vars
    var mm_cv = '';
    if(mm_hidden && mm_mode==0){
        for(var j=0; j<mm_boxes.length; j++){ 
           var mbox_debug_value = mm_getValueByKey(mm_url, mm_boxes[j].id,'=','&');
           if(mbox_debug_value.length==0)
              mm_cv += mm_boxes[j].id + ';';
           else
              mm_cv += mm_boxes[j].id + '=' + mbox_debug_value + ';';
        }
    }
    uri += mm_cv.length?'cv='+escape(mm_cv)+'&':'';

    var mm_fv = '';
    mm_fv+="dbg="+ mm_debug+';';
    mm_fv+='dmn='+ mm_domain+';';
    mm_fv+='cok='+ mm_cookie_OK+';';
    mm_fv+='ref='+ escape(mm_ref)+';';
    mm_fv+="url="+ escape(mm_page)+';';
    // sending screen resolution
    mm_fv += 'scrw=' + mm_screen_width + ';';
    mm_fv += 'scrh=' + mm_screen_height + ';';
    mm_fv += 'clrd=' + mm_color_depth + ';';
    uri  +='fv='+escape(mm_fv);

    //sending user variables (actions)
    var mm_uv = '';
    for (var i = 0; i < mm_variables.length; i++){mm_uv += mm_variables[i] + ";";} 
    uri += mm_uv.length?'&uv='+escape(mm_uv):'';

    //sending user attributes
    var mm_uat = '';
    for (var i = 0; i < mm_attributes.length; i++) { mm_uat += mm_attributes[i] + ";"; }
    uri += mm_uat.length?'&uat='+escape(mm_uat):'';

    uri += mm_pd.length?'&pd='+escape(mm_pd):'';

    if( mm_hidden){ if(mm_guard){ clearTimeout(mm_guard);}; mm_guard = window.setTimeout(mm_guard_func, mm_guard_interval*1000); };

try
{
    var script  = document.createElement('script');
    script.type = 'text/javascript';
    script.src  = uri;
    mm_execution_finish = (new Date()).getTime();
    document.getElementsByTagName('head')[0].appendChild(script); //request to MM
    if(mm_variables) mm_variables.length = 0;
} catch(err){
       if(mm_guard){ clearTimeout(mm_guard);}; 
       if(mm_hidden) {mm_hidden = !mmHideContent(false);}        
};


}
