var elementArr = new Array();


function showlogin(id){ 
     ID = document.getElementById(id);     
     ID.style.display = ""; 
}

function showTab(id){ 
     ID = document.getElementById("HMT"); 
     ID.style.display = "none"; 
     ID = document.getElementById("RST"); 
     ID.style.display = "none"; 
     ID = document.getElementById("LNT"); 
     ID.style.display = "none"; 
     ID = document.getElementById("ST"); 
     ID.style.display = "none"; 

     ID = document.getElementById(id); 
     ID.style.display = ""; 
}

function ShowSubTabPop()
{
//alert ("ShowSubTabPop");
      var tDiv = document.getElementById("dvSubTabPop");
        var FirstElement = tDiv.firstChild;
        var v = FirstElement.nodeValue;
        var tFrame = document.getElementById("myFrame");
        var doc = tFrame.contentDocument;
        if (doc == undefined || doc == null)
            doc = tFrame.contentWindow.document;
        doc.open();
        doc.write(v);
        doc.close();
      document.all.myFrame.style.visibility="visible";
	  document.getElementById('subTabPop').style.display = '';
	hideSubSigninPop();
	tDiv.focus();
    
	event.cancelBubble = true;
	return false;
}

function ShowSubSigninPop()
{
      var tDiv = document.getElementById("dvSubSigninPop");
        var FirstElement = tDiv.firstChild;
        var v = FirstElement.nodeValue;
        var tFrame = document.getElementById("myFrame2");
        var doc = tFrame.contentDocument;
        if (doc == undefined || doc == null)
            doc = tFrame.contentWindow.document;
        doc.open();
        doc.write(v);
        doc.close();
      document.all.myFrame2.style.visibility="visible";
	  document.getElementById('subsigninpop').style.display = '';
	hideSubTabPop();
}

function hidePopUps(){ 
//alert ("hidePopUps");
	hideSubTabPop();
	hideSubSigninPop();
}

function hideSubSigninPop(){ 
//alert ("hideSubSigninPop");
document.getElementById('subsigninpop').style.display = 'none';
document.getElementById('myFrame2').style.visibility = 'hidden';

	 //tempX = event.clientX + document.body.scrollLeft;
	 //tempY = event.clientY + document.body.scrollTop;
}
function hideSubTabPop(){ 
//alert ("hideSubTabPop");
document.getElementById('subTabPop').style.display = 'none';
document.getElementById('myFrame').style.visibility = 'hidden';

	 //tempX = event.clientX + document.body.scrollLeft;
	 //tempY = event.clientY + document.body.scrollTop;
}

function hidelogin(id){ 

     ID = document.getElementById(id); 
     ID.style.display = "none"; 

	 tempX = event.clientX + document.body.scrollLeft;
	 tempY = event.clientY + document.body.scrollTop;
    
      //alert(tempX);
}



function TopicStack_push(topic)
{
	if (topic == "") {
		return;
	}

	if (topic == this.top()) {
		return;
	}

	var last_topic = this.pop();
	var top_topic = this.top();

	if (top_topic != "unknown") {
		this.push(last_topic);
	}

	if (this.stack == "") {
		this.stack = topic;
	} else {
		this.stack += "|";
		this.stack += topic;
	}

	return;
}


function TopicStack_top()
{
	var topic = "";

	if (this.stack == "") {
		return topic;
	}

	var pos = this.stack.lastIndexOf("|");

	if (pos < 0) {
		topic = this.stack;
	} else {
		topic = this.stack.substring(pos+1, this.stack.length);
	}

	return topic;
}



function TopicStack_pop()
{
	var topic = "";

	if (this.stack == "") {
		return topic;
	}

	var pos = this.stack.lastIndexOf("|");

	if (pos < 0) {
		topic = this.stack;
		this.stack = "";
	} else {
		topic = this.stack.substring(pos+1, this.stack.length);
		this.stack = this.stack.substring(0,pos);
	}

	return topic;
}


function TopicStack(stack,topic)
{
	this.stack = stack;

	this.pop = TopicStack_pop;
	this.top = TopicStack_top;
	this.push = TopicStack_push;

}

function FormElementsHandler(form)
{

    this.firmsOK = false;
	if (frames["selectedfirms"] != null && frames["selectedfirms"] != "undefined") {
	
		this.firms = frames["selectedfirms"].document.getElementsByName("firm_id");

		if (addListToForm(form, this.firms, "firm_id")) {
			this.firmsOK = true;
		}
	}

    this.yearsOK = false;
	if (frames["selectedyears"] != null && frames["selectedyears"] != "undefined") {
		this.years = frames["selectedyears"].document.getElementsByName("year_id");
		if (addListToForm(form, this.years, "year_id")) {
			this.yearsOK = true;
		}
	}

	this.topicsOK = false;
	if (frames["selectedtopics"] != null && frames["selectedtopics"] != "undefined") {
		this.topics = frames["selectedtopics"].document.getElementsByName("topic_id");
		if (this.topics.length > 0) {
			addListToForm(form, this.topics, "topic_id");
			this.topicsOK = true;
		}
	}

	this.fieldsOK = false;
	if (frames["selectedfields"] != null && frames["selectedfields"] != "undefined") {
		this.fields = frames["selectedfields"].document.getElementsByName("field_id");
		if (this.fields.length > 0) {
			addListToForm(form, this.fields, "field_id");
			this.fieldsOK = true;
		}
	}


    this.countriesOK = false;
	if (frames["selectedcountries"] != null && frames["selectedcountries"] != "undefined") {
		this.countries = frames["selectedcountries"].document.getElementsByName("country_id");
		if (this.countries.length > 0) {
			addListToForm(form, this.countries, "country_id");
			this.countriesOK = true;
		}
	}

    this.statesOK = false;
	if (frames["selectedstates"] != null && frames["selectedstates"] != "undefined") {
		this.states = frames["selectedstates"].document.getElementsByName("state_id");
		if (this.states.length > 0) {
			addListToForm(form, this.states, "state_id");
			this.statesOK = true;
		}
	}

    this.citiesOK = false;
	if (frames["selectedcities"] != null && frames["selectedcities"] != "undefined") {
		this.cities = frames["selectedcities"].document.getElementsByName("city_id");
		if (this.cities.length > 0) {
			addListToForm(form, this.cities, "city_id");
			this.citiesOK = true;
		}
	}
}


function removeNewElements(f)
{
    var e;
    for ( ; elementArr.length > 0;)
    {
        e = elementArr.pop();
        f.removeChild(e);
    }
}

function addElementToForm(f, name, value)
{

    var e = document.createElement("input");
    e.setAttribute("type", "hidden");
    e.setAttribute("name", name);
    e.setAttribute("value", value);
    f.appendChild(e);
    elementArr.push(e);
    return e;
}

function removeElementFromForm(name)
{
	var rowElt = document.getElementById('submit');
	var imgArr = rowElt.getElementsByTagName("input");
	for (j=0; j < imgArr.length; j++)
	{
		var display;
		var val = imgArr[j].getAttribute("name");
		if (val == name)
		{
			imgArr[j].setAttribute("name", "_noname");
		}
	}
}

function removeElementsFromForm(name)
{

	var imgArr = document.getElementsByTagName("input");

	for (j=0; j < imgArr.length; j++)
	{
		var type = imgArr[j].getAttribute("type");
		if (type != "hidden") {
			continue;
		}
		var val = imgArr[j].getAttribute("name");
		if (val == name)
		{
			imgArr[j].setAttribute("name", "_noname");
		}
	}
}


function addListToForm(f, list, name)
{
    var selected_key = false;
    for(i = 0; i < list.length; i++)
    {
        if (list.item(i).checked)
        {
            selected_key = true;
		//	alert(list.item(i).value);
		//	alert(name);
            addElementToForm(f, name, list.item(i).value);
        }
    }

    return selected_key;
}

function submitForm(f, topic, topicstack, addtostack)
{

	if (typeof(topic) == "undefined") {
		if (typeof(f.topic) == "undefined") {
			topic = "unknown";
		} else {
			topic = f.topic.value;
		}
	}

//	alert(topic);

	if ((f.msg.value != "CreateOutput") || (f.msg.value == "CreateOutput" && topic == "firmstopics") || (f.msg.value == "CreateOutput" && topic == "topicsfirms")) {

		if (typeof(topicstack) == "undefined") {
			if (typeof(f.topicstack) == "undefined") {
				topicstack = "topic";
			} else {
				topicstack = f.topicstack.value;
			}
		}
        
		if (typeof(addtostack) == "undefined") {
			addtostack = true;
		}
        
		if (addtostack == true) {
			var st = new TopicStack(topicstack);
			st.push(topic);
			topicstack = st.stack;
		}
        
		f.topicstack.value = topicstack;
	}


    f.submit();
    removeNewElements(f);
    return false;
}

function getContinueForm(form, topic)
{

	removeElementsFromForm("lmi__firm_id");
	removeElementsFromForm("lmi__topic_id");
	removeElementsFromForm("lmi__field_id");
	removeElementsFromForm("lmi__year_id");
	removeElementsFromForm("lmi__datatab");

	var elements_handler = new FormElementsHandler(form);

	if (!elements_handler.firmsOK ) {
		alert('You must select at least one firm'); 
		return;
	}

	if (!elements_handler.yearsOK ) {
		alert('You must select at least one year'); 
		return;
	}

    return getTopics(form, elements_handler, topic);

}

function getContinueFormElementsPost(topic)
{
	var form = document.forms["lmiGetSearchOptionsForm"];
	return getContinueForm(form, topic);
}

function getFirms(topic)
{
	var selected_key = false;

    var f = document.forms["lmiGetSearchOptionsForm"];

    var firms = frames["selectedfirms"].document.getElementsByName("firm_id");

	if (addListToForm(f, firms, "firm_id")) {
		selected_key = true;
	}

	if (!selected_key) {
		alert('Please select a firm'); 
		return;
	}

//	addElementToForm(f, "next.x", "1");

    return submitForm(f,topic);
}

function getClients(topic)
{
	var selected_key = false;

    var f = document.forms["lmiGetSearchOptionsForm"];

    var clients = frames["selectedclients"].document.getElementsByName("client_id");

	if (addListToForm(f, clients, "client_id")) {
		selected_key = true;
	}

	if (!selected_key) {
		alert('Please select a client'); 
		return;
	}

    var types = frames["selectedtypes"].document.getElementsByName("type_id");

	if (types.length > 0) {
		addListToForm(f, types, "type_id");;
	}


    return submitForm(f,topic);
}

function GetTopicName(topic_id)
{
	var topicName = "";

	switch (topic_id) {
		case "1":
		case "5":
		case "7":
		case "9":
		case "10":
		case "12":
		case "24":
		case "25":
			topicName = "Quantitative";
			break;
		case "26":
			topicName = "PowerRank";
			break;
		case "27":
			topicName = "PowerRank500";
			break;
		case "28":
			topicName = "PowerRankEnergy";
			break;
		case "29":
			topicName = "PowerRankIndust";
			break;
		case "30":
			topicName = "PowerRankProf";
			break;
		case "31":
			topicName = "PowerRankWhole";
			break;
		case "32":
			topicName = "PowerRankPrivate";
			break;
		case "2":
			topicName = "Compensation";
			break;
		case "3":
			topicName = "BigDeals";
			break;
		case "4":
			topicName = "CorpScorecard";
			break;
		case "6":
			topicName = "BranchOffices";
			break;
		case "8":
			topicName = "Laterals";
			break;
		case "11":
			topicName = "TechBuy";
			break;
		case "15":
		case "16":
		case "17":
		case "18":
		case "19":
		case "20":
		case "21":
		case "33":
		case "34":
			topicName = "Contacts";
			break;
		case "14":
			topicName = "FirmClients";
			break;
		case "22":
			topicName = "MidNatl";
			break;
		case "23":
			topicName = "MidCity";
			break;
	}
	return topicName;
}

function getTopics(form, elements_handler, topic)
{
	new_handler = false;

	if (elements_handler == null) {
		elements_handler = new FormElementsHandler(form);
		new_handler = true;
	}

	if (!elements_handler.topicsOK && !elements_handler.fieldsOK) {
		alert('You must select at least one topic/field'); 
		return;
	}

	if (new_handler) {
		return submitForm(form, topic);
	}

	isBTI = false;
	has_quant = false;
	var first_topic_name = "";	
	var aryTopics=new Array()

	for (i = 0; i < elements_handler.topics.length; i++ ) 
	{
		var topic_id = elements_handler.topics[i].getAttribute("value");
		var topic_name = GetTopicName(topic_id);
		
		if(topic_name == "Quantitative") 
		{		
			if(!has_quant) 
			{						
				has_quant = true;
				addDataTab(form, topic_name, aryTopics)			
			}
		} 
		else
		{		
			addDataTab(form, topic_name, aryTopics)		
		}
		if(i == 0)
		{		
			first_topic_name = topic_name;
		}		
	}
	
	for(x=0; x<elements_handler.fields.length; x++) 
	{
		isBTI = false;
		var field_id = elements_handler.fields[x].getAttribute("value")	
			
		var sResult = field_id.indexOf('|')			
		if(sResult != -1)
		{
			var topic_Code = field_id.substr(0, 2)
			if(topic_Code >= 26 && topic_Code <= 32)
			{
				isBTI = true;
				switch (topic_Code)
				{
					case "26":
						first_topic_name = "PowerRank"									
						break;
					case "27":
						first_topic_name = "PowerRank500"									
						break;
					case "28":
						first_topic_name = "PowerRankEnergy"									
						break;
					case "29":
						first_topic_name = "PowerRankIndust"									
						break;
					case "30":
						first_topic_name = "PowerRankProf"									
						break;
					case "31":
						first_topic_name = "PowerRankWhole"									
						break;
					case "32":
						first_topic_name = "PowerRankPrivate"									
						break;
				}
				addDataTab(form, first_topic_name, aryTopics)
			}
		}
		if(!has_quant && !isBTI)
		{
			addDataTab(form, "Quantitative", aryTopics)
			//addElementToForm(form, "datatab", "Quantitative");
			has_quant = true;			
		}
	}

	if(has_quant || first_topic_name == "" || first_topic_name == "undefined") 
	{
		first_topic_name = "Quantitative";
	}

	if(form.msg.value == "CreateOutput")
	{
		form.topic.value = first_topic_name;
	}

    return submitForm(form, topic);
}

function addDataTab(form, first_topic_name, aryTopics)
{
	var exists = false;
	for(a=0; a<aryTopics.length; a++) 
	{
		if(first_topic_name == aryTopics[a])
		{
			exists = true;
		}
	}
	if(!exists)
	{
		addElementToForm(form, "datatab", first_topic_name);
		aryTopics.push(first_topic_name)
	}
}

function getTopicsFirms(topic)
{
	var selected_key = false;

    var f = document.forms["lmiGetSearchOptionsForm"];

    var firms = frames["selectedfirms"].document.getElementsByName("firm_id");

	if (addListToForm(f, firms, "firm_id")) {
		selected_key = true;
	}

	if (!selected_key) {
		alert('Please select a firm'); 
		return false;
	}

//	addElementToForm(f, "next.x", "1");

    return submitForm(f, topic);
}

function ToggleTopic(parent_topic)
{

	var status = false;
	var topic = parent.frames["selecttopics"].document.getElementById(parent_topic);

	if (topic != null) {
		if (topic.checked == true) {
			topic.checked = false;
		}
		var notgroup = topic.getAttribute("notgroup");
		if (notgroup == "0") {
			ToggleFields(parent_topic);
		}
	}

}

function ToggleTopicNoFrames(parent_topic)
{

	var status = false;
	var topic = document.getElementById(parent_topic);

	if (topic != null) {
		if (topic.checked == true) {
			topic.checked = false;
		}
		var notgroup = topic.getAttribute("notgroup");
		if (notgroup == "0") {
			ToggleFieldsNoFrames(parent_topic);
		}
	}

}


function RemoveTopic(field_id)
{
	var select_field = parent.frames["selecttopics"].document.getElementById(field_id);

	if (select_field == null) {
		return;
	}

	var topic_id = select_field.getAttribute("parent");
	var topic = parent.frames["selectedtopics"].document.getElementById(topic_id);

	if (topic != null) {
		topic.checked = false;
		RemoveItem(topic_id, "selecttopics", "selectedtopics");
	}

}

function ToggleFields(parent_topic)
{
	
	var status = false;
	var descr;
	var topic_id;

	var topics = parent.frames["selecttopics"].document.getElementsByName("topic_id");

	for (i = 0; i < topics.length; i++) {
		topic_id = topics[i].getAttribute("id");
		if (topic_id == parent_topic) {
			status = topics[i].checked;
			descr =  topics[i].getAttribute("descr");
			break;
		}
	}

    var fields = parent.frames["selecttopics"].document.getElementsByName("field_id");

	for (j = 0; j < fields.length; j++) {
		var parent_id = fields[j].getAttribute("parent");
		if (parent_id == parent_topic) {

			var field_id = fields[j].getAttribute("id");
			descr =  fields[j].getAttribute("descr");

			fields[j].checked = status;

			if (status == true) {
				var temp = parent.frames["selectedfields"].document.getElementById(field_id);
				if (temp == null && fields[j].disabled==false) {
					MoveItem("field_id", field_id, descr, "selecttopics", "selectedfields", true);
				}
			} else {
				var field = parent.frames["selectedfields"].document.getElementById(field_id);
				if (field != null) {
					field.checked = false;
					RemoveItem(field_id, "selecttopics", "selectedfields");
				}
			}

		}
	}

	return;

}

function ToggleFieldsNoFrames(parent_topic)
{
	
	var status = false;
	var descr;
	var topic_id;

	var topics = document.getElementsByName("topic_id");

	for (i = 0; i < topics.length; i++) {
		topic_id = topics[i].getAttribute("id");
		if (topic_id == parent_topic) {
			status = topics[i].checked;
			descr =  topics[i].getAttribute("descr");
			break;
		}
	}

    var fields = document.getElementsByName("field_id");

	for (j = 0; j < fields.length; j++) {
		var parent_id = fields[j].getAttribute("parent");
		if (parent_id == parent_topic) {

			var field_id = fields[j].getAttribute("id");
			descr =  fields[j].getAttribute("descr");

			fields[j].checked = status;

		}
	}

	return;

}

function getLocation(topic)
{

	var form = document.forms["lmiGetSearchOptionsForm"];

	removeElementsFromForm("lmi__country_id");
	removeElementsFromForm("lmi__state_id");
	removeElementsFromForm("lmi__city_id");

	var elements_handler = new FormElementsHandler(form);

	if (!elements_handler.countriesOK && !elements_handler.statesOK && !elements_handler.citiesOK) {
		alert('You must select at least one country/state/city'); 
		return;
	}

    return submitForm(form, topic);
}

function getRanks(topic)
{

    var f = document.forms["lmiGetSearchOptionsForm"];

	var surveys = frames["selectsurvey"].document.getElementsByName("survey");

	for (i=0; i < surveys.length; i++) {
		if (surveys[i].checked == true) {
			addElementToForm(f, "survey", surveys[i].value);
			break;
		}
	}

	var min_rank = frames["selectrange"].document.getElementById("min_rank");
	addElementToForm(f, "min_rank", min_rank.value);

	var max_rank = frames["selectrange"].document.getElementById("max_rank");
	addElementToForm(f, "max_rank", max_rank.value);

    return submitForm(f,topic);
}


function ChangeData()
{
    document.lmiCreateOutputForm.submit();
    return false;
}

function ChangeOutputData(topic)
{
    return ChangeTopic(topic);
}

function AddAllHiddens(form)
{
	if (typeof(frames["selectedfirms"]) != "undefined") {
		var firms = frames["selectedfirms"].document.getElementsByName("firm_id");
		addListToForm(form, firms, "firm_id");
	}

	var countries = document.getElementsByName("country_id");
	addListToForm(form, countries, "country_id");


	var states = document.getElementsByName("state_id");
	addListToForm(form, states, "state_id");

	var cities = document.getElementsByName("city_id");
	addListToForm(form, cities, "city_id");

	var types = document.getElementsByName("location_type");
	addListToForm(form, types, "location_type");

	var types = document.getElementsByName("rank_type");
	addListToForm(form, types, "rank_type");

	var types = document.getElementsByName("rank_from");
	addListToForm(form, types, "rank_from");

	var types = document.getElementsByName("rank_to");
	addListToForm(form, types, "rank_to");

	if (typeof(frames["selectsurvey"]) != "undefined") {
		
		var surveys = frames["selectsurvey"].document.getElementsByName("survey");

		for (i=0; i < surveys.length; i++) {
			if (surveys[i].checked == true) {
				addElementToForm(form, "survey", surveys[i].value);
				break;
			}
		}
	}

	if (typeof(frames["selectrange"]) != "undefined") {
		
		var min_rank = frames["selectrange"].document.getElementById("min_rank");
		addElementToForm(form, "min_rank", min_rank.value);

		var max_rank = frames["selectrange"].document.getElementById("max_rank");
		addElementToForm(form, "max_rank", max_rank.value);

	}

}


function RefineSearch(theform)
{

	var form = document.forms[theform];
	
	if (typeof(form.msg) == "undefined") {
		addElementToForm(form, "msg", "GetSearchOptions");
	} else {
		form.msg.value = "GetSearchOptions";
	}
	
	var topic="";
	var topicstack="";
	var currtopic="";

	if (typeof(form.topic) != "undefined") {
		currtopic = form.topic.value;
	}

	topicstack = form.topicstack.value;

//	alert(topicstack);
//	alert(topic);

	var st = new TopicStack(topicstack);

	topic = st.pop();
	while (currtopic == topic) {
		topic = st.pop();
	}

	topicstack = st.stack

	if (topic == "") {
		topic = currtopic;
	}

		
//	alert(topic);
//	alert(topicstack);

	AddAllHiddens(form);

	if (topic == "Home") {
		form.msg.value = "DefaultScreen";
	}

	if (typeof(form.topic) == "undefined") {
		addElementToForm(form, "topic", topic);
	} else {
		form.topic.value = topic;
	}
	
	if (typeof(form.topicstack) == "undefined") {
		addElementToForm(form, "topicstack", topicstack);
	} else {
		form.topicstack.value = topicstack;
	}

	removeElementsFromForm("workspaceid");
	removeElementsFromForm("datatab");

	return submitForm(form, topic, topicstack, false);

}

function ChangeTopic(topic)
{

	if (typeof(document.lmiCreateOutputForm.topic) == "undefined") {
		addElementToForm(document.lmiCreateOutputForm, "topic", topic);
	} else {
		document.lmiCreateOutputForm.topic.value = topic;
	}

	return submitForm(document.lmiCreateOutputForm, topic);
}

function ChangeDataTypeForm(t, form)
{
    prev = form.type.value;

    if (typeof(form._type) != "undefined")
    {
        form._type[0].value = t;
        form._type[0].selected = "true";
    }

    form.type.value = t;

	addElementToForm(form, "old_type", prev);

    form.submit();

    if (typeof(form._type) != "undefined")
    {
        form._type[0].value = prev;
    }

    return false;
}

function DeleteSearches()
{
	var fConfirm = confirm('Are you sure you want to execute this delete?');
	if (fConfirm)
	{
		if (typeof(document.lmiGetSearchOptionsForm.topic) == "undefined")
		{
			addElementToForm(document.lmiGetSearchOptionsForm, "topic", "selections");
			addElementToForm(document.lmiGetSearchOptionsForm, "msg", "GetSearchOptions");
			addElementToForm(document.lmiGetSearchOptionsForm, "app", "lmi");
		}
		else
		{
			document.lmiGetSearchOptionsForm.topic.value = "selections";
			document.lmiGetSearchOptionsForm.msg.value = "GetSearchOptions";
			document.lmiGetSearchOptionsForm.app.value = "lmi";
		}

		removeElementFromForm("__save");
		removeElementFromForm("__save.x");

		addElementToForm(document.lmiGetSearchOptionsForm, "__appReturn", "lmi");
		addElementToForm(document.lmiGetSearchOptionsForm, "__msgReturn", "RecallSearch");
		addElementToForm(document.lmiGetSearchOptionsForm, "__topicReturn", "ExecContent");

		addElementToForm(document.lmiGetSearchOptionsForm, "__deletesearch.x", "1");

		document.lmiGetSearchOptionsForm.submit();
		return false;
	}
	else
	{
		removeElementFromForm('__deletesearch');

		addElementToForm(document.lmiGetSearchOptionsForm, "topic", "selections");
		addElementToForm(document.lmiGetSearchOptionsForm, "msg", "GetSearchOptions");
		addElementToForm(document.lmiGetSearchOptionsForm, "app", "lmi");

		addElementToForm(document.lmiGetSearchOptionsForm, "__recallsearch.x", "1");

		return true;
	}
}

function ChangeDataType(t)
{
    return ChangeDataTypeForm(t, document.lmiCreateOutputForm);
}

function ChangeDataTypeSelect()
{
    for (i = 0; i < document.lmiCreateOutputForm._type.length; i++)
    {
        if (document.lmiCreateOutputForm._type[i].selected == true)
        {
            return ChangeDataType(document.lmiCreateOutputForm._type[i].value);
        }
    }
}


function ChangeDataRecallSavedSearches()
{
//	removeElementFromForm("__save");
//	removeElementFromForm("__save.x");
//
//	removeElementFromForm("__deletesearch");
//	removeElementFromForm("__deletesearch.x");

	if (typeof(document.lmiGetSearchOptionsForm) != "undefined")
	{
		addElementToForm(document.lmiGetSearchOptionsForm, "__recallsearch.x", "1");
		document.lmiGetSearchOptionsForm.submit();
	}
    else
	{
		addElementToForm(document.lmiCreateOutputForm, "__recallsearch.x", "1");
		return ChangeDataType("sav");
	}

	return false;
}

function ChangeReportType()
{
    for (i = 0; i < document.lmiCreateOutputForm.displayby.length; i++)
    {
        if (document.lmiCreateOutputForm.displayby[i].selected == true)
        {
            prev = document.lmiCreateOutputForm.displayby[0].value;
            document.lmiCreateOutputForm.displayby[0].value = document.lmiCreateOutputForm.displayby[i].value;
            document.lmiCreateOutputForm.displayby[0].selected = "true";

            document.lmiCreateOutputForm.submit();

            document.lmiCreateOutputForm.displayby[0].value = prev;

            return false;
        }
    }

    return false;
}


function ChangeFirm(firm)
{
  var f = document.forms["lmiCreateOutputForm"];
  for (i=0; i != f.key.length; i++) {
    f.key[i].selected = "false";
  }
  f.key[0].value = firm;
  f.key[0].selected = "true";
  f.submit();
  return false;
}

function ChangeField(field)
{
  var f = document.forms["lmiCreateOutputForm"];
  for (i=0; i != f.field.length; i++) {
    f.field[i].selected = "false";
  }
  f.field[0].value = field;
  f.field[0].selected = "true";
  f.submit();
  return false;
}

function ChangeYear()
{
    document.lmiCreateOutputForm.submit();
    return false;
}

function PrintWorkSpace()
{
    var windowx  = frames["ViewTables"];
    if (windowx.print)
    {
        windowx.focus();
        windowx.print();
    }

    return false;
}


function getRecallViewTables()
{
    if (document.lmiGetSearchOptionsForm.searchid.value == "")
    {  
        alert('Please select a saved search'); 
        return false;
    }

    window.location = "/cgi-bin/lmi.exe?app=lmi&msg=ExecContent&topic=GetData&" + document.lmiGetSearchOptionsForm.searchid.value + "&sk=" + document.lmiGetSearchOptionsForm.sk.value;
    return false;
}

function navigateUp()
{
    document.lmiCreateOutputForm.navigate.value = "up";
    document.lmiCreateOutputForm.submit();
    return false;
}

function navigateDown()
{
    document.lmiCreateOutputForm.navigate.value = "down";
    document.lmiCreateOutputForm.submit();
    return false;
}


function Toggle(pname, order)
{

    var display = SwapMinusPlus(pname);
	return SetDisplay(pname, display, order);
}


function DoSaveTables()
{
	if (typeof(document.lmiGetSearchOptionsForm) != "undefined")
	{
		addElementToForm(document.lmiGetSearchOptionsForm, "__recallsearch.x", "1");
		document.lmiGetSearchOptionsForm.submit();
	}
    else
	{
		addElementToForm(document.lmiCreateOutputForm, "__recallsearch.x", "1");
		ChangeDataType("sav");
	}

    return false;
}


function CallSaveTables()
{
	addElementToForm(document.lmiGetSearchOptionsForm, "__save.x", "1");
	document.lmiGetSearchOptionsForm.submit();
    return false;
}


function DoAlternative()
{
    prev = document.lmiCreateOutputForm.type.value;

    if (typeof(document.lmiCreateOutputForm._type) != "undefined")
    {
        document.lmiCreateOutputForm._type[0].value = "alt";
        document.lmiCreateOutputForm._type[0].selected = "true";
    }

    document.lmiCreateOutputForm.type.value = "alt";

	getNewWindow('alternative');

    if (typeof(document.lmiCreateOutputForm._type) != "undefined")
    {
        document.lmiCreateOutputForm._type[0].value = prev;
    }

	return false;
}


function MoveItem(itemName, itemId, itemText, selectFrame, selectedFrame, attr)
{

	var newvalue="";
	var otherAttr = "";
	var inFrm = parent.frames[selectFrame].document;
	var outFrm = parent.frames[selectedFrame].document;

	var theItem = inFrm.getElementById(itemId);
	var temp = outFrm.getElementById(itemId);

  var removed = false;

  if (theItem.checked == true) {
		if (temp != null) {
			theItem.checked = false;
		} else {

			if (attr != null) {
				otherAttr = "onClick=\"RemoveTopic('" + itemId + "');RemoveItem('" + itemId + "', '" + selectFrame + "', '" + selectedFrame + "')\""
			} else {
				otherAttr = "onClick=\"RemoveItem('" + itemId + "', '" + selectFrame + "', '" + selectedFrame + "')\""
			}
			var str = "<td class=\"text\"><input type=checkbox name=" + itemName + " id='"   + itemId + "' value='" + itemId + "' checked" + " " + otherAttr + ">"+ itemText + "</td>"
			newvalue = newvalue + "<div>" + str + "</div>";

		}
	} else {
		if (temp != null) {
			temp.checked = false;
			return RemoveItem(itemId, selectFrame, selectedFrame);
	    }
	}

	
	var arr = outFrm.getElementsByTagName("body");
	for (var i=0;i < arr.length; i++) {
		newvalue=arr[i].innerHTML+newvalue;
	}

	outFrm.open();
	outFrm.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + newvalue + "</body></html>");
	outFrm.close();
}

function MoveTopic(itemId, itemText, selectFrame, selectedFrame)
{

	var newvalue="";
	var otherAttr = "";
	var inFrm = parent.frames[selectFrame].document;
	var outFrm = parent.frames[selectedFrame].document;

	var theItem = inFrm.getElementById(itemId);
	var temp = outFrm.getElementById(itemId);

  var removed = false;

  if (theItem.checked == true) {
		if (temp != null) {
			theItem.checked = false;
		} else {
			otherAttr = "onClick=\"RemoveItem('" + itemId + "', '" + selectFrame + "', '" + selectedFrame + "');ToggleFields('" + itemId + "');\""
//			otherAttr = "onClick=\"ToggleTopic('" + itemId + "');\""
			var str = "<td class=\"text\"><input type=checkbox name=\"topic_id\" id='"   + itemId + "' value='" + itemId + "' checked" + " " + otherAttr + ">"+ itemText + "</td>"
			newvalue = newvalue + "<div>" + str + "</div>";
		}
	} else {
		if (temp != null) {
			temp.checked = false;
			return RemoveItem(itemId, selectFrame, selectedFrame);
	    }
	}

	
	var arr = outFrm.getElementsByTagName("body");
	for (var i=0;i < arr.length; i++) {
		newvalue=arr[i].innerHTML+newvalue;
	}

	outFrm.open();
	outFrm.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + newvalue + "</body></html>");
	outFrm.close();
}

function RemoveItem(itemId, selectFrame, selectedFrame) {

	var newvalue="";

	var outFrm = parent.frames[selectedFrame].document;
	var f = document.forms["lmiGetSearchOptionsForm"];

	var arr = outFrm.getElementsByTagName("div");
	for (var i=0; i< arr.length; i++) {
		var str = arr[i].innerHTML;
		if (str.indexOf("CHECKED") > -1 ) {
				newvalue = newvalue + "<div>" + str+ "</div>";
		}
	}
	
	outFrm.open();
	outFrm.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + newvalue + "</body></html>");
	outFrm.close();

	if (itemId == null) {
		return;
	}

	var uncheck = (selectFrame != null);
	if (uncheck) {
		var inFrm = parent.frames[selectFrame].document;

		var theItem = inFrm.getElementById(itemId);
		if (theItem == null) {
			return;
		}


		var temp = outFrm.getElementById(itemId);

		if (temp != null) {
			theItem.checked = true;
		} else {
			theItem.checked = false;

			var notgroup = theItem.getAttribute("notgroup");

			if (notgroup != null) {
				ToggleTopic(itemId);
			}

			var parent_id = theItem.getAttribute("parent");

			if (parent_id != null) {
				ToggleTopic(parent_id);
			}

		}
	}

}

function getNewWindow(param, out_topic)
{
   restoreWspaceForm();
   document.lmiCreateOutputForm.target ="remote";

   var topic;

	if (out_topic != null) {
		topic = out_topic;
	} else {
		if (typeof(document.lmiCreateOutputForm.topic) != "undefined") {
			topic = document.lmiCreateOutputForm.topic.value;
		} else {
			topic = "Quantitative";
		}
	}

//	alert(topic);

	if (param == "excel") {

		document.lmiCreateOutputForm.target ="_blank";

		if (typeof(document.lmiCreateOutputForm.topic) == "undefined") {
			addElementToForm(document.lmiCreateOutputForm, "topic", "Excel");
		} else {
			document.lmiCreateOutputForm.topic.value ="Excel";
		}
		addElementToForm(document.lmiCreateOutputForm, "excel_topic", topic);
	} else {

		if (typeof(document.lmiCreateOutputForm.topic) == "undefined") {
			addElementToForm(document.lmiCreateOutputForm, "topic", "Chart");
		} else {
			document.lmiCreateOutputForm.topic.value = "Chart";
		}
	}

	if (typeof(document.lmiCreateOutputForm.ChartType) != "undefined") {
		document.lmiCreateOutputForm.ChartType.value = param;
	}
	document.lmiCreateOutputForm.submit();
	

	document.lmiCreateOutputForm.target = "_self";

	removeElementsFromForm("excel_topic");

	if (typeof(document.lmiCreateOutputForm.topic) == "undefined") {
		addElementToForm(document.lmiCreateOutputForm, "topic", topic);
	} else {
		document.lmiCreateOutputForm.topic.value = topic;
	}
   
	return false;

}


function change_data_viewx()
{
  restoreWspaceForm();
  document.lmiCreateOutputForm.submit();
  return false;
}


function restoreWspaceForm()
{
	if (typeof(document.lmiCreateOutputForm.__mymsg) != "undefined") {
		document.lmiCreateOutputForm.msg.value = document.lmiCreateOutputForm.__mymsg.value;
	}
	if (typeof(document.lmiCreateOutputForm.__mytopic) != "undefined") {

		if (typeof(document.lmiCreateOutputForm.topic) == "undefined") {
			addElementToForm(document.lmiCreateOutputForm, "topic", document.lmiCreateOutputForm.__mytopic.value);
		} else {
			document.lmiCreateOutputForm.topic.value = document.lmiCreateOutputForm.__mytopic.value;
		}
	}
	
	if (typeof(document.lmiCreateOutputForm.__myworkspaceid) != "undefined") {
		document.lmiCreateOutputForm.workspaceid.value=document.lmiCreateOutputForm.__myworkspaceid.value;
	}
}

function PrintWorkSpace()
{
 var windowx  = frames["ViewTables"];
 if (windowx.print)
 {
    windowx.focus();
    windowx.print();
 }
 return false;
}


function ToggleAll()
{

	var togg = document.getElementById("toggleall");

	if (togg.checked == true) {
		SelectAll();
	} else {
		ClearAll();
	}

}

function SelectAll()
{

	var attribute = "";
	var items = "";

	var firms = parent.frames["selectfirms"].document.getElementsByName("firm_id");
	var outFrame = parent.frames["selectedfirms"].document;


	for (j=0; j < firms.length; j++) {
		var id = firms[j].getAttribute("id");
		var name = firms[j].getAttribute("descr");
		firms[j].checked = true;

		attribute = "onClick=\"RemoveItem('" + id + "', 'selectfirms', 'selectedfirms')\"";

		var item = "<div class=\"text\"><input type=\"checkbox\" name=\"firm_id\"" + " id=\""  + id + "\" value=\"" + id + "\" checked " + attribute + ">"+ name + "</div>\n";
		
		items += item; 

	}

	outFrame.open();
	outFrame.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + items + "</body></html>");
	outFrame.close();

}

function ClearAll()
{

    var firms = parent.frames["selectfirms"].document.getElementsByName("firm_id");
	var outFrame = parent.frames["selectedfirms"].document;

	for (j = 0; j < firms.length; j++)	{
		firms[j].checked = false;
	}

	outFrame.open();
	outFrame.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'></body></html>");
	outFrame.close();

}

function ClearTypes()
{

    var types = parent.frames["selecttypes"].document.getElementsByName("type_id");

	for (j = 0; j < types.length; j++)	{

		var type_id = types[j].getAttribute("id");
		if (type_id == "all") {
			if (types[j].checked == false) {
				return;
			} else {
				continue;
			}
		}

		types[j].checked = false;

		var type = parent.frames["selectedtypes"].document.getElementById(type_id);
		if (type != null) {
			type.checked = false;
			RemoveItem(type_id, "selecttypes", "selectedtypes");
		}

	}

}

function RemoveItemAll()
{
	var all = parent.frames["selectedtypes"].document.getElementById('all');
	if (all != null) {
		all.checked = false;
		RemoveItem('all', "selecttypes", "selectedtypes");
	}
}

function ChangeRange(range)
{
	var mr = parent.frames["selectrange"].document.getElementById('max_rank');

	if (mr != null) {
		mr.selectedIndex = range - 1;
	}

	return;
}


function SaveSelections()
{
	var form = document.forms["lmiGetSearchOptionsForm"];

	elements_handler = new FormElementsHandler(form);

	if (!elements_handler.firmsOK && !elements_handler.yearsOK && !elements_handler.topicsOK && !elements_handler.fieldsOK) {
		alert('You have not made any selections'); 
		return;
	}

	addElementToForm(form, "__recallsearch.x", "1");
	form.submit();

	return false;
}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}



function Year(range,id)
{
	this.range = range;
	this.id = id;
}

var Years = new Array();
var yearsCount = 0;

function AddYear(range,id)
{
	var index =  range + "_" + id;
	
	Years[yearsCount++] = new Year(range,id);
	Years[index] = Years[yearsCount-1];
}

function ToggleRange(range)
{
	var id = "";
	var obj = null;

	var ranges = parent.frames["selectyears"].document.getElementsByName("range_id");

	for (j=0; j < ranges.length; j++) {
		id = ranges[j].getAttribute("id");
		if ( id == range ) {
			obj = ranges[j];
			break;
		}
	}

	if (obj.checked == true) {
		SelectRangeYears(range);
	} else {
		ClearRangeYears(range);
	}

}

function SelectRangeYears(range)
{

	var allyears = parent.frames["selectyears"].document.getElementsByName("year_id");
	for (j=0; j < allyears.length; j++) {
		id = allyears[j].getAttribute("id");
		var index =  range + "_" + id;
		if ( Years[index] != null) {
			allyears[j].checked = true;
		}

	}

	UpdateSelectedYears();

}

function ClearRangeYears(range)
{

	var allyears = parent.frames["selectyears"].document.getElementsByName("year_id");
	for (j=0; j < allyears.length; j++) {
		id = allyears[j].getAttribute("id");
		var index =  range + "_" + id;
		if ( Years[index] != null) {
			allyears[j].checked = false;
		}

	}

	UpdateSelectedYears();
}


function UpdateSelectedYears()
{

	var attribute = "";
	var items = "";

	var years = parent.frames["selectyears"].document.getElementsByName("year_id");

	var outFrame = parent.frames["selectedyears"].document;


	for (j=0; j < years.length; j++) {

		if (years[j].checked == true)
		{
			var id = years[j].getAttribute("id");
			var name = years[j].getAttribute("value");

			attribute = "onClick=\"RemoveItem('" + id + "', 'selectyears', 'selectedyears')\"";
			var item = "<div class=\"text\"><input type=\"checkbox\" name=\"year_id\"" + " id=\""  + id + "\" value=\"" + id + "\" checked " + attribute + ">"+ name + "</div>\n";
		
			items += item; 
		}

	}

	outFrame.open();
	outFrame.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + items + "</body></html>");
	outFrame.close();

}


function ToggleAllYears()
{

	var years = document.getElementById("allyears");

	if (years.checked == true) {
		SelectAllYears();
	} else {
		ClearAllYears();
	}

}

function SelectAllYears()
{

	var attribute = "";
	var items = "";

	var years = parent.frames["selectyears"].document.getElementsByName("year_id");
	var ranges = parent.frames["selectyears"].document.getElementsByName("range_id");

	var outFrame = parent.frames["selectedyears"].document;


	for (j=0; j < years.length; j++) {
		var id = years[j].getAttribute("id");
		var name = years[j].getAttribute("value");
		years[j].checked = true;

		attribute = "onClick=\"RemoveItem('" + id + "', 'selectyears', 'selectedyears')\"";

		var item = "<div class=\"text\"><input type=\"checkbox\" name=\"year_id\"" + " id=\""  + id + "\" value=\"" + id + "\" checked " + attribute + ">"+ name + "</div>\n";
		
		items += item; 

	}

	for (j=0; j < ranges.length; j++) {
		ranges[j].checked = true;

	}

	outFrame.open();
	outFrame.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /><script type='text/javascript' src='/lmi/lmi.js'></script></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'>" + items + "</body></html>");
	outFrame.close();

}

function ClearAllYears()
{

    var years = parent.frames["selectyears"].document.getElementsByName("year_id");
	var ranges = parent.frames["selectyears"].document.getElementsByName("range_id");
	var outFrame = parent.frames["selectedyears"].document;

	for (j = 0; j < years.length; j++)	{
		years[j].checked = false;
	}

	for (j=0; j < ranges.length; j++) {
		ranges[j].checked = false;

	}

	outFrame.open();
	outFrame.write("<html><head><link type='text/css' rel='stylesheet' href='/lmi/globalstyles.css' /></head><body class='TableBodyLightBlue' style='scrollbar-base-color:#EBEEF3;'></body></html>");
	outFrame.close();

}

function SetDocumentStatus(status)
{
	var docs = document.getElementsByName("docid");

	for (j = 0; j < docs.length; j++)	{
		docs[j].checked = status;
	}

}


function TypeOfRepresentation(type)
{
	this.type = type;
	this.added = false;
}

var TypesOfRepresentation = new Array();
var typeCount = 0;

function AddTypeOfRepresentation(type)
{
	TypesOfRepresentation[typeCount] = new TypeOfRepresentation(type);
	TypesOfRepresentation[type] = TypesOfRepresentation[typeCount++];
}


function TypeOfRepMapEntry(key, value)
{
	this.key = key;
	this.value = value;
}

var TypeOfRepMap = new Array();
var typeOfRepMapSize = 0;

function AddTypeOfRepMapEntry(key, value)
{
	TypeOfRepMap[typeOfRepMapSize++] = new TypeOfRepMapEntry(key,value);
}

function CreateTypeElement(type)
{
	var attribute = "onClick=\"MoveItem('type_id', '" + type + "', '" + type + "', 'selecttypes', 'selectedtypes')\"";
	var result = "<div class=\"text\"><input type=\"checkbox\" name=\"type_id\"" + " id=\""  + type + "\" value=\"" + type + "\" " + attribute + ">"+ type + "</div>\n";

	return result;

}


function SearchTypeOfRepresentation()
{
	var type, key;
	var results = "<input type='checkbox' id='all' onclick='SelectAllTypes();'>Select All</input><br/><br/>";
	
	var kw = parent.frames["selecttypes"].document.getElementById("typename");
	var kw_value = kw.getAttribute("value");
	if (kw_value == "") {
		alert("Please enter a keyword to search.");
		kw.focus();
		return false;
	}

	var re = /[.]/g;
	var search_value = kw_value.replace(re, "");

//	alert(search_value);

	// do type lookup
	for (var i = 0; i < typeCount; i++) {
		type = TypesOfRepresentation[i].type;
		if (validate(search_value, type)) {
			results += CreateTypeElement(type);
			TypesOfRepresentation[i].added = true;
		} else {
			TypesOfRepresentation[i].added = false;
		}
	}

	// do map lookup
	for ( i = 0; i < typeOfRepMapSize; i++) {
		key = TypeOfRepMap[i].key;
		type = TypeOfRepMap[i].value;
		if (validate(search_value, key) && (TypesOfRepresentation[type]!=null)) {
			if (!TypesOfRepresentation[type].added) {
				results += CreateTypeElement(type);
				TypesOfRepresentation[type].added = true;
			}
		}
	}

	var listframe = parent.frames["selecttypes"].document.getElementById("types");
	if (listframe) {
		listframe.innerHTML = results;
	}

	return;
}



function SelectAllDocuments()
{

	SetDocumentStatus(true);

}

function ClearAllDocuments()
{
	SetDocumentStatus(false);
}


function TrimQuotes(kw_value)
{

	var re1 = /^['"]/;
	var re2 = /['"]$/;
	var search_value = kw_value.replace(re1, "");
	search_value = search_value.replace(re2, "");

	return search_value;
}

function KeywordSearch(sk)
{

	var kw_value = "";
	var inpArr = document.getElementsByTagName("input");

	for (j=0; j < inpArr.length; j++)
	{
		var type = inpArr[j].getAttribute("type");
		if (type == "text") {
			var name = inpArr[j].getAttribute("name");
			if (name == "keywords") {
				kw_value = inpArr[j].getAttribute("value");
				break;
			}
		}
	}

	if (kw_value == "") {
		alert("Please enter Firm Name or Keyword");
		kw.focus();
		return false;

	}

	value = TrimQuotes(kw_value);

//	alert(value);
	
	var search_type = "name";
	var search_types = document.getElementsByName("search");

	for (j=0; j < search_types.length; j++) {
		if (search_types[j].checked == true) {
			search_type = search_types[j].getAttribute("value");
			break;
		}
	}

	var topic = (search_type == "name") ? "name_search" : "kw_search";

	var link = "/cgi-bin/alacraswitchISAPI.dll?app=lmi&msg=ExecContent&topic=";
	link += topic;
	link += "&sk=";
	link += sk;
	link += "&terms=";
	link += kw_value;
	link += "&keywords=";
	link += kw_value;
	link += "&cx=017748006788178125863:h8eu3lx2fom&cof=FORID:11&q=";
	link += kw_value;	
	link += "&nqkeywords=";
	link += value;
	link += "&search_type=";
	link += search_type;

//	alert(link);

	window.location=link;
	return false;

}

function SearchArticles(sk,nsc)
{
	var search_type_element = document.getElementById("search_type");
	var search_type = search_type_element.getAttribute("value");

	var search_terms_element = document.getElementById("search_terms");
	var search_terms = search_terms_element.getAttribute("value");

	var link = "/cgi-bin/alacraswitchISAPI.dll?app=lmi&msg=ExecContent&topic=search_articles";
	link += "&sk=";
	link += sk;
	link += "&keywords=";
	link += search_terms;
	link += "&search_type=";
	link += search_type;

	if (nsc) {
		link += "&nsc=Y";
	}

//	alert(link);

	window.location=link;
	return false;

}

function SearchWeb(sk,nsc)
{
	var search_type_element = document.getElementById("search_type");
	var search_type = search_type_element.getAttribute("value");

	var search_terms_element = document.getElementById("search_terms");
	var search_terms = search_terms_element.getAttribute("value");

	var link = "/cgi-bin/alacraswitchISAPI.dll?app=lmi&msg=ExecContent&topic=web_search";
	link += "&sk=";
	link += sk;
	link += "&terms=";
	link += search_terms;
	link += "&search_type=";
	link += search_type;

	if (nsc) {
		link += "&nsc=Y";
	}

//	alert(link);

	window.location=link;
	return false;

}

function DataSearch(sk,nsc)
{
	var search_type_element = document.getElementById("search_type");
	var search_type = search_type_element.getAttribute("value");

	var search_terms_element = document.getElementById("search_terms");
	var search_terms = search_terms_element.getAttribute("value");

	value = TrimQuotes(search_terms);

	var link = "/cgi-bin/alacraswitchISAPI.dll?app=lmi&msg=ExecContent&topic=data_search";
	link += "&sk=";
	link += sk;
	link += "&nqkeywords=";
	link += value;
	link += "&keywords=";
	link += search_terms;
	link += "&search_type=";
	link += search_type;

	if (nsc) {
		link += "&nsc=Y";
	}

//	alert(link);

	window.location=link;
	return false;

}

function CheckAddToCart()
{

	var form = document.forms["bigForm"];

	var reports = document.getElementsByName("report");
	for (j=0; j < reports.length; j++) {
		if (reports[j].checked == true) {
			return true;
		}
	}

	var surveys = document.getElementsByName("survey");
	for (j=0; j < surveys.length; j++) {
		if (surveys[j].checked == true) {
			return true;
		}
	}

	alert("You haven't made any selections");
	return false;

}


function CheckDownloadClick(sk)
{
	var docs = document.getElementsByName("docid");
	var docs_checked = false;

	var link = "/cgi-bin/alacraswitchISAPI.dll?app=gda2&msg=CreateOutput&topic=ExecContent&ip=296&format=html";

	for (j=0; j < docs.length; j++) {
		if (docs[j].checked == true) {
			link += "&docid=";
			link += docs[j].getAttribute("value");
			docs_checked = true;
		}
	}

	if (docs_checked == false) {
		alert('Please select articles to download');
		return false;
	}


	link += "&sk=";
	link += sk;

	var hWnd = window.open(link,"Amlaw Articles", "width=600,height=400");

	if (hWnd != null) { 
		if (hWnd.opener == null) { 
			hWnd.opener = self;
			window.name = "Amlaw Articles";
			hWnd.location.href=link;
		} 
	}

//	window.location=link;
	return false;

}


function ClearSearchForm()
{

	var name;
	var imgArr = document.getElementsByTagName("input");

	for (j=0; j < imgArr.length; j++)
	{
		var type = imgArr[j].getAttribute("type");
		if (type == "text") {
			imgArr[j].setAttribute("value", "");
		} else if (type == "checkbox") {
			imgArr[j].checked = false;
		}
	}

	var rtArr = document.getElementsByName("rank_type");
	rtArr[0].checked = true;

	var ltArr = document.getElementsByName("location_type");
	ltArr[0].checked = true;

	var form = document.forms["lmiGetSearchOptionsForm"];

	form.year_from.value = "";
	form.year_to.value = "";

	return true;

}


function AdvancedSearch()
{
	var name;
	var value;

	var form = document.forms["lmiGetSearchOptionsForm"];

	var rank_type_element = document.getElementById("rank_type");
	var rank_type = rank_type_element.value;

	var imgArr = document.getElementsByTagName("input");
	var crit_selected = false;

	if (form.year_from.value == "" && form.year_to.value == "") {
		alert("Please select a year");
		return false;
	}

	if (rank_type != "") {
		crit_selected = true;
	} else {
		for (j=0; j < imgArr.length; j++)
		{
			var type = imgArr[j].getAttribute("type");
			if (type == "text") {
			
				name = imgArr[j].getAttribute("name");
				if (name != "year_from" && name != "year_to" && name != "rank_from" && name != "rank_to") {
					value = imgArr[j].getAttribute("value");
					if (value != "") {
						crit_selected = true;
						break;
					}
				}
			}
		}
	}

	if (crit_selected == false) {
		alert("Please enter search criteria");
		return false;
	}

	if (!validateFloat(form.revenue_from, 0, 100000) || !validateFloat(form.revenue_to, 0, 100000)) {
		alert('Revenue ($million) must be a number between 0 and 100000');
		return false;
	}

	if (!validateInt(form.size_from, 0, 1000000) || !validateInt(form.size_to, 0, 100000)) {
		alert('Firm size must be a number between 0 and 1000000');
		return false;
	}

	var max = 250;

	if (rank_type == "amlaw100" || rank_type == "global100") {
		max = 100; 
	} else if (rank_type == "amlaw200" || rank_type == "alist") {
		max = 200; 
	}

	if (!validateInt(form.rank_from, 1, max) || !validateInt(form.rank_to, 1, max)) {
		var msg = "Firm rank for selected survey must be a number between 1 and " + max;
		alert(msg);
		return false;
	}


	var topicArr = new Array();
	var count = 0;
	var topics_selected = false;

	var topics = document.getElementsByName("topic_id");
	for (i = 0; i < topics.length; i++) {
		if (topics[i].checked) {
			topicArr[count++] = topics[i].value;
			var key = "t" + topics[i].value;
			topicArr[key] = topics[i].value;
			topics_selected = true;
		}
	}

	var fields = document.getElementsByName("field_id");
	for (i = 0; i < fields.length; i++) {
		if (fields[i].checked) {
			var key = "t" + fields[i].parent;
			if (topicArr[key] == undefined) {
				topicArr[count++] = fields[i].parent;
				topicArr[key] = fields[i].parent;
				topics_selected = true;
			}
		}
	}

	if (topics_selected == false) {
		alert("Please select some topics/fields to view the data");
		return false;
	}

	var quantitative = false;
	var contacts = false;
	var tab_name = "";

	for (i = 0; i < count; i++) {
		tab_name = GetTopicName(topicArr[i]);
		if (tab_name == "Quantitative") {
			if (!quantitative) {
				quantitative = true;
				addElementToForm(form, "datatab", "Quantitative");
			}
		} else if (tab_name == "Contacts") {
			if (!contacts) {
				contacts = true;
				addElementToForm(form, "datatab", "Contacts");
			}
		} else {
			addElementToForm(form, "datatab", tab_name);
		}
	}

	return submitForm(form);

}

function openNewWindow1(newurl) {

 window.name = "alm";

 var url = newurl;

 var hWnd = window.open(url,"childWindow","directories=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes,status=no,height=200");

 if (hWnd != null) { if (hWnd.opener == null) { hWnd.opener = self; window.name = "home"; hWnd.location.href=url; } }

}



function submitRegistrationForm()
{

    var combined_email_optout = 0;

    var email_optout1 = document.getElementById("email_optout1");
    
    if (email_optout1 != null) 
    {

	    if (email_optout1.checked == true)
	    {
		combined_email_optout += 1;
	    }
    }

    var email_optout2 = document.getElementById("email_optout2");

    if(email_optout2 != null)
    {
	    if(email_optout2.checked == true)
	    {
		combined_email_optout += 2;
	    }
    }

    var email_optout3 = document.getElementById("email_optout3");

    if(email_optout3 != null)
    {
	    if(email_optout3.checked == true)
	    {
		combined_email_optout += 4;
	    }
    }
   
    var email_optout = document.getElementById("email_optout"); 
    if (email_optout != null) 
    {
	    email_optout.value = combined_email_optout;
    }
        
    return false;

}

function SelectChildren(folderID)
{
	var node = null;
	for (i=0 ; i < foldersTree.nChildren; i++)  
	{
		if(foldersTree.children[i].desc==folderID)
		{
			node = foldersTree.children[i];
			break;
		}
	}
	if(node!=null)
	{
		var currentChecked = document.getElementById(node.desc).checked; 
    		for (i=0 ; i < node.nChildren; i++)  
		{
    	  		var checkbox = document.getElementById(node.children[i].fullDesc); 
    	  		if(checkbox!=null)
    	  		{
    	  			if(currentChecked != checkbox.checked)
    	  			{
    	  				checkbox.click();
    	  			}
    	  		}
      		}
    	}
}

function SelectAllTypes()
{

	var currentChecked = document.getElementById("all").checked; 


	var inputs = parent.frames["selecttypes"].document.getElementsByTagName("input");
	for (i=0 ; i < inputs.length; i++)  
	{
    		var type = inputs[i].getAttribute("type");
    	  	if (type == "checkbox")
    	  	{
    	  		if(currentChecked != inputs[i].checked)
    	  		{
    	  			inputs[i].click();
    	  		}
      		}
    	}
}




function isNumber(elem)
{
	var str = elem.value;
	var re = /^[-]?\d*\.?\d*$/;

	str = str.toString();
	if (!str.match(re)) {
		return false;
	}

	return true;
}

function validateFloat(elem, min, max)
{

	if (elem.value == "") {
		return true;
	}

	if (!isNumber(elem)) {
		return false;
	} else {
		var tempFloat = parseFloat(elem.value);
		if (isNaN(tempFloat)) {
			return false;
		} else {
			if (tempFloat < min || tempFloat > max) {
				return false;
			}
		}
	}

	return true;

}

function validateInt(elem, min, max)
{
	if (elem.value == "") {
		return true;
	}

	if (!isNumber(elem)) {
		return false;
	} else {
		var tempFloat = parseInt(elem.value);
		if (isNaN(tempFloat)) {
			return false;
		} else {
			if (tempFloat < min || tempFloat > max) {
				return false;
			}
		}
	}

	return true;

}


function postNewWindow() {
 var winName = 'viewWindow' + Math.floor(Math.random() * 100000);
 document.forms[document.forms.length-1].target = winName;
}



function CheckInput() {
	var form = document.forms["formname"];



    if (form.company.value == '') {
		alert("Please enter your company");
		return false;
	}

	if (form.last_name.value == '') {
		alert("Please enter your last name");
		return false;
	}

	if (form.first_name.value == '') {
		alert("Please enter your first name");
		return false;
	}

	



	form.submit();

}