/*
 * VERSION: @version $Id: contentheading.js 2008-04-29 15:00 $
 * PACKAGE: @package Theme Joomla Template - Color Fusion
 * COPYRIGHT: @copyright Copyright (C) 2008 Theme Joomla. All rights reserved. E & OE
 * INFO: This is a script created using the mootools framework created specifically for our templates to give Joomla! content headings a new look.
 * Please visit our site www.themejoomla.com and read our terms and conditions for more info.
 *
 * SCRIPT: contentheading.js
 * SCRIPT LICENSE: http://creativecommons.org/licenses/by/2.5/
 * SCRIPT COPYRIGHT: @copyright Copyright (C) 2008 Theme Joomla. All rights reserved. E & OE
 * SCRIPT CREDITS: script by Gavin Li-Hunt used with Theme Joomla Template - Color Fusion
 */

window.addEvent( 'domready', contentHeading );

function contentHeading() {
  var heading, element, oldDate, html_text, writtenByDisplay, modifyDateDisplay, pdfDisplay, printDisplay, emailDisplay, editDisplay, day, month, year;
  pdfDisplay = "";
  printDisplay = "";
  emailDisplay = "";
  editDisplay = "";
  writtenByDisplay = "";
  modifyDateDisplay = "";
  writtenBy = "";
  modifyDate = "";
  element = "";
  pdfLink = "";
  pdfImg = "";
  printLink = "";
  printImg = "";
  emailLink = "";
  emailImg = "";
  editLink = "";
  editImg = "";
  day = "";
  month = "";
  year = "";
  contentpane = $$('table[class="contentpaneopen"]');
  functions = $$('td[class="buttonheading"]');
  for (i=0;i<contentpane.length;i++) {
    try {
      contentpaneopen = contentpane[i].getElement('td[class="contentheading"]').getText();
      if ( contentpaneopen != "" ) {
	      try {
	        pdfLink = contentpane[i].getElement('td[class="buttonheading"] a[title="PDF"]');
	        pdfImg  = contentpane[i].getElement('td[class="buttonheading"] img[alt="PDF"]');
	      } catch (err) {}
	      try {
	        printLink = contentpane[i].getElement('td[class="buttonheading"] a[title="Print"]');
	        printImg  = contentpane[i].getElement('td[class="buttonheading"] img[alt="Print"]');
	      } catch (err) {}
	      try {
	        emailLink = contentpane[i].getElement('td[class="buttonheading"] a[title="E-mail"]');
	        emailImg  = contentpane[i].getElement('td[class="buttonheading"] img[alt="E-mail"]');
	      } catch (err) {}
	      try {
	        element = contentpane[i].getElement('td[class="contentheading"]');
	      } catch (err) {}
	      try {
	        writtenBy = contentpane[i+1].getElement('span[class="small"]');
	      } catch (err) {}
	      try {
	        modifyDate = contentpane[i+1].getElement('td[class="modifydate"]');
	      } catch (err) {}
	      try {
	        editLink = contentpane[i].getElement('span[class="hasTip"] a');
	      } catch (err) {}
	      try {
	        editImg = contentpane[i].getElement('span[class="hasTip"] a img[alt="edit"]');
	      } catch (err) {}
	      try {
	        oldDate = contentpane[i+1].getElement('td[class="createdate"]');
	      } catch (err) {}
		    heading = element.getText();
		    displayDate = false;
		    try {
			    if (oldDate.getText() != "") {
			      date = oldDate.getText();
			      dateArray = date.split(' ');
			      day = dateArray[1];
			      month = dateArray[2];
			      month = month.substring(0, 3);
			      year = dateArray[3];
			      displayDate = true;
			    }
			  } catch (err) {}
	      try {
	        pdfDisplayImg=getImg(pdfImg,null,'');
	        pdfDisplay='<div id="cf_functions_pdf">'+getLink(pdfLink,pdfDisplayImg,'tips','Create PDF :: Click here to create a PDF of this document.')+'</div>';
	      } catch (err) {}
	      try {
	        printDisplayImg=getImg(printImg,null,'');
	        printDisplay='<div id="cf_functions_print">'+getLink(printLink,printDisplayImg, 'tips', 'Print this article. :: Click here to print this article.')+'</div>';
	      } catch (err) {}
	      try {
	        emailDisplayImg=getImg(emailImg,null,'');
	        emailDisplay='<div id="cf_functions_email">'+getLink(emailLink,emailDisplayImg, 'tips', 'Email this article.:: Click here to email this article.')+'</div>';
	      } catch (err) {}
	      try {
	        editDisplayImg=getImg(editImg,null,'');
	        editDisplay=getLink(editLink,editDisplayImg,'tips','Edit Article :: '+writtenBy.getText()+'<br/>'+modifyDate.getText());
	      } catch (err) {}
	      try {
	        modifyDateDisplay = '<li>'+modifyDate.getText()+'</li>';
	      } catch (err) {}
	      try {
	        writtenByDisplay = '<li>'+writtenBy.getText()+'</li>';
	      } catch (err) {}
	      if (element.getElements('a').length > 0) {
	        a_tag=element.getElements('a');
	        heading = getLink(a_tag,heading);
	      }
	      element.setHTML(getHTMLText(displayDate,day,month,year,heading,writtenByDisplay,modifyDateDisplay,pdfDisplay,printDisplay,emailDisplay,editDisplay));
	      try{
	        oldDate.getParent().remove();
	      } catch (err) {}
	      try {
	        if (writtenBy.getText() != "") {
	          writtenBy.getParent().getParent().remove();
	        }
	      } catch (err) {}
	      try {
	        if (modifyDate.getText() != "") {
	          modifyDate.getParent().remove();
	        }
	      } catch (err) {}
	      try {
	        if (editLink != "") {
	          editLink.getParent().remove();
	        }
	      } catch (err) {}
      }
    } catch (err) {}
  }
  for (j=0;j<functions.length;j++) {
    functions[j].remove();
  }
}

function getHTMLText(displayDate,day,month,year,heading,writtenBy,modifyDate,pdf_icon,print_icon,email_icon,edit_icon) {
  html_date = "";
  html_buttons =  '    <div id="cf_functions">\n'+
                  '      ' + pdf_icon+'\n'+print_icon+'\n'+email_icon+
                  '    </div>\n';
  mid_style = 'cf_content_head_mid_nodate';
  title_style = 'cf_content_title_nodate';
  if ( displayDate ) {
    mid_style = 'cf_content_head_mid';
    title_style = 'cf_content_title';
    html_date =
    '  <div id="cf_calendar">\n'+
	  '    <div id="cf_calendar_day">\n'+
	  '      '+day+'\n'+
	  '    </div>\n'+
	  '    <div id="cf_calendar_year">\n'+
	  '      '+month+' '+year+'\n'+
	  '    </div>\n'+
	  '  </div>\n';
  }
  html_text =
  '<div id="cf_content_head">\n'+html_date+
  '  <div id="'+mid_style+'">\n'+
  '    <div id="'+title_style+'">\n'+
  '      '+heading+edit_icon+'\n'+
  '    </div>\n'+
  '    <div id="cf_content_links">\n'+html_buttons+
  '      <ul>\n'+
  '        '+writtenBy+'\n'+
  '        '+modifyDate+'\n'+
  '      </ul>\n'+
  '    </div>\n'+
  '  </div>\n'+
  '</div>';
  return html_text;

  function getHTMLText(day,month,year,heading,writtenBy,modifyDate,readMore,pdf_icon,print_icon,email_icon) {
  html_text = '<div id="cf_content_head">\n'+
  '<div id="cf_calendar">\n'+
  '<div id="cf_calendar_day">\n'+
  day+'\n'+
  '</div>\n'+
  '<div id="cf_calendar_year">\n'+
  month+' '+year+'\n'+
  '</div>\n'+
  '</div>\n'+
  '<div id="cf_content_mid">\n'+
  '<div id="cf_content_title">\n'+
  heading+'\n'+
  '</div>\n'+
  '<div id="cf_content_links">\n'+
  '<ul>\n'+
  '  '+writtenBy+'\n'+
  '  '+modifyDate+'\n'+
  '  '+readMore+'\n'+
  '</ul>\n'+
    '<div id="cf_functions">\n'+
    pdf_icon+'\n'+print_icon+'\n'+email_icon+
  '</div>\n'+
  '</div>\n'+
  '</div>\n'+
  '</div>\n'+
  '</div>';
  return html_text;
}
}

function getLink(a, text_tag, my_class, my_title) {
  var hrefDisplay, titleDisplay, classDisplay, relDisplay, targetDisplay, onclickDisplay;
  hrefDisplay='';
  titleDisplay='';
  classDisplay='';
  relDisplay='';
  targetDisplay='';
  onclickDisplay='';
  href_tag=a.getProperty('href');
  if (href_tag != null) hrefDisplay=' href="'+href_tag+'"';
  title_tag=a.getProperty('title');
  if (my_title != null) title_tag = my_title;
  if (title_tag != null) titleDisplay=' title="'+title_tag+'"';
  rel_tag=a.getProperty('rel');
  if (rel_tag != null) relDisplay=' rel="'+rel_tag+'"';
  class_tag=a.getProperty('class');
  if (my_class != null) class_tag = my_class;
  if (class_tag != null) classDisplay=' class="'+class_tag+'"';
  target_tag=a.getProperty('target');
  if (target_tag != null) targetDisplay=' target="'+target_tag+'"';
  onclick_tag=a.getProperty('onclick');
  if (onclick_tag != null) onclickDisplay=' onclick="'+onclick_tag+'"';
  return '<a '+hrefDisplay+titleDisplay+classDisplay+relDisplay+targetDisplay+onclickDisplay+'>'+text_tag+'</a>';
}

function getImg(img, my_class, my_title) {
  var srcDisplay, titleDisplay, classDisplay, altDisplay, nameDisplay, alignDisplay, borderDisplay;
  srcDisplay='';
  titleDisplay='';
  classDisplay='';
  altDisplay='';
  nameDisplay='';
  alignDisplay='';
  borderDisplay='';
  src_tag=img.getProperty('src');
  if (src_tag != null) srcDisplay=' src="'+src_tag+'"';
  title_tag=img.getProperty('title');
  if (my_title != null) {
    titleDisplay=' title="'+my_title+'"';
  } else if (title_tag != null) {
    titleDisplay=' title="'+title_tag+'"';
  }
  class_tag=img.getProperty('class');
  if (my_class != null) {
    classDisplay=' class="'+my_class+'"';
  } else if (class_tag != null) {
    classDisplay=' class="'+class_tag+'"';
  }
  alt_tag=img.getProperty('alt');
  if (alt_tag != null) altDisplay=' alt="'+alt_tag+'"';
  name_tag=img.getProperty('name');
  if (name_tag != null) nameDisplay=' name="'+name_tag+'"';
  align_tag=img.getProperty('align');
  if (align_tag != null) alignDisplay=' align="'+align_tag+'"';
  border_tag=img.getProperty('border');
  if (border_tag != null) borderDisplay=' border="'+border_tag+'"';
  return '<img '+srcDisplay+titleDisplay+classDisplay+altDisplay+nameDisplay+alignDisplay+borderDisplay+'/>';
}