// Common JavaScript code for Gravity Switch Universes

// The MM_ functions are Dreamweaver (MacroMedia) thingies:
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function gsSetCookie(c, val)
{
  document.cookie = c + "=" + escape(val);    
}

// 
// This is used for lightweight UI stuff; example usage:
//   <a href="javascript: gsDoTask('task=moveWidgetUp')">Edit</a>
// Pass in a url-type query string.
//
function gsDoTask(args)
{
  // Set gsT cookie:

  gsSetCookie('gsT', args);
  location.replace(location.href);  // Reload page, without affecting history
}

function gsRememberValue(element)
{
  element.gsPrevValue = element.value;
}

function gsChangeWidgetStatus(element, widgetID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this item?')) {
      element.value = element.gsPrevValue;
      return;
    }
  }
  if (widgetID > 0) {
    gsDoTask("featureName=gsWebPage&task=changeWidgetStatus&widgetStatus="+newStatus+"&widgetID="+widgetID);
  }
}

function gsChangeSiteStatus(element, siteID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this site?')) {
      element.value = element.gsPrevValue;
      gsDoTask("featureName=gsSites&task=manageSites");
      return;
    }
  }
  if (siteID > 0) {
    gsDoTask("featureName=gsSites&task=manageSites&statusSiteID="+siteID+"&newSiteStatus="+newStatus);
  }
}

function gsChangeEventStatus(element, eventID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this Event?')) {
	  element.value = element.gsPrevValue;
      gsDoTask("featureName=gsEvent&task=manageEvents");
      return;
    }
  }
  if (eventID > 0) {
    gsDoTask("featureName=gsEvent&task=manageEvents&statusEventID="+eventID+"&newEventStatus="+newStatus);
  }
}

function gsChangeNewsStatus(element, newsID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this News?')) {
	  element.value = element.gsPrevValue;
      gsDoTask("featureName=gsNews&task=manageNews");
      return;
    }
  }
  if (newsID > 0) {
    gsDoTask("featureName=gsNews&task=manageNews&statusNewsID="+newsID+"&newNewsStatus="+newStatus);
  }
}

function gsChangeGalleryItemStatus(element, itemID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this gallery item?')) {
	  element.value = element.gsPrevValue;
      return;
    }
  }
  if (newsID > 0) {
    // This might get implemented when a Manage Gallery Items screen is done...
    alert("ChangeGalleryItemStatus immediate unimplemented.");
  }
}

function gsChangePageStatus(element, pageID, newStatus, deleteStatus) {
  if (newStatus == deleteStatus) {
    if (!confirm('Are you sure you want to delete this page?')) {
      element.value = element.gsPrevValue;
      return;
    }
  }
  if (pageID > 0) {
    alert("ChangePageStatus immediate unimplemented.");
//    gsDoTask("featureName=gsSites&task=manageSites&statusSiteID="+siteID+"&newSiteStatus="+newStatus);
  }
}

function toggleAdvanced(object) {
  var advanced = document.getElementById(object);
    if (advanced.style.display == 'none')
         show(object);
    else 
        hide(object);
}

function show(object) {
   var advanced = document.getElementById(object);
   advanced.style.display = 'block';
}

function hide(object) {
    var advanced = document.getElementById(object);
   advanced.style.display = 'none';
}

// --- preload functions:
function newImage(arg) {  
     if (document.images) {
          rslt = new Image();
          rslt.src = arg;
          return rslt;
     }
}

// Pass css style sheet to use, if you wanna style it:
function quickTipWindow(){
	//create the string for the open window
	quickTipString =  "<html>\n<head>\n<title>HTML Quick Tips</title>\n";
    if (quickTipWindow.arguments.length > 0) {
    	quickTipString += "<style type='text/css' media='all'>@import'"+quickTipWindow.arguments[0]+"';</style>\n";
    }
	quickTipString += "</head>\n<body name='admin' id='admin' style='margin:20px; background-color:#fff;' onLoad='this.window.focus();'>\n";
	quickTipString += "<center><div style='text-align:left;'><h2>HTML Quick Tips</h2>\n";
	quickTipString += "<p style='margin-left:10px;'>&lt;b&gt;bold&lt;/b&gt;<br>\n";
	quickTipString += "example: &lt;b&gt;<b>More about Us</b>&lt;/b&gt;</p>";
	quickTipString += "<p style='margin-left:10px;'>&lt;i&gt;italics&lt;/i&gt;<br>\n";
	quickTipString += "example: &lt;i&gt;<i>More about Us</i>&lt;/i&gt;</p>\n";
	quickTipString += "<p style='margin-left:10px;'>&lt;img&gt;images<br>\n";
	quickTipString += "example: &lt;img	src='http://www.gravityswitch.com/images/logo.gif' height='45'	width='553' alt='Logo' &gt;</p>\n";
	quickTipString += "<p style='margin-left:10px;'>&lt;a&gt;links<br />\n";
	quickTipString += "example: &lt;a href='http://www.gravityswitch.com/about/'&gt;<a href='http://www.gravityswitch.com/about/'>More about Us</a>&lt;/a&gt;</p>\n";
	quickTipString += "<p style='margin-left:10px;'>&lt;a&gt;link opens in new window<br />\n";
	quickTipString += "example: &lt;a href='http://www.gravityswitch.com/about/' target='_blank'&gt;<a href='http://www.gravityswitch.com/about/' target='_blank'>More about Us</a>&lt;/a&gt;</p>\n";
	quickTipString += "\n</div></center>\n</body>\n</html>\n";
	//open the window
	newWindow = window.open('','QuickTips','width=500,height=400');
	newWindow.document.write(quickTipString);
	newWindow.document.close();
}

function gsImageWindow(url, width, height, alt, title) {
  var attributesList = "toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=no,width="+(width+30)+",height="+(height+60);
  var imageWindow = window.open('','image',attributesList);

  var d = imageWindow.document;
  d.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'+"\n");
  d.write('<html>'+"\n");
  d.write('<head>'+"\n");
  d.write('<title>'+title+'</title>'+"\n");
  d.write('</head>'+"\n");
  d.write('<body>'+"\n");
  d.write('<img src="'+url+'" alt="'+alt+'"><br />'+"\n");
  d.write('<p align="center">'+"\n");
  d.write('<font face="verdana,geneva,arial,sans-serif" size="-1" color="#336699">'+"\n");
  d.write('<a href="javascript:window.close();">close window</a>'+"\n");
  d.write('</font></p>'+"\n");
  d.write('</body>'+"\n");
  d.write('</html>'+"\n");
  d.close();

  imageWindow.focus();
}

