﻿/* ---------------------------------- functions from core.js ------------------------------------*/
function ScrollToAnchorInInnerScrollPane(formName, hiddenFieldName, textInHref)
{
	if (!browseris.ie4up) return;
	try
	{
		var form=document.getElementById(formName);
		var anchor=document.getElementById(form[hiddenFieldName].value);
		if (typeof(anchor)=="undefined" || anchor==null)
			throw "";
	}
	catch(e)
	{
		var tempAnchor=null;
		for (var i=0; i < document.anchors.length; i++)
		{
			tempAnchor=document.anchors[i];
			var href=tempAnchor.href;
			if (href.search(textInHref) !=-1)
			{
				anchor=tempAnchor;
				break;
			}
		}
	}
	if (typeof(anchor) !="undefined" && anchor !=null)
	{
		var scrollTopOld=document.body.scrollTop;
		var scrollLeftOld=document.body.scrollLeft;
		anchor.scrollIntoView(false);
		document.body.scrollTop=scrollTopOld;
		document.body.scrollLeft=scrollLeftOld;
	}
}
function ExpGroupBy(formObj)
{
	if (browseris.nav)
		return;
	if ((browseris.w3c) && (!browseris.ie)) {
		document.all=document.getElementsByTagName("*");
	}
	docElts=document.all;
	numElts=docElts.length;
	images=formObj.getElementsByTagName("IMG");
	img=images[0];
	srcPath=img.src;
	index=srcPath.lastIndexOf("/");
	imgName=srcPath.slice(index+1);
	if (imgName=='plus.gif')
	{
		fOpen=true;
		displayStr="block";
		img.src='/_layouts/images/minus.gif';
	}
	else
	{
		fOpen=false;
		displayStr="none";
		img.src='/_layouts/images/plus.gif';
	}
	oldName=img.name;
	img.name=img.alt;
	img.alt=oldName;
	spanNode=img;
	while(spanNode !=null)
	{
		spanNode=spanNode.parentElement;
		if (spanNode !=null &&
			spanNode.id !=null &&
			spanNode.id.length > 5 &&
			spanNode.id.substr(0, 5)=="group")
			break;
	}
	parentNode=spanNode;
	while(parentNode !=null)
	{
		parentNode=parentNode.parentElement;
		if (parentNode !=null &&
			parentNode.tagName=="TABLE")
			break;
	}
	lastNode=null;
	if (parentNode !=null)
	{
		lastNode=parentNode.lastChild;
		if (lastNode !=null && lastNode.tagName=="TBODY")
			lastNode=lastNode.lastChild;
		if (lastNode !=null && lastNode.tagName=="TR" && lastNode.lastChild !=null)
			lastNode=lastNode.lastChild;
	}
	for(var i=0;i<numElts;i++)
	{
		var childObj=docElts(i);
		if (childObj==spanNode)
			break;
	}
	ID=spanNode.id.slice(5);
	for(var j=i+1; j<numElts; j++)
	{
		var childObj=docElts(j);
		if (childObj.id.length > 5 &&
			childObj.id.substr(0, 5)=="group")
		{
			curID=childObj.id.slice(5);
			if (curID <=ID)
				return;
		}
		parentNode=childObj;
		while(parentNode !=null)
		{
			parentNode=parentNode.parentElement;
			if (parentNode==spanNode)
				break;
		}
		if (parentNode==spanNode)
			continue;
		if (childObj !=img &&
			childObj.tagName=="IMG" &&
			childObj.src &&
			childObj.src.slice(childObj.src.length - 25)=='/_layouts/images/plus.gif')
		{
			childObj.src='/_layouts/images/minus.gif';
			oldName=childObj.name;
			childObj.name=childObj.alt;
			childObj.alt=oldName;
		}
		if (childObj.tagName==spanNode.tagName &&
			childObj.id !="footer")
		{
			childObj.style.display=displayStr;
		}
		if ((childObj.tagName=="TABLE" && lastNode==null) || childObj==lastNode)
			break;
	}
}

/*-----------------------------------------------------------------------------------------------*/
/*===============================                               general functions    ======================================================*/
function decodeURIorUnicode(msg)
{
        //the next block of code tries to decode uri, if failed it decodes it using unicode decoding fn unescape()
        try
        {
            return decodeURI(msg);
        }
        catch(err)
        {
            //alert("invalid encoding-trying escape");   
            try
            {     
                return unescape(msg);
                //alert(transCat);
            }
            catch(err2)
            {
                return null;
            }
            
        }
    //---------------------------------------------------------------------------------------------------
}
function querySt(ji)
{
    hu = window.location.search.substring(1);
    gy = hu.split("&");
    for (i=0;i<gy.length;i++)
    {
        ft = gy[i].split("=");
        if (ft[0] == ji)
        {
            return ft[1];
        }
    }
    return null;

}
/*===============================                                categories_ajax_sm ajax functionality   ===================================*/
//============================= using script manager ===================

function loadSubCategoriesSM(category)
{

    //_message.style.display="block";
    categories.GetSubcategories(encodeURI(category),SubCatComplete, SubCatError, SubCatTimeOut);
 
}
function SubCatComplete(arg)
{
    _message.style.display="none";
    if(arg !=null)
    {
        //var myTable = new CSGridview({tableCSSClass:"SubCategory",rowCSSClass:"SubCategory"});				  
        var myTable = new CSGridview({});				  
        myTable.bindArray(arg,'result');

	/* 4/11/2008 -------------- highlight selected subcategory (if there exist one) */
	var subcat1=querySt("SubCategory");
	if(subcat1!=null)
	{
		subcat1 = decodeURIorUnicode(subcat1);
		subcat1=subcat1.replace('+',' '); //because decoding uri make ' ' appear as '+'

		var subcatResultsContainer=document.getElementById('result');
		var subcatResultsTable = subcatResultsContainer.getElementsByTagName("Table")[0];


		for(var i=0;i<subcatResultsTable.rows.length;i++)
		{
			var curLink=subcatResultsTable.rows[i].cells[0].getElementsByTagName('A')[0];
			if(curLink.innerHTML==subcat1)
			{
				curLink.style.fontWeight="bold";
				break;
			}
		}
	}
	/* 4/11/2008 ------ end -------- highlight selected subcategory (if there exist one) */ 

    }
}
 
function SubCatTimeOut(arg)
{
    _message.style.display="none";
    alert("timeOut has occured");
}

function SubCatError(arg)
{
    _message.style.display="none";
    alert("error has occured: " + arg._message);
}
/*===============================                                CountryEraFilter_ajax_sm ajax functionality   ===================================*/








