﻿/// <reference path="jquery-1.4.4-vsdoc.js" />

// Functions that make calls to GA in Traditional manner, to be used when control is loaded in ThreeColumn Layout

function getPageTracker() {
   
    var pageTracker = _gat._getTracker("UA-7012908-4");
    
    // Below code will accept every traffic in any domain under the same UA id, even if GA profile configured with specific domain
    //pageTracker._setDomainName("none");

    pageTracker._setAllowHash(false);
    pageTracker._setAllowLinker(true);

    // These codes are for tracking Campaign Traffic. Witout this code compaign won't be tracked.
    pageTracker._setCampNameKey("adcamp"); // name
    pageTracker._setCampMediumKey("admed"); // medium
    pageTracker._setCampSourceKey("adsrc"); // source
    pageTracker._setCampTermKey("adkwd"); // term/keyword
    pageTracker._setCampContentKey("adver"); // content
    //analyticsMemberType;
    
    if (!IsMemberforTracking) {
        analyticsMemberType = "Non_Member";
    }
    else {
        analyticsMemberType = "Member";
    }
 
    pageTracker._setCustomVar(
      1,
      "Member_Type",            
      analyticsMemberType,
      3                     
   );

    
    return pageTracker;
}

var analyticsMemberType;
function getCookie(c_name) {
    var i, x, y, ARRcookies = document.cookie.split(";");
   
    for (i = 0; i < ARRcookies.length; i++) {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name) {
            return unescape(y);
        }
    }
}


var pageTrackerTraditional = getPageTracker();
 
function trackEventWithTracker(tracker, category, action, label) {
   
    pageTrackerTraditional = tracker;
    trackEvent(category, action, label);
}

function trackPageView() {

    try {
       
        var trackPageViewURL = (arguments[0]) ? arguments[0] : null;
        pageTrackerTraditional._trackPageview(trackPageViewURL);
    } catch (err) { }
}
 
function trackEvent(category, action, label) {
  try {
      if (typeof pageTrackerTraditional === "undefined") {
          pageTrackerTraditional = getPageTracker();
      }
        pageTrackerTraditional._trackEvent(category, action, label);
    } catch (err) {
        //alert("Sync:"+err);
    }
    //alert(analyticsMemberType);
}

function trackCustomVariable(index, name, value, opt_scope) {
    try {
        pageTrackerTraditional._setCustomVar(
                    index,                   // slot where the custom variable will be placed.  Required parameter.
                    name,     // The name acts as a kind of category for the user activity.  Required parameter.
                    value,               // This value of the custom variable.  Required parameter.
                    opt_scope                    // Sets the scope.  Optional parameter.
   );

    } catch (err) { }
}

function addEcommerceTran(orderID, affiliation, total, tax, shipping, city, state, country) {
    try {
        pageTrackerTraditional._addTrans(
            orderID,                            // required
            affiliation,
            total,                              // required
            tax,
            shipping,
            city,
            state,
            country 
        );

    } catch (err) { }

}

function addEcommerceItem(orderID, SKU, productName, category, unitPrice, quantity) {
    try {

        pageTrackerTraditional._addItem(
                orderID,            // required 
                SKU,
                productName,
                category,
                unitPrice,          // required
                quantity            // required        
        );

    } catch (err) {}
}

function trackEcommerceTran() {
    pageTrackerTraditional._trackTrans();
}

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}

//this function is modified to log multiple transactions for selected schools inquiry submission.
function ecommerceInquiry(paths, linktext, profilename, linkcost)
{
    //trackPageView(path); pageview is not needed for inquiry submission	

    for (var i = 0; i < paths.length; i++)     {   	
        sleep(100);//this is needed to log all GA calls. 	
        var id = uniqid();
        addEcommerceTran(id, '', linkcost, '', '', '', '', '');
        addEcommerceItem(id, linktext, profilename, paths[i], linkcost, '1');			
    }		
    trackEcommerceTran();   		
}
  function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}

