// ### Array Helper Functions ###

function tiiArrayContains (array, value) {
	if (array != null) {
		var al = array.length;
		for (var i = 0; i < al; i++) {
			if (array[i] == value) return true;
		}
	}
	return false;
}

// ### Key=Value; Functions ###

function tiiHashKeys(string) {
	var keys = null;
	if (string != null) {
		var hash = string.split(';');
		var hl = hash.length - 1;
		if(hl > 0){
			keys = new Array();
			for(var i = 0; i < hl; i++){
				var data = hash[i].split('=');
				keys[i] = data[0].replace(' ', '');
			}
		}
	}
	return keys;
}

function tiiHashGet(string, key) {
	var value = null;
	if (string != null) {
		var keyStart = key + '=';
		var offset = string.indexOf(keyStart);
		if (offset != -1) {
			offset += keyStart.length;
			var end = string.indexOf(';', offset);
			if (end == -1) {
				end = string.length;
			}
			value = string.substring(offset, end);
		}
	}
	return value;
}

function tiiHashSet(string, key, value) {
	var string = tiiHashDelete(string, key);
	var newValue = key + '=' + value + ';';
	if (string != null) newValue = newValue + string;
	return newValue;
}

function tiiHashDelete(string, key) {
	var oldValue = tiiHashGet(string, key);
	var newString = string;
	if (oldValue != null) {
		var search = key + '=';
		var start = string.indexOf(search);
		var offset = start + search.length;
		var end = string.indexOf(';', offset) + 1;
		if (end == -1) end = string.length;
		newString = string.slice(0,start) + string.slice(end,string.length);
		return newString;

	}
	return newString;
}

function tiiGetQueryParamValue(param) {
	var startIndex;
	var endIndex;
	var valueStart;

	var qs = document.location.search;
	var detectIndex = qs.indexOf( "?" + param + "=" );
	var detectIndex2 = qs.indexOf( "&" + param + "=" );
	var key = "&" + param + "=";
	var keylen = key.length;

	if (qs.length > 1) {
		if (detectIndex != -1) {
			startIndex = detectIndex;
		} else if (detectIndex2 != -1) {
			startIndex = detectIndex2;
		} else {
			return null;
		}

		valueStart = startIndex + keylen;

		if (qs.indexOf("&", valueStart) != -1) {
			endIndex = qs.indexOf("&", startIndex + 1)
		} else {
			endIndex = qs.length
		}

		return (qs.substring(qs.indexOf("=", startIndex) + 1, endIndex));
	}

	return null;
}

// ### Date/Time Functions ###

function tiiDateGetOffsetMinutes(minutes)	{ var today = new Date(); return today.getTime() + (60000) * minutes;}
function tiiDateGetOffsetHours(hours)		{ var today = new Date(); return today.getTime() + (3600000) * hours; }
function tiiDateGetOffsetDays(days)			{ var today = new Date(); return today.getTime() + (86400000) * days; }
function tiiDateGetOffsetWeeks(weeks)		{ var today = new Date(); return today.getTime() + (604800000) * weeks; }
function tiiDateGetOffsetMonths(months)		{ var today = new Date(); return today.getTime() + (259200000) * months; }
function tiiDateGetOffsetYears(years)		{ var today = new Date(); return today.getTime() + (31536000000) * years; }
var isFLASH5 = false;
if (adsNMSG == null) adsCkPlg(); // if variable not set call the plugin function in adsWrapper.js
if (adsNMSG.indexOf('F') != -1) isFLASH5 = true;
function getDateCurrent () {
	var today = new Date()
	var monthName_List = new Date()
	var arrayMonthNames = new Array("enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "sept.", "octubre", "nov.", "dic.");

	monthNumber = (today.getMonth());
	monthName = arrayMonthNames[monthNumber];

	dayNumber=today.getDate();
	var yearNumber = today.getYear();
	if(yearNumber < 1000) {
		yearNumber+=1900;
	}
	document.write(dayNumber + " de " + monthName + ", " + yearNumber);
}

function popNewsletterWin(page) {

	var basehref=''
	if (!0) {
	var basehref="http://www.peopleenespanol.com";
	}

	switch (page) {
		case "subscribe":
			var pageURL  = basehref + "/pespanol/newsletter/subscribe";
			break;
		case "subscribeFromTout":
			var pageURL  = "/pespanol/newsletter/subscribe";
			break;
		default:
			var pageURL  = "/pespanol/newsletter/subscribe";
			break;
	}
    
	var pageTitle = 'PespanolNewsletter';
	
	showCenteredPopup(pageTitle, pageURL, '', 432, 337);
    
	return false;
}

function showCenteredPopup(name, url, features, width, height) {
	
	var top = (screen.height / 2) - height / 2;
	var left = (screen.width / 2) - width / 2;

	if (features == null || features == '') {
		features =" scrollbars=yes,toolbar=no,menubar=no,status=no,location=no";
	}

	window.open(url, name, features + ",top=" + top + ",left=" + left + ",width=" + width + ",height=" + height);

}
FlashObject = function(swf, id, w, h, ver, c) {
	this.swf = swf;
	this.id = id;
	this.width = w;
	this.height = h;
	this.version = ver || 6; // default to 6
	this.align = "middle"; // default to middle
	this.redirect = "";
	this.sq = document.location.search.split("?")[1] || "";
	this.altTxt = "Please <a href='http://www.macromedia.com/go/getflashplayer'>upgrade your Flash Player</a>.";
	this.bypassTxt = "";
	this.params = new Object();
	this.variables = new Object();
	if (c) this.color = this.addParam('bgcolor', c);
	this.addParam('quality', 'high'); // default to high
	this.doDetect = tiiGetQueryParamValue('tiiDetectFlash');
}

FlashObject.prototype.addParam = function(name, value) {
	this.params[name] = value;
}

FlashObject.prototype.getParams = function() {
	return this.params;
}

FlashObject.prototype.getParam = function(name) {
	return this.params[name];
}

FlashObject.prototype.addVariable = function(name, value) {
	this.variables[name] = value;
}

FlashObject.prototype.getVariable = function(name) {
	return this.variables[name];
}

FlashObject.prototype.getVariables = function() {
	return this.variables;
}

FlashObject.prototype.getParamTags = function() {
	var paramTags = "";
	for (var param in this.getParams()) {
		paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
	}
	if (paramTags == "") {
		paramTags = null;
	}
	return paramTags;
}

FlashObject.prototype.getHTML = function() {
	var flashHTML = "";
	if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') == -1) { // PC IE
		flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '">';
		flashHTML += '<param name="movie" value="' + this.swf + '" />';
		if (this.getParamTags() != null) {
			flashHTML += this.getParamTags();
		}
		if (this.getVariablePairs() != null) {
			flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';
		}
		flashHTML += '</object>';
	}
	else { // Everyone else
		flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.swf + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '"';
		for (var param in this.getParams()) {
			flashHTML += ' ' + param + '="' + this.getParam(param) + '"';
		}
		if (this.getVariablePairs() != null) {
			flashHTML += ' flashVars="' + this.getVariablePairs() + '"';
		}
		flashHTML += '></embed>';
	}
	return flashHTML;
}


FlashObject.prototype.getVariablePairs = function() {
	var variablePairs = new Array();
	for (var name in this.getVariables()) {
		variablePairs.push(name + "=" + escape(this.getVariable(name)));
	}
	if (variablePairs.length > 0) {
		return variablePairs.join("&");
	}
	else {
		return null;
	}
}

FlashObject.prototype.write = function(elementId) {
	if(tiiDetectFlash(this.version) || this.doDetect=='false') {
		if (elementId) {
			document.getElementById(elementId).innerHTML = this.getHTML();
		} else {
			document.write(this.getHTML());
		}
	} else {
		if (this.redirect != "") {
			document.location.replace(this.redirect);
		} else {
			if (elementId) {
				document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;
			} else {
				document.write(this.altTxt +""+ this.bypassTxt);
			}
		}
	}
}

function tiiGetFlashVersion() {
	var flashversion = 0;
	if (navigator.plugins && navigator.plugins.length) {
		var x = navigator.plugins["Shockwave Flash"];
		if(x){
			if (x.description) {
				var y = x.description;
				flashversion = y.charAt(y.indexOf('.')-1);
			}
		}
	} else {
		result = false;
		for(var i = 15; i >= 3 && result != true; i--){
			execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
			flashversion = i;
		}
	}
	return flashversion;
}

function tiiDetectFlash(ver) {
	if (tiiGetFlashVersion() >= ver) {
		return true;
	} else {
		return false;
	}
}

/* add Array.push if needed */
if(Array.prototype.push == null){
	Array.prototype.push = function(item){
		this[this.length] = item;
		return this.length;
	}
}
