/*
################################################
#                                              #
# site.js                                      #
#                                              #
################################################
#                                              #
# Stores all of the javascript functions that  #
# the framework needs in order to provide      #
# various dynamic functionalities.             #
#                                              #
################################################
*/


/*
 |ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|
 | Required Site Functions |
 |_________________________|
*/

function AJAX_Load(URL)
{
 scrObj = document.createElement('SCRIPT');
 scrObj.type = 'text/javascript';
 scrObj.src = BaseURL + URL;
 document.body.appendChild(scrObj);
}

function loginUser()
{
 oLoginTbl = document.getElementById('loginTbl');
 userInput = findInputBox('user');
 passInput = findInputBox('pass');
 AJAX_Load('login.php?op=login&user='+userInput.value+'&pass='+escape(passInput.value));
}

function logoutUser()
{
 oLoginTbl = document.getElementById('loginTbl');
 AJAX_Load('login.php?op=logout');
}

function loadSelection(args, featured)
{
 if(!oProdTbl) return;

 while(oProdTbl.rows.length > 1) oProdTbl.deleteRow(1);

 if(!featured)
  oProdTbl.rows[0].cells[0].firstChild.src = oProdTbl.rows[0].cells[0].firstChild.src.replace(/latest/, 'sel');

 oRow = oProdTbl.insertRow(1);
 oCell = oRow.insertCell(0);
 oCell.align = 'center';
 oCell.colSpan = '4';
 oCell.style.height = '200px';
 oCell.innerHTML = '<img src=\"img/site/loading.gif\" alt=\"\" width=\"32\" height=\"32\" />';

 AJAX_Load((featured == 'auctions' ? 'asnet_search' : featured ? 'featured' : 'car_search') + '.php?' + args);
}

function setDay(oTD)
{
 if(aucDay)
  aucDay.className = 'dayMake';
 if(aucMake)
  aucMake.className = 'dayMake';
 oTD.className = 'dayMakeSel';
 aucDay = oTD;
}

function setMake(oTD)
{
 if(!aucDay)
 {
  alert('Please Select a Day First');
  return;
 }

 if(aucMake)
  aucMake.className = 'dayMake';
 oTD.className = 'dayMakeSel';
 aucMake = oTD;

 loadModels('id='+aucDay.id.replace(/^Day-/, '') + '|' + aucMake.id.replace(/^Make-/, ''));
}

function loadModels(args)
{
 if(!oProdTbl) return;

 while(oProdTbl.rows.length > 1) oProdTbl.deleteRow(1);

 xArgs = args.split('|');

 if(xArgs.length > 2)
 {
  oRow = oProdTbl.insertRow(1);
  oCell = oRow.insertCell(0);
  oCell.align = 'center';
  oCell.colSpan = '4';
  oCell.style.height = '200px';
  oCell.innerHTML = '<img src=\"img/site/loading.gif\" alt=\"\" width=\"32\" height=\"32\" />';
 }
 else
  oSrchTbl.srchSpan.style.display = '';

 backTD.innerHTML = '';
 AJAX_Load('asnet_search.php?' + args);
}

function loadResults()
{
 if((inpStock = findInputBox('areaStock')) && (inpAuctions = findInputBox('areaAuctions')))
 {
  area = [];
  if(inpStock.checked)
   area.push('stock');
  if(inpAuctions.checked)
   area.push('auctions');
  if(area.length == 0)
  {
   alert('Please Select atleast one area to search!')
   return false;
  }

  area = area.join(', ');
 }

 srchInput.value = srchInput.value.trim().replace(/Toyota|Nissan|Mitsubishi|Subaru|Mazda|Chevrolet|Lexus/ig, '');
 loadSelection('id='+area+'&op='+escape(srchInput.value));
 oSrchTbl.rows[3].cells[0].innerHTML = "";
 oSrchTbl.srchSpan.style.display = "";
}

function showSections(oTgt)
{
 clearTimeout(oTimer);
 oSectTbl.style.display = 'none';

 if(!oSectTbl || !Sections || !Sections[oTgt.name] || Sections[oTgt.name].length < 1) return;

 while(oSectTbl.rows.length > 0) oSectTbl.deleteRow(0);

 for(idx = 0; idx < Sections[oTgt.name].length; idx++)
 {
  oRow = oSectTbl.insertRow(idx);
  oCell = oRow.insertCell(0);
  oCell.innerHTML = '<a href="sections.php?id='+Sections[oTgt.name][idx][0]+'">'+Sections[oTgt.name][idx][1]+'</a>';
 }

 oSectTbl.style.left = offLeft + oTgt.offsetLeft;
 oSectTbl.style.top  = offTop + oTgt.offsetTop + oTgt.offsetHeight;
 oSectTbl.style.display = '';
}

function showDetails(sDetail)
{
 if(!oDtlTbl) return;

 oDtlTbl.rows[0].cells[0].innerHTML = sDetail;
 oDtlTbl.style.display = '';
}

function attachShowSections()
{
 if(!oSectTbl) return;
 oMap = document.getElementById('Map');
 for(idx = 0; idx < 5; idx++)
 {
  oMap.childNodes[idx].onmouseover = function () { showSections(this); }
  oMap.childNodes[idx].onmouseout  = function () { oTimer = setTimeout("oSectTbl.style.display = 'none';", 1000); }
 }
}

function attachShowDetails()
{
 if(!oProdTbl) return;

 for(rIdx = 0; rIdx < oProdTbl.rows.length; rIdx++)
  for(cIdx = 0; cIdx < oProdTbl.rows[rIdx].cells.length; cIdx++)
  {
   oCell = oProdTbl.rows[rIdx].cells[cIdx];
   if(oCell.className.substr(0, 4) == 'prod')
   {
    sLink  = oCell.className == 'prodImg' ?
             oProdTbl.rows[rIdx].cells[cIdx+1].childNodes[oProdTbl.rows[rIdx].cells[cIdx+1].childNodes.length-1].href:
             oCell.childNodes[oCell.childNodes.length-1].href;
    oCell.linkPath = sLink;
    oCell.onclick = function () { location = this.linkPath; return false; }
    oCell.onmouseover = function () {
     oDtlTbl.rows[0].cells[0].innerHTML = '<img src="img/site/loading.gif" hspace="160" vspace="140">';
     leftPos  = offLeft + padLeft + this.offsetLeft + this.offsetWidth;
     oTgt = this;
     while(oTgt.tagName !== 'TABLE')
      oTgt = oTgt.parentNode;
     leftPos += oTgt.id == oTgt.parentNode.childNodes[0].id ? 0 : -oTgt.parentNode.childNodes[0].offsetWidth;
     oTbl.style.left = leftPos;
     oTbl.style.top  = offTop + padTop + this.offsetTop;
     oTbl.style.display = '';
     AJAX_Load('car_details.php' + this.linkPath.substr(sLink.indexOf('?id=')));
    }
    oCell.onmouseout = function () { oDtlTbl.style.display = 'none'; str = ''; }
    oCell = null;
   }
  }
}

function attachLiveSearch()
{
 if(!oSrchTbl) return;

 area = location.href.indexOf('auctions') == -1 ? 'stock' : 'auctions';

 srchInput = findInputBox('srch');
 srchInput.onfocus = function () { if(this.value=='Enter Car Model...') this.value = ''; }
 srchInput.onblur = function () { if(this.value=='') this.value = 'Enter Car Model...'; }
 srchInput.onkeyup = function (e) {
  e = e ? e : window.event;
  //alert(e.keyCode);
  if(this.value.indexOf('Enter Car Model...') !== -1)
  {
   this.value = '';
   return;
  }
  if(e.keyCode == 16 || e.keyCode == 17 || e.keyCode == 18 || e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40)
   return;
  if(this.oYimer)
   clearTimeout(this.oYimer);
  if(this.value.trim() != '')
   this.oYimer = setTimeout('loadResults()', 1000);
 }
}

function findInputBox(strName)
{
 Inputs = document.getElementsByTagName('INPUT');
 for(i = 0; i < Inputs.length; i++)
  if(Inputs[i].name == strName)
   return Inputs[i];
 return false;
}

function findImgTbl()
{
 oCarTbl = document.getElementById('carTbl');
 oNodes = oCarTbl.rows[oCarTbl.rows.length-3].cells[0].childNodes;
 oSubTbl = oNodes[oNodes.length > 1 ? 1 : 0];
 oNodes = oSubTbl.rows[oSubTbl.rows.length-2].cells[0].childNodes;
 oImgTbl = oNodes[oNodes.length > 1 ? 1 : 0];
}

function openLarge(id, op, showTbl)
{
 ASNET = id.toString().indexOf('http://') !== -1;
 HTML  = '<style>BODY{margin:0;padding:0}</style>';
 HTML += '<a href="javascript:self.close()">';
 HTML += '<img src="' + (ASNET ? id : 'getImg.php?id='+id+'&op='+op+'&lrg') + '" border="0" onload="window.resizeTo(this.offsetWidth+35, this.offsetHeight+80)" /></a>';
 if(showTbl)
  HTML += '<table cellspacing="2" cellpadding="2" style="background: #FFFFFF; border: solid 1px #336699; font: 8pt Arial, Verdana, sans-serif; left: 5px; position: absolute; top: 5px">' +
          '<tr><th colspan="2" style="border-bottom: solid 1px #336699">Diagram Guide</th></tr>' +
          '<tr><td>&times;&times;</td><td> :  Replaced</td></tr>' +
          '<tr><td>A</td><td> :  Scratch</td></tr>' +
          '<tr><td>B</td><td> :  Sheet Metal Processed</td></tr>' +
          '<tr><td>C</td><td> :  Corrosion</td></tr>' +
          '<tr><td>P</td><td> :  Repainted</td></tr>' +
          '<tr><td>S</td><td> :  Rust</td></tr>' +
          '<tr><td>U</td><td> :  Dent</td></tr>' +
          '<tr><td>W</td><td> :  Wavy Panel</td></tr>' +
          '</table>';
 picWin = window.open('', 'PicView', 'top=50, width=360, height=270, resizable=1, scrollbars=1');
 picWin.document.open();
 picWin.document.write(HTML);
 picWin.document.close();
 picWin.focus();
}

function initPage()
{
 Browser = navigator.appName;
 offLeft = document.getElementById('mainTbl').offsetLeft;
 offTop  = document.getElementById('mainTbl').offsetTop;
 padLeft = 15;
 padTop  = 332 + (-150); // Top Banner Image Height

 if(!document.getElementById('detailTbl'))
 {
  oDtlTbl = document.createElement('TABLE');
  oDtlTbl.id = "detailTbl";
  oDtlTbl.cellSpacing = "0";
  oDtlTbl.cellPadding = "0";
  document.body.insertBefore(oDtlTbl, null);
  oRow = oDtlTbl.insertRow(0);
  oCell = oRow.insertCell(0);
  oDtlTbl.style.display = 'none';
 }
 else
  oDtlTbl = document.getElementById('detailTbl');

 /*
 if(!document.getElementById('sectionTbl'))
 {
  oSectTbl = document.createElement('TABLE');
  oSectTbl.id = "sectionTbl";
  oSectTbl.cellSpacing = "0";
  oSectTbl.cellPadding = "0";
  document.body.insertBefore(oSectTbl, null);
  oSectTbl.style.display = 'none';
 }
 else
  oSectTbl = document.getElementById('sectionTbl');
 oSectTbl.onmouseover = function () { clearTimeout(oTimer); }
 oSectTbl.onmouseout  = function () { oTimer = setTimeout("oSectTbl.style.display = 'none';", 100); }
 */

 oProdTbl = document.getElementById('featTbl') ? document.getElementById('featTbl') :
            document.getElementById('prodTbl') ? document.getElementById('prodTbl') :
            null;

 if(document.getElementById('searchTbl'))
 {
  oSrchTbl = document.getElementById('searchTbl');
  Nodes = oSrchTbl.rows[oSrchTbl.rows.length-1].cells[0].childNodes;
  for(i = 0; i < Nodes.length; i++)
   if(Nodes[i].tagName == 'SPAN')
    oSrchTbl.srchSpan = Nodes[i];
  oSrchTbl.srchSpan.style.display = 'none';

  if(location.pathname.search(/stock\.php/i) != -1)
   attachLiveSearch();
  else
  {
   /*
   Nodes = oSrchTbl.srchSpan.childNodes;
   for(i = 0; i < Nodes.length; i++)
    if(Nodes[i].nodeType == 'SPAN')
     oSrchTbl.srchSpan = Nodes[i];
   */
   Selects = document.getElementsByTagName('SELECT');
   daySelect  = Selects[0];
   makeSelect = Selects[1];
   backTD     = oSrchTbl.rows[oSrchTbl.rows.length-2].cells[0];
  }
 }

 //AJAX_Load('sections.php?op=loadSections');
 //attachShowDetails();

 if(lastCmd != '' && lastPage == location.href) eval(lastCmd);
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
}

/*
 |ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ|
 | Initialization Code |
 |_____________________|
*/

var oTimer;
var oDtlTbl;
var oSrchTbl;
var oSectTbl;
var oProdTbl;
var oLoginTbl
var offLeft;
var padLeft;
var offTop;
var padTop;

var aucDay;
var aucMake;

var Browser;
var BaseURL;

URL = document.location.href;
xEnd = URL.lastIndexOf("/") + 1;
BaseURL = URL.substring(0, xEnd);

window.onload = initPage;
