
/**
 * @author crayne
 */

var previousTabLabel = "";

var webPageTree = null;
var treeController;
var generalGroupNode;
var webstakkTitleNode;
var selectedNodeIndex = -1;  //The node that has been clicked on (either by user or by program)
var previousTreeNode = null;

var linkString0 = "<a class=textnodetab style='white-space:normal' onclick='siteEdit(";
var linkString1 = ");' width='20px'>";
var linkString2 = "</a>";
var linkString3 = "&nbsp;&nbsp;<IMG  class = textnodelink  height=13 src='/images/icon_delete.gif' width=14 border=0 style='cursor:pointer' onmouseup='siteDelete(";
var linkString4 = ");'></IMG >";
var editWebstakkId = null;

/*
single quotes are coded as &#01;
double quotes are coded as &#02;
*/

function convertToInternalQuotes(t) {
	t = t.replace(/\'/g, "&#01;");
	t = t.replace(/\"/g, "&#02;");
	return t;
}

function convertToExternalQuotes(t) {
	t = t.replace(/\x01/g, "\'");
	t = t.replace(/\x02/g, "\"");
	return t;
}

function getTheDate() {
 var currentDate = new Date()
  var day = currentDate.getDate()
  var month = currentDate.getMonth() + 1;
  var year = currentDate.getFullYear()
  var theDate =  month + "/" + day + "/" + year;
  return theDate;

}

function init() {
	previousTabLabel = "";
	//New Webstakk
	if (editWebstakkId == null) {
		var thisDate = document.getElementById("dateCreated");
		thisDate.childNodes[0].nodeValue = getTheDate();
		if (typeof userName != "undefined" && editWebstakkId == null) {
        	var author = document.getElementById("rightAuthor");
			author.childNodes[0].nodeValue = userName;
		}
		createTree();
	}
	//Editing old Webstakk
	else {
		getWebstakkToEdit();
		editWebstakkId = null;
	}
	//populateGroupComboBox();
}

function WebsiteObject(url, tabLabel, comments, spring, websiteCount, id) {
	this.url = url;
	this.tabLabel = tabLabel;
	this.comments = comments;
	this.websiteCount = websiteCount;
	this.spring = spring;
	this.id = id;
	
}

var currentWebsiteCount = 0.0; 
var currentGroup = "General";

var Websites = new Array();

function clearHiddenFormFields() {
	document.getElementById("date").value = "";
	for (i=0; i<7; i++) {
		var inc = i + 1;
		var fieldId = "tab" + inc;
		document.getElementById(fieldId).value = "";
		fieldId = "url" + inc;
		document.getElementById(fieldId).value = "";
		fieldId = "comments" + inc;
		document.getElementById(fieldId).value = "";
		fieldId = "sping" + inc;
		document.getElementById(fieldId).value = "";
		fieldId = "codTab" + inc;
		document.getElementById(fieldId).value = "-1";
		
	}
	
}

function putDataIntoHiddenForm(newWebsites, type){
	var numWebsites;
	var date = document.getElementById("dateCreated").childNodes[0].nodeValue;
	document.getElementById("date").value = date;
	document.getElementById("author").value = document.getElementById("rightAuthor").childNodes[0].nodeValue;
	if (type == "") numWebsites = currentWebsiteCount;
	else numWebsites = 1;
	for (i=0; i<numWebsites; i++) {
		var inc = i + 1;
		var fieldId = "tab" + inc;
		document.getElementById(fieldId).value = newWebsites[i].tabLabel;
		fieldId = "url" + inc;
		document.getElementById(fieldId).value = newWebsites[i].url;
		fieldId = "comments" + inc;
		document.getElementById(fieldId).value = newWebsites[i].comments;
		fieldId = "sping" + inc;
		if (newWebsites[i].spring == true) {
			document.getElementById(fieldId).name = fieldId;
			document.getElementById(fieldId).value = true;
		}
		else {
			document.getElementById(fieldId).name = "";
		}
		fieldId = "codTab" + inc;
		document.getElementById(fieldId).value = newWebsites[i].id;
		
	}
}

function refreshTableFromTree(tabLabel) {
	var newWebsites;
	var treeNodes = webstakkTitleNode.children;
	var linkString;
	var thisWebsite;
	var blankIndex;
	var thisTitle;
	var i;
	if (tabLabel == "") {
		newWebsites = new Array(currentWebsiteCount);
		for (i=0; i<treeNodes.length; i++ ){
			linkString = treeNodes[i].title;
			leftBracketIndex = linkString.indexOf("<", 1); //Bypass the first character, which is "<"
			rightBracketIndex = linkString.indexOf(">");
			thisTitle = linkString.substring(rightBracketIndex+1,leftBracketIndex);
			thisWebsite = findWebsite(thisTitle);
			newWebsites[i] = thisWebsite;
		}
	}
	else {
		newWebsites = new Array(1);
		thisWebsite = findWebsite(tabLabel);
		newWebsites[0] = thisWebsite;
		
	}
   return newWebsites;
	
}
//type = tabLabel for tree node test or blank for full preview
function prepareToPreview(type){
	var newWebsites;
	newWebsites = refreshTableFromTree(type);
	clearHiddenFormFields();
	putDataIntoHiddenForm(newWebsites, type);
	previewWebstakk();
}


function prepareToSave() {
	var newWebsites;
	var editId = document.getElementById("editingWebstakkId").value;
	if (editId > 0) {
		var rtn = openDialog("Are you sure?  This edited version will replace your previous webstakk.", prepareToSave1,2);
	}
	else prepareToSave1();
}

function prepareToSave1() {
	newWebsites = refreshTableFromTree("");
	clearHiddenFormFields();
	newWebsites = sortWebsitesBySiteId(newWebsites);
	putDataIntoHiddenForm(newWebsites, "");
	saveWebstakk();	

}

function trim(stringToTrim) {
	if (stringToTrim == "") return stringToTrim;
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}


function saveWebstakkFramebreak(){
	//Need to get parameters for url -- document here is "view.php"
	var iframes = document.getElementsByTagName("iframe");
	var numSites = iframes.length;
	var i = 0;
	var titleNode = document.getElementById("title").childNodes[0];
	var title;
	if (typeof titleNode == "undefined"){
		title = "";
	}
	else {
		title = titleNode.nodeValue;
	}
	if (title == null) title = "";
	title = trim(title);
	var parameters = "?title=" + title + "&numTabs=" + numSites;
	for (i=0; i<numSites; i++) {
		var tabString = "tab" + i ;
		var tabValue = document.getElementById(tabString).childNodes[2].nodeValue;
		tabString = "tab" + (i+1);
		parameters += "&" + tabString + "=" + tabValue;
		var urlString = "url" + i;
		var urlValue = iframes[i].src;
		urlString = "url" + (i+1);
		parameters += "&" + urlString + "=" + urlValue;
		
	}
	
	location.href = "save_framebreaker.php" + parameters;
	
}

function sortWebsitesBySiteId(sites) {
	//Make an array of just the ids that are above 0
	var idArray = new Array();
	var num = 0;
	for (i=0; i<sites.length; i++) {
		if (sites[i].id > 0) {
			idArray[num] = sites[i].id;
			num++;
		}
	}
	//Sort the id array
	idArray.sort();
	//Go through site array and give each site with positive id a new id from the sorted id array
	//Leave the sites with negative ids alone
	num = 0;
	for (i=0; i<sites.length; i++) {
		if (sites[i].id > 0) {
			sites[i].id = idArray[num];
			num++;
		}
	}
	
	return sites;
	
}

function isDuplicateTabLabel(thisLabel){
	var i;
	for (i=0; i<currentWebsiteCount; i++ ){
		if (thisLabel == Websites[i].tabLabel) return "yes";
	}
	return "no";
}

//get base root from extended root
function getRootUrl(root) {
//Now go backwards and get only the last two segments:  ex:  glub.xxx.com becomes xxx.com
	var lastDotPos = root.lastIndexOf(".");
	var nextDotPos = root.lastIndexOf(".", lastDotPos-1);
	//If there is only one dot, nothing gets stripped from the front
	if (nextDotPos != -1){
		root = root.substr(nextDotPos+1);
	}
	return root;
	
}

function getExtendedRootUrl(url) {
	var root = url;
	//strip http://, https://, http://www., https://www., or www from the front of the url
	if (root.substr(0,8) == "https://") {
		root = root.substr(8);
	}
	else if (root.substr(0,7) == "http://") {
		root = root.substr(7);
	}
	if (root.substr(0,4) == "www\."){
		root = root.substr(4);
	}
	//first slash?
	var firstSlash = root.indexOf("/");
	if (firstSlash != -1) {
		root = root.substr(0, firstSlash);
	}
	var firstQ = root.indexOf("?");
	if (firstQ != -1) root = root.substr(0, firstQ);
	return root;

	
	
}

function isWebsiteAFramebreaker(url) {
	if (url.indexOf(".") == -1) return false;
	var urlExtendedRoot = getExtendedRootUrl(url);
	var urlRoot = getRootUrl(urlExtendedRoot);
	//alert("urlRoot = " + urlRoot);
	//alert("urlExtendedRoot = " + urlExtendedRoot);
	initAjax();
	var result = sendAndReceiveAjax("search_framebreaker.php?url=" + url + "&urlRoot=" + urlRoot + "&urlExtendedRoot=" + urlExtendedRoot);
	//alert ("result = " + result);
	if (result == 1) return true;
	else return false;
	
}

//Don't allow duplicate tab labels or blank urls
//when editing a previously-made website, if tabLabel has changed, don't make a new website -- replace the old one!

function saveWebsiteInWebstakk(){
	if (previousTabLabel == "" && currentWebsiteCount == 7) {
		openDialog("The maximum number of websites in a webstakk is 7");
		return;
	}
	labelElem = document.getElementById("tabLabel");
	var tabLabel = labelElem.value;
	tabLabel = tabLabel.substr(0, 54);  //limit to 3 lines
	var b = isDuplicateTabLabel(tabLabel);
	if (b == "yes" && previousTabLabel == "") {
		openDialog("A website in this Webstakk already has this name","",1);
		return;
	}
	//  Need to make this field "required"
	if (tabLabel == ""){
			openDialog("Tab Label is required","",1);
			return;
	}
	
	urlElem = document.getElementById("url");
	var url = urlElem.value;
	if (url == "") {
		openDialog("Url is required","",1);
		return;
	}
	commentsElem = document.getElementById("comments");
	var comments = commentsElem.value;
	
	var springElem = document.getElementById("spring");
	var spring = springElem.checked;
	
	//Look in the database to see if this website is a framebreaker
	if (spring == false) {
		var b = isWebsiteAFramebreaker(url);
		if (b == true) {
			openDialog("The website " + url + " cannot be used in a webstakk without checking the 'spring out' box","",1);
			return;
		}
	}
	
	if (previousTabLabel == "") {
		Websites[currentWebsiteCount] = new WebsiteObject(url, tabLabel, comments, spring, currentWebsiteCount, -1);
		currentWebsiteCount += 1;
		addSiteToTree(url, tabLabel, spring, currentWebsiteCount);
		
	}
	else {
		var index = findWebsiteIndex(previousTabLabel);  //Use previousTabLabel, because current tabLabel might have changed
		Websites[index].url = url;
		Websites[index].tabLabel = tabLabel;
		Websites[index].comments = comments;
		Websites[index].spring = spring;
		replaceSiteInTree(previousTabLabel, tabLabel);
	}
	clearWebsiteForm();
}


function clearWebsiteForm(){
		labelElem = document.getElementById("tabLabel");
	    labelElem.value = "";
		var urlElem = document.getElementById("url");
		urlElem.value = "";
		var commentsElem = document.getElementById("comments");
		commentsElem.value = "";
		var springElem = document.getElementById("spring");
		springElem.checked = false;
		previousTabLabel = "";	
}

function editWebsite(w){
	document.getElementById("tabLabel").value = w.tabLabel;
	previousTabLabel = w.tabLabel;
	document.getElementById("url").value = w.url;
	document.getElementById("comments").value = w.comments;
	document.getElementById("spring").checked = w.spring;
	//alert("In editWebsite, spring value is: " + w.spring);
}

function findWebsite(tabLabel) {
	var i;
	for (i=0; i<Websites.length; i++){
		if (Websites[i].tabLabel == tabLabel) return Websites[i];
	}
	return null;
}

function findWebsiteIndex(tabLabel) {
	var i;
	for (i=0; i<Websites.length; i++){
		if (Websites[i].tabLabel == tabLabel) return i;
	}
	return -1;
}


function siteEdit(tabLabel) {
	//alert("In siteEdit, tabLabel = " + tabLabel);
	var externalTabLabel = convertToExternalQuotes(tabLabel);
	var w = findWebsite(externalTabLabel);
	previousTabLabel = tabLabel;
	editWebsite(w);
}

function siteTest(tabLabel) {
	var w = findWebsite(tabLabel);
	prepareToPreview(tabLabel);
}

function siteDelete(tabLabel) {
	var externalTabLabel = convertToExternalQuotes(tabLabel);
	var index = findWebsiteIndex(externalTabLabel);
	var treeNodes = webstakkTitleNode.children;
	selectedNodeIndex = -1;
	var treeIndex = deleteWebsite(externalTabLabel);
	if (currentWebsiteCount == 0) return;
	if (treeIndex >= currentWebsiteCount) treeIndex -= 1;
	if (treeIndex < 0) return;
	selectTreeNode(treeNodes[treeIndex].domNode);
	selectedNodeIndex = treeIndex;
	
}


function siteClick(tabLabel) {

}



function deleteWebsite(tabLabel) {
	webPageTree.controller = "treeController";
	var treeNodes = webstakkTitleNode.children;
	var i;
	var treeIndex;
	for (i=0; i<treeNodes.length; i++) {
		if (treeNodes[i].title.indexOf(tabLabel) != -1) {
			treeIndex = i;
			break;
		}
	}
	
	treeController.removeNode(webstakkTitleNode.children[treeIndex]);
	currentWebsiteCount -= 1;
	Websites = refreshTableFromTree("");
	return treeIndex;
}

function createTree() {
	var parent = document.getElementById("treeTable");
	
	treeController = dojo.widget.createWidget("TreeBasicController",	{id: "treeController"});
	webPageTree = dojo.widget.createWidget("Tree", {widgetId: "webstakkTreeWidget", DNDMode:"between,onto",
DNDAcceptTypes:["webstakkTreeWidget"],  actionsDisabled: ["addChild"] });
	
	//var groupName = document.getElementById("group").value; debugging only
	var groupName = "General";
	var userid = document.getElementById("userid").value;
	if (userid == "") groupName = "WEBSTAKK";
	var groupTitleString = '<a class=textgroup colspan=2 id=groupNameNode>' + groupName + '</a>';
	//alert("titleString = " + titleString);
	/*
	The "actionsDisabled" here works -- but it needs to be in this weird array format
	actionsDisabled: "addChild" does not work
	*/
	generalGroupNode = dojo.widget.createWidget("TreeNode",	{title: groupTitleString, isExpanded: true,actionsDisabled: ["addChild"] });
	
	webPageTree.addChild(generalGroupNode);   
	
	var webstakkTitle = document.getElementById("title").value;
	if (webstakkTitle == "") webstakkTitle = "Title";
	webstakkTitleString =  '<a class=texttitle colspan=2 id=webstakkTitleNode>' + webstakkTitle + '</a>';
	/* 
	actionsDisabled still does not work here 
	Perhaps it is because the parent of the node being dropped is the same as the node we are dropping onto.  See TreeDragAndDrop.js
	
	*/
	webstakkTitleNode = dojo.widget.createWidget("TreeNode",	{title: webstakkTitleString, isExpanded: true,actionsDisabled: ["addChild"]});
	generalGroupNode.addChild(webstakkTitleNode);
		
	parent.appendChild(webPageTree.domNode);
	//var treeDomNode = webPageTree.domNode;
	
	
	if (webstakkTitle == "Title") {
		document.getElementById("webstakkTitleNode").style.visibility = "hidden";
	}
	
}

function makeHTMLForTabLabel(externalTabLabel) {
	var qq = "\"";
	var internalTabLabel = convertToInternalQuotes(externalTabLabel);
	var quotedInternalTabLabel = qq + internalTabLabel + qq;
	var titleString = linkString0 + quotedInternalTabLabel + linkString1 + externalTabLabel + linkString2 + linkString3 + quotedInternalTabLabel + linkString4;
   return titleString;
	
}



function selectTreeNode(element) {
	//click on anchor
	if (navigator.userAgent.indexOf("Firefox") != -1) {
		element.childNodes[3].childNodes[1].childNodes[0].myClick();
	}
	else {
		element.childNodes[3].childNodes[1].childNodes[0].click();
	}
	
}

function addSiteToTree(url, tabLabel, spring, currentWebsiteCount) {
	
	if (webPageTree == null) {
		createTree();
		
	}
	
	var titleString = makeHTMLForTabLabel(tabLabel);
   
	var node = dojo.widget.createWidget("TreeNode",	{title: titleString, actionsDisabled: [ ""]});
	node.markSelected = function() {
		dojo.html.addClass(node.titleNode, 'myDojoTreeNodeLabelSelected');
	},
	webstakkTitleNode.addChild(node);
	//selectTreeNode(node.domNode);
	
}

function replaceSiteInTree(oldTabLabel, newTabLabel){
	var treeNodes = webstakkTitleNode.children;
	var i;
	
	var nodeToReplace = -1;
	
	for (i=0; i<treeNodes.length; i++ ){
		var compareString = 'siteEdit(\"' + oldTabLabel + '\")';
		if (treeNodes[i].title.indexOf(compareString) != -1){
			nodeToReplace = i;
			break;
		}
	}
	//alert("nodeToReplace = " + nodeToReplace);
	//alert("treeNodes[nodeToReplace] = " + treeNodes[nodeToReplace]);
	//alert("first node title is: " + treeNodes[nodeToReplace].title);
	//treeNodes[0].title = "glurb";
	webstakkTitleNode.removeNode(treeNodes[nodeToReplace]);
	
	var titleString = makeHTMLForTabLabel(newTabLabel);
	var node = dojo.widget.createWidget("TreeNode",	{title: titleString});
	webstakkTitleNode.addChild(node,nodeToReplace);

}


//doesn't work in firefox -- keeps dragging
function nodeClick(evt) {
	evt.stopPropagation();

	
	alert("In nodeClick, evt = " + evt);
}

function transferAuthor(){
	var rightText = document.getElementById("rightAuthor").childNodes[0].nodeValue;
	document.getElementById("leftAuthor").childNodes[0].nodeValue = rightText;
	if (rightText == "") {
		document.getElementById("leftAuthor").style.visibility = "hidden";
		document.getElementById("leftAuthor").childNodes[0].nodeValue = ".";
	}
	else {
		document.getElementById("leftAuthor").style.visibility = "visible";
	}
}

getComputedOrCurrentStyle = function(_elem, _style)
{
  var computedStyle;
  if (typeof _elem.currentStyle != 'undefined')
    { computedStyle = _elem.currentStyle; }
  else
    { computedStyle = document.defaultView.getComputedStyle(_elem, null); }

  return computedStyle[_style];
}



function transferTitle(){
	var rightText = document.getElementById("title").value;
	var leftTextNode = document.getElementById("webstakkTitleNode");
	//Make left text invisible by setting text color to background color
	if (rightText == "") {
		leftTextNode.style.visibility = "hidden";
		leftTextNode.childNodes[0].nodeValue = "Title";
		return;
	}
	else {
		leftTextNode.style.visibility = "visible";
		leftTextNode.childNodes[0].nodeValue = rightText;
	}
}

function transferGroup(){
	var elem = document.getElementById("group");
	var w = elem.selectedIndex;
	if (elem.options[w].value == 0) {
		getNewGroupName();
		return;
	}
	var rightText = elem.options[w].text;
	var node = document.getElementById("groupNameNode");
	node.childNodes[0].nodeValue = rightText;
	
}

function getNewGroupName() {
	var userid = document.getElementById("userid").value;
	changeGroup1(-1, userid);
}

function connectToDB() {
	var con = mysql_connect("localhost:/tmp/mysql.sock","webstakk","pass");
	if (!con)
	{
		alert("Cannot connect to database");
		return 0;
	}
	mysql_select_db("webstakk_webstakk", con);

	return con;	
}

function makeHeaderFromExistingWebstakk(header) {
	var thisDate = document.getElementById("dateCreated");
	thisDate.childNodes[0].nodeValue = header[0];
	document.getElementById("rightAuthor").childNodes[0].nodeValue = header[1];
	document.getElementById("title").value = header[2];
	document.getElementById("description").value = header[3];
	var i;
	//return group name
	return (header[6]);

}

function putFirstWebsiteIntoForm(tabLabel, url, spring, comments) {
	labelElem = document.getElementById("tabLabel");
	labelElem.value = tabLabel;
	
	urlElem = document.getElementById("url");
	var url = urlElem.value = url;
	
	commentsElem = document.getElementById("comments");
	var comments = commentsElem.value = comments;
	
	var springElem = document.getElementById("spring");
	springElem.checked = spring;
	
	previousTabLabel = tabLabel;
	

}

//First line format: date#author#title#description#cus#userid;
//Format for subsequent lines: 
//	i#url#title#comments#sping#cd_url;
function transferEditWebstakkInfoToPage(result){
	//alert("result = " + result);
	var d1 = "87462";
	var d2 = "38607";
	var lines = result.split(d2);
	var header = lines[0].split(d1);
	var groupName = makeHeaderFromExistingWebstakk(header);
	currentWebsiteCount = 0.0;
	for (i=1; i<lines.length - 1; i++) {
		//alert("line = " + lines[i]);
		var website = lines[i].split(d1);
		makeEditWebsiteEntry(website[0], website[1], website[2], website[3], website[4], website[5]);
		// if (i == 1) putFirstWebsiteIntoForm(website[2], website[1], website[4], website[3]);
	}
	populateGroupComboBox();
	selectGroupOption(groupName);
	
}

//Make a WebsiteObject for each entry
function makeEditWebsiteEntry(i, url, title, comments, spring, websiteId){
	Websites[currentWebsiteCount] = new WebsiteObject(url, title, comments, spring, currentWebsiteCount, websiteId);
	currentWebsiteCount += 1;
	
	addSiteToTree(url, title, spring, currentWebsiteCount);
}

function getWebstakkToEdit() {
	initAjax();
	result = sendAndReceiveAjax("editWebstakk.php?edit=" + editWebstakkId);
	transferEditWebstakkInfoToPage(result);	
}

function editWebstakk(webstakkId) {
	editWebstakkId = webstakkId;
}

function setUserId(uId) {
	document.getElementById("userid").value = uId;
}

function checkCommentsLength(str) {
}



function setAuthorName(uName) {
	var rightAuthor = document.getElementById("rightAuthor");
	//document.getElementById("rightAuthor").value = uName;
	rightAuthor.childNodes[0].nodeValue = uName;
	transferAuthor();
}

function clearForm() {
	
	if (typeof webPageTree == "undefined" || webPageTree == null) {
		return;
	}
	for (i=0; i<currentWebsiteCount; i++) {
		treeController.removeNode(webstakkTitleNode.children[i]);
	}
	//This should be webstakkTitleNode
	treeController.removeNode(generalGroupNode.children[0]);
	treeController.removeNode(webPageTree.children[0]);
	treeController.destroy();
	editWebstakkId = null;
	webPageTree.destroy();
	currentWebsiteCount = 0.0; 
	init();
	
}


function springOutHelp() {
	var msg = "A few websites require this Spring Out function to display properly.  Please do not check this box unless instructed to do so during the data entry phase or later after clicking [Preview Webstakk].  Thank you.";
	var rtn = openDialog(msg, "",1);
}

function siteEditSelectedElement(){
	if (selectedNodeIndex == -1) {
		return;
	}
	var tabLabel = Websites[selectedNodeIndex].tabLabel;
	siteEdit(tabLabel);
}

function siteDeleteSelectedElement(){
	if (selectedNodeIndex == -1) {
		return;
	}

	var tabLabel = Websites[selectedNodeIndex].tabLabel;
	siteDelete(tabLabel);
}

function contactAuthor(from, to) {
	alert("contactAuthor from, to: " + from + ", " + to);
		var to = "support@webstakk.com";
	var subject = document.getElementById("subject").value;
	var message = document.getElementById("problemReport").value;
	var email = document.getElementById("email").value;
	var name = document.getElementById("name").value;
	var username = document.getElementById("username").value;
	message = "Webstakk user \'" + name + "\', with Webstakk user name \'" + username + "\', has sent this problem report: \n\n " + message;
	var url = "send_mail.php?to=" + to + "&subject=" + subject + "&message=" + message + "&email=" + email;
	
	initAjax();
	var result = sendAndReceiveAjax(url);
	var rtnMsg = result ? "Mail sent" : "Mail failed";

}

function showRegistrationExhortation(){
	//alert("Please register");
/*	
	var msg = "Welcome to Webstakk!  As an unregistered user, you may use this page to create sample webstakks to share with friends.  However, we recommend that you register and log in on our homepage to make full-featured webstakks.  The simple 30 second registration process will allow you to choose a permanent username that your webstakks will be saved under, and will allow you to organize, edit and clone webstakks and much more.";
*/	
	var msg = "Welcome to Webstakk!  As an unregistered user, you may use this page to create sample webstakks to share with friends.  However, we recommend that you register and log in from our homepage (registration required) to make full-featured webstakks that can be personalized, edited, and much more. \nPlease take the time to register using the form below.  Thank you.";
	document.getElementById("headerMsg").childNodes[0].nodeValue = msg;
	document.getElementById("headerMsg").style.color = "black";
    dlgProg = dojo.widget.byId("dialogNode");
	
	dlgProg.bgOpacity = 0;
	//openDialog(msg,"",1);
	openMiniRegister();
	dlgProg.bgOpacity = 0.7;
}


function setWebstakkPrivate(thisLink) {
	initAjax();
	result = sendAndReceiveAjax("private.php?wlink=" + thisLink + "&type=set");
	if (result.indexOf('0') == 0) {
		var msg = result.substr(2);
		openDialog(msg,"",1);
	}

	openDialog("This webstakk is now private.","",1);
}


function getWebstakkPrivate(thisLink) {
	initAjax();
	result = sendAndReceiveAjax("private.php?wlink=" + thisLink + "&type=get");
	if (result.indexOf('0') == 0) {
		var msg = result.substr(2);
		openDialog(msg,"",1);
	}

	var private = result.substr(2,1);
	if (private == "1") return; //already private
	//document.getElementById("private").style.visibility = "visible";
}


//This function needs to be at the end
HTMLElement.prototype.myClick = function() {
	var evt = this.ownerDocument.createEvent('MouseEvents');
	evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
	this.dispatchEvent(evt);
} 

