/**
 * Javascript file
 *
 * @package    Content Templater editor button
 * @version    0.3.0
 * @since      File available since Release 0.1.1
 *
 * @author     Peter van Westen <peter@nonumber.nl>
 * @link       http://www.nonumber.nl/betterpreview
 * @copyright  Copyright (C) 2009 NoNumber! All Rights Reserved
 * @license    http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
 */

function CT_getXML( id )
{
	CT_startLoad();
	var myXHR = new XHR( {
			method: 'get',
			onSuccess: function( data ) { CT_insertTexts( data ); },
			onFailure: function() { CT_finishLoad(); }
		} );
	myXHR.send( CT_root+'index.php?option=com_contenttemplater&id='+id );
}
function CT_insertTexts( data ) {
	var data = data.split( '[/CT]' );
	
	var params = new Object;
	for ( i = 0; i < data.length; i++ )
	{
		if ( data[i].indexOf('[CT]' ) != -1 ) {
			vals = data[i].split( '[CT]' );
			key = ckey = vals[1].trim();
			params[ key ] = new Object;
			params[ key ]['default'] = vals[2].trim();
			params[ key ]['value'] = vals[3].trim();
		}
	}
	
	for ( key in params )
	{
		param = params[key];
		
		if ( key == 'content' ) {
			if ( params[key].value.length ) {
				jInsertEditorText( params[key].value, CT_text_name );
			}
		} else {
			if ( params[ key ]['value'] != params[ key ]['default'] ) {
				field_val = getValue( key );
				if ( field_val != params[ key ]['value'] ) {
					setValue( key, params[ key ]['value'] );
					if ( key == 'sectionid' && document.adminForm && document.adminForm.sectionid && sectioncategories ) {
						changeDynaList( 'catid', sectioncategories, document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].value, 0, 0);
					}
				}
			}
		}
	}
	CT_finishLoad();
}
function CT_startLoad() {
	var newdiv = document.createElement( 'div' );
	newdiv.setAttribute( 'id', 'CT_overlay' );
	newdiv.setAttribute( 'onclick', 'CT_finishLoad()' );
	newdiv.setAttribute( 'style', 'cursor:wait;background:black url('+CT_root+'/administrator/components/com_contenttemplater/images/loading.gif) no-repeat center center;position:fixed;left:0px;right:0px;top:0px;bottom:0px;z-index:65555;opacity:0.7;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter: alpha(opacity=70);' );
	document.body.appendChild( newdiv );
}

function CT_finishLoad() {
	overlay =  document.getElementById( 'CT_overlay' );
	if ( overlay ) {
		document.body.removeChild( overlay );
	}
}


function getValue( key ) {
	element = document.getElementById( key );
	if( !element ) {
		element = document.adminForm.elements[ key ];
	}
	if( !element ) {
		return "";
	}
	var elementLength = element.length;
	if( element.type == 'select-one' || !elementLength ) {
		return element.value;
	} else {
		for(var i = 0; i < elementLength; i++) {
			if( element[i].checked ) {
				return element[i].value;
			}
		}
	}
	return "";
}

function setValue( key, value ) {
	element = document.getElementById( key );
	if( !element ) {
		element = document.adminForm.elements[ key ];
	}
	if( !element ) {
		return;
	}
	var elementLength = element.length;
	if( element.type == 'select-one' || !elementLength ) {
		return element.value = value.toString();
	} else {
		for(var i = 0; i < elementLength; i++) {
			element[i].checked = false;
			if( element[i].value == value.toString() ) {
				return element[i].checked = true;
			}
		}
	}
}