﻿// JScript File

function getHttpRequestObj() 
{
	var xmlhttp;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}


function loadCities(stateSign, citySelectObj, stateName, useCityNameForValue, selectedCityName)
{
    stateSign = escape(stateSign);
    if(stateName == undefined || stateName == '')
    {
        var pageURL = "/ajax/getCitiesByState.aspx?stateSign=" + stateSign;
    }
    else
    {
        var pageURL = "/ajax/getCitiesByState.aspx?stateName=" + stateName;
    }
    //location.href=pageURL;
    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
	        {
			    if(xObj.readyState==4)
			    {

			      var valsArr = xObj.responseText.split('|');
			      var i = 0;
			      
                  citySelectObj.options.length = 0
                  var isSelected = false;
                  citySelectObj.options[0] = new Option("- select city -", "", false, false);
			      for(i = 0 ; i < valsArr.length; i++)
			      {

                    if(valsArr[i] != "")
                    {
                        var tmpStr = valsArr[i];
                        var cityName = tmpStr.split('~')[0];
                        var cityId = tmpStr.split('~')[1];  
                        isSelected = false; 
                        if(selectedCityName)
                        {
                            if(selectedCityName == cityName)
                            {
                                isSelected = true;
                            }
                        }
                        if(useCityNameForValue)
                        {
                            citySelectObj.options[i + 1] = new Option(cityName, cityName, false, isSelected)
                        }
                        else
                        {         
			                citySelectObj.options[i + 1] = new Option(cityName, cityId, false, isSelected)
			            }
			        }

			      }
                }
		    };

	    xObj.open ("get", pageURL ,true);
	    xObj.send(null);
}


///////////////////////////////////////
// Search functions:

function doSearch(catName, keyword, cityName, stateName)
{
    var searchURL = "";
    catName = escape(catName);
    keyword = escape(keyword);
    cityName = escape(cityName);
    stateName = escape(stateName);
    
    searchURL  = "/Suppliers";
    
    var foundButKey = 0;
    
    if(cityName != "")
    {
        searchURL += "/" + cityName;
    }      
    if(stateName != "")
    {
        searchURL += "/" + stateName;       
    }    
    if(catName != "")
    {
        searchURL +=  "/" + catName + ".html";
        
    }
    else
    {
        if(keyword == "")
        {
            showErr("hpSearchErrSpan","please select category or enter keyword.");
            return;
        }
        searchURL +=  "/k:" + keyword;
    }
    location.href = searchURL;
}


function printHPSearch()
{


    for(i = 0 ; i < catsArr.length; i++)
    {
        hp_searchCatsSelect.options[i] = new Option(catsArr[i].catName, catsArr[i].catName, false, false)
        
    }
    
    
    hp_searchStateSelect.options[0] = new Option(" - select state - ", "", false, false);
    for(i = 0 ; i < statesArr.length; i++)
    {
        hp_searchStateSelect.options[i + 1] = new Option(statesArr[i].stateName, statesArr[i].stateName, false, false)
    }
                  
}



function printTopSearch(currentCatName)
{
    var isSelected = false;
    for(i = 0 ; i < catsArr.length; i++)
    {
        if(currentCatName == catsArr[i].catName)
        {
            isSelected = true;
        }
        else
        {
            isSelected = false;
        }
        searchCatsSelect.options[i] = new Option(catsArr[i].catName, catsArr[i].catName, false, isSelected)
        
    }
    changeTopSearch(readCookie("topSearchType"));

}

function changeTopSearch(changeTo)
{

        if(changeTo == null)
        {
            changeTo == 'key';
            
        }
        if(changeTo == 'cat')
        {
            searchKey.value = '';
            
            if(searchCatsSelect.value == '')
            {
                setTopCatSelected(searchCatsSelect.options[0])
            }
            createCookie("topSearchType","cat", 7);
            document.getElementById("topSearchKeyText").style.display = 'none';
            document.getElementById("topSearchCatSelect").style.display = '';
            document.getElementById("searchByCat_topArrow").style.visibility = 'visible';
            document.getElementById("searchByKey_topArrow").style.visibility = 'hidden';
            document.getElementById("searchByKey_topTD").style.color = '#3C3C3C';
            document.getElementById("searchByCat_topTD").style.color = '#ffffff';
            
        }
        else
        {
            createCookie("topSearchType","key", 7);
            document.getElementById("topSearchKeyText").style.display = '';
            document.getElementById("topSearchCatSelect").style.display = 'none';
            document.getElementById("searchByKey_topArrow").style.visibility = 'visible';
            document.getElementById("searchByCat_topArrow").style.visibility = 'hidden';
            document.getElementById("searchByKey_topTD").style.color = '#ffffff';
            document.getElementById("searchByCat_topTD").style.color = '#3C3C3C';            
        }

}


function filterSearch(stateName,cityName,keyword, catName)
{
    doSearch(catName, keyword, cityName, stateName)
}

function filterTagPage(stateName,cityName,tagWord, tagId)
{
    if(stateName != '' && cityName != '')
    {
        location.href = "/Tag-" + tagId + "/" + tagWord + "/" + cityName + "/" + stateName;
    }
    else if(stateName != '')
    {
        location.href = "/Tag-" + tagId + "/" + tagWord + "/" + stateName;
    }
}

/////////////////////////////////////
// Cookies:
function createCookie(name,value,days,ipath)
{
	if (ipath == undefined) 
	{
		ipath = "";
	}
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/"+ipath;
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}
///////////////////////////////////////////////////

function enterOnText(objectIdToClick)
{

    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
    {
        document.getElementById(objectIdToClick).click();
        return false;
    } 
    else 
        return true;
}


function topSearchFindByKey()
{
    var keyword = escape(document.getElementById("topSearchKey").value);
    
    if(keyword != "")
    {
       //alert(keyword);
       location.href = "/Suppliers/k:" + keyword;
       return false;
    }
}


function topSearchFindByCat()
{
    var catName = escape(document.getElementById("topSearchCat").value);
    if(catName != "")
    {
       //alert(catName);
       location.href = "/Suppliers/" + catName + ".html";
       return false;
    }

}

function showErr(objectId, errText)
{
    document.getElementById(objectId).innerHTML = "<span style=\"color:red;\">" + errText + "</span>"
}
///////////////////////////////////////////