// JavaScript Document

function JS_urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}

function JS_CreatePopUp(id) {
	if(!document.getElementById(id)) {
	var divPopUp=document.createElement('div');
	divPopUp.setAttribute('id',id);
	document.body.appendChild(divPopUp);}
}

function JS_PositionDiv(obj,target,vpos,hpos,absol) {
	var curleft = curtop = 0;  
	if(vpos=='above') curtop-=(target.offsetHeight-obj.offsetHeight);
	else if(vpos=='mid') curtop-=(target.offsetHeight/2);
	else if(vpos=='below') curtop+=(obj.offsetHeight);
	else if(Number(vpos)>0) curtop+=Number(vpos);
	else if(Number(vpos)<0) curtop+=(obj.offsetHeight+Number(vpos));

	if(hpos=='left') curleft-=(target.offsetWidth);
	else if(hpos=='mid') curleft-=(target.offsetHeight/2);
	else if(hpos=='right') curleft += obj.offsetWidth;
	else if(Number(hpos)>0) curleft+=Number(hpos);
	else if(Number(hpos)<0) curleft+=(obj.offsetWidth+Number(hpos));

	if (obj.offsetParent) {
		do { curleft += obj.offsetLeft; curtop += obj.offsetTop; obj = obj.offsetParent
		} while (obj);
	}
	if(absol) {curtop+=document.body.scrollTop; target.style.position='absolute';}
	target.style.top=curtop+'px'; target.style.left=curleft+'px';
}

function JS_ShowHideScreen(Screen, Action) {
	 if(Action=="show") document.getElementById(Screen).style.display = 'block';
	 if(Action=="hide") document.getElementById(Screen).style.display = 'none';
}
function JS_MousePointer() {
		document.body.style.cursor='pointer';
}
function JS_MouseDefault() {
		document.body.style.cursor='default';
}

function JS_setSubSel(tab,base,total) {
var selection=tab.id.replace(base+'_tab_','');
for (var i=0;i<total;i++) {
	var div=document.getElementById('div_'+base+'_tab_'+i);
	if (i==selection){
		div.style.display = 'block'
		document.getElementById(base+'_tab_'+i).className='cell_silver_sm';
	} else {
		document.getElementById(base+'_tab_'+i).className='cell_copper';
		div.style.display = 'none';
	}
}
}

function JS_Tog(Toggle) {
var SectionName = Toggle.replace("tog", "");
var ToggleState = document.getElementById(Toggle).innerHTML;
var Section = "div" + SectionName;
	if (ToggleState.indexOf('+')>=0) {
		document.getElementById(Toggle).innerHTML = '[-]';
		document.getElementById(Section).style.display = 'block';
	} 
	if (ToggleState.indexOf('-')>=0) {
		document.getElementById(Toggle).innerHTML = '[+]';
		document.getElementById(Section).style.display = 'none';
	}
}

function JS_ShowSearch(obj,val,evt){ 
//first create div to hold search box
JS_CreatePopUp('divKwBox')
var JS="JS_ShowHideScreen('divKwBox','hide');";
var target=document.getElementById('divKwBox');
target.innerHTML='<table width="451" border="0" cellspacing="0" cellpadding="0"><tr><td width="421" class="txt_med" style="color:#FFFFFF">&nbsp;</td><td width="30" height="24" align="right" valign="middle"><a href="javascript:void(0);" onclick="'+JS+'" class="txt_sm" style="text-decoration:none"><img border="0" src="/cos/images/btn_close.gif" height="14" /></a>&nbsp;</td></tr></table><div id="divKwResult" style="height:166px; overflow:auto;"></div>';

target.style.display='block';
inputbox=obj;
JS_PositionDiv(obj,target,'below','')

//then show info based on input
if(evt){
if (evt.keyCode==27 && evt.type=='keyup') {//Escape key
	inputbox.value=''; target.style.display='none';}
else if (evt.type=='keyup') {//any other key up event
	JS_LoadSearchInfo(val);
}
//Return key
if ((evt.keyCode==13 || evt.keyCode==9)) document.getElementById('frmSearchEvent').value='ret'; 
else document.getElementById('frmSearchEvent').value='';
}
else { //if not an event	
	JS_LoadSearchInfo(val);
}
}

function JS_LoadSearchInfo(kw) {
	var url="/cos/tools/x_search.php?gvKW="+JS_urlencode(kw);
	var type='search_data'
	JS_GetDocData(url,type);
}

function JS_ReceiveSearchData(docdoc) {
	document.getElementById('divKwResult').innerHTML=docdoc.responseText;
}
	
function JS_GetEventList(pg,ev,dateA,dateB) {
	var base=document.getElementById("frmListBasis").value
	var ref=document.getElementById("frmListRef").value
	if(dateA) document.getElementById("frmDateA").value=dateA;
	else dateA=document.getElementById("frmDateA").value;
	if(dateB) document.getElementById("frmDateB").value=dateB;
	else dateB=document.getElementById("frmDateB").value;
	var url="/cos/x_eventlist.php?gvListBasis="+base+"&gvPg="+pg+"&gvListRef="+ref+"&gvEvtVar="+ev+"&gvDateA="+dateA+"&gvDateB="+dateB;
	var type='event_list'
	JS_GetDocData(url,type);
}

function JS_ReceiveEventList(docdoc) {
	document.getElementById('locEventList').innerHTML=docdoc.responseText;
}

function JS_RetMonth(mo) {
	var month_name=new Array(12);
	month_name[0]="January";
	month_name[1]="February";
	month_name[2]="March";
	month_name[3]="April";
	month_name[4]="May";
	month_name[5]="June";
	month_name[6]="July";
	month_name[7]="August";
	month_name[8]="September";
	month_name[9]="October";
	month_name[10]="November";
	month_name[11]="December";
	
	return month_name[mo-1];
}
function JS_RetDay(da) {
	var day_name=new Array(7);
	day_name[0]="Sunday";
	day_name[1]="Monday";
	day_name[2]="Tuesday";
	day_name[3]="Wednesday";
	day_name[4]="Thursday";
	day_name[5]="Friday";
	day_name[6]="Saturday";
	
	return day_name[da];
}
function JS_FormatDate(val) {
	var myDate = new Date(val);
	var mo=myDate.getMonth()+1; if(mo<10) mo='0'+mo;
	var yr=myDate.getYear(); if(yr<1000) yr+=1900;
	var da=myDate.getDate(); if(da<10) da='0'+da;

	if (yr>0 && yr<3000 && mo>0 && mo<13 && da>0 && da<32) return yr+'-'+mo+'-'+da;
	else return;
}
function JS_SetPullDown(id,val) {
	frm=document.getElementById(id);
	opts=frm.getElementsByTagName('option');
	for(var i=0;i<opts.length;i++){
		if (opts[i].value==val)  opts[i].selected='selected';}	
}
function JS_ReadPullDown(id) {
	frm=document.getElementById(id);
	opts=frm.getElementsByTagName('option');
	var text='';
	for(var i=0;i<opts.length;i++){
		if (opts[i].selected)  text=opts[i].innerHTML}
	return text;
}
function JS_SetRadio(name,val) {
	opts=document.getElementsByTagName('input');
	for(var i=0;i<opts.length;i++){
	if (opts[i].name==name) {	
		if (opts[i].value==val)  opts[i].checked='checked';
		else opts[i].checked='';
	}}
}
function JS_ReadRadio(name) {
	opts=document.getElementsByTagName('input');
	var sel='';
	for(var i=0;i<opts.length;i++){
		if (opts[i].name==name && opts[i].checked)  sel=opts[i].value;
	}
	return sel;
}

function JS_CheckNewUser() {
	if (document.getElementById('pNewPW').value!=document.getElementById('pNewPW2').value)
		alert('Your password does not match the confirmed password');
	else if(document.getElementById('pNewPW').value.length<5)
		alert('Passwords need to be at least 5 characters long');
	else {
	document.forms["frmNewUser"].submit();
	}
}

function JS_ReceiveCheckID(docdoc) {
	document.getElementById('loc_check_id').innerHTML=docdoc.responseText;
}

function JS_ReceiveLogin(docdoc) {
	document.getElementById('divNavBar').innerHTML=docdoc.responseText;
}


function JS_MapSel(sec){
	JS_CreatePopUp('divMapText');
	target=document.getElementById('divMapText');
	var obj=sec; 
	var coor=sec.coords.split(',');
		
	var curleft = curtop = 0; curtop+=(1*coor[1]); curleft-=0; 
	if (obj.offsetParent) {
		do { curleft += obj.offsetLeft; curtop += obj.offsetTop; obj = obj.offsetParent
		} while (obj);
	}
	target.style.display='block';
	target.innerHTML=sec.alt;
	curtop-=target.offsetHeight
	target.style.top=curtop+'px'; target.style.left=curleft+'px';
}

function JS_MapUnSel(){
	target=document.getElementById('divMapText');
	target.style.display='none';
}

function JS_Email(basis,ref){
if (document.getElementById('frmUserID')) {
	url='/cos/tools/p_email.php?gvBasis='+basis+'&gvRef='+ref;
	JS_GetDocData(url,'popup_frame')
	}

else alert("To send an email to someone from our server, you need to be logged into an account (in order to manage spam issues and such). Sorry for any inconvenience. Thank you.");
}

function JS_HistoryScreen(base,ref) {
	var url="/cos/tools/p_history.php?gvRef="+ref+"&gvBase="+base;
	var type='popup_frame'
	JS_GetDocData(url,type);
}

function JS_ReviewScreen(ent) {
	var url="/cos/tools/p_reviews.php?gvEnt="+ent;
	var type='popup_frame'
	JS_GetDocData(url,type);
}

function JS_GetMenu(id) {
	var url="/cos/x_menubox.php?gvMenu="+id;
	var type='basic_target'
	var target='loc_menubox'
	JS_GetDocData(url,type,target);
}


