
//Core scripts
include("/js/jsurlengine.js");
include("/js/jserrors.js");
include("/js/smartdialogbox.js");

//Interface scripts
include("/js/jsinterface_usuario.js");
include("/js/jsinterface_topico.js");
include("/js/jsinterface_comentario.js");
include("/js/jsinterface_forum.js");
include("/js/jsinterface_talk.js");
include("/js/jsinterface_noticias.js");
include("/js/jsinterface_comunidades.js");
include("/js/jsinterface_tags.js");
include("/js/jsinterface_shopping.js");
include("/js/jsinterface_grupos.js");
include("/js/jsinterface_gallery.js");
include("/js/jsinterface_smart.js");
include("/js/jsinterface_buttons.js");
//include("/js/jsinterface_topbar.js");
include("/js/jsinterface_edicao.js");
include("/js/jsinterface_files.js");
include("/js/jsinterface_widget.js");
include("/js/jsinterface_mailing.js");

include("/js/jsinterface_smart_rating_progress.js");

//Objetos
//SMART
include("/smart/js/jssmart_item_obj.js");
include("/smart/js/jssmart_acesso_obj.js");
include("/smart/js/jssmart_comentario_obj.js");
include("/smart/js/jssmart_voto_obj.js");
include("/smart/js/jssmart_progresso_obj.js");
include("/smart/js/jssmart_gallery_obj.js");
include("/smart/js/jssmart_ftp_obj.js");
//COMMUNITY
include("/community/js/jscommunity_comunidade_obj.js");
//CONFERENCE
include("/conference/js/jsconference_conference_obj.js");
//FORUM
include("/forum/js/jsforum_forum_obj.js");
include("/forum/js/jsforum_thread_obj.js");
include("/forum/js/jsforum_post_obj.js");
include("/forum/js/jsforum_ui_forms.js");
//NEWS
include("/news/js/jsnews_noticia_obj.js");
include("/news/js/jsnews_acesso_obj.js");
//PACOTES
include("/pacotes/js/jspacotes_pacote_obj.js");
//PRESENTATION
include("/presentation/js/jspresentation_apresentacao_obj.js");
include("/presentation/js/jspresentation_apresentacao_timeline_obj.js");
//SHOPPING
include("/shopping/js/jsshopping_carrinho_obj.js");
include("/shopping/js/jsshopping_pedido_obj.js");
include("/shopping/js/jsshopping_produto_obj.js");
include("/shopping/js/jsshopping_itempedido_obj.js");
//TAGS
include("/tags/js/jstags_tag_obj.js");
include("/tags/js/jstags_tagging_obj.js");
include("/tags/js/jstags_item_obj.js");
include("/tags/js/jstags_dominio_obj.js");
include("/tags/js/jstags_sumario_obj.js");
include("/tags/js/jstags_classificacao_obj.js");
include("/tags/js/jstags_ui_forms.js");
//USERS
include("/users/js/jsusers_login_obj.js");
include("/users/js/jsusers_usuario_obj.js");
include("/users/js/jsusers_participacao_obj.js");
include("/users/js/jsusers_endereco_obj.js");
include("/users/js/jsusers_grupo_obj.js");
//WIKI
include("/wiki/js/jswiki_topico_obj.js");
include("/wiki/js/jswiki_acesso_obj.js");
//FILES
include("/files/js/jsfiles_arquivo_obj.js");
include("/files/js/jsfiles_slideshow_obj.js");
//LEARNING
include("/learning/js/jslearning_curso_obj.js");
include("/learning/js/jslearning_matricula_obj.js");
//MAILING
include("/mailing/js/jsmailing_campanha_obj.js");
//POLL
include("/poll/js/jspoll_avaliacao_obj.js");
include("/poll/js/jspoll_questao_obj.js");
include("/poll/js/jspoll_alternativa_obj.js");
include("/poll/js/jspoll_resposta_obj.js");
//UI
include("/ui/js/jsui_ui_obj.js");
include("/ui/js/jsui_uiperfil_obj.js");
include("/ui/js/jsui_uiitem_obj.js");
include("/ui/js/jsui_admin_obj.js");
include("/ui/js/jsui_comunidade_obj.js");
include("/ui/js/jsui_users_obj.js");
include("/ui/js/jsui_forum_obj.js");
include("/ui/js/jsui_usuario_obj.js");
include("/ui/js/jsui_gallery_obj.js");
include("/ui/js/jsui_noticia_obj.js");
include("/ui/js/jsui_apresentacao_obj.js");
include("/ui/js/jsui_pacote_obj.js");
include("/ui/js/jsui_widget_obj.js");





//Global vars
var SERVICES_PATH = "/services/";
var SMART_SERVICESPATH = "/smart/services/";
var COMMUNITY_SERVICESPATH = "/community/services/";
var CONFERENCE_SERVICESPATH = "/conference/services/";
var FORUM_SERVICESPATH = "/forum/services/";
var PACOTES_SERVICESPATH = "/pacotes/services/";
var TALK_SERVICESPATH = "/services/talk/";
var TAGS_SERVICESPATH = "/tags/services/";
var USERS_SERVICESPATH = "/users/services/";
var WIKI_SERVICESPATH = "/wiki/services/";
var SHOPPING_SERVICESPATH = "/shopping/services/";
var NEWS_SERVICESPATH = "/news/services/";
var UI_SERVICESPATH = "/ui/services/";
var PRESENTATION_SERVICESPATH = "/presentation/services/";
var FILES_SERVICESPATH = "/files/services/";
var LEARNING_SERVICESPATH = "/learning/services/";
var WIDGET_SERVICESPATH = "/widget/services/";
var MAILING_SERVICESPATH = "/mailing/services/";
var POLL_SERVICESPATH = "/poll/services/";

var WIKI_XSLPATH = "/wiki/templates/"
var NEWS_XSLPATH = "/news/templates/"
var WIDGET_XSLPATH = "/widget/templates/"
INTERNALWIDGET_XSLPATH = "/templates/internal_widgets/";


var XSLPATH = "/templates/";
var XSLFORMPATH = XSLPATH + "forms/";

var TAGS_PATH = "/tags/";
var FORUM_PATH = "/forum/";


var _defaultPageSize = 10;


//main.js
var URLE;
var _xslDefaultParams;
var _hideOnClick = [];
var _hideOnClick2 = [];

function init() {
	AjaxRequestQueue.Enabled = true;
	//URLEngine settings
	URLE = new URLEngine(_root, _template);
	URLE.CheckLink();
	HistoryControl.OnLoad = URLE.HcOnPageLoad;
	HistoryControl.hcpage = "/hc_component.aspx";
	document.onclick = function() {
		setTimeout('URLE.CheckChanges();', 5);
		if(_hideOnClick.length>0 || _hideOnClick2.length>0) {
			while(_hideOnClick2.length>0) {
				try {
					$(_hideOnClick2.pop()).Hide();
				} catch(e) {}
			}
			_hideOnClick2 = _hideOnClick;
			_hideOnClick = [];
		}
	}
	//Topbar
	//TopBar.HideBar(2000);
	UI.AlphaBg.CreateBg("#000000", 70);
	//Requests settings
	AjaxRequestQueue.OnRequestLoad = InterfaceSmart.Requests.OnLoad;
	XSLBinderRequestQueue.OnXMLRequestLoad = InterfaceSmart.Requests.OnLoad;
	//DOMFunctions settings
	DOMFunctions.onContentSet = onContentSet;
}

function resetXSLParams() {
	var now = new Date();
	var yesterday = new Date(new Date().setDate(now.getDate()-1));
	_xslDefaultParams = new XSLParameters();
	_xslDefaultParams.AddParam("root", _root);
	_xslDefaultParams.AddParam("usuid", _usuid);
	_xslDefaultParams.AddParam("usulogin", _usulogin);
	_xslDefaultParams.AddParam("usutipo", _usutipo);
	_xslDefaultParams.AddParam("usuitem", _usuitem);
	_xslDefaultParams.AddParam("http", _http);
	_xslDefaultParams.AddParam("logado", _logado);
	_xslDefaultParams.AddParam("now", now.toString());
	_xslDefaultParams.AddParam("now_dia", now.getDate());
	_xslDefaultParams.AddParam("now_mes", now.getMonth()+1);
	_xslDefaultParams.AddParam("now_ano", now.getFullYear());
	_xslDefaultParams.AddParam("yesterday_dia", yesterday.getDate());
	_xslDefaultParams.AddParam("yesterday_mes", yesterday.getMonth()+1);
	_xslDefaultParams.AddParam("yesterday_ano", yesterday.getFullYear());
	_xslDefaultParams.AddParam("ut_Nenhum", _ut_Nenhum);
	_xslDefaultParams.AddParam("ut_CriarItem", _ut_CriarItem);
	_xslDefaultParams.AddParam("ut_CriarItemArtefato", _ut_CriarItemArtefato);
	_xslDefaultParams.AddParam("ut_CriarItemTopico", _ut_CriarItemTopico);
	_xslDefaultParams.AddParam("ut_CriarItemNoticia", _ut_CriarItemNoticia);
	_xslDefaultParams.AddParam("ut_CriarItemColaboracao", _ut_CriarItemColaboracao);
	_xslDefaultParams.AddParam("ut_CriarItemConference", _ut_CriarItemConference);
	_xslDefaultParams.AddParam("ut_CompartilharItem", _ut_CompartilharItem);
	_xslDefaultParams.AddParam("ut_AdministradorConteudo", _ut_AdministradorConteudo);
	_xslDefaultParams.AddParam("ut_AdministradorUsuarios", _ut_AdministradorUsuarios);
	_xslDefaultParams.AddParam("ut_VerTodosGrupos", _ut_VerTodosGrupos);
	_xslDefaultParams.AddParam("ut_AdministradorEcomm", _ut_AdministradorEcomm);
	//_xslDefaultParams.AddParam("ut_VerTopBar", _ut_VerTopBar);
	_xslDefaultParams.AddParam("ut_God", _ut_God);
	_xslDefaultParams.AddParam("conf_redesocial", _conf_redesocial);
	_xslDefaultParams.AddParam("conf_comunidades", _conf_comunidades);
	_xslDefaultParams.AddParam("conf_usutipo", _conf_usutipo);
	_xslDefaultParams.AddParam("conf_comentarios", _conf_comentarios);
	try {
		_xslDefaultParams.AddParam("trail_web2_value", _trail_web2_value);
		_xslDefaultParams.AddParam("trail_web2_href", _trail_web2_href);
		_xslDefaultParams.AddParam("trail_home_value", _trail_home_value);
		_xslDefaultParams.AddParam("trail_home_href", _trail_home_href);
	} catch(e) { }
}

function onContentSet(target, html) {
	//Suggest box
	/*var eles = $A("fieldtype", "suggest", target);
	if(eles.length>0) {
		for(var i=0; i<eles.length; i++) {
			SuggestBox.Apply(eles[i]);
		}
	}*/
	//Elementos pra quem ta logado
	var eles = $C("eLogado", target);
	for(var i=0; i<eles.length; i++) {
		if(_usulogin.toLowerCase() != "visitante") { eles[i].Show(); } else { eles[i].Hide(); }
	}
	var eles = $C("eNaoLogado", target);
	for(var i=0; i<eles.length; i++) {
		if(_usulogin.toLowerCase() != "visitante") { eles[i].Hide(); } else { eles[i].Show(); }
	}
	//Buy button
	var eles = $A("imgtype", "buybutton", target);
	if(eles.length>0) {
		for(var i=0; i<eles.length; i++) {
			InterfaceShopping.ButtonAplly(eles[i]);
		}
	}
	//NOVO BOTAO DE COMPRA
	var eles = $A("stype", "buybutton", target);
	if(eles.length>0) {
		for(var i=0; i<eles.length; i++) {
			InterfaceShopping.ButtonAplly(eles[i]);
		}
	}
	//Wysiwyg
	var eles = $A("type", "miniwysiwyg", target);
	for(var i=0; i<eles.length; i++) {
		var whtml = "";
		if(eles[i].innerHTML != "") {
			whtml = eles[i].innerHTML;
		}
		eles[i].SetContent(getWysiwygMiniBar(eles[i].id + "_wysiwyg") + " <div id=\""+eles[i].id + "_wtarget\" style=\"overflow:hidden; width:100%; \"></div>");
		var editor = new WysiwygEditor("none", eles[i].id + "_wysiwyg");
		var ifId = editor.Build(eles[i].id + "_wtarget", whtml, null);
		$("if_wysiwygeditor" + eles[i].id + "_wysiwyg").AddClass("textinput");
	}
	//
	var eles = $A("inputmask", null, target);
	for(var i=0; i<eles.length; i++) {
		//alert(eles[i].getAttribute("inputmask"));
		var mask = new Mask(eles[i].getAttribute("inputmask")).attach(eles[i]);
	}
	//Breadcrumb Trail
	var eles = document.getElementsByTagName("breadcrumb");
	var btrailhtml = "";
	for(var i=0; i<eles.length; i++) {
		if (eles[i].getAttribute("value") != "") {
			if (i>0) btrailhtml += "<span><img src='/img/spacer.gif' /></span>";
			btrailhtml += "<a href='" + eles[i].getAttribute("href") + "'>" + eles[i].getAttribute("value") + "</a>";
		}
	}

	if ($("breadcrumbTrail")) {
		$("breadcrumbTrail").innerHTML = btrailhtml;
	}
	//Setting smart button
	SmartButton.SetProperties(target);
	//Setting widgets
	InterfaceWidget.SetWidgets(target);
}
function getWysiwygMiniBar(id) {
	var barhtml = "";
	barhtml += "<div style=\"overflow:hidden; display:inline-block; width:100%; \">";
	barhtml += "<img src=\"/img/spacer.gif\" class=\"topbar_op_small smartbutton\" id=\"topbar_op_\" style=\"width:23px; height:22px; background:url('/img/topbar/btn/bold.jpg') top left; cursor:pointer;\" onclick=\"WysiwygEditorFunctions.DoCommand('bold', null, '" + id + "');\" />";
	barhtml += "<img src=\"/img/spacer.gif\" class=\"topbar_op_small smartbutton\" id=\"topbar_op_\" style=\"width:23px; height:22px; background:url('/img/topbar/btn/italic.jpg') top left; cursor:pointer;\" onclick=\"WysiwygEditorFunctions.DoCommand('italic', null, '" + id + "');\" />";
	barhtml += "<img src=\"/img/spacer.gif\" class=\"topbar_op_small smartbutton\" id=\"topbar_op_\" style=\"width:23px; height:22px; background:url('/img/topbar/btn/underline.jpg') top left; cursor:pointer;\" onclick=\"WysiwygEditorFunctions.DoCommand('underline', null, '" + id + "');\"/>";
	barhtml += "</div>";
	return barhtml;
}

function scrollTop() {
	window.scrollTo(0,0);
}
function Go(link, overrideCallback, forceUpdate) {
	window.location = link;
	URLE.CheckChanges(overrideCallback, null, forceUpdate);
}
function GoHome() {
	Go(_urlHome);
}
function GotoAnchor(id) {
	var eles = $A("name", id);
	for(var i=0; i<eles.length; i++) {
		if(eles[i].tagName.toLowerCase() == "a") {
			window.scrollTo(0, UI.FindPosY(eles[i]));
			return;
		}
	}
	/*try {
		id = "smartanchor__"+id;
		window.scrollBy(0, document.getElementById(id).offsetTop);
	} catch(e) {}*/
}


// linkbutton function
function linkbutton_expand__onclick(src) {
	if (src.getAttribute("state") == "contracted") {
		src.style.backgroundPosition = "bottom left";
		try {
			document.getElementById(src.getAttribute("controlElementId")).style.display = "";
			eval(src.getAttribute("onexpand"));
		}
		catch(e) { }
		src.setAttribute("state", "expanded");
	} else {
		src.style.backgroundPosition = "top left";
		try {
			document.getElementById(src.getAttribute("controlElementId")).style.display = "none";
			eval(src.getAttribute("oncontract"));
		}
		catch(e) { }
		src.setAttribute("state", "contracted");
	}
}

function linkbutton_sortcolumn__setOrder(src, value) {
	src.setAttribute("order", value);
	if (src.getAttribute("order") == "ascending") 
		src.style.backgroundPosition = "bottom right";
	else if (src.getAttribute("order") == "descending") 
		src.style.backgroundPosition = "top right";
	else
		src.style.backgroundPosition = "center right";
}


function getFlashMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}


function errorcontrol_AddError(listid, message) {
	$(listid).innerHTML += "<div class=\"message\">" + message + "</div>";
}
function errorcontrol_ValidateForm(formid, listid) {
	var error = false;
	error = error | errorcontrol_CheckRequired(formid, listid);
	//error = error | errorcontrol_CheckDatatype(formid, listid);
	return error;
}
function errorcontrol_CheckRequired(formid, listid) {
	var error = false;
	var reqEles = $A("required", "true", formid);
	for(var i=0; i<reqEles.length; i++) {
		reqEles[i].RemoveClass("errorinput")
		if(reqEles[i].value == "") {
			errorcontrol_AddError(listid, "Campo " + errorcontrol__findLabelText(formid, reqEles[i].id) + " deve ser preenchido.");
			reqEles[i].AddClass("errorinput");
			error = true;
		} else if(reqEles[i].getAttribute("datatype") != null) {
			//try {
				var derror = eval("errorcontrol_validate__" + reqEles[i].getAttribute("datatype") + "('" + reqEles[i].value + "')");
				if(derror == true) {
					errorcontrol_AddError(listid, "Campo " + errorcontrol__findLabelText(formid, reqEles[i].id) + " deve ser preenchido corretamente.");
					reqEles[i].AddClass("errorinput");
					error = true;
				}
			//} catch(e) {}
		}
	}
	return !error;
}
function errorcontrol_CheckDatatype(formid, listid) {
	/*var error = false;
	var reqEles = $A("validatetype", "true", formid);
	for(var i=0; i<reqEles.length; i++) {
		reqEles[i].RemoveClass("errorinput")
		 else if(reqEles[i].getAttribute("datatype") != null) {
			//try {
				var derror = eval("errorcontrol_validate__" + reqEles[i].getAttribute("datatype") + "('" + reqEles[i].value + "')");
				if(derror == true) {
					errorcontrol_AddError("", "Campo " + errorcontrol__findLabelText(formid, reqEles[i].id) + " deve ser preenchido corretamente.");
					reqEles[i].AddClass("errorinput");
					error = true;
				}
			//} catch(e) {}
		}
	}*/
}
function errorcontrol__findLabelText(formid, fieldId) {
	var eles = $T("label", formid);
	for(var i=0; i<eles.length; i++) {
		if(eles[i].htmlFor && eles[i].htmlFor == fieldId) {
			return eles[i].innerHTML.replace(/:/g, "");
		}
	}
}
function errorcontrol_validate__cpf(value) {
	//if(value == "a") {
	//	return true;
	//} else {
		//cpf valido
		return false;
	//}
}
function errorcontrol_validate__simplestring(value) {
//	alert(value);
}







var g_editors = [];

function initEditorForElement(id){
    /*if(g_editors.findEditor(id)){
        return;
    }
    g_editors.addEditor(id);*/
	//tinyMCE.execCommand('mceRemoveControl', false, id);
	//alert("I");
	/*if(g_editors.indexOf(id)==-1) {
		return;
	}
	g_editors.push(id);*/
    tinyMCE.execCommand('mceAddControl', true, id);
}

function removeEditorForElement(id){
  /*if(g_editors.findEditor(id))
  {
    g_editors.removeEditor(id);
    if (tinyMCE.getInstanceById(id) != null)
    {
      tinyMCE.execCommand('mceRemoveControl', true, id);
    }
  }*/
  //alert("O");
  //tinyMCE.triggerSave(false,true);
 // tinyMCE.execCommand('mceFocus', false, id);      
 	/*if(g_editors.indexOf(id)>=0) {
		g_editors = g_editors.remove(id);
		tinyMCE.execCommand('mceRemoveControl', false, id);
	}*/
	tinyMCE.execCommand('mceRemoveControl', false, id);
}





function sdropdown_show(target, menu) {
	$(menu).Show();
	$(menu).style.position = "absolute";
	$(menu).style.left = UI.FindPosX($(target)) + "px";
	$(menu).style.top = (UI.FindPosY($(target)) + $(target).offsetHeight)  + "px";
	_hideOnClick.push(menu);
}

function sdropdown_select(target, menuop, altertext) {
	if(altertext == true) {
		$(target).value = $(menuop).getAttribute("sdropdownvalue");
	}
}

function radiogroup_findChecked(rdgname, target) {
	var eles = $N(rdgname, target);
	for(var i=0; i<eles.length; i++) if(eles[i].checked) return eles[i];
}


//LIGHTBOXES
function lb_seguranca(ite_codigo) {
	var xml = Smart.UI.UIItem.Seguranca(ite_codigo,null,true);
	var xsl = new AjaxRequest("/templates/tlb_seguranca.xsl");
	resetXSLParams();
	_xslDefaultParams.AddParam("ite_codigo", ite_codigo);
	LightBoxFunctions.ShowBox("lb__seguranca", "Acesso e Segurança", xml, xsl, _xslDefaultParams);
}

function lb_classificacao(ite_codigo) {
	var xml = Smart.UI.UIItem.Classificacao(ite_codigo,null,true);
	var xsl = new AjaxRequest("/templates/tlb_classificacao.xsl");
	resetXSLParams();
	_xslDefaultParams.AddParam("ite_codigo", ite_codigo);
	LightBoxFunctions.ShowBox("lb__classificacao", "Classificação", xml, xsl, _xslDefaultParams);
}

function lb_login(redirTo, callback) {
	var xml = "<smart></smart>";
	var xsl = new AjaxRequest("/templates/tlb_login.xsl");
	resetXSLParams();
	if(redirTo != null) {
		_xslDefaultParams.AddParam("redirTo", redirTo);
	}
	if(callback != null) {
		_xslDefaultParams.AddParam("callback", callback);
	}
	LightBoxFunctions.ShowBox("lb__login", "Login", xml, xsl, _xslDefaultParams, null, 663, 332);
}

function lb_cadastro() {
	var xml = "<smart></smart>";
	var xsl = new AjaxRequest("/templates/tlb_cadastro.xsl");
	resetXSLParams();
	LightBoxFunctions.ShowBox("lb__cadastro", "Cadastro", xml, xsl, _xslDefaultParams, null, 535, 445);
}

function lb_recuperasenha() {
	var xml = "<smart></smart>";
	var xsl = new AjaxRequest("/templates/tlb_recuperasenha.xsl");
	resetXSLParams();
	LightBoxFunctions.ShowBox("lb__recuperasenha", "Recuperar senha", xml, xsl, _xslDefaultParams, null, 430, 270);
}

function lb_ftp(ite_codigo, funcao_callback){
	var xml = Smart.FTP.readFiles(null,true);
	var xsl = new AjaxRequest("/templates/tlb_ftp.xsl");
	resetXSLParams();
	_xslDefaultParams.AddParam("ite_codigo", ite_codigo);
	_xslDefaultParams.AddParam("funcao_callback", funcao_callback);
	LightBoxFunctions.ShowBox("lb__ftp", "FTP", xml, xsl, _xslDefaultParams, null, 430, 270);
}



