var _urlSearch = "/webapp/wcs/stores/servlet/StoreCatalogDrillDownView?langId=-1&storeId=10001&catalogId=10001";
var _urlParametricSearch = "/webapp/wcs/stores/servlet/ParametricSearchResultsView?langId=-1&storeId=10001&catalogId=10001";
var _urlModifyHistory = "/webapp/wcs/stores/servlet/StoreCatalogDrillDownView?isModiftHistory=true&langId=-1&storeId=10001&catalogId=10001";
var _urlCompare = "compare.jsp";
var _urlUpdate = "update_prefs.jsp";
var _urlProduct = "/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=null";

function addToShoppingCart() {

			var formCompare = document.forms.frmCompare;
			var formAddToCart = document.forms.frmAddToCart;
			var cnt = 0;
			for (var i = 0; i < formCompare.elements.length; i++) {
				if (formCompare.elements[i].name == 'itemId' && formCompare.elements[i].checked) {
					cnt++;
					addFormField(formAddToCart, 'hidden', 'catEntryId_' + cnt, formCompare.elements[i].value);
				}
			}

			if (cnt > 0) {
				formAddToCart.submit();
			} else {
				alert('Please select items to add to cart');
			}
}


function addFormField(form, fieldType, fieldName, fieldValue) {
	if (document.getElementById) {
		var input = document.createElement('INPUT');
		if (document.all) {
			input.type = fieldType;
			input.name = fieldName;
			input.value = fieldValue;
		} else {
			input.setAttribute('type', fieldType);
			input.setAttribute('name', fieldName);
			input.setAttribute('value', fieldValue);
		}
		form.appendChild(input);
	}
}

function compareProductItems() {
	var form = document.forms.frmCompare;
	form.action="CompareItemsView";
	form.submit();
}

function checkCompareItems(item){
	var str=item.value;
	var elem=document.getElementById(str);
	if(item.checked){
	 elem.checked=true;
	}else{
	  elem.checked="";
	}
}
/*function addItemToCart(itemId,qty){
	alert("Before "+document.getElementById(itemId).checked);
	document.getElementById(itemId).checked="true";
	alert("Before "+document.getElementById(itemId).checked);
	var quantity = document.getElementById(qty).value
	alert("quantity "+document.getElementById(qty).value);
	addToSingleShoppingCart(quantity);
	document.frmCompare.isOuterForm.value = "false";
	document.forms.addSingleProduct.action = "OrderItemAdd";
	document.forms.addSingleProduct.submit();
}*/

// creates a search GET action with an arbitrary number of parameters
function performSearch()
{

    var url = _urlSearch;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {

            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }


    url = appendHistory(url, false);

    window.location.assign(url);
}

function performRootSearch()
{
    var url = _urlSearch;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {
            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }

    window.location.assign(url);
}

// creates a search GET action with an arbitrary number of parameters
function performParamsSearch()
{

    var url = _urlParametricSearch;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {

            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }


    url = appendHistory(url, false);

    window.location.assign(url);
}

function performJamecoParamsSearch()
{

    var url = _urlParametricSearch;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {

            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }

    window.location.assign(url);
}

function performParamAttributeSort(sortField)
{
    performParamsSearch("sort_attribute", sortField, "refine", "1");
}


// creates a search GET action with an arbitrary number of parameters
function performSearchStatic()
{

    var url = _urlSearch;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {
            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }

    window.location.assign(url);
}

// creates a product GET action with an arbitrary number of parameters
function performProductPage()
{
    var url = _urlProduct;

    for (var n = 0; n < (arguments.length - 1); n = n+2)
    {
        if (n < 1)
            url += "?";
        else
            url += "&";

        url += arguments[n] + "=" + encodeURIComponent(arguments[n+1]);
    }


    url = appendHistory(url, false);

    window.location.assign(url);
}


function openDocument(url,ignore)
{
    window.open(url,"name");
}

function changePrefs(param, value)
{
    var url = _urlUpdate;

    url += "?param=" + param + "&paramValue=" + value;

    url += "&redir=" + encodeURIComponent(document.location.href);

    window.location.assign(url);
}

function changePrefsAndGo(param, value, url)
{
    var url = _urlUpdate;

    url += "?param=" + param + "&paramValue=" + value;

    url += "&redir=" + encodeURIComponent(url);

    window.location.assign(url);
}

function appendHistory(url, first)
{
// 2008-07-29: history to session
//2009-06-09 undo the "history to session"
    var newURL = url;

    if (!first)
        newURL += "&";

    return newURL + "history=" + encodeURIComponent(getHistory());

    //return url;
}

function performFreeSearch(str)
{
	var text="";
	 var searchTypeNode = document.getElementById("search_type_c");
    var searchType = searchTypeNode ? searchTypeNode.value : null;
	if(str == "inner"){
	   // text = document.freeTextSearchForm.freeText.value;
	    //if(text == "" && document.freeTextSearchForm1!=null && document.freeTextSearchForm1.freeText.value != ){

	    	text=document.freeTextSearchForm1.freeText.value;
	    	searchType = document.freeTextSearchForm1.search_type_c_1.value;

	    	if(text!=""){
	    	//document.freeTextSearchForm.freeText.value=text;
	    	//text = document.freeTextSearchForm.freeText.value

	    	}
	   // }
    } else {
    	//text = document.freeTextSearchForm.freeText.value;
	    //if(text == "" && document.freeTextSearchForm1!=null && document.freeTextSearchForm1.freeText.value != ){

	    	text=document.freeTextSearchForm.freeText.value;


	   // }

    }

    if (text == "")
    {
        alert("Please enter your search query");
        return false;
    }

    var refine = false;
    var refineObj = document.getElementById("searchInResults");

    /* 2008-05-19: Brickfacto: Jameco: custom search */


    if (refineObj != null) refine = refineObj.checked;




    if (refine) {
        if (searchType) {
            /* 2008-05-19: Brickfacto: Jameco: custom search */
            performSearch("freeText", text, "refine", "1", "search_type", searchType);
        } else {
            performSearch("freeText", text, "refine", "1");
        }
    } else {
        if (searchType) {
            /* 2008-05-19: Brickfacto: Jameco: custom search */
            performSearch("freeText", text,  "search_type", searchType);
        } else {
            performSearch("freeText", text);
        }
    }
}


function performFreeSearch2(form)
{
	var text="";

	    	text=form.freeText.value;



    if (text == "")
    {
        alert("Please enter your search query");
        return false;
    }

    var refine = false;
    var refineObj = document.getElementById("searchInResults");

    /* 2008-05-19: Brickfacto: Jameco: custom search */

    var searchType = form.search_type_c.value;

    if (refineObj != null) refine = refineObj.checked;

    if (refine) {
        if (searchType) {
            /* 2008-05-19: Brickfacto: Jameco: custom search */
            performSearch("freeText", text, "refine", "1", "search_type", searchType);
        } else {
            performSearch("freeText", text, "refine", "1");
        }
    } else {
        if (searchType) {
            /* 2008-05-19: Brickfacto: Jameco: custom search */
            performSearch("freeText", text,  "search_type", searchType);
        } else {
            performSearch("freeText", text);
        }
    }
}


function performAltSearch(text)
{
    performSearch("freeText", text, "refine", "2");
}
/*
function performModifyHistory(modifyType, uid)
{

    var url = _urlModifyHistory + "&modifyType="
        + modifyType + "&uid=" + uid
        + "&jameco_page="
        + "45";
    url = appendHistory(url, false);

    window.location.assign(url);
}
*/
function performModifyHistory(modifyType, uid)
{
    var url = _urlModifyHistory + "?modifyType="
        + modifyType + "&uid=" + uid;

    url = appendHistory(url, false);

    window.location.assign(url);
}

function performSort(sortField)
{
    performSearch("sort_field", sortField, "refine", "1");
}

function performAttributeSort(sortField)
{
    performSearch("sort_attribute", sortField, "refine", "1");
}




function goToResults()
{

    var url = appendHistory(_urlSearch + "?", true);
    window.location.assign(url);
}

function removeEntry(entry)
{
    performModifyHistory('2', entry);
}

function removeAfter(entry)
{
    performModifyHistory('1', entry);
}



function switchStyle(tableItm, buttonItm, sumItm)
{
    if (tableItm.style.display=="")
    {
        tableItm.style.display="none";
        buttonItm.src="/wcsstore/Jameco/images/mercado/arrow_down.gif";
        if (sumItm != null)
            sumItm.style.display="";
    }
    else
    {
        tableItm.style.display="";
        buttonItm.src="/wcsstore/Jameco/images/mercado/arrow_up.gif";
        if (sumItm != null)
            sumItm.style.display="none";
    }
}

function showOptions()
{
    var opt = document.getElementById("demoOptions");

    if (opt)
    {
        if (opt.style.display == "")
            {
                opt.style.display = "none";
            }
        else
            {
                opt.style.display = "";
            }
    }
}

function ignore(val)
{
}


 /*
function setAllBrandsTrigger()
{

    if(selectAllBrands.checked==false)
        return;
    var url = _urlSearch;
    url += "?brand_search=All";

    window.location.assign(url);

}

function performParametricSearch()
{
    var url = _urlSearch;
    mark = "?";
    ref_index_non_num = 0;
    ref_index_num = 0;
    for(var i=0;i<3;i++)
    {
        selection = document.all("select_"+i);
        if( selection != null)
        {
            if(2 == selection.options[selection.options.length-1].type)
            {
                val = "";
                min = "";
                max = "";
                for(var j=0 ;j < selection.options.length ; j++)
                {
                    option_obj = selection.options[j];
                    if(option_obj.selected==true)
                    {
                        if(option_obj.value!="NONE")
                        {
                            index =  option_obj.value.lastIndexOf(" ");
                            if( min == "")
                            {

                              min =  option_obj.value.substring(0,index+1);
                            }
                              max =  option_obj.value.substring(index+1,option_obj.value.length);
                        }
                    }
                }
                val = min+max;
                if(!(val==""))
                {
                    str = mark+"refineTypeRange"+ref_index_num+"="+selection.options[selection.options.length-1].type
                              +"&"+"refineRangeName"+ref_index_num+"="+ selection.title
                              +"&"+"refineRangeValue"+ref_index_num+"="+val;

                    ref_index_num++;
                    mark = "&";
                    url+=str;
                }

            }
            else{
                val = "(";
                for(var j=0;j<selection.options.length;j++)
                {
                    option_obj = selection.options[j];
                    if(option_obj.selected==true)
                    {
                        if(option_obj.value!="NONE")
                        {
                            val += "\""+option_obj.value +"\" | ";
                        }
                    }
                }
                if(val.length!=1)
                {

                    index = val.lastIndexOf(" | ");
                    val = val.substring(0,index);
                    //only one value
                    if(val.indexOf("|")==-1)
                    {
                     val = val.replace("(","");
                     val = val.replace("\"","");
                     val = val.replace("\"","");
                    }
                    else{
                        val+=")";
                    }
                    str = mark+"refineType"+ref_index_non_num+"="+selection.options[selection.options.length-1].type
                              +"&"+"sub_attr_name"+ref_index_non_num+"="+ selection.title
                              +"&"+"refineValue"+ref_index_non_num+"="+val;


                    mark = "&";
                    ref_index_non_num++;
                    url+=str;
                }
            }
        }
    }
    url +="&"+"refine=1";
    url = appendHistory(url, false);
    window.location.assign(url);
}
  */
function sendToNotification(pid,qid,page)
{
    window.open("notify_event.jsp?"+pid+"&"+qid+"&prod_page="+encodeURIComponent(page));
}

function openRelatedDocument(url,cmcparameter)
{
     window.open(url);
}



function getURLParam(strParamName){

  var strReturn = "";
  var strHref = window.location.href;

  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
        if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

function refinebyshowhide(obj) {

		var ulparent = obj.parentNode.parentNode
		var ulchild = ulparent.getElementsByTagName("ul")
		if(ulchild[0]){
		if(ulchild[0].style.display=="none") {
			ulchild[0].style.display="";
			ulparent.className="refinebyactive";
			document.getElementById("leftcol").style.height="";
		}
		else {
			ulchild[0].style.display="none";
			ulparent.className="refineby";
		}
		}
		return false;
	}

function applyCategoryRefine(catID, catName, parentCatID /* , ignore... */) {
    return performSearch(
        'categoryName', parentCatID,
        'subCategoryName', catName,
        'category', catID,
        'refine', '1',
        'position','1'
    );
}
