/* ============================================================
onclicks.js
 javascripts for siteCatalyst custom link functions in
 http://books.livedoor.com/
  created: 2008-10-21
  modified:
  $Date:: 2009-06-09 11:31:57#$
  $Author: edge-dev $
  $Revision: 87548 $
============================================================ */

// codes for siteCatalyst
// be careful to keep browser compatibilities.


//additional custom link function
//see https://omniture-help.custhelp.com/cgi-bin/omniture_help.cfg/php/enduser/std_adp.php?p_faqid=679&p_created=1127507169&p_sid=rn5ivSgj&p_accessibility=0&p_redirect=0&p_lva=&p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9NTIyLDUyMiZwX3Byb2RzPSZwX2NhdHM9JnBfcHY9JnBfY3Y9JnBfcGFnZT0xJnBfc2VhcmNoX3RleHQ9Y3VzdG9tIGxpbms*&p_li=cF91c2VyaWQ9c3RkdXNlciZwX3Bhc3N3ZD0mcF9saV9wYXNzd2Q9bXljZXh0&p_topview=1

cau1Lib.sc_CustomClick = function(obj,evtName,options) {
	//options format {extraProps:{name:val}, extraEvars:{name:val}, events:[name], products:value}
	options = options || {};
	options.linkType = options.linkType || 'o';

	var s= s_gi(cau1Lib.sc_code);
	//set these values from page values
	s.linkTrackVars ='prop1,prop2,prop3,prop4,prop5,prop6,prop7,prop8,prop9,prop12,eVar1,eVar2,eVar4,eVar5,eVar6,eVar7,eVar8,eVar11,eVar12';
	//extra props
	if (options.extraProps) {
		for (var i in options.extraProps) {
			s.linkTrackVars += ("," + i);
			s[i] = options.extraProps[i];
		}
	}
	//extra eVars
	if (options.extraEvars) {
		for (var i in options.extraEvars) {
			s.linkTrackVars += ("," + i);
			s[i] = options.extraEvars[i];
		}
	}
	//events
	if (options.events) {
		s.linkTrackVars += (",events");
		s.linkTrackEvents = "";
		s.events = "";
		for (var i = 0; i < options.events.length; i++) {
			if (i > 0) {
				s.linkTrackEvents += ",";
				s.events += ",";
			}
			s.linkTrackEvents += options.events[i];
			s.events += options.events[i];
		}
	}
	//products
	if (options.products) {
		s.linkTrackVars += (",products");
		s.products = options.products;
	}
	//alert("testing SiteCatalyst\ns.linkTrackVars:" + s.linkTrackVars + "\ns.linkTrackEvents:" + s.linkTrackEvents + "\ns.events:" + s.events + "\ns.products:" + s.products);
	s.tl(obj,options.linkType,evtName);
};

(function() {
	for (var i = 0; i < document.forms.length; i++) {
		var form = document.forms[i];
		if (form.method == "post" && form.action.match(/\/cartin/)) {
			//set to cartin scAdd
			form.onsubmit = function(evt) {
				var elem = this.elements;
				var cartItems = [];
				var events = ["scAdd"];
				if (!document.getElementById("hasCart"))
					events[events.length] = "scOpen";
				for (var j = 0; j < elem.length; j++) {
					if (elem[j].name && elem[j].name.match(/^itemid/) && (elem[j].type == "hidden" || elem[j].checked))
						cartItems[cartItems.length] = ";" + elem[j].name.replace(/^itemid/,"") + "|" + elem[j].getAttribute("title");
				}
				cau1Lib.sc_CustomClick(this,'カートに入れる',{events:events, products:cartItems.join(",")});
			};
		} else if (form.method == "post" && form.action.match(/\/cart/)) {
			//set to cart: scRemove
			var aTag = form.getElementsByTagName("a");
			for (var j = 0; j < aTag.length; j++) {
				var href = aTag[j].getAttribute("href");
				if (href.match(/cart\?delid=all/)) {
					//delete all
					aTag[j].onclick = function(evt) {
						var items = [];
						for (var k = 0; k < aTag.length; k++) {
							if (aTag[k].getAttribute("href").match(/cart\?delid=[^all]/))
								items[items.length] = ";" + aTag[k].getAttribute("href").replace(/.*cart\?delid=/,"") + "|" + aTag[k].getAttribute("title");
						}
						cau1Lib.sc_CustomClick(this,'カートを削除',{events:["scRemove"], products:items.join(",")});
					}
				} else if (href.match(/cart\?delid=/)) {
					//delete each item
					aTag[j].onclick = function(evt) {
						var item = ";" + this.getAttribute("href").replace(/.*cart\?delid=/,"") + "|" + this.getAttribute("title");
						cau1Lib.sc_CustomClick(this,'カートから削除',{events:["scRemove"], products:item});
					}
				}
			}
		}
	}
})();
