﻿//----------------------------------------------------------------------
//----------------------------------------------------------------------
// DO NOT edit below this line !!!
//----------------------------------------------------------------------
//----------------------------------------------------------------------
/*	_psw__functions.js
* by Jordan Levy. v1.001
* Copyright (c) 2006 Zajon, Inc. Painesville Ohio  (www.zajon.com). All Rights Reserved.
*
* This code has been licensed to NetTrack Marketing for use on an unlimited number of client sites, but may not be resold.
*
*	THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 
*	EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER PROVIDE THE 
*	PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 
*	THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
*	THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. 
*	SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 
*
*	IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL THE 
*	COPYRIGHT HOLDER BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, 
*	SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY 
*	TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 
*	RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF 
*	THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER 
*	PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 
*/
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Array of Querystring and value pairs
// access a quary string parameter value _psw__qsParam['q1Name']   :   file.asp?q1Name=theVal
var _psw__qsParam = new Array();
var _psw__foundOne = false;

//----------------------------------------------------------------------
// Executed onLoad
function _psw__swapTheTextGo(swapID_psw, qsParamListAray_psw, urlReferrerListAray_psw)
{
	_psw__foundOne = false; 
	_psw__checkCookie(swapID_psw);
	if (typeof qsParamListAray_psw != 'undefined' &&  _psw__foundOne == false )  { _psw__checkQueryString(swapID_psw, qsParamListAray_psw);}
	if (typeof urlReferrerListAray_psw != 'undefined' &&  _psw__foundOne == false ) { _psw__checkReferer(swapID_psw, urlReferrerListAray_psw); }	
}
//----------------------------------------------------------------------
function _psw__checkCookie(swapID_psw)
{	// Look for cookie with Phone number
	if(_psw__getCookie(swapID_psw) != null)
	{
			swapTextInElemID(_psw__getCookie(swapID_psw) , swapID_psw) ;
			_psw__foundOne = true;
	}
}
//----------------------------------------------------------------------
function _psw__checkQueryString(swapID_psw, qsParamListAray_psw)
{	// now check Query string for parameter names (and values)
	// set values of QString parameters we are intersted (from qsParamListAray_psw) in to NULL
	for (var j = 0 ; j < qsParamListAray_psw.length  ; j++) 
	{
		_psw__qsParam[qsParamListAray_psw[j][0]] = null ;// init QuueryString var
	}
	_psw__getQSParam(); // GET QUERY STRING and place in _psw__qsParam array	
	// Loop through our phoneNumber list and swap out the first match we get to in our querystring
	var i = 0;
	for (var j = 0 ; j < qsParamListAray_psw.length  ; j++) 
	{
		i = 0;
		if (_psw__qsParam [qsParamListAray_psw[j][0]] != null )
		{
			// If qsParamListAray_psw[j].length > 2  we have a list of values to check for the parameter
			if ( qsParamListAray_psw[j].length > 2 )
			{
				for (i = 1 ; i < qsParamListAray_psw[j].length -1  ; i++) 
				{
//					if ( _psw__qsParam [qsParamListAray_psw[j][0]].toLowerCase().indexOf(qsParamListAray_psw[j][i].toLowerCase()) >=0 )  // param value contains element in array
					if ( _psw__qsParam [qsParamListAray_psw[j][0]] == qsParamListAray_psw[j][i] ) // param value == element in the array
					{					
						swapTextInElemID(qsParamListAray_psw[j][qsParamListAray_psw[j].length -1 ], swapID_psw) ; // qsParamListAray_psw[j].length -1  points to last element of array and it should be the phone number
						_psw__setCookie(swapID_psw,qsParamListAray_psw[j][qsParamListAray_psw[j].length -1 ])
						_psw__foundOne = true;
						return;
					}
				}

			}
			else
			{				
				swapTextInElemID(qsParamListAray_psw[j][1], swapID_psw) ;
				_psw__setCookie(swapID_psw,qsParamListAray_psw[j][1])
				_psw__foundOne = true;
				return;
			}
		}
	}
}
//----------------------------------------------------------------------
function _psw__checkReferer(swapID_psw, urlReferrerListAray_psw)
{	// Then look at referring URL
	for (var j = 0 ; j < urlReferrerListAray_psw.length  ; j++) 
	{
		if ( document.referrer.toLowerCase().indexOf(urlReferrerListAray_psw[j][0].toLowerCase()) >=0 )
		{
			swapTextInElemID(urlReferrerListAray_psw[j][1], swapID_psw) ;
			_psw__setCookie(swapID_psw,urlReferrerListAray_psw[j][1])
			_psw__foundOne = true;
			return; 
		}
	}
}

//----------------------------------------------------------------------
function _psw__getQSParam() 
{	// Get Querystring an place in the array _psw__qsParam
	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);
			_psw__qsParam[key] = val;
		}
	}
} 
//----------------------------------------------------------------------
// BASIC innerHTML Swap used to replace text
	function swapTextInElemID(sText, theID) 
	{
		var swapObj = document.getElementById(theID);
		if (swapObj != null)
			swapObj.innerHTML = sText;
	}
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// COOKIES
/*
   name - name of the cookie
   value - value of the cookie
   [expires] - expiration date of the cookie
     (defaults to end of current session)
   [path] - path for which the cookie is valid
     (defaults to path of calling document)
   [domain] - domain for which the cookie is valid
     (defaults to domain of calling document)
   [secure] - Boolean value indicating if the cookie transmission requires
     a secure transmission
   * an argument defaults when it is assigned null as a placeholder
   * a null placeholder is not required for trailing omitted arguments
*/
//----------------------------------------------------------------------

function _psw__setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
	   document.cookie = curCookie; 
}

//----------------------------------------------------------------------
/*
  name - name of the desired cookie
  return string containing value of specified cookie or null
  if cookie does not exist
*/

function _psw__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));
}