var xmlHttp;
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5") != -1) ? 1 : 0;
var is_opera = ((navigator.userAgent.indexOf("Opera6") != -1) || (navigator.userAgent.indexOf("Opera/6") != -1)) ? 1 : 0;
//netscape, safari, mozilla behave the same???
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;
var divToSet = 'DivMain';
var pageToredirectAfterResp = '';
var HasCentralAreaAlreadyFilled = false;

function Display_Data(reqUrl) {
    if (reqUrl.length > 0) {
        //Append the name to search for to the requestURL
        var url = reqUrl;


        //Create the xmlHttp object to use in the request //stateChangeHandler will fire when the state has changed, i.e. data is received back
        // This is non-blocking (asynchronous)
        xmlHttp = GetXmlHttpObject(stateChangeHandler);
        //Send the xmlHttp get to the specified url
        // setBusyCursor();
        xmlHttp_Get(xmlHttp, url);
    }
}
//stateChangeHandler will fire when the state has changed, i.e. data is received back, This is non-blocking (asynchronous)
function stateChangeHandler() {
    //readyState of 4 or 'complete' represents that data has been returned
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
        //Gather the results from the callback
        var str;
        str = xmlHttp.responseText;

        if (pageToredirectAfterResp != '') {
            window.location = pageToredirectAfterResp;
            return;
        }

        //Populate the innerHTML of the div with the results
        if (divToSet != '') {
            if (document.getElementById) {
                //This indirecting writing into the panel require for IE
                // var t = document.createElement('div');
                // t.innerHTML = str;
                // alert(str);
                document.getElementById(divToSet).innerHTML = str;

                //document.getElementById(divToSet).appendChild(t);

            }
            else if (document.all) {
                document.all[divToSet].innerHTML = xmlHttp.responseText;
            }
            else if (document.layers) {
                document.layers[divToSet].innerHTML = xmlHttp.responseText;
            }
        }
        resetBusyCursor();
        if (typeof (AjaxOnLoad) != 'undefined') { AjaxOnLoad() };
        //var countries=new ddtabcontent("countrytabs")
        //countries.setpersist(true)
        //countries.setselectedClassTarget("link") //"link" or "linkparent"
        //countries.init()
    }
}


// XMLHttp send GET request
function xmlHttp_Get(xmlhttp, url) {
    xmlhttp.open('GET', url, true);
    xmlhttp.send(null);
}

function GetXmlHttpObject(handler) {
    var objXmlHttp = null;
    //Holds the local xmlHTTP object instance
    //Depending on the browser, try to create the xmlHttp object
    if (is_ie) {

        //The object to create depends on version of IE
        //If it isn't ie5, then default to the Msxml2.XMLHTTP object
        var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
        // create the object
        try {
            objXmlHttp = new ActiveXObject(strObjName);
            objXmlHttp.onreadystatechange = handler;
        }
        catch (e) {
            //Object creation errored
            alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
            return;
        }
    }

    else if (is_opera) {
        //Opera has some issues with xmlHttp object functionality
        alert('Opera detected. The page may not behave as expected.');
        return;
    }
    else {
        // Mozilla Netscape Safari
        objXmlHttp = new XMLHttpRequest();
        objXmlHttp.onload = handler;
        objXmlHttp.onerror = handler;
    }
    //Return the instantiated object
    return objXmlHttp;
}
var currentPageNumber = 1;
var requestUrl = '';
function FillProductListGrid(mType, sender, orderby, currentPageNumber) {
    var pagenum = Number(currentPageNumber);
    if (pagenum == 0)
        pagenum = 1;
    if (mType == 'N')
        pagenum = pagenum + 1
    else if (mType == 'O')
        pagenum = sender.innerHTML;
    else pagenum = pagenum - 1;
    divToSet = 'DivProductList';
    if (mType == '') {
        FillProductList("&orderby=" + orderby);
    }
    else if (orderby != '') {
        FillProductList("&PageNumber=" + pagenum + "&orderby=" + orderby);
    }
    else {
        FillProductList("&PageNumber=" + pagenum);
    }
    return false;
}
function FillProductList(querystring) {
    divToSet = "DivProductList";
    //  window.location = "ProductListNew.aspx?" + querystring;
    var randomnumber = Math.floor(Math.random() * 1000000)

    var urlRequest = querystring + "&Action=FillProductList" + "&no=" + randomnumber;
    Display_Data(urlRequest);
    // return false;
    // return ProcessRequest("FillProductList", querystring);
}

function FillGridOrCentral(querystring) {
    if (HasCentralAreaAlreadyFilled) {
        return FillProductList(querystring);
    }
    else {
        divToSet = 'DivMain';
        HasCentralAreaAlreadyFilled = true;
        return ProcessRequest("ProductListMain", querystring);

    }
}
function FillCentralArea(action, querytring) {
    divToSet = 'DivMain';
    ProcessRequest(action, querytring);
}
function FillProductDetails(productNo) {
    window.location = "ProductDetails.aspx?productid=" + productNo;
    return false;
    //   return FillCentralArea("ProductDetail", "&productid=" + productNo);
}
function AddCartItem(productid) {
    divToSet = 'DivMain';
    pageToredirectAfterResp = "ShoppingCart.aspx";
    return ProcessRequest("CartUpdate", "&ProductId=" + productid);
}
function AddCartItemOnPD(productid, txtQty, page) {
    alert(page);
    var qty;

    if (txtQty)
        qty = txtQty.value
    else if (txtQty == 'undefined')
        qty = 1
    else
        qty = txtQty;
    divToSet = 'rightcart';
    var pageparam;

    if (page)
        pageparam = '&page=SC';
    else
        pageparam = '';

    var randomnumber = Math.floor(Math.random() * 1000000)
    return ProcessRequest("AddCartItemOnPD", "&id=" + productid + "&isFromAjax=true&qty=" + qty + "&no=" + randomnumber + pageparam);
}

function ProcessRequest(action, queryString) {
    var params = queryString;
    if (params.substring(0, 1) != '&')
        params = "&" + params;

    var urlRequest = "HandleAsyncCall.aspx?Action=" + action + params;
    Display_Data(urlRequest);
    return false;
}



 function SearchRedirect(searchFeild)
        {
            
            var searchtext=document.getElementById(searchFeild).value;
           // if(trim(searchtext) ==''){ alert("Please enter text in search field and try again."); return false;}

            var cat = document.getElementById('ctl00_cmbCategories').value;
	        if(!checkForSpecialChars(document.getElementById(searchFeild),'NS','','')) 
            {
                return false;
            }
            else
            {
                var url = "ProductList.aspx?";
                if (searchtext.length>0)
                    url = url + "keyword=" + searchtext;
                if (cat > 0)
                    url = url + "&category=" + cat;
                window.location = url;
                    
            }    
            return false;
        }
       var __defaultFired = false; 
    function Custom_FireDefaultButton(event, target) { if (!__defaultFired && event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == 'textarea'))) {
        var __nonMSDOMBrowser =   (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);        
        var defaultButton;
       
        if (__nonMSDOMBrowser)
         {
            defaultButton = document.getElementById(target);
              } 
               else {defaultButton = document.all[target];
               } 
               if (defaultButton && typeof(defaultButton.click) != 'undefined') 
                {
                 defaultButton.click();event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); 
                 return false;  
                 }
                  else
                  {
                   if(target === 'searchgo')
                    SearchRedirect('searchproduct');return false;
                     event.cancelBubble = true;
                      if (event.stopPropagation)
                       event.stopPropagation(); 
                       return false;
            }
         }
            return true;
         }


         function AdvancedSearch(txtSCriteria, chkSProdDesc, cmbManufacturers, cmbCategories, curPFrom, curPTo, ddlGender, txtnotes) {
            
             var criteria = document.getElementById(txtSCriteria);
             var mfg = document.getElementById(cmbManufacturers);
             var category = document.getElementById(cmbCategories);
             var priceFrom = document.getElementById(curPFrom);
             var priceTo = document.getElementById(curPTo);
             var gender = document.getElementById(ddlGender);
             var notes = document.getElementById(txtnotes);
             var chkDesc = document.getElementById(chkSProdDesc);
             // var queryparameter = "&type=advancesearch";
             var queryparameter = "";
             var text = "";
             // if(criteria.value != "Keyword here")
             //    queryparameter = queryparameter + "&name=" + criteria.value;
             if (criteria.value.length > 0)
                 queryparameter = "&keyword=" + criteria.value;
             // queryparameter = queryparameter + "&description=" + chkDesc.checked;
             var mfgVal = mfg.options[mfg.selectedIndex].value;
             //  var mfgTxt = mfg.options[mfg.selectedIndex].text;
             if (mfgVal > 0) {
                 queryparameter = queryparameter + "&brand=" + mfgVal;
                 //  text = text + mfgTxt;
             }
             else {
                 // queryparameter = queryparameter + "&manufacturer="
             }
             
             var catVal = category.options[category.selectedIndex].value;
             // var catTxt = category.options[category.selectedIndex].text;
             if (catVal > 0) {
                 queryparameter = queryparameter + "&category=" + catVal;
                 // if(text.length >0)
                 //  text = text + "/" + catTxt;
                 //else
                 // text = catTxt;
             }
             else {
                 //queryparameter = queryparameter + "&category=";
             }
             if (priceFrom.value > 0)
                 queryparameter = queryparameter + "&pricefrom=" + priceFrom.value; //curPFrom.Text;
             if (priceTo.value > 0)
                 queryparameter = queryparameter + "&priceto=" + priceTo.value; //curPTo.Text;
             if (gender.value.length > 0)
                 queryparameter = queryparameter + "&gender=" + gender.value;
            // if (notes.value.length > 0)
             //    queryparameter = queryparameter + "&notes=" + notes.value;
             //queryparameter = queryparameter + "&text=" + text;
             //DivMouseOut();
             //alert(3);

             window.location = "http://www.perfume-center.com/ProductList.aspx?" + queryparameter;
             //FillCentralArea('Search',queryparameter);
             //Display_Data(queryparameter);
             return false;
         }

