
function RenderDrops()
{
	
	//try
	//{	
		ECommerceConfiguration.RenderDropsHeader( RenderDrops_CallBack );
		if(IsNumeric(QueryString("idDept")))
			GetTopParent(QueryString("idDept"));// grava na variável global
	//}
	//catch ( e )
	//{
	//	alert( e.description );
	//}
}

function RenderDrops_CallBack( res )
{
	/*Tabelas DataSet
	  0 - Busca Simples
	  1 - Tipo
	  2 - Paises
	  3 - Produtor
	  4 - Regiao
	*/
	if(res != null && res.value != null && res.value.Tables != 0)
	{
		BindDrops ( document.getElementById( "Header1_dropSearchDept" ), res.value.Tables[0] );
		BindDrops ( document.getElementById( "Header1_dropSearchProductType" ), res.value.Tables[1] );
		BindDrops ( document.getElementById( "Header1_dropSearchCountry" ), res.value.Tables[2] );
		BindDrops ( document.getElementById( "Header1_dropSearchProductBrand" ), res.value.Tables[3] );
		BindDrops ( document.getElementById( "Header1_dropSearchProductRegion" ), res.value.Tables[4] );
	}
}

/* 
	Método que retorno o departamento pai ao qual pertence o departamento informado.
*/
function GetTopParent(IdDept){
	try{
		ECommerceConfiguration.GetTopParent(IdDept, GetTopParent_CallBack);
	}
	catch(e){
		alert(e.description);
	}
}

/*
	CallBack do Método GetTopParent.
*/
function GetTopParent_CallBack(res){
	//alert("res!=null: " + (res!=null) + " res.value!=null: " + (res.value!=null) + " res.value>0: " + (res.value>0));
	if(res != null && res.value != null && res.value > 0 ){
		for( var i =0; i< document.getElementById( "Header1_dropSearchDept" ).length; i++ )
		{
			if ( res.value == document.getElementById( "Header1_dropSearchDept" )[i].value )
			{
				document.getElementById( "Header1_dropSearchDept" )[i].selected = true;
				break;
			}
		}
	}
}


function BindDrops ( obj, table )
{	
	
	for(var i=0; i<table.Rows.length; i++)	
	{
		switch ( obj.id )
		{
			case "Header1_dropSearchDept":
				obj.options[i + 1] = new Option( table.Rows[i].dsName, table.Rows[i].idDept );
				break;
			case "Header1_dropSearchProductType":
				obj.options[i + 1] = new Option( table.Rows[i].dsName, table.Rows[i].idProductType );
				break;
			case "Header1_dropSearchCountry":
				obj.options[i + 1] = new Option( table.Rows[i].dsName, table.Rows[i].idCountry );
				break;
			case "Header1_dropSearchProductBrand":
				obj.options[i + 1] = new Option( table.Rows[i].dsName, table.Rows[i].idProductBrand );
				break;
			case "Header1_dropSearchProductRegion":
				obj.options[i + 1] = new Option( table.Rows[i].dsName, table.Rows[i].idProductRegion );
				break;
		}
	}
}

function GetSelectedItem( obj )
{
	switch ( obj.id )
	{
		case "Header1_dropSearchDept":
			document.getElementById( "Header1_iptSearch1" ).value = obj.options[ obj.selectedIndex ].value;
			break;
		case "Header1_dropSearchProductType":
			document.getElementById( "Header1_iptProductType" ).value = obj.options[ obj.selectedIndex ].value;
			break;
		case "Header1_dropSearchCountry":
			document.getElementById( "Header1_iptCountry" ).value = obj.options[ obj.selectedIndex ].value;
			break;
		case "Header1_dropSearchProductBrand":
			document.getElementById( "Header1_iptProductBrand" ).value = obj.options[ obj.selectedIndex ].value;
			break;
		case "Header1_dropSearchProductRegion":
			document.getElementById( "Header1_iptProductRegion" ).value = obj.options[ obj.selectedIndex ].value;
			break;
	}
}

function ClearDrop ( obj )
{
	for( var i = obj.length; i > 0; i-- )
	{
	  obj.options[i] = null;
	}
}

function dropSearchDept_Change ( sender )
{
	GetSelectedItem( sender );
}

function dropSearchProductType_Change ( sender )
{
	GetSelectedItem( sender );
}

function dropSearchProductBrand_Change ( sender )
{
	GetSelectedItem( sender );
}
function dropSearchCountry_Change( sender )
{
	document.getElementById( "Header1_dropSearchProductRegion" ).disabled = true;
	document.getElementById( "Header1_dropSearchProductRegion" ).options[ 0 ].selected = true;
	document.getElementById( "Header1_dropSearchProductRegion" ).options[ 0 ].text = "Procurando...";
	ECommerceConfiguration.GetProductRegion( sender.options[ sender.selectedIndex ].value, dropSearchCountry_CallBack );
	GetSelectedItem( sender );
	dropSearchProductRegion_Change ( document.getElementById( "Header1_dropSearchProductRegion" ) );
}

function dropSearchCountry_CallBack( res )
{
	var cboRegion = document.getElementById( "Header1_dropSearchProductRegion" );
	cboRegion.disabled = false;
	
	if(res != null && res.value != null && res.value.Tables != 0 && res.value.Tables[0].Rows.length > 0)
	{
		ClearDrop( cboRegion )
		BindDrops ( cboRegion, res.value.Tables[0] );
	}
	else
	{
		cboRegion.disabled = true;
	}
	cboRegion.options[ 0 ].text = "todas as regi" + String.fromCharCode( 245 ) + "es";
}

function dropSearchProductRegion_Change( sender )
{
	document.getElementById( "Header1_dropSearchProductBrand" ).disabled = true;
	document.getElementById( "Header1_dropSearchProductBrand" ).options[ 0 ].selected = true;
	document.getElementById( "Header1_dropSearchProductBrand" ).options[ 0 ].text = "Procurando...";
	ECommerceConfiguration.GetProductBrand( sender.options[ sender.selectedIndex ].value, dropSearchProductRegion_CallBack );
	GetSelectedItem( sender );
}

function dropSearchProductRegion_CallBack( res )
{
	var cboBrand = document.getElementById( "Header1_dropSearchProductBrand" );
	cboBrand.disabled = false;
	
	if(res != null && res.value != null && res.value.Tables != 0 && res.value.Tables[0].Rows.length > 0)
	{
		ClearDrop( cboBrand );
		BindDrops ( document.getElementById( "Header1_dropSearchProductBrand" ), res.value.Tables[0] );	
	}
	else
	{
		cboBrand.disabled = true;
	}
	cboBrand.options[ 0 ].text = "todos os produtores";
}


function DeptLink_Click ( sender )
{
	document.getElementById("spanDeptLinks").innerHTML = "<font class=\"arial12pxPreto\">Procurando...</font>";
	ECommerceConfiguration.GetDeptLink(  sender, DeptLink_CallBack );
}	

function DeptLink_CallBack ( res )
{
	var html = new Array();
	
	
	if(res != null && res.value != null && res.value.Tables != 0 && res.value.Tables[0].Rows.length > 0)
	{
		for(var i=0; i< res.value.Tables[0].Rows.length; i++)	
		{
			html[html.length] = "<div id=\"div_link_sugest2\"><img src=\"images/seta_tb.gif\">&nbsp;&nbsp;<a class=\"link_tb\" href=\"dept.aspx?idDept=" + res.value.Tables[0].Rows[i].idDept + "\">" + res.value.Tables[0].Rows[i].dsName + "</a></div>"
		}
		
		document.getElementById("spanDeptLinks").innerHTML = html.join("");
	}
	else
	{
		document.getElementById("spanDeptLinks").innerHTML = "<font class=\"arial12pxPreto\">Nenhum produtor encontrado.</font>";
	}
}


/*
	QueryString()
	Função que captura uma QueryString
*/
function QueryString(key){
	var page = new PageQuery(window.location.search.toLowerCase()); 
	return unescape(page.getValue(key.toLowerCase())); 
}

/*
	PageQuery()
	Função auxiliar para recuperação de QueryString através de JavaScript
*/
function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }	
}

/*
	IsNumeric()
	Função para validar um número.
*/
function IsNumeric(obj){
	var number = 0;
	number = parseInt(obj);
	if(number == "NaN")
		return false;
	else
		return true;
}