// ++=========================================================================++
// || vBadvanced CMPS v3.1.0 (vB 3.6 - vB 3.8) - 103107
// || © 2003-2009 vBadvanced.com - All Rights Reserved
// || This file may not be redistributed in whole or significant part.
// || http://vbadvanced.com
// || Downloaded 14:41, Wed Mar 25th 2009
// || 870103107_405114038131
// ++ ========================================================================++

var is_ie7 = false;

function check_all_array(allbox, inputname, secondary)
{
	if (secondary)
	{
		var matchname = inputname + "\\[" + secondary + "\\]";
	}
	else
	{
		var matchname = inputname;
	}

	var	allInputs	=	allbox.form.getElementsByTagName('input')

	for	(var i = 0;	i	<	allInputs.length;	i++)
	{
		if (allInputs[i].type	!= 'checkbox')
		{
			continue;
		}

		if (allInputs[i].name.match(matchname))
		{
			allInputs[i].checked = allbox.checked;
		}
	}
}

function preview_bbcode(previewtype)
{
	xml_sender = new vB_AJAX_Handler(true);
	xml_sender.init();

	if (is_vb_37)
	{
		if(!is_ajax_compatible())
		{
			return true;
		}
	}
	else
	{
		if (!xml_sender.is_compatible())
		{
			return true;
		}
	}

	if (previewtype == 'module')
	{
		var inputname = 'module[options]';
		var contenttype = document.vbform.elements["module[inctype]"].value;
	}
	else
	{
		var inputname = 'setting[custompage]';
		var contenttype = document.vbform.elements["page[type]"].value;
	}

	// Attributes to send
	var att_send = new String('previewtype=' + previewtype + '&type=' + contenttype);

	att_send = att_send + "&title=" + document.vbform.elements[previewtype + "[title]"].value;
	att_send = att_send + "&colspan=" + document.vbform.elements[previewtype + "[colspan]"].value;

	// Module
	if (previewtype == 'module')
	{
		att_send = att_send + "&modid=" + document.vbform.elements["modid"].value;
		att_send = att_send + "&altshell=" + document.vbform.elements["module[altshell]"].value;

		if (document.vbform.elements["module[useshell][enable]"][0].checked)
		{
			att_send = att_send + "&useshell=1";
		}
	}
	// Page
	else
	{
		if (document.vbform.elements["page[useshell]"][0].checked)
		{
			att_send = att_send + "&useshell=1";
		}

		var customtitle = document.vbform.elements["page[custom_title]"].value;

		if (customtitle)
		{
			att_send = att_send + "&customtitle=" + PHP.urlencode(customtitle);
		}
	}

	switch (contenttype)
	{
		// ##### BB code
		case 'bb_code':

			if (document.vbform.elements[inputname + "[allow_html]"].checked)
			{
				att_send = att_send + "&html=1";
			}

			if (document.vbform.elements[inputname + "[allow_smilies]"].checked)
			{
				att_send = att_send + "&smilies=1";
			}

			if (document.vbform.elements[inputname + "[allow_image_code]"].checked)
			{
				att_send = att_send + "&imgcode=1";
			}

			att_send = att_send + "&message=" + PHP.urlencode(vB_Editor['vB_Editor_001'].get_editor_contents());

		break;

		// ##### PHP File
		case 'php_file':

			if (previewtype == 'page')
			{
				att_send = att_send + "&filename=" + document.vbform.elements["page[filename]"].value;
			}
			else
			{
				att_send = att_send + "&filename=" + document.vbform.elements["module[filename]"].value;

				if (document.vbform.elements[inputname + "[load_bbcode_parser]"][0].checked)
				{
					att_send = att_send + "&load_bbcode=1";
				}

				var templatesused = document.vbform.elements["module[templatelist]"].value;

				if (templatesused)
				{
					att_send = att_send + "&templatesused=" + PHP.urlencode(templatesused);
				}

				var modvarsinput = document.vbform.elements["modulevars"].value;
				var modvars = modvarsinput.split(',');

				var modidentifier = document.vbform.elements["module[identifier]"].value

				att_send = att_send + "&identifier=" + modidentifier;

				if (modvars)
				{
					for (i in modvars)
					{
						var setting_val = document.vbform.elements["setting[adv_portal_" + modidentifier + "][" + modvars[i] + "]"];
						var value_send = null;

						if (setting_val != undefined)
						{
							// Text / select
							if (setting_val.value != undefined)
							{
								value_send = setting_val.value;
							}
							// Radio
							else if (setting_val.length)
							{
								for (var j = 0; j < setting_val.length; j++)
								{
									if (setting_val[j].checked)
									{
										value_send = setting_val[j].value;
									}
								}
							}
						}

						if (value_send != null)
						{
							att_send = att_send + "&setting[" + modvars[i] + "]=" + PHP.urlencode(value_send);
						}
					}
				}
			}

		break;

		// ##### Template
		case 'template':

			if (document.vbform.elements['template'])
			{
				var tempcontent = document.vbform.elements['template'].value;

				if (tempcontent)
				{
					att_send = att_send + "&template=" + document.vbform.elements["template"].value;
				}
			}

			if (previewtype == 'page')
			{
				att_send = att_send + "&filename=" + document.vbform.elements["page[template]"].value;
			}
			else
			{
				att_send = att_send + "&filename=adv_portal_" + document.vbform.elements["module[filename]"].value;
			}

		break;
	}

	xml_sender.onreadystatechange(fetch_preview_output);
	xml_sender.send("vba_cmps_admin.php?do=preview", att_send);
	return false;
}

function fetch_preview_output()
{
	if (xml_sender.handler.readyState == 4 && xml_sender.handler.status == 200)
	{
		if (xml_sender.handler.responseXML && fetch_tags(xml_sender.handler.responseXML, 'module_preview')[0])
		{
			newwin = window.open('vba_cmps_admin.php?do=previewcode&type=module', 'previewwindow', 'resizable=1,toolbar=0,menubar=0,scrollbars=1,width=350,height=350');
			newwin.document.open();
			newwin.document.write(xml_sender.fetch_data(fetch_tags(xml_sender.handler.responseXML, 'module_preview')[0]));
			newwin.focus();
			newwin.document.close();
			return false;
		}
	}
	return false;
}