// JavaScript Document
var ajxLoader = {
	onSuccess : function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			$("login").style.display = "none";
			r.response = eval( "(" + r.response + ")" );
			r.response.each(
				function(e){
					switch(e.Name){
						case "PageList":
							Site[e.Name] = eval( "(" + e.Data + ")" );
						break
						case "SnipTypes":
							Site[e.Name] = eval( "(" + e.Data + ")" );
						break
						case "Utilities":
							$("utilities").innerHTML = "";
							Site[e.Name] = eval( "(" + e.Data + ")" );
							Site[e.Name].each(function(el,i){
								Site[e.Name][i].Data = eval( "(" + Site[e.Name][i].Data + ")" );
								if(el.Data.CanAdd || el.Data.CanEdit || el.Data.CanDelete)
									$("utilities").innerHTML += "<a menu id=\"" + el.Name + "\" onclick=\"launch(this)\">" + el.Name + "</a>";
							});
						break
						default:
							Site[e.Name] = e.Value;
						break
					};
				}
			);
			
			fileToLoad = "";
			// Load list of Pages
			$("pageList").innerHTML = "";
			/*Site.PageList.each(function(e){
				var display = (e.Data == e.Name) ? "<b>" + e.Name + "</b>" : e.Name;
				$("pageList").innerHTML += "<li><a pageUrl id='" + e.Value + "' onClick='loadMe(this)' title='" + e.Value + "'>" + display + "</a> - <a pageUrl id=\"!_" + e.Value + "\" onClick='loadMe(this)'>Preview</a></li>";
				if(e.Value.split(".")[0] == "default") fileToLoad = e.Value;
			});*/
			
			frames["site"].location.href = "site/" + Site.SiteId + "/" + fileToLoad + "?nocache=" + (new Date()).getTime();
			$("title").innerHTML = Site.CustomerName + "<a href=\"" + Site.SiteURL + "\" target=\"_blank\">" + Site.SiteURL + "</a>";
			$("UserInfo").innerHTML = "<font size=\"2\">Username: <b>" + Site.UserName + "</b></font><br>Last Login: " + Site.LastActive + "<br /><br /><div align=\"center\" style=\"width:250px;\"><input type=\"button\" value=\"Change Password\" onclick=\"changePassword()\"> <input type=\"button\" value=\"Logout\" onclick=\"logout()\"></div>";
			refreshPublishing();
		}else{
			noAuth();
		}
	}
};
var ajxEditSnip = {
	onSuccess : function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			Editor.Key = r.response.Key;
			Editor.Name = r.response.Name;
			Editor.Data = eval( "(" + r.response.Data + ")" );
			Editor.Type = r.response.Value;
			Editor.load();
		}else{
			noAuth();
		}
	}
};
var ajxSaveSnip = {
	method:"POST",
	onSuccess : function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			if(r.response.Type == 200){
				var data = eval("(" + r.response.Body + ")");
				Editor.clear();
				Progress.show();
				Progress.update("Updating all pages that use this resource",0);
				updatePages(data);
			}else{
				Msg.alert(r.response.Title,r.response.Body);
			}
		}else{
			noAuth();
		}
	}
};
var ajxUpdatePage = {
	method:"GET",
	onSuccess : function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			if(r.response.Type == 200){
				if(updatePagesData.length > 0){
					Progress.update("Updating &raquo; " + r.response.Body,Math.round((updatePagesTotal-updatePagesData.length)/updatePagesTotal*100));
					ajx.send("f=savePage&d=" + updatePagesData.pop() + "!|!0",ajxUpdatePage)
				}else{
					frames["site"].location.href = frames["site"].location.href.split("?")[0] + "?nocache=" + (new Date()).getTime();
					refreshPublishing();
					updatePagesData = [];
					updatePagesTotal = 0;
					Progress.hide();
				}
			}else{
				Msg.alert(r.response.Title,r.response.Body);
			}
		}else{
			noAuth();
		}
	}
};
/*
var ajxLoadPreview = {
	onSuccess : function(r,data){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			if(r.response){
				frames["site"].location.href = "site/" + Site.SiteId + "/!_" + data.Value + "?nocache=" + (new Date()).getTime();
			};
			Msg.title.innerHTML = "Preview";
		}else{
			noAuth();
		}
	}
};
*/
var ajxPageListHandler = {
	onSuccess : function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			parent.refreshPublishing(r.response);
		}else{
			noAuth();
		}
	}
};
	
var ajxChangePageSnips = {
	onSuccess: function(r){
		r = eval( "(" + r + ")" );
		if(r.auth){
			r.response = eval( "(" + r.response + ")" );
			if(r.response.Type == 200){
				Msg.hide();
				frames["site"].location.href = frames["site"].location.href.split("?")[0] + "?nocache=" + (new Date()).getTime();
				refreshPublishing();
			}else{
				Msg.alert(r.response.Title, r.response.Body);
				frames["site"].location.href = frames["site"].location.href.split("?")[0] + "?nocache=" + (new Date()).getTime();
			}
		}else{
			noAuth();
		}
	}
};

