// Author: Chris Egner
// Company: EpikOne
// Date: 2009.06.12
// Description: This Javascript code places Google Analytics Source/Medium information into a form field for CRM integration. Customized for Rentex forms. 


// Get a cookie's value
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;
}

// Get source information from __utmz cookie
function get_utmz() {
    var utmz = readCookie("__utmz");
    if (utmz) {
        var src_info = utmz.split(/\./g)[4];
        if (src_info.indexOf("utmgclid") == -1) {
            src_info = src_info.replace(/utmcsr=/, "Source: ");
            src_info = src_info.replace(/utmcmd=/, "Medium: ");
            src_info = src_info.replace(/utmccn=/, "Campaign: ");
            src_info = src_info.replace(/utmctr=/, "Keyword: ");
            src_info = src_info.replace(/utmcct=/, "Path: ");
            src_info = src_info.replace(/\|/g,"\n");
        }
        else {
            // came from Adwords
            src_info = "Source: google\nMedium: cpc\n" + src_info.split(/\|/g)[3];
            src_info = src_info.replace(/utmctr=/, "Keyword: ");
        }
        return src_info;
    }
    return "";
}


// Get visit count information from __utma cookie
function get_visit_count() {
    var utma = readCookie("__utma");
    if (utma) {
        return utma.split(/\./g)[5];
    }
    return null;
}

// Add an event listener to an object
function add_listener(obj,evnt,func) { 
    if (obj.addEventListener) {
        obj.addEventListener(evnt,func,false); 
    } else if (obj.attachEvent) {
        obj.attachEvent("on" + evnt,func); 
    } 
} 

// Append Google Analytics source/medium/etc. info to form field
function add_source_to_field(field_name) {
    var ga_string = get_utmz();
    ga_string += "\nVisits: " + get_visit_count();
    var field = document.getElementsByName(field_name)[0];
    field.value += ga_string;
}


// Determine the page, and add onsubmit event to the proper form & field
// Do this stuff at page load time
//Contact Us Page
if (document.location.pathname.toLowerCase().indexOf("contact.aspx") > 0) {
	var frm = document.getElementById("frmContact");
    add_listener(frm, "submit", function(){add_source_to_field("txtCTTK");});
    
    frm = document.getElementById("frmQuote");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
// Request a Quote Page
else if (document.location.pathname.toLowerCase().indexOf("request.aspx") > 0) {
    var frm = document.getElementById("frmQuote");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
//Homepage
else if (document.location.pathname.toLowerCase().indexOf("index.aspx") > 0
        || document.location.pathname == "") {
    var frm = document.getElementById("frmQuote");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
//Computer Rentals Page
else if (document.location.pathname.toLowerCase().indexOf("computer-rentals.aspx") > 0) {
    var frm = document.getElementById("frmQuote");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
//Checkout Page
else if (document.location.pathname.toLowerCase().indexOf("checkout.aspx") > 0) {
    var frm = document.getElementById("frmChart");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
//about Page
else if (document.location.pathname.toLowerCase().indexOf("about.aspx") > 0) {
    var frm = document.getElementById("frmQuote");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
else if (document.location.pathname.toLowerCase().indexOf("offer.aspx") != -1) {
    var frm = document.getElementsById("frmGift");
    add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
}
else
{
    var frm = document.getElementById("frmQuote");
    if (frm)
    {
        add_listener(frm, "submit", function(){add_source_to_field("txtTK");});
    }
}



