var pageName;
var serverPage="pageFunctions.php";
var photoFunct="photoFunctions.php";
var divId;
var emsg="Error in javascript function ";
var contentType="Content-type";
var mimeType="application/x-www-form-urlencoded";

function generateMenus() {
	timedate=new Date().getTime();
	var url=serverPage+"?function=generateMenus&ms="+timedate;
	req1=createRequest();
	try {
		req1.open("GET",url,true);
		req1.onreadystatechange=function() {
			if(req1.readyState==4) {
				if(req1.status==200) {
					t=req1.responseText;
					try {
						document.getElementById("navpanel").innerHTML=t;
					} catch(e) {
						alert(e);
					}
				}
			}
		}
		req1.send(null);
	} catch(e) {
		alert("Error in javascript function generateMenus: "+e);
	}
}

function generateAnnouncements() {
	var url2="function=generateAnnouncements";
	var timedate=new Date().getTime();
	url2+="&ms="+timedate;
	req2=null;
	try {
		req2=createRequest();
		req2.open("GET",serverPage+"?"+url2,true);
		req2.onreadystatechange=putAnn;
		req2.send(null);
	} catch(e) {
		alert(e);
	}
}

function generateContactSheet(t) {
    queryString="function=generateContactSheet&type="+t;
    try {
        req=createRequest();
        req.open("POST","photoFunctions.php",true);
        req.setRequestHeader(contentType,mimeType);
        req.onreadystatechange=function() {
            if(req.readyState==4) {
                if(req.status==200) {
                    div=document.getElementById("widecontent");
                    div.innerHTML=req.responseText;
                }
            }
        }
        req.send(queryString);
    } catch(e) {
        alert("photoFunctions:generateContactSheet error "+e);
    }
}

function generateThumbnails() {
	url="function=generateVerticalThumbnails";
	try {
		req=createRequest();
		req.open("POST",photoFunct,true);
		req.setRequestHeader(contentType,mimeType);
		req.onreadystatechange=function() {
			if(req.readyState==4) {
				if(req.status==200) {
					doc=document.getElementById("vthumbnails");
					doc.innerHTML=req.responseText;
				}
			}
		}
		req.send(url);
	}catch(e){
		alert("pageFunctions:generateThumbnails : "+e);
	}
}

function putAnn() {
	if(req2.readyState==4) {
		if(req2.status==200) {
			div="shoutbox";
			document.getElementById(div).innerHTML=req2.responseText;
		} else {
			alert("status: "+req2.status);
		}
	}
}

function getPage(p) {
	url="function=getPage&pageid="+p;
	if(window.location.pathname=="/php/index.php") {
		window.location="http://www.freeportjazz.com/php/framework.php";
	}
	req1=createRequest();
	try {
		req1.open("POST",serverPage,true);
		req1.setRequestHeader(contentType,mimeType);
		req1.onreadystatechange=function() {
			if(req1.readyState==4) {
				if(req1.status==200) {
					doc=document.getElementById("widecontent");
					alert(req1.responseText);
					doc.innerHTML=req1.responseText;
				}
			}
		}
		req1.send(url);
	} catch(e) {
		alert(emsg+"pageFunctions:getPage() "+e);
	}
}

function getImageProperties(id) {
	frame=document.getElementById("vimgframe");
	oldImg=frame.getElementsByTagName("img")[0];
	oldImg.setAttribute("src","images/loading.gif");
	oldTitle=frame.getElementsByTagName("h6")[0];
	if(oldTitle) {
		frame.removeChild(oldTitle);
	}	
	url="function=getImageProperties&id="+id;
	req=createRequest();
	try {
		req.open("POST","photoFunctions.php",true);
		req.setRequestHeader(contentType,mimeType);
		req.onreadystatechange=function() {
			if(req.readyState==4) {
				if(req.status==200) {
					newDiv=document.createElement("div");
					title=document.createElement("h6");
					newImg=document.createElement("img");

					xml=req.responseXML;
					node=xml.getElementsByTagName("imagename");
                	if(node[0].firstChild) {
                    	val=node[0].firstChild.nodeValue;
                	} else {
                    	val=node[0].nodeValue;
                	}
					src="photoFunctions.php?function=createImage";
					src+="&img="+val;

					node=xml.getElementsByTagName("title");
                	if(node[0].firstChild) {
                    	val=node[0].firstChild.nodeValue;
                	} else {
                    	val=node[0].nodeValue;
                	}
					if(val==null || val=="") {
						val="FreeportJazz.com";
					}
					ttext=document.createTextNode(val);

					node=xml.getElementsByTagName("credit");
                	if(node[0].firstChild) {
                    	credit=" (photo by "+node[0].firstChild.nodeValue+")";
                	} else {
						if(node[0].nodeValue!=null) {
                    		credit=" (photo by "+node[0].nodeValue+")"; 
						} else {
							credit="";
						}
					}
					
					title.appendChild(ttext);
					title.appendChild(document.createTextNode(credit));
					newDiv.appendChild(newImg);
					newDiv.appendChild(title);

					newImg.setAttribute("src",unescape(src));
					frame=document.getElementById("vimgframe");
					oldImg=frame.getElementsByTagName("img")[0];
					oldImg.setAttribute("src",unescape(src));
					oldTitle=frame.getElementsByTagName("h6")[0];
					if(oldTitle) {
						frame.removeChild(oldTitle);
					}
					frame.appendChild(title);
				}
			}
		}
		req.send(url);
	} catch(e) {
		alert("pageFunctions:getImage : "+e);
	}
}

function showImage(id) {
	url="function=getImageName&id="+id;
	req=createRequest();
	try {
		req.open("POST","photoFunctions.php",true);
		req.setRequestHeader(contentType,mimeType);
		req.onreadystatechange=function() {
			if(req.readyState==4) {
				if(req.status==200) {
					frame=document.getElementById("vimgframe");
					newImg=document.createElement("img");
					src="photoFunctions.php?function=createImage";
					src+="&img="+req.responseText;
					newImg.setAttribute("src",unescape(src));
					oldImg=frame.getElementsByTagName("img")[0];
					frame.replaceChild(newImg,oldImg);
				}
			}
		}
		req.send(url);
	} catch(e) {
		alert("pageFunctions:getImage : "+e);
	}
}

function getImage(id) {
	url="function=getImage&id="+id;
	req=createRequest();
	try {
		req.open("POST","photoFunctions.php",true);
		req.setRequestHeader(contentType,mimeType);
		req.onreadystatechange=function() {
			if(req.readyState==4) {
				if(req.status==200) {
					doc=document.getElementById("vimgframe");
					img=document.createElement("img");
					img.setAttribute("src",req.responseText);
					oldImg=doc.getElementsByTagName("img")[0];
					doc.insertBefore(img,oldImg);
					doc.removeChild(oldImg);
				}
			}
		}
		req.send(url);
	} catch(e) {
		alert("pageFunctions:getImage : "+e);
	}
}

function viewImage(id) {
    winpos="top=200,left=200";
    winsize="width=600,height=650";
    extras="status=no,toolbar=no,resizable=yes,scrollbars=yes,menubar=no";
    winspecs=winpos+","+winsize+","+extras;
    var win=window.open('viewPhoto.php?id='+id,'viewImage',winspecs);
	win.focus();
}

function setDirection(d) {
	setPageSize();
	var currRec=Number(document.getElementById("low").value);
	var sz=Number(document.getElementById("pagesize").value);
	if(d=="older") {
		document.getElementById("direction").value="older";
		currRec+=sz;
		if(currRec+sz>9999) currRec=9999-sz;
	} else {
		document.getElementById("direction").value="newer";
		currRec-=sz;
		if(currRec<0) currRec=0;
	}
	document.getElementById("low").value=String(currRec);
	getCalendar(0);
}

function setPageSize() {
	/* Sets how many rows per page on calendar view */
	var sel;
	try {
		sel=document.getElementById("range");
	} catch(e) {
		try {
			sel=document.all.item("range");
		} catch(e) {
			alert(e);
		}
	}
	var pcount=sel.options.length;
	var sz;
	var d;
	for(p=0; p<pcount; p++) {
		if(sel.options[p].selected==true) {
			try {
				d=document.getElementById("pagesize");
			} catch(e) {
				try {
					d=document.all.item("pagesize");
				} catch(e) {
				}
			}
			d.value=sel.options[p].value;
			if(d.value=="9999") {
				try {
					d=document.getElementById("low");
				} catch(e) {
					try {
						d=document.all.item("low");
					} catch(e) {
					}
				}
				d.value="0";
			}
		}
	}

}

function getCalendar(firstTime) {
	first=firstTime;
	tstamp=new Date().getTime();
	setPageSize();
	startRec=document.getElementById("low").value;
	if(startRec=='' || startRec==null) startRec=0;
	url="function=getCalendar";
	url+="&pagesize="+document.getElementById("pagesize").value;
	url+="&low="+startRec;
	url+="&first="+first;
	url+="&ms="+tstamp;
	//alert("testing getCalendar()... "+url);
	req1=createRequest();
	try {
		req1.open("POST",serverPage,true);
		req1.setRequestHeader(contentType,mimeType);
		req1.onreadystatechange=function() {
			if(req1.readyState==4) {
				if(req1.status==200) {
					doc=document.getElementById("widecontent");
					doc.innerHTML=req1.responseText;
				}
			}
		}
		req1.send(url);
	} catch(e) {
		alert("pageFunctions:getCalendar "+e);
	}
}

function updatePage() {
	if(req1.readyState==4) {
		if(req1.status==200) {
			document.getElementById(divId).innerHTML=req1.responseText;
			req1=createRequest();
		}
	}
}

function popUp() {
	var win=window.open('newjukebox.php','fpJukeBox','left=200,top=200,width=177,height=276,toolbar=0,resizable=0');
}

function fPod() {
	var win=window.open('newjukebox.php','fpJukeBox','left=200,top=200,width=177,height=276,toolbar=0,resizable=0');
}

function validateEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}

    if (str.indexOf(at,(lat+1))!=-1){
	    return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	}

	if (str.indexOf(dot,(lat+2))==-1){
	    return false
	}
		
	if (str.indexOf(" ")!=-1){
	    return false
	}

	return true					

}	

function setNewsletterSignup() {
	var url="function=newsletterSignup";
	var name=document.getElementById("signupName").value;
	var email=document.getElementById("email").value;
	if(name=="" || !validateEmail(email)) {
		doc=document.getElementById("message");
		doc.innerHTML="Name and valid email address required.";
		return
	}
	url+="&name="+name+"&email="+email;
	try {
		req=createRequest();
		req.open("POST",serverPage,true);
		req.setRequestHeader(contentType,mimeType);
		req.onreadystatechange=function() {
			if(req.readyState==4) {
				if(req.status==200) {
					window.location.href="/framework.php?pageid=137";
				}
			}
		}
		req.send(url);
	} catch(e) {
		alert("Error: pageFunctions.setNewsletterSignup() "+e);
	}
}

function createRequest() {
	try {
		XMLReq=new XMLHttpRequest();
	} catch (microsoft) {
		try {	
			XMLReq=new ActiveXObject("Msxml2.XMLHTTP");
		} catch(oldmicrosoft) {
			try {
				XMLReq=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (exception) {
				XMLReq=null;
			}
		}
	}
	if(XMLReq==null) {
		alert("Couldn't create xmlHttp request");
	}
	return XMLReq;
}

function sendRequest(r,t,qs,svrPg) {
	if(t=="GET") {
		r.open("GET",qs,true);
		r.onreadystatechange=updatePage;
		r.send(null);
	} else {
		r.open("POST",svrPg,true);
		r.onreadystatechange=updatePage;
		r.setRequestHeader(contentType,mimeType);
		r.send(qs);
	}
}

var req1=createRequest();
var req2=createRequest();
