
/********************************************************************
* AJAX Y-M-M Update (HIN Service Version)       Author: Ray Dollete *
*                                          Created: August 30, 2006 *
*                                       Modified: September 1, 2006 *
*                                                                   *
* The following JavaScript applies specifically to the usage of the *
* YMM_Part function and all of its referenced functions.  Script    *
* dependency assumes that parent script has already included the    *
* rAyJAX JavaScript library.                                        *
*********************************************************************/

String.prototype.toProperCase = function()
{
  return this.toLowerCase().replace(/\w+/g,function(s){ return s.charAt(0).toUpperCase() + s.substr(1); });
}

function waitBox(boxName,menuName,menuText)
{
	var waitbox = "<select disabled name=\""+menuName+"\" id=\""+menuName+"\" class=\"ymm_field\"><option>"+menuText+"</select>";	
	document.getElementById(boxName).innerHTML = waitbox;
}

function clearModel()
{
	var modelbox = "<select disabled name=\"ymm_model\" id=\"ymm_model\" class=\"ymm_field\"><option>Model</option></select>";
	document.getElementById('ymm_modelbox').innerHTML = modelbox;
}

function choseYear(reference)
{
  var ymmYear = document.getElementById('ymm_year').value;
  var trueYMM = document.getElementById('stored_trueYMM').value;
  
  switch(reference)
  {
    case 'basicSyndicate':
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=getmakes&year='+ymmYear+'&reference='+reference;
    break;
    
    case 'proSyndicate':
      var delUrl = 'http://'+window.location.hostname+'/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/market_console.php?function=getmakes&year='+ymmYear+'&reference='+reference;
    break;
    
    case 'directory':
      var delUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=getmakes&year='+ymmYear+'&reference='+reference;
    break;
  }
  
	rayjaxCustomReturn(delUrl, function(req){});
  
  	waitBox("ymm_makebox", "ymm_make", "Loading...");
	clearModel();
	
	url += '&trueYMM='+trueYMM;	
	
	rayjaxCustomReturn(url, function(req) {
								document.getElementById("ymm_makebox").innerHTML = req.responseText;
							}
						);
}

function choseMake(reference)
{
  var ymmYear = document.getElementById('ymm_year').value;
	var ymmMake = document.getElementById('ymm_make').value;
  var redirect = document.getElementById('autoRedirect').value;
	var trueYMM = document.getElementById('stored_trueYMM').value;
  
  
  switch(reference)
  {
    case 'basicSyndicate':
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=getmodels&make='+ymmMake+'&year='+ymmYear+'&reference='+reference+'&redirect='+redirect;
    break;
    
    case 'proSyndicate':
      var delUrl = 'http://'+window.location.hostname+'/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/market_console.php?function=getmodels&make='+ymmMake+'&year='+ymmYear+'&reference='+reference+'&redirect='+redirect;
    break;
    
    case 'directory':
      var delUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=getmodels&make='+ymmMake+'&year='+ymmYear+'&reference='+reference+'&redirect='+redirect;
    break;
    
  }
  
	rayjaxCustomReturn(delUrl, function(req){});
	
	waitBox("ymm_modelbox", "ymm_model", "Loading...");

	url += '&trueYMM='+trueYMM;

	rayjaxCustomReturn(url, function(req)
  {
		document.getElementById("ymm_modelbox").innerHTML = req.responseText;
	});
}

function choseMake2(reference)
{
	var ymmMake = document.getElementById('ymm_make').value;
  var redirect = document.getElementById('autoRedirect').value;
  
  switch(reference)
  {
    case 'basicSyndicate':
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=getyears&make='+ymmMake+'&reference='+reference+'&redirect='+redirect;
    break;
    
    case 'proSyndicate':
      var delUrl = 'http://'+window.location.hostname+'/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/market_console.php?function=getyears&make='+ymmMake+'&reference='+reference+'&redirect='+redirect;
    break;
    
    case 'directory':
      var delUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=getyears&make='+ymmMake+'&reference='+reference+'&redirect='+redirect;
    break;
    
  }
  
	rayjaxCustomReturn(delUrl, function(req){});
	
	waitBox("ymm_yearbox", "ymm_year", "Loading years...");
	clearModel();
	
	rayjaxCustomReturn(url, function(req)
  {
		document.getElementById("ymm_yearbox").innerHTML = req.responseText;
	});
}

function submitYMM(reference)
{
  // variables that are used by most if not all references
  var ymmYear = document.getElementById('ymm_year').value;
	var ymmModel = document.getElementById('ymm_model').value;
	var trueYMM = document.getElementById('stored_trueYMM').value;
	
	
  // redoing ymm submit
  switch(reference)
  {
    case 'basicSyndicate':
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var createUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=createSynYMM&year='+ymmYear+'&model='+ymmModel+'&trueYMM='+trueYMM;
      var url = 'http://www.streetperformance.com/MARKETPLACE/index.php?show=cats';
      
      rayjaxCustomReturn(delUrl, function(req){});
      rayjaxCustomReturn(createUrl, function(req)
        {
          window.top.location.href = url;
        }
      );
    break;
    
    case 'proSyndicate':
      //var delUrl = 'http://www.streetperformance.com/market_console.php?function=deleteSynYMM';
      //var createUrl = 'http://www.streetperformance.com/market_console.php?function=createSynYMM&year='+ymmYear+'&model='+ymmModel;

      var delUrl = 'http://'+window.location.hostname+'/market_console.php?function=deleteSynYMM';
      var createUrl = 'http://'+window.location.hostname+'/market_console.php?function=createSynYMM&year='+ymmYear+'&model='+ymmModel+'&trueYMM='+trueYMM;
      var url = 'http://'+window.location.hostname+'/index.php?show=cats';
      
      rayjaxCustomReturn(createUrl, function(req)
        {
  		    window.top.location.href = url;
        }
      );
    break;
    
    case 'directory':
      //var delUrl = 'http://www.streetperformance.com/MARKETPLACE/ymm/market_console.php?function=deleteSynYMM';
      //var createUrl = 'http://www.streetperformance.com/MARKETPLACE/ymm/market_console.php?function=createSynYMM&year='+ymmYear+'&model='+ymmModel;
    
      var delUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var createUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=createSynYMM&year='+ymmYear+'&model='+ymmModel+'&trueYMM='+trueYMM;
      var url = 'http://'+window.location.hostname+'/MARKETPLACE/index.php?show=cats';
      
      rayjaxCustomReturn(createUrl, function(req)
        {
  		   window.top.location.href = url;
        }
      );
    break;
        
  }
}

function resetYMM(reference)
{
  switch(reference)
  {
    case 'index': // MARKETPLACE INDEX
    case 'mkIframeIndex': // MARKETPLACE IFRAME INDEX
      /* url string to match to */
      var urlString = window.location.href.toLowerCase();
      
      /* matching syndicate names */
      var arrMatch = new Array(
                                'hincity',
                                'dealsonwheels',
                                'off-road',
                                '4x4');

	  /* matching syndicate urls */
      var arrMktUrl = new Array(
                                'http://hincity.streetperformance.com',
                                'http://www.streetperformance.com/DEALSONWHEELS',
                                'http://partssearch.off-road.com',
                                'http://parts.4x4.com'
                               );
      
      /* will contain the marketplace url */
      var site = '';
      
      for(var x=0; x<arrMatch.length; x++)
      {
        /* syndicate name */
        var match = arrMatch[x];
        
        /* look for a match against the url string */
        for (var i=0; i<urlString.length; i++)
        {
          /* check for a match */
          if(match == urlString.substr(i,match.length))
          {
            /* match found - set site equal to the marketplace url - stop loop */
            site = arrMktUrl[x];
            break;
          }
        }
        
        /* site is not empty - stop master loop */
        if(site != '') { break; }
      }
      
      /* site is empty - its a directory - set site equal to directory marketplace */
      if(site == '')
      {
        site = 'http://'+window.location.hostname+'/MARKETPLACE';
      }
      
      // determine which index it is, standard or iframe index
      if(reference == 'index') { var addToUrl = ''; } else { var addToUrl = '?show=iframe'; }
    
      //var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var delUrl = site+'/market_console.php?function=deleteSynYMM';
      var url = site+'/index.php'+addToUrl;
    break;
    
    case 'main': // MARKETPLACE MAIN
    case 'mkIframeMain': // MARKETPLACE IFRAME MAIN
      /* url string to match to */
      var urlString = window.location.href.toLowerCase();
      
      /* matching syndicate names */
      var arrMatch = new Array(
                                'hincity',
                                'dealsonwheels',
                                'off-road',
                                '4x4'
                              );
      
      /* matching syndicate urls */
      var arrMktUrl = new Array(
                                'http://hincity.streetperformance.com',
                                'http://www.streetperformance.com/DEALSONWHEELS',
                                'http://partssearch.off-road.com',
                                'http://parts.4x4.com'
                               );
      
      /* will contain the marketplace url */
      var site = '';
      
      for(var x=0; x<arrMatch.length; x++)
      {
        /* syndicate name */
        var match = arrMatch[x];
        
        /* look for a match against the url string */
        for (var i=0; i<urlString.length; i++)
        {
          /* check for a match */
          if(match == urlString.substr(i,match.length))
          {
            /* match found - set site equal to the marketplace url - stop loop */
            site = arrMktUrl[x];
            break;
          }
        }
        
        /* site is not empty - stop master loop */
        if(site != '') { break; }
      }
      
      /* site is empty - its a directory - set site equal to directory marketplace */
      if(site == '')
      {
        site = 'http://'+window.location.hostname+'/MARKETPLACE';
      }
      
      //var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var delUrl = site+'/market_console.php?function=deleteSynYMM';
      var url = window.location.href;
    break;
    
    case 'category': // MARKETPLACE CATEGORY
    case 'mkIframeCategory': // MARKETPLACE IFRAME CATEGORY
      /* url string to match to */
      var urlString = window.location.href.toLowerCase();
      
      /* matching syndicate names */
      var arrMatch = new Array(
                                'hincity',
                                'dealsonwheels',
                                'off-road',
                                '4x4'
                              );
      
      /* matching syndicate urls */
      var arrMktUrl = new Array(
                                'http://hincity.streetperformance.com',
                                'http://www.streetperformance.com/DEALSONWHEELS',
                                'http://partssearch.off-road.com',
                                'http://parts.4x4.com'
                               );
      
      /* will contain the marketplace url */
      var site = '';
      
      for(var x=0; x<arrMatch.length; x++)
      {
        /* syndicate name */
        var match = arrMatch[x];
        
        /* look for a match against the url string */
        for (var i=0; i<urlString.length; i++)
        {
          /* check for a match */
          if(match == urlString.substr(i,match.length))
          {
            /* match found - set site equal to the marketplace url - stop loop */
            site = arrMktUrl[x];
            break;
          }
        }
        
        /* site is not empty - stop master loop */
        if(site != '') { break; }
      }
      
      /* site is empty - its a directory - set site equal to directory marketplace */
      if(site == '')
      {
        site = 'http://'+window.location.hostname+'/MARKETPLACE';
      }
      
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      //var delUrl = site+'/market_console.php?function=deleteSynYMM';
  	  var url = window.location.href;
    break;
    
    case 'directory': // DIRECTORIES
      //var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var delUrl = 'http://'+window.location.hostname+'/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = window.location.href;
    break;
    
    case 'basicSyndicate':
      var delUrl = 'http://www.streetperformance.com/MARKETPLACE/market_console.php?function=deleteSynYMM';
      var url = window.parent.location.href;
    break;
    
    case 'proSyndicate':
      //var delUrl = 'http://www.streetperformance.com/market_console.php?function=deleteSynYMM';
      var delUrl = 'http://'+window.location.hostname+'/market_console.php?function=deleteSynYMM';
      var url = window.parent.location.href;
    break;
  }
  
  rayjaxCustomReturn(delUrl, function(req)
  {
    switch(reference)
    {
      case 'basicSyndicate':
      case 'proSyndicate':
        window.parent.location.href = url;
      break;
      default:
        goLink(url);
      break;
    }
  });
  
	document.getElementById('subButton').style.display = 'none';
}
