var itk_analytics_visit = {

    session_id: false,
	returning_user: false,
	new_visit: true,
	unique_user: true,
	
	init: function (){
	    itk_analytics_visit.session_id = itk_query.read("ITKSessionID")
    	itk_analytics_visit.returning_user = itk_query.read("ITKReturningUser")
		itk_analytics_visit.new_visit = (itk_analytics_visit.session_id) ? false : true
		if(itk_analytics_visit.new_visit){
			itk_analytics_visit.session_id = itk_ids.create()
			itk_query.save("ITKSessionID", itk_analytics_visit.session_id)
		}
		if(!itk_analytics_visit.returning_user) itk_query.save("ITKReturningUser", 1, 365)
		itk_analytics_visit.unique_user	= !itk_analytics_visit.returning_user
		itk_analytics_visit.setup("itk_data_holder", "itk_visitor_holder")
	}, 
	
	setup: function (n, m){
		var a = itk.ce("div")
		var s = a.style
		a.setAttribute("id", n)
		a.setAttribute("name", n)
		s.position 	 = "absolute"
		s.top 		 = "-1000px"
		s.left 		 = "-1000px"
		s.width 	 = "1px"
		s.height 	 = "1px"
		s.visibility = "hidden"
		var f        = ""
		    f        += "<iframe width='1' height='1' name='"+n+"_iframe' id='"+n+"_iframe' src='" + itk_tracker_root + "/start.html'></iframe>" 
		    // The following was intended for the live visitors area of SocialSpark
		    //f        += "<iframe width='1' height='1' name='"+m+"_iframe' id='"+m+"_iframe' src='" + itk_tracker_root + "/start.html'></iframe>" 
		a.innerHTML  = f
		document.body.insertBefore(a, document.body.firstChild);
		itk_analytics_visit.arrive(n, m)
	},

	arrive: function (n, m){
	    if(itk_browser.browser == "Safari"){
	        // We need to repair tracking in Safari
	    }else{
	        var tracker_root = itk_analytics_visit.new_visit ? itk_tracker_root + "/visits/create" : itk_tracker_root + "/page_views/create"
    		var f = "itk_data_form"
    		var v = "visit"
    		var p = "page_views"
    		var a = itk.cf(f, n+"_iframe", tracker_root)
    		itk.browser_dimensions()
    		itk.doc_dimensions()
    		itk.cfi(a, v+"[session_key]", itk_analytics_visit.session_id)
    		itk.cfi(a, p+"[referer]", escape(itk_refer_page))
    		itk.cfi(a, p+"[document_dimensions]", itk.doc_width + "x" + itk.doc_height)
    		itk.cfi(a, p+"[url]", escape(itk_cur_location))
    		itk.cfi(a, p+"[pvid]", itk_page_view_id)
    		itk.cfi(a, p+"[sid]", itk_analytics_visit.session_id)
    		itk.cfi(a, p+"[browser_dimensions]", itk.browser_width + "x" + itk.browser_height)
    		itk.cfi(a, p+"[izearanks_site_id]", izearanks_site_id)
    		itk.cfi(a, p+"[izearanks_site_url]", izearanks_site_url)
    		if(itk_analytics_visit.new_visit){
    			itk.cfi(a, v+"[url]", escape(itk_cur_location))
    			itk.cfi(a, v+"[browser]", itk_browser.browser)
    			itk.cfi(a, v+"[version]", itk_browser.version)
    			itk.cfi(a, v+"[dimensions]", itk.browser_width + "x" + itk.browser_height)
    			itk.cfi(a, v+"[unique_visitor]", itk_analytics_visit.unique_user)
    			itk.cfi(a, v+"[os]", itk_browser.OS)
    			itk.cfi(a, v+"[screen_resolution]", screen.width + "x" + screen.height)
    			itk.cfi(a, v+"[screen_available]", screen.availWidth + "x" + screen.availHeight)
    			itk.cfi(a, v+"[color_depth]", screen.colorDepth)
    			itk.cfi(a, v+"[language]", itk.browser_lang())
    			itk.cfi(a, v+"[izearanks_site_id]", izearanks_site_id)
    			itk.cfi(a, v+"[izearanks_site_url]", izearanks_site_url)
    		}
    		itk.ac(itk.id("itk_data_holder"),a)
    		itk.form_submit(tracker_root)
    		// The following was intended for the live visitors area of SocialSpark
    		//itk_analytics_visit.submit_visit(m)
    		itk_analytics_visit.click_form(n)
	    }
	},
	
	submit_visit: function (m){
	    itk.id(m+"_iframe").setAttribute("src", itk_visitor_root + "/visit?id=" + itk_socialspark_blog_id)
	},

	click_form: function (n){
	    if(itk_browser.browser != "Safari"){
	        var a = itk.cf("itk_click_form", n + "_iframe", itk_tracker_root + "/events/create")
    		var e = "event"
    		itk.cfi(a, "session_key", itk_analytics_visit.session_id)
    		itk.cfi(a, "visit[id]", itk_page_view_id)
    		itk.cfi(a, "page_views[view_time]", "0")
    		itk.cfi(a, e+"[pvid]", itk_page_view_id)
    		itk.cfi(a, e+"[element]", "")
    		//itk.cfi(a, e+"[innerHTML]", "") <- no longer supporting this.
    		itk.cfi(a, e+"[left_via]", "")
    		itk.cfi(a, e+"[departed_at]", "")
    		itk.cfi(a, e+"[destination]", "")
    		itk.cfi(a, e+"[scrolltop]", "")
    		itk.cfi(a, e+"[scrollleft]", "")
    		itk.cfi(a, e+"[url]", itk_cur_location)
    		itk.cfi(a, e+"[izearanks_site_id]", izearanks_site_id)
    		itk.cfi(a, e+"[izearanks_site_url]", izearanks_site_url)
    		itk.ac(itk.id("itk_data_holder"),a)
	    }
		itk_analytics_visit.remove_self()
	},
	
	remove_self: function (){
	    itk.rc(itk.id("itk_data_holder"), itk.id("itk_data_form"))
	    itk.rc(itk_head, itk.id("itk_analytics_visit"))
	}
	
}

var itk_analytics_visit_loaded = {}