function SetCookie (name, value, per, exp) {
cstr = name + "=" + escape(value) + ";"
if(per){
addtime=(exp>0) ? exp : 31536000000
expdate = new Date()
expdate.setTime(expdate.getTime() + addtime)
expdate = expdate.toGMTString()
cstr+=" expires=" + expdate
}
document.cookie = cstr
}

function highlight(field) {
	field.focus();
  field.select();
}

function toggle_fields(field, form1, form2, off_toggle) {
	if(field == 1)
	{
		if(document.getElementById(form1).style.display == "none")
		{
		  document.getElementById(form1).style.display="block";
		  document.getElementById(form2).style.display="none";
		}
	  else if(off_toggle < 1)
	  {
	  	document.getElementById(form1).style.display="none";
	  }
	}
  else
	{
		if(document.getElementById(form2).style.display == "none")
		{
		  document.getElementById(form1).style.display="none";
		  document.getElementById(form2).style.display="block";
		}
	  else if(off_toggle < 1)
	  {
	  	document.getElementById(form2).style.display="none";
	  }
	}
}

function toggle_details(change_id, columns) {
	var chng_id = 'c_'+change_id;
	var icon_id = 'i_'+change_id;
	var td_id = 'td_'+change_id;
	if(document.getElementById(chng_id).style.display == "none")
	{
	  for(i=1;i<=columns;i++)
	  {
	  	document.getElementById(td_id+'-'+i).style.borderBottom="0";
	  }

	  document.getElementById(chng_id).style.display="";
	  document.getElementById(icon_id).src="images/icon_contract.gif";
	}
  else
  {
	  for(i=1;i<=columns;i++)
	  {
	  	document.getElementById(td_id+'-'+i).style.borderBottom="1px dotted #008352";
	  }
		document.getElementById(chng_id).style.display="none";
		document.getElementById(icon_id).src="images/icon_expand.gif";
	}
}

function toggle_od() {
	if(document.getElementById('od_form').style.display == "none")
	{
	  document.getElementById('od_form').style.display="block";
	  document.getElementById('expcon').src="images/icon_contract.gif";
	}
  else
  {
		document.getElementById('od_form').style.display="none";
		document.getElementById('expcon').src="images/icon_expand.gif";
	}
}

function toggle_div(id) {
  if(document.getElementById(id).style.display == "none")
	{
	  document.getElementById(id).style.display="block";
	}
	else
	{
	 	document.getElementById(id).style.display="none";
	}
}

function colexp_div(id) {
  var div_id = 'div_'+id;
  var icon_id = 'icon_'+id;
  if(document.getElementById(div_id).style.display == "none")
	{
	  document.getElementById(div_id).style.display="block";
	  document.getElementById(icon_id).src = "images/icon_contract.gif";
		document.getElementById(icon_id).title = "Collapse";
	  
	}
	else
	{
	 	document.getElementById(div_id).style.display="none";
	 	document.getElementById(icon_id).src = "images/icon_expand.gif";
		document.getElementById(icon_id).title = "Expand";
	}
}

function showTab(newTab, numTabs) {
  for(i=1;i<numTabs+1;i++)
  {
  	if(i == newTab)
  		document.getElementById("tab"+i).style.display = "";
    else
    	document.getElementById("tab"+i).style.display = "none";
  }
}

function colexp_div(id) {
  var div_id = 'div_'+id;
  var icon_id = 'icon_'+id;
  if(document.getElementById(div_id).style.display == "none")
	{
	  document.getElementById(div_id).style.display="block";
	  document.getElementById(icon_id).src = "images/icon_contract.gif";
		document.getElementById(icon_id).title = "Collapse";
	  
	}
	else
	{
	 	document.getElementById(div_id).style.display="none";
	 	document.getElementById(icon_id).src = "images/icon_expand.gif";
		document.getElementById(icon_id).title = "Expand";
	}
}

function clear_radio(buttons) {
  for (i=0; i < buttons.length; i++)
  {
    if (buttons[i].checked == true) 
    {
    	buttons[i].checked = false
    }
  } 
}

function check_newcourse(form) {
  if(form.cname.value.length == 0)
  {
	  alert("Please enter a course name");
	  form.cname.focus();
	  return false;
  }
  if(form.type.value < 1)
  {
	  alert("Please choose the type of course this is.");
	  form.type.focus();
	  return false;
  }	 
  if(form.holes.value < 1)
  {
	  alert("Please select the number of holes this course has.");
	  form.holes.focus();
	  return false;
  }	 
  if(form.tees.value < 1)
  {
	  alert("Please select the number of tees this course has.");
	  form.tees.focus();
	  return false;
  }	 
  if(form.address.value.length == 0)
  {
	  alert("Please enter the address for this course.");
	  form.address.focus();
	  return false;
  }
  if(form.city.value.length == 0)
  {
	  alert("Please enter the name of the city this course is in.");
	  form.city.focus();
	  return false;
  }
  if(form.country.value == 0)
  {
	  alert("Please select the country this course is in.");
	  form.country.focus();
	  return false;
  }
  if((form.country.value > 0 && form.country.value < 3) && form.state.value == 0)
  {
	  alert("Please choose the state or province this course is in.");
	  form.state.focus();
	  return false;
  }
  if((form.country.value > 0 && form.country.value < 3) && form.zip.value.length == 0)
  {
	  alert("Please enter a zip/postal code for this course.");
	  form.zip.focus();
	  return false;
  }
  if(form.phone.value.length == 0)
  {
	  alert("Please enter the phone number for this course.");
	  form.phone.focus();
	  return false;
  }
}

function check_filelink(form, type) {
  if(form.title.value.length == 0)
  {
	  alert("Please enter a title.");
	  form.title.focus();
	  return false;
  }

  if(type == 1)
  {
    if(form.upload_file.value.length == 0)
    {
	    alert("Please browse for a file to upload.");
	    form.upload_file.focus();
	    return false;
    }
  }
  else
  {
    if(form.linkurl.value.length == 0 || form.linkurl.value == "http://")
    {
	    alert("Please enter a URL");
	    form.linkurl.focus();
	    return false;
    }
  }
}

function check_review(form) {
  if(form.rating.value == "")
  {
	  alert("Please enter a rating.");
	  form.rating.focus();
	  return false;
  }
  
  var review_length = form.pros.value.length + form.cons.value.length + form.other.value.length;
  
  if(review_length < 200)
  {
	  alert("Please enter a more descriptive review.  The more details and information you share, the more it will help other players!");
	  form.pros.focus();
	  return false;
  } 
}

function modifyimage(loadarea, imgindex, height, width){
if (document.getElementById){
imgarr_pos = imgindex;
var imgobj=document.getElementById(loadarea);
imgobj.innerHTML=returnimgcode(imgarray[imgindex], height, width);
return false;
}
}

function modifyinfo(cpnindex, courseid, pmode){
if (document.getElementById){
var capobj=document.getElementById('main_caption');
var datobj=document.getElementById('main_data');
datobj.innerHTML='<span class="right">Uploaded By: <a href="profile.php?id='+imgarray[cpnindex][4]+'">'+imgarray[cpnindex][5]+'</a></span>'+imgarray[cpnindex][3];
capobj.innerHTML=imgarray[cpnindex][6];

if(document.getElementById('updphoto'))
{
	var updobj=document.getElementById('updphoto');
	updobj.innerHTML='<a href="course.php?mode=uph&id='+courseid+'&pid='+imgarray[cpnindex][0]+'&pmode='+pmode+'">Update Photo Info.</a>';
}
return false;
}
}

function getNavPhoto(cid, direction)
{
  switch(direction)
  {
  	case '+':
			++imgarr_pos;
			if(imgarr_pos >= imgarray.length)
			{
				imgarr_pos = 1;
			}
  		modifyimage('main_image', imgarr_pos, imgarray[imgarr_pos][8], imgarray[imgarr_pos][9]);
  		modifyinfo(imgarr_pos, cid, 'gal');
  		break;
  	
  	case '-':
  		--imgarr_pos; 
			if(imgarr_pos < 1)
			{
				imgarr_pos = imgarray.length - 1;
			}
  		modifyimage('main_image', imgarr_pos, imgarray[imgarr_pos][8], imgarray[imgarr_pos][9]);
  		modifyinfo(imgarr_pos, cid, 'gal');
  		break;
  }
}

//
// Lat/Lon Stuff
//
roundto = 6;
function convertFromDMS (lat_d, lat_m, lat_s, lon_d, lon_m, lon_s) {
  var llobj=document.getElementById('latlon');
  var lllnkobj=document.getElementById('lllnk');
  
	if (lat_d == "") { lat_d = 0; }
	if (lat_m == "") { lat_m = 0; }
	if (lat_s == "") { lat_s = 0; }
	if (lon_d == "") { lon_d = 0; }
	if (lon_m == "") { lon_m = 0; }
	if (lon_s == "") { lon_s = 0; }

  lat = parseFloat(lat_d) + (parseFloat(lat_m)/60) + (parseFloat(lat_s) / 60 / 60);
  lon = parseFloat(lon_d) + (parseFloat(lon_m)/60) + (parseFloat(lon_s) / 60 / 60);
	
	lat = roundoff(lat, roundto);
	lon = roundoff(lon, roundto);
	
	lllnkobj.innerHTML='<a href="javascript:convertFromDDD('+lat+','+lon+');" title="Display in Degree Notation"><img src="images/icon_latlon" border="0" height="9" width="9"> Degree</a>';
	llobj.innerHTML=lat+', '+lon;
}

function convertFromDDD (lat, lon) {
	var llobj=document.getElementById('latlon');
	var lllnkobj=document.getElementById('lllnk');

	if (lat == "") { lat = 0; }
	if (lon == "") { lon = 0; }
	
	latd_orig = Math.floor(parseFloat(lat));
	latm_orig = Math.floor((parseFloat(lat) - Math.floor(parseFloat(lat))) * 60);
	latm_forsec = (parseFloat(lat) - Math.floor(parseFloat(lat))) * 60;
	lats_orig = (latm_forsec - Math.floor(latm_forsec)) * 60;
	
	latd_abs = Math.abs(parseFloat(lat));
	latd = Math.floor(latd_abs);
	latm = Math.floor((latd_abs - Math.floor(latd_abs)) * 60);
	latm_forsec = (latd_abs - Math.floor(latd_abs)) * 60;
	lats = Math.round((latm_forsec - Math.floor(latm_forsec)) * 60);
	
	lond_orig = Math.floor(parseFloat(lon));
	lonm_orig = Math.floor((parseFloat(lon) - Math.floor(parseFloat(lon))) * 60);
	lonm_forsec = (parseFloat(lon) - Math.floor(parseFloat(lon))) * 60;
	lons_orig = (lonm_forsec - Math.floor(lonm_forsec)) * 60;
	
	lond_abs = Math.abs(parseFloat(lon));
	lond = Math.floor(lond_abs);
	lonm_forsec = (lond_abs - Math.floor(lond_abs)) * 60;
	lonm = Math.floor((lond_abs - Math.floor(lond_abs)) * 60);
	lons = Math.floor((lonm_forsec - Math.floor(lonm_forsec)) * 60);
	
	lllnkobj.innerHTML='<a href="javascript:convertFromDMS(\''+latd_orig+'\',\''+latm_orig+'\',\''+lats_orig+'\',\''+lond_orig+'\',\''+lonm_orig+'\',\''+lons_orig+'\');" title="Display in Decimal Notation"><img src="images/icon_latlon" border="0" height="9" width="9"> Decimal</a>';
	
	if(latd_orig > 0) {
		ns = "N";
	} else {
		ns = "S";
	}
	if(lond_orig > 0) {
		ew = "E";
	} else {
		ew = "W";
	}

	llobj.innerHTML=latd+'&deg; '+latm+'\' '+lats+'" '+ns+', '+lond+'&deg; '+lonm+'\' '+lons+'" '+ew;
}

function roundoff(num,factor){
  num = parseFloat(num);
  factor = parseFloat(factor);
  num = Math.round(num * Math.pow(10,factor)) / Math.pow(10,factor);
  return num;
}