/** Author: Daniel Stephenson
  *  Date: --/--/2006
  *  Filename: toggle.js
  *  Function: toggle on/off html code on codejibe.com
  *  History: 
*/


/*########################################## INDEX PAGE TOGGLES ##########################################*/


/* toggle index page nav menu tabs */

function toggle_index_visibility() {
   var navkey = document.getElementById('navkey');
   var navpaste = document.getElementById('navpaste');
   var navsolutions = document.getElementById('navsolutions');
   var navirc = document.getElementById('navirc');
   
   if(navkey.innerHTML == 'More') {
      navirc.style.display = 'block';
      navsolutions.style.display = 'block';
      navpaste.style.display = 'block';
      navkey.innerHTML = 'Less';
   } else {
      navirc.style.display = 'none';
      navsolutions.style.display = 'none';
      navpaste.style.display = 'none';
      navkey.innerHTML = 'More';
   }
}


/* toggle index pages top left section title */

function set_index_sectiontitle(title) {
	 var e = document.getElementById('sectiontitle');
   
   e.innerHTML = title;
}


/*########################################## SEARCH PAGE TOGGLES ##########################################*/


/* reset codeguts visibility - show just normal as on */

function set_search_visibility(id) {
   var snippetson = document.getElementById('snippetson');
   var snippetsoff = document.getElementById('snippetsoff');
   var projectson = document.getElementById('projectson');
   var projectsoff = document.getElementById('projectsoff');
   var tutorialson = document.getElementById('tutorialson');
   var tutorialsoff = document.getElementById('tutorialsoff');
   var solutionson = document.getElementById('solutionson');
   var solutionsoff = document.getElementById('solutionsoff');
   var allon = document.getElementById('allon');
   var alloff = document.getElementById('alloff');
   
   snippetson.style.display = 'none';
   snippetsoff.style.display = 'block';
   projectson.style.display = 'none';
   projectsoff.style.display = 'block';
   tutorialson.style.display = 'none';
   tutorialsoff.style.display = 'block';
   solutionson.style.display = 'none';
   solutionsoff.style.display = 'block';
   allon.style.display = 'none';
   alloff.style.display = 'block';
   
   var on = document.getElementById(id+'on');
   var off = document.getElementById(id+'off');
   off.style.display = 'none';
   on.style.display = 'block';

}


/*########################################## CODEGUTS PAGE TOGGLES ##########################################*/


/* reset codeguts visibility - show all menus grey */

function reset_codeguts_visibility() {
   var navnormalon = document.getElementById('navnormalon');
   var navnormaloff = document.getElementById('navnormaloff');
   var navlineson = document.getElementById('navlineson');
   var navlinesoff = document.getElementById('navlinesoff');
   var navcolouron = document.getElementById('navcolouron');
   var navcolouroff = document.getElementById('navcolouroff');
   var navfullon = document.getElementById('navfullon');
   var navfulloff = document.getElementById('navfulloff');
   
   navnormalon.style.display = 'none';
   navnormaloff.style.display = 'block';
   navlineson.style.display = 'none';
   navlinesoff.style.display = 'block';
   navcolouron.style.display = 'none';
   navcolouroff.style.display = 'block';
   navfullon.style.display = 'none';
   navfulloff.style.display = 'block';
}


/* toggle codeguts code nav menus  */

function toggle_codeguts_visibility(id) {
   var navbuttonon = document.getElementById(id+'on');
   var navbuttonoff = document.getElementById(id+'off');
   
   //reset all nav menu buttons
   reset_codeguts_visibility();

   //set selected menu option on
   navbuttonon.style.display = 'block';
   navbuttonoff.style.display = 'none';

}


/*########################################## STATS PAGE TOGGLES ##########################################*/


/* reset codeguts visibility - show just normal as on */

function set_stats_visibility(id) {
   var snippetson = document.getElementById('snippetson');
   var snippetsoff = document.getElementById('snippetsoff');
   var projectson = document.getElementById('projectson');
   var projectsoff = document.getElementById('projectsoff');
   var tutorialson = document.getElementById('tutorialson');
   var tutorialsoff = document.getElementById('tutorialsoff');
   var solutionson = document.getElementById('solutionson');
   var solutionsoff = document.getElementById('solutionsoff');
   var allon = document.getElementById('allon');
   var alloff = document.getElementById('alloff');

   var all = document.getElementById('all');
   var snippets = document.getElementById('snippets');
   var projects = document.getElementById('projects');
   var tutorials = document.getElementById('tutorials');
   var solutions = document.getElementById('solutions');
   
   snippetson.style.display = 'none';
   snippetsoff.style.display = 'block';
   projectson.style.display = 'none';
   projectsoff.style.display = 'block';
   tutorialson.style.display = 'none';
   tutorialsoff.style.display = 'block';
   solutionson.style.display = 'none';
   solutionsoff.style.display = 'block';
   allon.style.display = 'none';
   alloff.style.display = 'block';
   
   var on = document.getElementById(id+'on');
   var off = document.getElementById(id+'off');
   off.style.display = 'none';
   on.style.display = 'block';

   all.style.display = 'none';
   snippets.style.display = 'none';
   projects.style.display = 'none';
   tutorials.style.display = 'none';
   solutions.style.display = 'none';

   var onbody = document.getElementById(id);
   onbody.style.display = 'block';
   
}

/* reset stats visibility - show just all as on */

function reset_stats_visibility() {
   var snippetson = document.getElementById('snippetson');
   var snippetsoff = document.getElementById('snippetsoff');
   var projectson = document.getElementById('projectson');
   var projectsoff = document.getElementById('projectsoff');
   var tutorialson = document.getElementById('tutorialson');
   var tutorialsoff = document.getElementById('tutorialsoff');
   var solutionson = document.getElementById('solutionson');
   var solutionsoff = document.getElementById('solutionsoff');
   var allon = document.getElementById('allon');
   var alloff = document.getElementById('alloff');
   
   var all = document.getElementById('all');
   var snippets = document.getElementById('snippets');
   var projects = document.getElementById('projects');
   var tutorials = document.getElementById('tutorials');
   var solutions = document.getElementById('solutions');
   
   snippetson.style.display = 'none';
   snippetsoff.style.display = 'block';
   projectson.style.display = 'none';
   projectsoff.style.display = 'block';
   tutorialson.style.display = 'none';
   tutorialsoff.style.display = 'block';
   solutionson.style.display = 'none';
   solutionsoff.style.display = 'block';
   allon.style.display = 'block';
   alloff.style.display = 'none';
   
   all.style.display = 'block';
   snippets.style.display = 'none';
   projects.style.display = 'none';
   tutorials.style.display = 'none';
   solutions.style.display = 'none';
}

/*###################################### USER SETTINGS PAGE TOGGLES ######################################*/

/* resets toggles on user settings page */

function reset_settings_toggle() {
   var password = document.getElementById('password');
   var passwordtxt = document.getElementById('password'+'txt');
   var email = document.getElementById('email');
   var emailtxt = document.getElementById('email'+'txt');
   var image = document.getElementById('image');
   var imagetxt = document.getElementById('image'+'txt');
   var homepage = document.getElementById('homepage');
   var homepagetxt = document.getElementById('homepage'+'txt');
   var newsletter = document.getElementById('newsletter');
   var newslettertxt = document.getElementById('newsletter'+'txt');
   var desc = document.getElementById('desc');
   var desctxt = document.getElementById('desc'+'txt');
   var submitbtn = document.getElementById('submitbtn');
   var edit = document.getElementById('edit');

   password.style.display = 'none';
   passwordtxt.innerHTML = '[edit]';
   email.style.display = 'none';
   emailtxt.innerHTML = '[edit]';
   image.style.display = 'none';
   imagetxt.innerHTML = '[edit]';
   homepage.style.display = 'none';
   homepagetxt.innerHTML = '[edit]';
   newsletter.style.display = 'none';
   newslettertxt.innerHTML = '[edit]';
   desc.style.display = 'none';
   desctxt.innerHTML = '[edit]';
   submitbtn.style.display = 'none';
   edit.style.display = 'none';
}

/** switch on user settings page toggles - only used when theres an error and
 *   all need to be viewable
 */

function activate_settings_toggle() {
   var password = document.getElementById('password');
   var passwordtxt = document.getElementById('password'+'txt');
   var email = document.getElementById('email');
   var emailtxt = document.getElementById('email'+'txt');
   var image = document.getElementById('image');
   var imagetxt = document.getElementById('image'+'txt');
   var homepage = document.getElementById('homepage');
   var homepagetxt = document.getElementById('homepage'+'txt');
   var newsletter = document.getElementById('newsletter');
   var newslettertxt = document.getElementById('newsletter'+'txt');
   var desc = document.getElementById('desc');
   var desctxt = document.getElementById('desc'+'txt');
   var submitbtn = document.getElementById('submitbtn');
   var edit = document.getElementById('edit');

   password.style.display = 'block';
   passwordtxt.innerHTML = '[close]';
   email.style.display = 'block';
   emailtxt.innerHTML = '[close]';
   image.style.display = 'block';
   imagetxt.innerHTML = '[close]';
   homepage.style.display = 'block';
   homepagetxt.innerHTML = '[close]';
   newsletter.style.display = 'block';
   newslettertxt.innerHTML = '[close]';
   desc.style.display = 'block';
   desctxt.innerHTML = '[close]';
   submitbtn.style.display = 'block';
   edit.style.display = 'block';
}


/** toggle any id passed. used only in user settings page coss 
  *  it checks whether to show submit button code for that page and
  *  it refers to id's of components only on that page
  */

function toggle_settings_visibility(id) {
   var e = document.getElementById(id);
   var f = document.getElementById(id+'txt');
   var password = document.getElementById('password');
   var email = document.getElementById('email');
   var image = document.getElementById('image');
   var homepage = document.getElementById('homepage');
   var newsletter = document.getElementById('newsletter');
   var desc = document.getElementById('desc');
   var submitbtn = document.getElementById('submitbtn');
   var edit = document.getElementById('edit');
   
   if(e.style.display == 'none') {
      e.style.display = 'block';
      f.innerHTML = '[close]';
   } else {
      e.style.display = 'none';
      f.innerHTML = '[edit]';
   }

   if((password.style.display == 'block') || (email.style.display == 'block') || (image.style.display == 'block')  || 
      (homepage.style.display == 'block') || (newsletter.style.display == 'block') || (desc.style.display == 'block'))
   {
      submitbtn.style.display = 'block';
      edit.style.display = 'block';
   } else {
      submitbtn.style.display = 'none';
      edit.style.display = 'none';
   }
}


/* toggle any id passed */

function toggle_any_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'none') {
      e.style.display = 'block';
   } else {
      e.style.display = 'none';
   }
}

/* toggle all id's passed */

function toggle_all_settings_visibility() {
   var password = document.getElementById('password');
   var passwordtxt = document.getElementById('password'+'txt');
   var email = document.getElementById('email');
   var emailtxt = document.getElementById('email'+'txt');
   var image = document.getElementById('image');
   var imagetxt = document.getElementById('image'+'txt');
   var homepage = document.getElementById('homepage');
   var homepagetxt = document.getElementById('homepage'+'txt');
   var newsletter = document.getElementById('newsletter');
   var newslettertxt = document.getElementById('newsletter'+'txt');
   var desc = document.getElementById('desc');
   var desctxt = document.getElementById('desc'+'txt');
   var submitbtn = document.getElementById('submitbtn');
   var edit = document.getElementById('edit');

   if((password.style.display == 'block') || (email.style.display == 'block') || (image.style.display == 'block')  || 
      (homepage.style.display == 'block') || (newsletter.style.display == 'block') || (desc.style.display == 'block'))
   {
      password.style.display = 'none';
      passwordtxt.innerHTML = '[edit]';
      email.style.display = 'none';
      emailtxt.innerHTML = '[edit]';
      image.style.display = 'none';
      imagetxt.innerHTML = '[edit]';
      homepage.style.display = 'none';
      homepagetxt.innerHTML = '[edit]';
      newsletter.style.display = 'none';
      newslettertxt.innerHTML = '[edit]';
      desc.style.display = 'none';
      desctxt.innerHTML = '[edit]';
      submitbtn.style.display = 'none';
      edit.style.display = 'none';
   } else {
      password.style.display = 'block';
      passwordtxt.innerHTML = '[close]';
      email.style.display = 'block';
      emailtxt.innerHTML = '[close]';
      image.style.display = 'block';
      imagetxt.innerHTML = '[close]';
      homepage.style.display = 'block';
      homepagetxt.innerHTML = '[close]';
      newsletter.style.display = 'block';
      newslettertxt.innerHTML = '[close]';
      desc.style.display = 'block';
      desctxt.innerHTML = '[close]';
      submitbtn.style.display = 'block';
      edit.style.display = 'block';
   }

}


/*########################################## POSTS PAGE TOGGLES ##########################################*/


/** toggle any id passed. used only in posts pages coss 
  *  it refers to id's of components only on that page
  */
  
function toggle_posts_insertimage_visibility(id) {
   var e = document.getElementById(id);
   var f = document.getElementById(id+'txt');
   
   if(e.style.display == 'none') {
      e.style.display = 'block';
      f.innerHTML = '[ close ]';
   } else {
      e.style.display = 'none';
      f.innerHTML = '[ Insert Image ]';
   }
}