/* Minisite Wizard */

importScript("/js/Hint.js");

function con_height_fix() {
	
	var nh = document.getElementById('left_navi').offsetHeight;
	var eh = document.getElementById('essential').offsetHeight;
	var mh = document.getElementById('middle').offsetHeight;
	
	if((mh+eh) < nh) {
		document.getElementById('essential').style.height = (nh-mh) + 'px';
	}
}

/* Style */

/* PCH: T#6556 widget 2.0, inny update na stronach z widgetami
 * t_e - Zakładka style 
 * tw_e - Zakładka widgety
 * 
 *  update() - style
 *  updateWidget() - widgety
 *   
 */

function init()
{	
	var tables = document.getElementsByTagName('TABLE');
	for(var i = 0; i < tables.length ; i++)	{	
		if(tables[i].id.indexOf('t_e')>-1) update(tables[i].id);		
		// PCH: T#6556 widget 2.0, dodane
		if(tables[i].id.indexOf('tw_e')>-1) updateWidget(tables[i].id);
	}
}

function update(tableId)
{
	// PCH: T#6556 widget 2.0, hack na podpiecie pod callbacki z colorPickera
	if (tableId.indexOf('tw_e')>-1){ 
		updateWidget(tableId);
		return;
	}
	
	var tab = document.getElementById(tableId);	
	
	var divs = tab.getElementsByTagName('DIV');
	var prev;
	for(var i = 0; i < divs.length ; i++)
	{	
		if(containsClass(divs[i], 'preview'))		
		{
			prev = divs[i];
			break;
		}
	}

	if(prev)
	{
		var selects = tab.getElementsByTagName('SELECT');
		for(var i = 0; i < selects.length ; i++)
		{
			var name = selects[i].name;		
			while(name.indexOf('.')>0)
				name = name.substring(name.indexOf('.')+1, name.length);
			
			var s = getSelectValue(selects[i]);
			if (!s) continue;
			
			if(name=='family') prev.style.fontFamily=s;
			if(name=='size') prev.style.fontSize=s;
		}
	}
	
	var inputs = tab.getElementsByTagName('INPUT');	
	for(var i = 0; i < inputs.length ; i++)
	{
		if (inputs[i].type!="checkbox") continue;
		
		var name = inputs[i].name;
		var color = getColor(inputs[i]);
		if (color=="none") color="";
	
		var e = document.getElementById(name.substring(0,name.length-10) + "div");
		
		if (e) e.style.backgroundColor=color;
		
		while(name.indexOf('.')>0) name = name.substring(name.indexOf('.')+1, name.length);
		if(prev && name=='isDefault')prev.style.color=color;
		if(prev && name=='isDefaultBg')prev.style.backgroundColor=color;
		
					
	}
}

function updateWidget(tableId){
	var tab = document.getElementById(tableId);	
	
	var divs = tab.getElementsByTagName('DIV');
	var prev;
	for(var i = 0; i < divs.length ; i++){	
		if(containsClass(divs[i], 'color')){
			prev = divs[i];
			break;
		}
	}

	if(prev){
		var inputs = tab.getElementsByTagName('INPUT');	
		var def;
		for(var i = 0; i < inputs.length ; i++){	
			if(containsClass(inputs[i], 'widget_color')){
				def = inputs[i];
				break;
			}
		}
		var color = (def && "none"!=def.value)?def.value:"";
		if (color!="" && !color.match("^#[0-9A-Fa-f]{6}$")){
			alert('Niedopuszczalny format koloru.\n\nPodaj szesnastkowy kod koloru (np. #FF0035), \nwybierz kolor z palety lub pozostaw puste pole.');
			def.value="";
			color="";
		}
			
		prev.style.backgroundColor=color;
	}
}

function getColor(element)
{
	var td = element.parentNode;				
	var n = td.childNodes;
	var color;
	for(var i=1; i<n.length;i++)
	{						
		if(n[i].nodeName!='INPUT')continue;
		if(n[i].type=='text' || n[i].type=='button')
		{					
			n[i].disabled = element.checked;
			if(!element.checked && n[i].type=='text')color=n[i].value;
		}
		if(n[i].type=='hidden')
		{	
			n[i].disabled= !element.checked;
			if(element.checked && n[i].name.indexOf('_default')>0) color=n[i].value;
		}
	}	
	if (color==null) return null;
	return color.replace(/;/g,'');
}

function getSelectValue(select)
{
	var value=select.value;
	if (!(value!='')) value = select.parentNode.getElementsByTagName('INPUT')[0].value;
	
	// jezlei wartosc defaultowa, to zwracamy default
	if (value=="_default") value = portletDefaults[select.name];
	
	return value;
}

var ieFr = false;

function chooseColor()
{
	color_picker_form_field.value = this.getAttribute('rgbColor');
	color_picker_div.style.display='none';
	if (ieFr) ieFr.style.display='none';
	
	var n = color_picker_form_field.parentNode.childNodes;	
	for(var i=1;i<n.length;i++)	
		if(n[i].nodeName=='INPUT' && n[i].type=='checkbox') n[i].checked=false;
		
	while(color_picker_form_field.tagName!='TABLE')
		color_picker_form_field = color_picker_form_field.parentNode;
			
	update(color_picker_form_field.id);		 
}

function closeColorPicker()
{
	color_picker_div.style.display='none';
	if (ieFr) ieFr.style.display='none';
}

function chooseColorSlider()
{
	color_picker_form_field.value = document.getElementById('js_color_picker_color_code').value;
	color_picker_div.style.display='none';		
	if (ieFr) ieFr.style.display='none';
}

function showHideForumForm(element)
{
	element.blur();
	var form = $("forum_form");
	if(containsClass(form,"hidden")) removeClass(form,"hidden");
	else addClass(form,"hidden");
	return false;
}

addEvent(window,"load",init);