
dojo.require("dijit.MenuBar");
dojo.require("dijit.PopupMenuBarItem");
dojo.require("dijit.Menu");
dojo.require("dijit.MenuItem");
dojo.require("dijit.PopupMenuItem");

var rootdir = "";
var lasthash = "";
var curhash = "";
var imageStore = new dojo.data.ItemFileReadStore({url: rootdir+"/src/php/cakephp/vw/index.php/slideshow_images/view" });

var colorcheck = new dojo.Color();
var searchdialog = new dijit.Dialog({style:"width:800px;height:540px;background-color:#ffffff;"});
var legaldialog = new dijit.Dialog({style:"width:600px;height:500px;background-color:#ffffff;"});
var editDialog = new dijit.Dialog({style:"width:820px;padding:0px;margin:0px;background-color:#ffffff;"});
var inputDialog = new dijit.Dialog({style:"width:400px;padding:0px;margin:0px;background-color:#ffffff;"});
var helpDialog = new dijit.Dialog({style:"width:600px;background-color:#ffffff;"});
var controlDialog = new dijit.Dialog({style:"width:800px;background-color:#ffffff;"});

var curCellId=0;
var deleteConfirm = new dijit.Dialog({
            content: 'Are you sure ?<br/><button onclick="deleteConfirm.hide();deleteCell(curCellId);">Yes</button><button onclick="deleteConfirm.hide();">No</button>'
        });

var timerTop = 0;
var sevenSeriesImgSet = new Array();
// var newsdialog = new diji.Dialog({style:"width:800px;height:540px;background-color:#ffffff;"});
dijit.Tooltip.defaultPosition = ["above", "below"];

dojo.addOnLoad(function(){

	var request = imageStore.fetch();
 	var hash = dojo.hash();

	dojo.connect(dojo.byId("ps11"), 'onkeypress', function(e) {
			if (e.keyCode == dojo.keys.ENTER) {
				setloc('login');
			}
		});

	dojo.subscribe("/dojo/hashchange", 
		function(hash){
 				lasthash = curhash;
 				curhash = hash;
				setloc(hash);
		}
	);

	//loadLegalDialog

 	if(hash == ""){
  		dojo.hash("home");
  	}
	setloc(hash);

});

//setcontentpane(data)
//
// this is the content change manager function
//
// all existing widgets inside the contentpane are destroyed, new content is copied in
// note: in the future this function should perform confirmation checks & page state saves
function setcontentpane(data){

 	dojo.hash(curhash);
	var nl = dojo.query("*", "contentpane");
	dojo.forEach(nl, function(widget) { destroyWidget(widget) });
	dojo.byId("contentpane").innerHTML = data;

	dijit.registry.forEach(function(w){
                  if(w.id.indexOf("editMenu") >= 0){ w.destroyRecursive();}
          });

	dojo.parser.parse("contentpane");
	dojo.parser.parse("controlpane");

	if(curhash == "home"){
		
		if(dijit.byId("slideshow1")){
        		dijit.byId("slideshow1").setDataStore(imageStore, {count:20,start:0}, {imageLargeAttr: "image-url"});
		}
	}
	if(curhash == "login"){
		dojo.xhrPost(
			{url:rootdir+"/src/php/cakephp/vw/index.php/users/getstatus",handleAs:"json",
				load:function(loginstate){	
					if(loginstate.group_id){
						showLogoutButton();
						dijit.scrollIntoView('headerpane');
						dojo.style('controlpane', 'visibility', 'visible');
						dojo.style('controlpane', 'height', '30px');
						setloc('details');
					}
				}
			});
	}
	else if(curhash == "logout"){
	  dojo.style('controlpane', 'visibility', 'hidden');
	  dojo.style('controlpane', 'height', '0px');
	  dojo.byId("us11").value = "Username";
	  dojo.byId("ps11").value = "88888888";
          hideLogoutButton();
	}

	//evaluate fragment to set specific page position
	var obj = curhash.split("/");
 	if(obj[1]){
 		dijit.scrollIntoView(obj[1]);
 	}

	dojo.xhrPost(
			{url:rootdir+"/src/php/cakephp/vw/index.php/users/getstatus",handleAs:"json",
				load:function(loginstate){	
					if(loginstate.group_id){
						showLogoutButton();
						dojo.byId('controlPanelSpacer').style.height = "30px";
						dojo.style('controlpane', 'visibility', 'visible');
						dojo.style('controlpane', 'height', '30px');
					}
				}
			});
<!-- 		dojo.style("loadingbar", "visibility", "hidden"); -->

}

function moveCellUp(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/moveup/"+id,
		handleAs: "text",
		load: function(data){refreshPage();}	
	}
	var deferred = dojo.xhrPost(xhrArgs);
	curhash = curhash.split("/")[0]+"/cell"+id
}

function moveCellDown(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/movedown/"+id,
		handleAs: "text",
		load: function(data){refreshPage();}	
	}
	var deferred = dojo.xhrPost(xhrArgs);
	curhash = curhash.split("/")[0]+"/cell"+id
}

function addCellAfter(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/insertafter/"+id,
		handleAs: "text",
		load: function(data){refreshPage();}	
	}
	var deferred = dojo.xhrPost(xhrArgs);
	curhash = curhash.split("/")[0]+"/cell"+id
}

function addCellBefore(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/insertbefore/"+id,
		handleAs: "text",
		load: function(data){refreshPage();}	
	}
	var deferred = dojo.xhrPost(xhrArgs);
	curhash = curhash.split("/")[0]+"/cell"+id
}

function deleteCell(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/delete/"+id,
		handleAs: "text",
		load: function(data){refreshPage();}	
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function editCell(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/cells/edit/"+id,
		handleAs: "text",
		load: setEditCell	
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

/* not working */
function freezePage(){
	dojo.byId('main').style.overflowY = 'hide';
}

function unfreezePage(){
	dojo.byId('main').attr("style", "overflow-y:hide;overflow-x:auto;");
}

function setEditCell(data){

	editDialog.attr("content", data);
	editDialog.attr("style", "height:"+(dojo.window.getBox().h-40)+"px;margin-top:15px;");

	tinyMCE.init({
		theme : "advanced",
		mode: "exact",
		elements : "cellEditor",
                plugins : "table,advhr,advimage,advlink,advlist,emotions,fullscreen,inlinepopups,insertdatetime,layer,media,preview,print,searchreplace,style",
		theme_advanced_toolbar_location : "top",
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,formatselect,bullist,numlist,outdent,indent,advhr,media,styleprops,link,unlink,anchor,image,separator,undo,redo,cleanup,code",
		theme_advanced_buttons2 : "tablecontrols,emotions,fullscreen,insertdate,inserttime,insertlayer,moveforward,movebackward,absolute,preview,print,search,replace",
		theme_advanced_buttons3 : "sub,sup,charmap",
		height:(dojo.window.getBox().h-120),
		width:"820px",
		content_css : "/src/css/tinymce/content.css",
		table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
		table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
		table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
		table_cell_limit : 100,
		table_row_limit : 5,
		table_col_limit : 5,
		dialog_type : "modal",
		plugin_insertdate_dateFormat : "%Y-%m-%d",
		plugin_insertdate_timeFormat : "%H:%M:%S",
		plugin_preview_width : "800",
		plugin_preview_height : (dojo.window.getBox().h-120)
	});

	editDialog.show();
}

function refreshPage(){

	setloc(curhash);
}

function updateCell(){

	dojo.byId("cellEditor").innerHTML = tinyMCE.activeEditor.getContent();
	loc = rootdir+"/src/php/cakephp/vw/index.php/cells/update";
	postform = dojo.byId("cellEditForm");

	xhrArgs = {
		url: loc,
		handleAs: "text",
		load: refreshPage,
		form: postform			
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function editPageTitle(id){

	inputDialog.set("href", "/src/php/cakephp/vw/index.php/site_pages/editTitle/"+id);
	inputDialog.show();
}

function updatePageTitle(){
	loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/updatePageTitle";
	postform = dojo.byId("editPageTitleForm");

	xhrArgs = {
		url: loc,
		handleAs: "text",
		load: refreshPage,
		form: postform			
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function editPageHeader(id){

	inputDialog.set("href", "/src/php/cakephp/vw/index.php/site_pages/editHeader/"+id);
	inputDialog.show();
}


function updatePageHeader(){
	loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/updateHeader";
	postform = dojo.byId("editPageHeaderForm");

	xhrArgs = {
		url: loc,
		handleAs: "text",
		load: refreshPage,
		form: postform			
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function editPageIndex(id){

	inputDialog.set("href", "/src/php/cakephp/vw/index.php/site_pages/editPageIndex/"+id);
	inputDialog.show();
}


function updatePageIndex(){
	loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/updatePageIndex";
	postform = dojo.byId("editPageIndexForm");

	xhrArgs = {
		url: loc,
		handleAs: "text",
		load: refreshPage,
		form: postform			
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function showJobApplications(){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/jobapplications/view",
		handleAs: "text",
		load: updateControlDialog	
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function showInfoRequests(){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/inforequests/requests",
		handleAs: "text",
		load: updateControlDialog
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function deleteInfoRequest(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/inforequests/delete/"+id,
		handleAs: "text",
		load: function(data){showInfoRequests();}
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function deleteJobApp(id){
	xhrArgs = {
		url: "/src/php/cakephp/vw/index.php/jobapplications/delete/"+id,
		handleAs: "text",
		load: function(data){showJobApplications();}
	}
	var deferred = dojo.xhrPost(xhrArgs);
}

function updateControlDialog(data){

	controlDialog.attr("content", data);
	controlDialog.show();
}

/* loadDialog

 */
function loadDialog(iURL, tDialog){

	xhrArgs = {
		url: iURL,
		handleAs: "text",
		load: function(data){tDialog.attr("content", data);}	
	}
	var deferred = dojo.xhrPost(xhrArgs);

}

function showLogoutButton(){

	dojo.byId("loginbutton").value = "logout";
	dojo.attr("loginbutton", "onclick", "setloc('logout');dojo.byId('controlPanelSpacer').style.height = '10px';");
}

function hideLogoutButton(){

	dojo.byId("loginbutton").value = "login";
	dojo.attr("loginbutton", "onclick", "setloc('login');");

}

function setloc(loc){ /* SET LOCATION */

<!-- 	dojo.style("loadingbar", "visibility", "visible"); -->

	switch(loc){

				case "home.php":
			loc = "home";
			break;

				case "src/php/cakephp/vw/index.php/newsposts/view":
			loc = "news";
			break;

				case "src/php/cakephp/partners.php":
			loc = "affiliates";
			break;

				case "src/php/about/history.php":
			loc = "history";
			break;

				case "src/php/about/values.php":
			loc = "values";
			break;

				case "src/php/about/facilities.php":
			loc = "facilities";
			break;

				case "src/php/products/overview.php":
			loc = "glazing";
			break;

				case "src/php/products/curtainwall.php":
			loc = "curtainwall";
			break;

				case "src/php/products/retrofitcurtainwall.php":
			loc = "retrofitcurtainwall";
			break;

				case "src/php/products/windows.php":
			loc = "windows";
			break;

				case "src/php/products/retrofitwindows.php":
			loc = "retrofitwindows";
			break;

				case "src/php/products/skylights.php":
			loc = "skylighsystems";
			break;

				case "src/php/products/sloped.php":
			loc = "sloped";
			break;

				case "src/php/products/other.php":
			loc = "operatingunits";
			break;

				case "src/php/cakephp/vw/index.php/glossaryitems/browse/A":
			loc = "glossary";
			break;

				case "src/php/cakephp/vw/index.php/brochures/browse":
			loc = "brochures";
			break;

				case "src/php/warranty.php":
			loc = "warranty";
			break;

				case "src/php/cakephp/vw/index.php/videos/view":
			loc = "media";
			break;

				case "src/php/cakephp/vw/index.php/greenlinks/view":
			loc = "sustainablepractices";
			break;

				case "src/php/contacts/contactus.php":
			loc = "contactus";
			break;

				case "src/php/contacts/dealernetwork.php":
			loc = "dealernetwork";
			break;

				case "src/php/contacts/inforequest.php":
			loc = "inforequest";
			break;

				case "src/php/contacts/registration.php":
			loc = "registration";
			break;

				case "src/php/cakephp/vw/index.php/jobpostings/view":
			loc = "careers";
			break;

				case "src/php/cakephp/vw/index.php/projects/commercialgallery":
			loc = "commercialgallery";
			break;

				case "src/php/cakephp/vw/index.php/projects/residentialgallery":
			loc = "residentialgallery";
			break;

				case "src/php/cakephp/vw/index.php/projects/institutionalgallery":
			loc = "institutionalgallery";
			break;

				case "src/php/cakephp/vw/index.php/projects/publicgallery":
			loc = "publicgallery";
			break;

				case "src/php/cakephp/vw/index.php/projects/hospitalitygallery":
			loc = "hospitalitygallery";
			break;

				case "src/php/cakephp/vw/index.php/projects/indevelopmentgallery":
			loc = "indevelopmentgallery";
			break;

			}

	curhash = loc;
	var obj = loc.split("/");
	var postform = "";


	switch(obj[0]){

		case "":
			curhash = "home";
			loc = curhash;
		case "home":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/home"; 
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			hlsubmenuitem(0);
			wipeOutSubmenu();
			break;

		
					
		case "news":
			loc = rootdir+"/src/php/cakephp/vw/index.php/newsposts/view";
			if(active_menuitem != "profilemi"){
				navigatemenu('profilemi', 'navprofile');
			}
			hlsubmenuitem('navprofilesel1');
			break;

					
		case "history":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/3";
			if(active_menuitem != "profilemi"){
				navigatemenu('profilemi', 'navprofile');
			}
			hlsubmenuitem('navprofilesel2');
			break;

					
		case "values":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/4";
			if(active_menuitem != "profilemi"){
				navigatemenu('profilemi', 'navprofile');
			}
			hlsubmenuitem('navprofilesel3');
			break;

					
		case "glazing":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/5";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel1');
			break;

					
		case "curtainwall":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/6";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel2');
			break;

					
		case "windows":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/7";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel4');
			break;

					
		case "sloped":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/8";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel7');
			break;

					
		case "operatingunits":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/9";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel9');
			break;

					
		case "CommercialGallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/commercialgallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel1');
			break;

					
		case "ResidentialGallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/residentialgallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel2');
			break;

					
		case "InstitutionalGallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/institutionalgallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel3');
			break;

					
		case "PublicGallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/publicgallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel4');
			break;

					
		case "InDevelopmentGallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/indevelopmentgallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel6');
			break;

					
		case "brochures":
			loc = rootdir+"/src/php/cakephp/vw/index.php/brochures/browse";
			if(active_menuitem != "resmi"){
				navigatemenu('resmi', 'navres');
			}
			hlsubmenuitem('navressel1');
			break;

					
		case "warranty":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/15";
			if(active_menuitem != "resmi"){
				navigatemenu('resmi', 'navres');
			}
			hlsubmenuitem('navressel2');
			break;

					
		case "media":
			loc = rootdir+"/src/php/cakephp/vw/index.php/videos/view";
			if(active_menuitem != "resmi"){
				navigatemenu('resmi', 'navres');
			}
			hlsubmenuitem('navressel3');
			break;

					
		case "sustainablepractices":
			loc = rootdir+"/src/php/cakephp/vw/index.php/greenlinks/view";
			if(active_menuitem != "resmi"){
				navigatemenu('resmi', 'navres');
			}
			hlsubmenuitem('navressel4');
			break;

					
		case "dealernetwork":
			loc = rootdir+"/src/php/cakephp/vw/index.php/dealers/view";
			if(active_menuitem != "contactmi"){
				navigatemenu('contactmi', 'navcontact');
			}
			hlsubmenuitem('navcontactsel1');
			break;

					
		case "inforequest":
			loc = rootdir+"/src/php/cakephp/vw/index.php/inforequests/view";
			if(active_menuitem != "contactmi"){
				navigatemenu('contactmi', 'navcontact');
			}
			hlsubmenuitem('navcontactsel2');
			break;

					
		case "registration":
			loc = rootdir+"/src/php/cakephp/vw/index.php/registrations/view";
			if(active_menuitem != "contactmi"){
				navigatemenu('contactmi', 'navcontact');
			}
			hlsubmenuitem('navcontactsel3');
			break;

					
		case "careers":
			loc = rootdir+"/src/php/cakephp/vw/index.php/jobpostings/view";
			if(active_menuitem != "contactmi"){
				navigatemenu('contactmi', 'navcontact');
			}
			hlsubmenuitem('navcontactsel4');
			break;

					
		case "hospitalitygallery":
			loc = rootdir+"/src/php/cakephp/vw/index.php/projects/hospitalitygallery";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel5');
			break;

					
		case "retrofitcurtainwall":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/25";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel3');
			break;

					
		case "retrofitwindows":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/26";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel5');
			break;

					
		case "skylights":
			loc = rootdir+"/src/php/cakephp/vw/index.php/site_pages/view/27";
			if(active_menuitem != "productsmi"){
				navigatemenu('productsmi', 'navproducts');
			}
			hlsubmenuitem('navproductssel6');
			break;

					
		case "ProjectListing":
			loc = rootdir+"/src/php/cakephp/vw/index.php/project_listings/view";
			if(active_menuitem != "portfoliomi"){
				navigatemenu('portfoliomi', 'navportfolio');
			}
			hlsubmenuitem('navportfoliosel7');
			break;

		
		case "jobapplication":
			loc = rootdir+"/src/php/contacts/jobapplication.php";
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			wipeOutSubmenu();
			break;
		case "submitjobapp":
			loc = rootdir+"/src/php/cakephp/vw/index.php/jobapplications/add";
			postform = dojo.byId("jobappform");
			break;
		case "submitfeedback":
			loc = rootdir+"/src/php/cakephp/vw/index.php/feedback/add";
			postform = dojo.byId("feedbackform");
			break;
		case "submitregistration":
			loc = rootdir+"/src/php/cakephp/vw/index.php/registrations/add";
			postform = dojo.byId("registrationform");
			break;
		case "submitinforequest":
			loc = rootdir+"/src/php/cakephp/vw/index.php/inforequests/add";
			postform = dojo.byId("inforequestform");
			break;
		case "login":
			loc = rootdir+"/src/php/cakephp/vw/index.php/users/login";
			postform = dojo.byId("loginform");
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			wipeOutSubmenu();
			break;
		case "logout":
			loc = rootdir+"/src/php/cakephp/vw/index.php/users/logout";
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			wipeOutSubmenu();
			dojo.byId('controlPanelSpacer').style.height = '10px';
			break;
		case "search":
			loc = rootdir+"/sphider/search.php";
			postform = dojo.byId("loginform");
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			wipeOutSubmenu();
			break;
		case "details":
			loc = rootdir+"/src/php/cakephp/vw/index.php/details/view";
			resetallsubmenuitem(active_submenuitem);
			resetallmenuitem(active_menuitem);
			wipeOutSubmenu();
			break;
	}

	if(loc != rootdir+"/sphider/search.php"){
		xhrArgs = {
			url: loc,
			handleAs: "text",
			load: setcontentpane,
			form: postform			
		}
		var deferred = dojo.xhrPost(xhrArgs);
	}else{
		xhrArgs = {
			url: loc,
			handleAs: "text",
			load: function(data){searchdialog.attr("content", data);searchdialog.show();},
			form: postform			
		}
		var deferred = dojo.xhrPost(xhrArgs);
	}

}

//destroy referenced widget
function destroyWidget(widget) {
    var widgetId = dojo.attr(widget, "widgetId");
    if (dijit.byId(widgetId)) {
        dijit.byId(widgetId).destroy(true);
    }
}

/* Navigation Menu */
//
var hndl; // global needed for menu animation
var active_menuitem = "";  //top level location of last selection
var lastlook_menuitem = 0;  //the id of the last top level menu to be mouseover'd
var active_submenuitem = 0;  //last submenu item selection

function wipeInSubmenu(){
	dojox.fx.wipeIn({
		node: "submenu",
		duration: 0
	}).play();
}

function wipeOutSubmenu(){
	dojox.fx.wipeOut({
		node: "submenu",
		duration: 0
	}).play();
}

function navigatemenu(menuid, submenusource){

	hlmenuitem(menuid);
	resetallsubmenuitem();
	hlsubmenuitem(active_submenuitem);

	var wipeOutMenu = dojox.fx.wipeOut({node:"submenu", duration:0});
	var wipeInMenu = dojox.fx.wipeIn({node:"submenu",duration:0});
	//when wipe effect reaches the top copy new submenu contents into position
	hndl = dojo.connect(wipeOutMenu, "onEnd", function(){copysubmenu(submenusource);});
	dojox.fx.chain([wipeOutMenu, wipeInMenu]).play();
}

function copysubmenu(subsrc){
	if(subsrc){
  		document.getElementById("submenu").innerHTML = document.getElementById(subsrc).innerHTML;
  		dojo.disconnect(hndl);
	}
}

 /* reset last selected menu item, then highlight currently selected*/
function hlmenuitem(id){

	resetallmenuitem();
	resetallsubmenuitem();
	active_menuitem = id;

	if(id){
		dojo.attr(id, 'class', 'navactive');
	}
}

function resetallmenuitem(){

	var nl = dojo.query("li", "topmenu");
	dojo.forEach(nl, function(li) { dojo.attr(li, 'class', 'nav');} );
}

function hideSubMenu(){
	dojo.attr("submenu", 'class', 'subnavhidden');
}

function hlsubmenuitem(id){

    resetallsubmenuitem();
    active_submenuitem = id;

    if(id){
	dojo.attr(id,'class', 'subnavactive');	
    }
}

function resetallsubmenuitem(){

	var nl = dojo.query("li", "submenuholder");
	dojo.forEach(nl, function(li) { dojo.attr(li, 'class', 'subnav'); });
	dojo.attr("submenu", 'class', 'subnav');	
}

/* Glossary */

function setGlossarySection(section){

		if(section){
			xhrArgs = {
				url: rootdir+"/src/php/cakephp/vw/index.php/glossaryitems/viewSection/"+section,
				handleAs: "text",
				load: setcontentpane
			}
		}else{
			xhrArgs = {
				url: rootdir+"/src/php/cakephp/vw/index.php/glossaryitems/browse",
				handleAs: "text",
				load: setcontentpane
			}
		}
		var deferred = dojo.xhrPost(xhrArgs);
}

/* Gallery */
//
//
//
//
var galIndex = ""; //currently active gallery
var galItemsPerPage = 5;
var galPageCount = 0; //number of pages in the active gallery
var galPageIndex = 0; //current page
//array of connections from thumbnails to dialog.show
//array of dialog.show objects

var dialog = new dojox.image.LightboxDialog(); //setup lightbox dialog
dialog.region = "center";
dialog.startup();
//dojo.addClass("dojox_image_LightboxDialog_0", "tundra");

//load image gallery
//
//
var galleryStore = new dojo.data.ItemFileReadStore({url:rootdir+"/src/php/cakephp/vw/index.php/galleryimages/galjobj"}); //create project details store

dojo.addOnLoad(function(){

	galleryStore.fetch({
	onComplete: function(items, request){
		},
		onItem: function(item, request){
				dialog.addImage({"title": item.title, "href": item.imageurl}, item.group);
		
		}
	});
});

/* Media */

//set video to 'fullscreen'
function showLargeVid(vidId){
	dojo.style(vidId, {'height':'500px', 'width':'800px', 'position':'absolute', 'top':'0px', 'right':'0px', 'zIndex':'200'});
	dojo.style(dojo.query('#'+ vidId +' > div')[0], {'width':'800px', 'height':'500px'});
	dojo.style(dojo.query('#'+ vidId +' .Controls')[0], {'position':'absolute', 'bottom':'0px', 'right':'-1px'});
	dojo.style(dojo.query('#'+ vidId +' embed')[0], {'width':'800px', 'height':'500px', 'position':'absolute', 'top':'-23px', 'right':'1px'});
	dojo.style(vidId+'ScreenCap', {'width':'800px', 'height':'470px'});
	dojo.attr(vidId+'ScreenSize', 'class', 'minScreen');
	dojo.attr(vidId, 'fs', '1');
}

function restoreSmallVid(vidId){
 	dojo.style(vidId, {'height':'280px', 'width':'320px', 'position':'absolute', 'top':'0px', 'right':'30px', 'zIndex':'1'});
 	dojo.style(dojo.query('#'+ vidId +' > div')[0], {'width':'320px', 'height':'280px', 'position':'absolute', 'top':'0px', 'left':'0px'});
 	dojo.style(dojo.query('#'+ vidId +' .Controls')[0], {'position':'absolute', 'bottom':'0px', 'right':'0px'});
	dojo.style(dojo.query('#'+ vidId +' embed')[0], {'width':'320px', 'height':'240px', 'position':'absolute', 'top':'0px', 'left':'0px'});
	dojo.style(vidId+'ScreenCap', {'width':'320px', 'height':'240px'});
	dojo.attr(vidId+'ScreenSize', 'class', 'maxScreen');
	dojo.attr(vidId, 'fs', '0');
}

/* DealerNetwork Functions */

function showdealerarea(dealerid){
 dojo.byId(dealerid).style.zIndex = "500";
}

function hidedealerarea(dealerid){
 dojo.byId(dealerid).style.zIndex = "1";
}

function unhldealercontacts(){
 var cl = dojo.query("li", "contentpane");
 dojo.forEach(cl, function(li) { li.style.backgroundColor = "#ffffff"; });
}

function hldealercontact(contactid){
 unhldealercontacts();
 dojo.byId(contactid).style.backgroundColor = "#eeeeee";
}

function showareadesc(descid){
	dojo.byId(descid).style.visibility = "visible";
}

function hideareadesc(descid){
	dojo.byId(descid).style.visibility = "hidden";
}

/*Affiliates Functions*/
function showpart(partid){
	dojo.byId(partid).style.zIndex = 999;
}

function hidepart(partid){
	dojo.byId(partid).style.zIndex = 1;
}

function hlparttype(id){
	dojo.byId(id).style.backgroundColor = "#fee1d1";
}

function unhlparttype(id){
	dojo.byId(id).style.backgroundColor = "#ffffff";
}


/* PAGE SEARCH FUNCTIONALITY */

/* page scrolling */
function f_scrollTop() {
	document.body.scrollY = 0;
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

// this function determines whether the event is the equivalent of the microsoft
// mouseleave or mouseenter events
function isMouseLeaveOrEnter(e, handler) 
{ 
  if (e.type != 'mouseout' && e.type != 'mouseover') 
    return false; 
  var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement; 
  while (reltg && reltg != handler) reltg = reltg.parentNode; 
  return (reltg != handler); 
}

var NS4 = (document.layers); // Which browser? 
var IE4 = (document.all); 
var win = window; // window to search. 
var n = 0; 

/******************************************
* Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com)
* Visit Dynamic Drive (http://www.dynamicdrive.com/) for full source code
* This notice must stay intact for use
******************************************/

//  revised by Alan Koontz -- May 2003

var TRange = null;
var dupeRange = null;
var TestRange = null;
var win = null;

//  SELECTED BROWSER SNIFFER COMPONENTS DOCUMENTED AT
//  http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html

var nom = navigator.appName.toLowerCase();
var agt = navigator.userAgent.toLowerCase();
var is_major   = parseInt(navigator.appVersion);
var is_minor   = parseFloat(navigator.appVersion);
var is_ie      = (agt.indexOf("msie") != -1);
var is_ie4up   = (is_ie && (is_major >= 4));
var is_not_moz = (agt.indexOf('netscape')!=-1)
var is_nav     = (nom.indexOf('netscape')!=-1);
var is_nav4    = (is_nav && (is_major == 4));
var is_mac     = (agt.indexOf("mac")!=-1);
var is_gecko   = (agt.indexOf('gecko') != -1);
var is_opera   = (agt.indexOf("opera") != -1);

//  GECKO REVISION

var is_rev=0
if (is_gecko) {
temp = agt.split("rv:")
is_rev = parseFloat(temp[1])
}

//  USE THE FOLLOWING VARIABLE TO CONFIGURE FRAMES TO SEARCH
//  (SELF OR CHILD FRAME)

//  If you want to search another frame, change from "self" to
//  the name of the target frame:
//  e.g., var frametosearch = 'main'

//var frametosearch = 'main';
var frametosearch = self;

function search(whichform, whichframe) {

	//  TEST FOR IE5 FOR MAC (NO DOCUMENTATION)
	
	if (is_ie4up && is_mac) return;
	
	//  TEST FOR NAV 6 (NO DOCUMENTATION)
	
	if (is_gecko && (is_rev <1)) return;
	
	//  TEST FOR Opera (NO DOCUMENTATION)
	
	if (is_opera) return;
	
	//  INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES
	
	if(whichform.findthis.value!=null && whichform.findthis.value!='') {
	
	str = whichform.findthis.value;
	win = whichframe;
	var frameval=false;
	if(win!=self)
	{
	
	frameval=true;  // this will enable Nav7 to search child frame
	win = parent.frames[whichframe];
	
	}

}

else return;  //  i.e., no search string was entered

var strFound;

//  NAVIGATOR 4 SPECIFIC CODE

if(is_nav4 && (is_minor < 5)) {

  strFound=win.find(str); // case insensitive, forward search by default

//  There are 3 arguments available:
//  searchString: type string and it's the item to be searched
//  caseSensitive: boolean -- is search case sensitive?
//  backwards: boolean --should we also search backwards?
//  strFound=win.find(str, false, false) is the explicit
//  version of the above
//  The Mac version of Nav4 has wrapAround, but
//  cannot be specified in JS

 
}

//  NAVIGATOR 7 and Mozilla rev 1+ SPECIFIC CODE (WILL NOT WORK WITH NAVIGATOR 6)

if (is_gecko && (is_rev >= 1)) {
   
    if(frameval!=false) win.focus(); // force search in specified child frame
    strFound=win.find(str, false, false, true, false, frameval, false);

//  The following statement enables reversion of focus 
//  back to the search box after each search event 
//  allowing the user to press the ENTER key instead
//  of clicking the search button to continue search.
//  Note: tends to be buggy in Mozilla as of 1.3.1
//  (see www.mozilla.org) so is excluded from users 
//  of that browser.

    if (is_not_moz)  whichform.findthis.focus();

//  There are 7 arguments available:
//  searchString: type string and it's the item to be searched
//  caseSensitive: boolean -- is search case sensitive?
//  backwards: boolean --should we also search backwards?
//  wrapAround: boolean -- should we wrap the search?
//  wholeWord: boolean: should we search only for whole words
//  searchInFrames: boolean -- should we search in frames?
//  showDialog: boolean -- should we show the Find Dialog?


}

if (is_ie4up) {

  // EXPLORER-SPECIFIC CODE revised 5/21/03

  if (TRange!=null) {
	  
   TestRange=win.document.body.createTextRange();
 
	  

   if (dupeRange.inRange(TestRange)) {

   TRange.collapse(false);
   strFound=TRange.findText(str);
    if (strFound) {
        //the following line added by Mike and Susan Keenan, 7 June 2003
        win.document.body.scrollTop = win.document.body.scrollTop + TRange.offsetTop;
        TRange.select();
        }


   }
   
   else {

     TRange=win.document.body.createTextRange();
     TRange.collapse(false);
     strFound=TRange.findText(str);
     if (strFound) {
        //the following line added by Mike and Susan Keenan, 7 June 2003
        win.document.body.scrollTop = TRange.offsetTop;
        TRange.select();
        }
   }
  }
  
   if (TRange==null || strFound==0) {
   TRange=win.document.body.createTextRange();
   dupeRange = TRange.duplicate();
   strFound=TRange.findText(str);
    if (strFound) {
        //the following line added by Mike and Susan Keenan, 7 June 2003
        win.document.body.scrollTop = TRange.offsetTop;
        TRange.select();
        }

   }

 }

  if (!strFound) alert ("String '"+str+"' not found!") // string not found

}


/* END - PAGE SEARCH FUNCTIONALITY  - END*/
