////////////////////////////////////////////////////
// Script to hide and show images - Used for close ups on images
////////////////////////////////////////////////////
function showImage(img) {
  img.style.display = "block";
}
function hideImage(img) {
  img.style.display = "none";
}

////////////////////////////////////////////////////
//
// This is the Popup
//
////////////////////////////////////////////////////
function popUp(URL, width, height) {
	var width = (width == null) ? 600: width;
	var height = (height == null) ? 500: height;
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=" + width + ",height=" + height + "');");
}

////////////////////////////////////////////////////
//
// This is the Cookie.js
//
////////////////////////////////////////////////////

////////////////////////////////////////////////////
// Parce Standard Marketing Variables from URL
////////////////////////////////////////////////////
function getParams() {
	var idx = document.URL.indexOf('?');
	var params = new Array();
	if (idx != -1) {
		var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
		for (var i=0; i<pairs.length; i++) {
			nameVal = pairs[i].split('=');
			params[nameVal[0]] = nameVal[1];
		}
	}
	return params;
}
/**
 * Save search engine referrer information in cookies
 *  search_engine_name_cookie => name of search engine
 *  search_keywords_cookie    => keyword used in search
 **/
function saveReferrerInfo() {
	if (document.referrer == "")
		return;
	var referrer = document.referrer;
	var engine = '';
	var keywords = '';
	var param;
	if (referrer.indexOf('http://www.insidesales.com') == -1) {
		var params = getParams();
		setCookie("referrer_url_cookie", referrer);
		param = 'q';
		if(referrer.indexOf('google')>-1){engine='Google';}
		else if(referrer.indexOf('bing')>-1){engine='Bing';}
		else if(referrer.indexOf('yahoo')>-1){engine='Yahoo';param='p';}
		else if(referrer.indexOf('alexa')>-1){engine='Alexa';}
		else if(referrer.indexOf('ask')>-1){engine='Ask.com';}
		else if(referrer.indexOf('altavista')>-1){engine='AltaVista';}
		else if(referrer.indexOf('lycos')>-1){engine='Lycos';param='query';}

		var idx = referrer.indexOf('?');
		if (engine && idx != -1){
			var pairs = referrer.substring(idx+1, referrer.length).split('&');
			for (var i=0; i<pairs.length; i++) {
				nameVal = pairs[i].split('=');
				if (nameVal[0] == param){
					setCookie("search_keywords_cookie", nameVal[1]);
					setCookie("search_engine_name_cookie", engine);
				}
			}
			if(typeof(params["lead_source_id"]) == "undefined" || params["lead_source_id"] == null || params["lead_source_id"] == ''){
				setCookie("lead_source_id_cookie", "262");//SEO - Natural Search
			}
		}
		else if(typeof(params["lead_source_id"]) == "undefined" || params["lead_source_id"] == null || params["lead_source_id"] == ''){
			setCookie("lead_source_id_cookie", "264");//Referral
		}
	}
}

////////////////////////////////////////////////////
// General Cookie Functionality
////////////////////////////////////////////////////
/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, expires, path, domain, secure)
{
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +		
		((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}
/**
 * Set the value of a field in a form from a cookie if that cookie
 * is set and has data in it.
 **/
function setFieldFromCookie(field, cookie_name, default_value)
{
	try{
		if(getCookie(cookie_name) != null && getCookie(cookie_name) != ''){
			field.value = getCookie(cookie_name);
		}
		else if(default_value != null){
			field.value = default_value;
		}
	}
	catch(e){}
}
/**
 *  Set cookies from query string if they are set AND have a value
 **/
function setCookiesFromQueryString(){
	var params = getParams();
	var query_string_variables = [
		{"name": "seid",             "cookie_name": "search_engine_id_cookie"},
		{"name": "acid",             "cookie_name": "ad_campaign_id_cookie"},
		{"name": "agid",             "cookie_name": "ad_group_id_cookie"},
		{"name": "aid",              "cookie_name": "ad_id_cookie"},
		{"name": "kid",              "cookie_name": "ad_campaign_id_cookie"},
		{"name": "a",                "cookie_name": "a_cookie"},
		{"name": ["keyword","key"],  "cookie_name": "key_cookie"},
		{"name": "engine",           "cookie_name": "engine_cookie"},
		{"name": "category",         "cookie_name": "category_cookie"},
		{"name": "lead_source_id",   "cookie_name": "lead_source_id_cookie"},
		{"name": "ad",               "cookie_name": "ad_cookie"}
		];
	for(var i = 0; i < query_string_variables.length; i++){
		var variable = query_string_variables[i];
		if(variable["name"] instanceof Array){
			for(var j = 0; j < variable["name"].length; j++){
				if(typeof(params[variable["name"][j]]) != "undefined" && params[variable["name"][j]] != null && params[variable["name"][j]] != ""){
					setCookie(variable["cookie_name"], unescape(params[variable["name"][j]]));
					break;
				}
			}
		}
		else if(typeof(params[variable["name"]]) != "undefined" && params[variable["name"]] != null && params[variable["name"]] != "") {
			setCookie(variable["cookie_name"], unescape(params[variable["name"]]));
		}
	}
}

saveReferrerInfo();
setCookiesFromQueryString();

