// popup logic
function clearField(fieldId, matchText)
{
  var theElement = document.getElementById(fieldId);
  if (theElement.value == matchText) {
  	theElement.value = "";
  }
}

function openSubscribePopup(){
	
	var allcookies = document.cookie;
	var pos = allcookies.indexOf("visits=");
	if (pos == -1){
		createCookie("visits","2");		
	} else {
		if (readCookie("visits") == "2") {
			// open the new one
			eraseCookie("visits");
			createCookie("visits","3");
			var myWin = window.open('/newyork/ads/subscribe_popup.jsp','','width=365,height=321,scrollbars=no,left=200,top=200');
			myWin.focus();
		}
		
	}
}

// preload images

// roll over function
function changeImg(imgName, src){
    if (document.images){
        var img = document.images[imgName];
        if (img != null){
            img.src = src;
        }
    }
}

function changeText(divId, txt, csscl){
	if (document.getElementById){
		var obj = document.getElementById(divId);
		if (obj != null){
			obj.innerHTML = txt;
			if(csscl && csscl !='') obj.className = csscl;
		}
	}
}

function processPage(page){
    frm = document.forms["searchForm"];
    frm.page.value = page;
    document.forms["searchForm"].submit();
}

function selectEventsOnly(){
    document.getElementById("eventsChk").checked = true;
    document.getElementById("articlesChk").checked = false;
    document.getElementById("venuesChk").checked = false;
}


function setSelected(el, val){
    for(var i=0;i<el.options.length; i++){
        if(el.options[i].value == val){
            el.options[i].selected = true;
            break;
        }

    }
}
	function clearAll(frm){
        for(var i=0; i<frm.elements.length;i++){
            el = frm.elements[i];
            if(el.type == "checkbox")
                el.checked = false;
            if(el.type == "text")
                el.value = "";
            if(el.type == "select-one")
                el.selectedIndex = 0;
        }
		return false;
	}

function showMessage(boxId, dimmerId) {
	document.getElementById(boxId).style.top = ((document.all) ? document.body.scrollTop : window.pageYOffset) + 200;
	document.getElementById(boxId).style.display = 'block';
	if(dimmerId) {
		document.getElementById(dimmerId).style.top = ((document.all) ? document.body.scrollTop : window.pageYOffset);
		document.getElementById(dimmerId).style.display = 'block';
	}
}

function hideMessage(boxId, dimmerId) {
	document.getElementById(boxId).style.display = 'none';
	if(dimmerId) {
		document.getElementById(dimmerId).style.display = 'none';
	}
}

function getTONYTodayDate(){
	var date = new Date();
	var weekday=new Array(7)
	weekday[0]="Sunday"
	weekday[1]="Monday"
	weekday[2]="Tuesday"
	weekday[3]="Wednesday"
	weekday[4]="Thursday"
	weekday[5]="Friday"
	weekday[6]="Saturday"
	
	var month = new Array(11)
	month[0] = "January"
	month[1] = "February"
	month[2] = "March"
	month[3] = "April"
	month[4] = "May"
	month[5] = "June"
	month[6] = "July"
	month[7] = "August"
	month[8] = "September"
	month[9] = "October"
	month[10] = "November"
	month[11] = "December"
	
	var today = (weekday[date.getDay()] + ", " + month[date.getMonth()] + " " + date.getDate() + ", "+ date.getFullYear())
	document.write(today);
}

function openGiftPopup(){
	var allcookies = document.cookie;
	var pos = allcookies.indexOf("pageRequests=");
	if (pos == -1){
		document.cookie = "pageRequests=1";
		// open the new one
		var myWin = window.open('/newyork/ads/subscribe_popup.jsp<logic:equal name="fullAccess" value="true">?adType=1</logic:equal>','','width=365,height=321,scrollbars=no,left=200,top=200');
		myWin.focus();
	}
}

function toggleFormSections(show, hide) {
	document.getElementById(show).style.display = 'block';
	document.getElementById(hide).style.display = 'none';
	document.getElementById(show+'Control').disabled = false;
	document.getElementById(hide+'Control').disabled = true;
}

function showElements(elements, display, focusId) {
	display = display || 'block';
	for(var i=0; i<elements.length; i++) {
		document.getElementById(elements[i]).style.display=display;
	}
	if(focusId != null) {
		document.getElementById(focusId).focus();
	}
}

function hideElements(elements) {
	showElements(elements, 'none');
}

function DataSender(form, url) {
	this.form = form;
	this.url = url;
	this.req = false;
	this.usePost = false;
	
	this.buildGetString = function() {
		var inputs = this.form.elements;
		var getString = '';
		var amp = '';
		for(var i=0; inputs.item(i) != null; i++) {
			var name = inputs.item(i).name;
			var value = inputs.item(i).value;
			if(value != '') {
				getString += amp + name + '=' + escape(value);
				amp = '&';
			}
		}
		return getString;
	}
	
	// Lifted from http://developer.apple.com/internet/webcontent/xmlhttpreq.html
	this.send = function() {
		this.req = false;
	    // branch for native XMLHttpRequest object
	    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
	    	try {
				this.req = new XMLHttpRequest();
	        } catch(e) {
				this.req = false;
	        }
	    // branch for IE/Windows ActiveX version
	    } else if(window.ActiveXObject) {
	       	try {
	        	this.req = new ActiveXObject("Msxml2.XMLHTTP");
	      	} catch(e) {
	        	try {
	          		this.req = new ActiveXObject("Microsoft.XMLHTTP");
	        	} catch(e) {
	          		this.req = false;
	        	}
			}
	    }
		if(this.req) {
			if(this.usePost == true) {
				this.req.open("POST", this.url, true);
				this.req.send(this.buildGetString());
			} else {
				this.req.open("GET", this.url + '?' + this.buildGetString(), true);
				this.req.send("");
			}
		}
	}
}

// Class for dynamically switching visibility between DOM elements - Expects Existence of Prototype 'Element' and 'Form.Element' Object
function quickSwitcher(hideThese, showThese) {
	
	for (i = 0; i< hideThese.length; i++ ) 
	{
	    $(hideThese[i]).hide();
	    Form.disable(hideThese[i]);		
	}
	
	for (i = 0; i< showThese.length; i++ ) 
	{
	    $(showThese[i]).show();
	    Form.enable(showThese[i]);
	}
	
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(cookieName) {
  var docCookies = document.cookie;
  var startIndex = docCookies.indexOf(cookieName);
  if (startIndex == -1) return false;
  startIndex += cookieName.length + 1;
  var endIndex = docCookies.indexOf(";",startIndex);
  if (endIndex == -1) endIndex = docCookies.length;
  var cookieValue = docCookies.substring(startIndex, endIndex);
  return unescape(cookieValue);
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function defaultOptionColor(element, defaultColor, normalColor) {
	if(element.options[element.selectedIndex].value == '') {
		element.style.color = defaultColor;
	} else {
		element.style.color = normalColor;
	}
}

function submitOnEnter(event, form) {
	var keyCode = event.which;
	if(keyCode == null) {
		keyCode = event.keyCode;
	}
	if(keyCode == 13) {
		form.submit();
		return false;
	}
}
