//check for jQuery inclusion - important!
var safe = (typeof jQuery == 'undefined') ? false : true;
var event_goal = false;

if(safe){
  jQuery.noConflict();
  perform_test();  
}

function perform_test(){
  jQuery.each(tests, function(n,val) {
    if(document.location.toString().indexOf(tests[n]['uri']) > 0){	  
      test_data = tests[n];      
      document.write('<scr'+'ipt type="text/javascript" charset="utf-8">'); 
      document.write('ms_wo_ctrl();ms_wo_tracking();'); 
      document.write('</scr'+'ipt>'); 

      document.write('<scr'+'ipt type="text/javascript" charset="utf-8">'); 
      document.write('ms_wo_content();');
      document.write('</scr'+'ipt>'); 
    }

  jQuery(document).ready( function() {
      if(readCookie(tests[n]['k']) == '1'){	  
        try{
          if(tests[n]['goal'][0] == 'event'){
            switch(tests[n]['goal'][1])
            {
            case 'click':
	       jQuery("#"+tests[n]['goal'][2]).click(function(){test_data = tests[n];ms_wo_goal();});
              break;
            case 'hover':
	       jQuery("#"+tests[n]['goal'][2]).hover(function(){test_data = tests[n];ms_wo_goal();});
              break;
            }
	   }else{
            if(eval(tests[n]['goal'])==true){
              test_data = tests[n];
              ms_wo_goal();
	     }
          }
        }catch(err){alert("perform_test error " + err);}
      }
    });
  });
}

function ms_wo_ctrl(){
  if(!safe){return false};

  (function(){var d=document,l=d.location,c=d.cookie;function f(n){
  if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
  length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
  d.write('<sc'+'ript src="'+
  'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
  +'/siteopt.js?v=1&utmxkey='+test_data['k']+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
  +new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
  '" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
}

function ms_wo_tracking(){
  if(!safe){return false};

  try {
    var gwoTracker=_gat._getTracker(test_data['wo_ua']);
    createCookie(test_data['k'],'1',1);
    gwoTracker._trackPageview("/" + test_data['k'] + "/test");  
    ms_wo_event();
  }catch(err){}
}

function ms_wo_goal() {
  if(!safe){return false};
  try {
    var gwoTracker=_gat._getTracker(test_data['wo_ua']);
    gwoTracker._trackPageview("/" + test_data['k'] + "/goal");
    eraseCookie(test_data['k']);
    ms_wo_event(true);
  }catch(err){}
alert('goal '+test_data['k']);
}	  

function ms_wo_content(){
  jQuery(document).ready( function() {
    if(utmx('combination_string').length > 1){
      combination_string = utmx('combination_string').split('-');
      jQuery.each(combination_string, function(n,val) {
        if(combination_string[n] > 0){
          content_flippah(test_data['utmx'][n],test_data['content'][n][combination_string[n]]);
        } 
      });
    }else{
      if(utmx('combination_string') > 0){
	 content_flippah(test_data['utmx'],test_data['content'][utmx('combination_string')]);
      }
    }
    ms_wo_event();
  });
}

function content_flippah(element,content){
  jQuery('#'+element).html(content);
}

function ms_wo_event(goal){
  if(!safe){return false};
  value = goal ? '9999' : utmx('combination_string');
  try {
    var gwoTracker=_gat._getTracker(test_data['ga_ua']);
    gwoTracker._initData();
    gwoTracker._trackEvent(test_data['k'],value);  
  }catch(err){alert("event error " + err);}
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}