function trackPage(ref) {
    // senity
    if (!_gaq || !_gaq._trackPageview || !ref) {
        return;
    }

    var pageUrl = '/' + window.location.hostname + window.location.pathname;
    pageUrl = pageUrl.replace(/\/$/, '');
    _gaq._trackPageview(pageUrl + ref);
}

function trackDownload(obj) {
	var href = obj.href.replace(/^http:\/\//,'/');
	trackPage(href + '/download/button');
}

function goto(url, googleCode, target) {
	trackPage(googleCode);

	if (target) {
		window.open(url, target);
	} else {
		window.open(url);
	}
}

function popup(obj) {
	return popupURL(obj.getAttribute('href'), obj.getAttribute('ref'));
}

function popupURL(url, googleCode) {
	if (googleCode) {
		trackPage(googleCode);
	}

	var width = screen.availWidth - 20;
	var height = screen.availHeight - 180;
	var top = 0;
	var left = 0;

	// fix absolute https url
	if (url.substr(0, 1) == '/') {
		url = 'https://www.555.co.il' + url;
	}

	// pass top page parameters
	url += window.location.search;
	url = PayrollData.addParametersToUrl(url);

	// open popup
	window.open(url, '_blank', 'top=' + top + ',left=' + left + ', width=' + width + ',height=' + height + ',scrollbars=yes,status=yes,titlebar=yes,toolbar=yes,resizable=yes,menubar=yes,location=yes');
	return false;
}

function addFlash(url, id, w, h, bgcolor, wmode, title) {
	var str = '<embed swLiveConnect="true" quality=best type="application/x-shockwave-flash" menu=false  ' +
	          ' name="' + id + '" id="' + id + '" ' +
	          ' src="' + url + '" ' +
	          ' wmode="' + wmode + '" ' +
	          (title? ' title="' + title + '" ' : '') +
	          ' bgcolor="' + bgcolor + '" ' +
	          ' width=' + w + ' height=' + h +
	          ' swLiveConnect=true ' +
	          ' allowScriptAccess="sameDomain" ' +
	          ' type="application/x-shockwave-flash" ' +
	          ' pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" ></embed>';

	document.write(str);
}

function foreach(array, func) {
	for (var i = 0, len = array.length; i < len; i++) {
		var retValue = func(array[i], i);
		if (retValue != undefined) {
			return retValue;
		}
	}
	return undefined;
}

var PayrollData = {
	// NOTICE: uid and utm_attn are not a PayrollData parameters!
	parameters: [
		'utm_campaign','utm_source','utm_medium','utm_ref',  // parameters
		'utm_dsnr','utm_cid','utm_tact','utm_oridian','utm_clickon'  // vendors
	],
	UNSET: '-1',

	cookies: {},
	queryString:{},

	init: function() {
		PayrollData.fetchQueryString();
		PayrollData.fetchCookies();
		PayrollData.updateCookies();
	},

	addParametersToUrl: function(url) {
		if (url.indexOf('?') < 0) {
			url += '?from_cookies=true';
		}

		foreach(PayrollData.parameters, function(param) {
			if (!PayrollData.queryString[param] && PayrollData.isSet(param)) {
				url += '&' + param + '=' + escape(PayrollData.cookies[param]);
			}
		});

		return url;
	},

	isAnyPropertySet: function() {
		return foreach(PayrollData.parameters, function(param) {
			if (PayrollData.isSet(param)) {
				return true;
			}
		});
	},

	updateCookies: function() {
		// return if cookies already set.
		if (PayrollData.isAnyPropertySet()) {
			return;
		}

		// update cookies from parameters
		foreach(PayrollData.parameters, function(param) {
			PayrollData.setCookie(param, PayrollData.queryString[param]);
		});

		// if no 'utm_source' passed set it to refferer
		if (!PayrollData.queryString['utm_source']) {
			PayrollData.setCookie('utm_source', document.referrer);
		}
	},

	isSet: function(param) {
		var value = PayrollData.cookies[param];
		return value && value != PayrollData.UNSET
	},

	fetchCookies: function() {
		foreach(PayrollData.parameters, function(param) {
			PayrollData.cookies[param] = PayrollData.getCookie(param);
		});
	},

	fetchQueryString: function() {
		var query = window.location.search.substring(1);
		var parms = query.split('&');
		for (var i = 0; i < parms.length; i++) {
			var pos = parms[i].indexOf('=');
			if (pos > 0) {
				var key = parms[i].substring(0, pos);
				var val = parms[i].substring(pos + 1);
				PayrollData.queryString[key] = val;
			}
		}
	},

	getCookie: function(c_name) {
		if (document.cookie.length > 0) {
			var c_start = document.cookie.indexOf(c_name + '=');
			if (c_start != -1) {
				c_start = c_start + c_name.length + 1;
				var c_end = document.cookie.indexOf(';', c_start);
				if (c_end == -1)
					c_end = document.cookie.length;
				return unescape(document.cookie.substring(c_start, c_end));
			}
		}
		return '';
	},

	setCookie: function (key, value) {
		PayrollData.cookies[key] = value;

		if (!value) {
			value = PayrollData.UNSET;
		}

		var msInDay = 1000 * 60 * 60 * 24;
		var exdate = new Date(new Date().getTime() + (msInDay * 7));
		document.cookie = key + '='
				+ escape(value)
				+ ';expires=' + exdate.toGMTString() + ';path=/';
	}
};

PayrollData.init();

/*-- Add browser CSS class --*/
(function() {
    var d = {},
            n = navigator,
            dua = n.userAgent,
            dav = n.appVersion,
            tv = parseFloat(dav);

    if (dua.indexOf("Opera") >= 0) {
        d.Opera = tv;
    }
    d.Khtml = (dav.indexOf("Konqueror") >= 0) ? tv : 0;
    d.WebKit = parseFloat(dua.split("WebKit/")[1]) || undefined;
    d.Chrome = parseFloat(dua.split("Chrome/")[1]) || undefined;

    // safari detection derived from:
    //		http://developer.apple.com/internet/safari/faq.html#anchor2
    //		http://developer.apple.com/internet/safari/uamatrix.html
    var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0);
    if (index && !d.isChrome) {
        // try to grab the explicit Safari version first. If we don't get
        // one, look for less than 419.3 as the indication that we're on something
        // "Safari 2-ish".
        d.Safari = parseFloat(dav.split("Version/")[1]);
        if (!d.Safari || parseFloat(dav.substr(index + 7)) <= 419.3) {
            d.Safari = 2;
        }
    }

    if (dua.indexOf("Gecko") >= 0 && !d.Khtml && !d.WebKit) {
        d.Moz = tv;
    }
    if (d.Moz) {
        //We really need to get away from this. Consider a sane isGecko approach for the future.
        d.FF = parseFloat(dua.split("Firefox/")[1] || dua.split("Minefield/")[1] || dua.split("Shiretoko/")[1]) || undefined;
    }
    if (document.all && !d.Opera) {
        d.IE = parseFloat(dav.split("MSIE ")[1]) || undefined;
        //In cases where the page has an HTTP header or META tag with
        //X-UA-Compatible, then it is in emulation mode, for a previous
        //version. Make sure isIE reflects the desired version.
        //document.documentMode of 5 means quirks mode.
        if (d.IE >= 8 && document.documentMode != 5) {
            d.IE = document.documentMode;
        }
    }

    var cm = document.compatMode;
    d.Mode = cm == "BackCompat" || cm == "Quirks" || d.IE < 6;

    var css = '';
    for (var key in d) {
        var ver = d[key];
        if (ver) {
            css += ' ' + key + ' ' + key + '-' + d[key];
        }
    }
    document.documentElement.className += css.substr(1);
})();


function isScroll() {
    var myBody = document.getElementsByTagName("body")[0];
    if (document.body.clientWidth < 950) {
        myBody.style.overflowX = "auto";
    } else {
        myBody.style.overflowX = "hidden";
    }
}

