﻿var userGridView = true;

function adGridDraw(oGridArrays)
{

      var sH='';     
      var lArrayLength=0;
      var lLoop=0;
      var oGrid = document.getElementById("AdGrid");
      var oInp = new Array();
      var adNumber = 0;
      var adsShown = 1;
 
   try
      {
		 
             lArrayLength = oGridArrays.length;

             if (lArrayLength < 1) { return false; }

             for (lLoop=0; lLoop<lArrayLength; lLoop++)
            { 
               if (adsShown <= pageMax && offsetAdList <= adNumber)
                {
                 oInp.push(adGridWriteAd(oGridArrays[lLoop])); 
                 adsShown +=1;
                }
                 adNumber += 1;
             }

              sH = oInp.join(' ');
             oGrid.innerHTML=sH;
             GridArrays = oGridArrays;

          }
           catch (exception) 
          { 
             if (exception.description == null) { alert("Grid Draw Error: " + exception.message); }  
             else {  alert("Grid Draw Error: " + exception.description); }
          }
}
              
function adGridWriteAd(sArray)
  {
       
		var lArrayLength=0;
		var lLoop=0;
        var sH='';
        var oInp = new Array();
        var imageSrc = '';
        var imageWidth = 120;

		lArrayLength = sArray.length;

    	if (lArrayLength < 1) { return false; }

        for (lLoop=0; lLoop<lArrayLength; lLoop++)
        {
           oGrid = sArray[lLoop];

            //grid view
            if (oGrid.Image != '') {
                imageSrc = oGrid.Image;
                imageWidth = 120
            }
            else {
                imageSrc = '/Images/nopic.gif';
                imageWidth = 120;
            }

           if (userGridView == true)
            {
                oInp.push("<div class='adboxEven' OnClick='AdDetails(" + oGrid.SiteAdID + "," + oGrid.SiteID + ");'><div class='adBoxTitle'>" + Left(oGrid.Title,30) + "</div>");
                oInp.push("<div style='height:100px;width:122px;overflow:hidden;'><img src='" + imageSrc + "' onerror=" + "this.style.display='none';" + " width='" + imageWidth + "' alt='' class='adboxImage' /></div>");
                oInp.push("<div class='adboxItemText'>prijs: " + ((oGrid.Price != 0) ? oGrid.Price : oGrid.RawPrice) + "<br/>locatie: " + oGrid.Location + "</div></div>"); //"<br/>Bron:" + oGrid.Source + "<br/>score:" + oGrid.Relevancy + "% "<br/>ervaring: " + oGrid.CommentCount);
            }
            else
            {
                oInp.push("<div style='width:730px;height:130px;background-color:#2A63FE;cursor:pointer;margin-bottom:1px;margin:5px;clear:both;' OnClick='AdDetails(" + oGrid.SiteAdID + "," + oGrid.SiteID + ");'>");
                oInp.push("<div style='float:left;padding:3px;height:130px;width:122px;overflow:hidden;'><img src='" + imageSrc + "' onerror=" + "this.style.display='none';" + " width='" + imageWidth + "' alt='' /></div>");
                oInp.push("<div style='float:left;height:130px;width:600px;overflow:hidden;'><div class='adBoxTitle'>" + oGrid.Title + "</div><div class='adboxText'>prijs: " + ((oGrid.Price != 0) ? oGrid.Price : oGrid.RawPrice) + "<br/>locatie: " + oGrid.Location + "<br/>bron: " + oGrid.Source + ", score: " + oGrid.Relevancy + "%, ervaring: " + oGrid.CommentCount + "<br/><div style='float:left;padding-right:10px;'><img src='/Images/Icon/btnDetails.gif' border='0' /></div><div style='float:left;'>" + oGrid.Text + "</div></div></div></div>");
            }
        }

   	    sH = oInp.join(' ');
		 
        return sH;
}

function number_check(value) {
    var binary = value.toString(2);
    if (binary.charAt(binary.length - 1) == "1") {
        return false;
    }
    else {
        return true;
    }
}

function SortAdGrid(action, gridSortDirection)
{
    var IDsString = '';
    var sortString = '';
    var oRow;
    var oCell;
    var lArrayLength;
    var lLoop;
    var sortValue = '';
        
    lArrayLength = adArrays.length;
    for (lLoop=0; lLoop<lArrayLength; lLoop++)
    {
        oRow = adArrays[lLoop];
        oCell = oRow[GridSortColumn];
                
        IDsString += ((IDsString == '') ? '' : '|') + oCell.Number;
        if (action == 'relevancy')
            sortValue = oCell.Relevancy;
        if (action == 'price')
            sortValue = oCell.Price;
        if (action == 'location')
            sortValue = oCell.Location;
            
        if (sortValue == '')
            sortValue = 'ZZZZZ';

        sortString +=  ((sortString == '') ? '' : '|') + sortValue;
    }
    
    MetaSearchWebService.MetaSearchWebService.Sort(IDsString,sortString,action,gridSortDirection,SortCallback);
} 

function SortCallback(result)
{
    offsetAdList = 0;
    pageNumber = 1;

    adArrays = GridSort(adArrays, result);
    adGridDraw(adArrays);
    
    PagingControls();
}

function GridSort(oGridArrays, IDsString)
{
    var oNewGrid = new Array();
    var oRow;
    var count;
    var lLoop;
    var lArrayLength;
    
    lArrayLength = oGridArrays.length;
    
    var IDsArray = IDsString.split("|");
    
    count = 0;
    for (lLoop=0; lLoop<lArrayLength; lLoop++)
    { 
        //count += 1;
        oRow = GridGetSortedRow(oGridArrays,IDsArray[lLoop]);	 
        oNewGrid[lLoop] = oRow;
    }
    
    return oNewGrid; 
}

function GridGetSortedRow(oGridArrays,sID)
{

    var oRow;
    var oCell;
 
    try
    {
         lArrayLength = oGridArrays.length;
 
         if (lArrayLength < 1) {  return null; }

         for (lLoop=0; lLoop<lArrayLength; lLoop++)
        { 
            oRow = oGridArrays[lLoop];
            oCell = oRow[GridSortColumn];
            if (oCell.ID == sID) { return oRow; }
         }
    }
       catch (exception) 
      { 
         if (exception.description == null) { alert("GridGetSortedRow: " + exception.message); }  
         else {  alert("GridGetSortedRow: " + exception.description); }
      }
}

function GridSortSetColumn(nVal)
{
   if (nVal != GridSortColumn)
  {
     GridSortColumn = nVal;
     GridDrawTable(GridArrays);
     GridDrawTable(GridArrays);
  }
  else
  {
     GridSortColumn = nVal;
     GridDrawTable(GridArrays);
  }
}


