// browser detection
function browserStats() {
  var ua = " " + navigator.userAgent.toLowerCase();
  this.nn = ua.indexOf( "mozilla" ) > 0;
  ua.indexOf( "compatible" ) > 0 ? this.nn = false : "";
  this.ie = ua.indexOf( "msie" ) > 0;
  this.version = parseInt( navigator.appVersion );
  this.mac = ua.indexOf( "mac" ) > 0;
  this.ie ? ua.indexOf( "msie 5" ) > 0 ? this.version = 5 : "" : "";
  return this;
}

var b = new browserStats();


// browser/platform font size cascade
var cssPath = "/css/", cssFile;
b.mac && b.nn && b.version >= 5 ? cssFile = "half_size_smaller.css" : b.mac && b.version >= 5 || !b.mac && b.ie || b.nn && b.version >= 5 ? cssFile = "one_size_smaller.css" : cssFile;
cssFile ? document.write( '<link rel="stylesheet" href="' + cssPath + cssFile + '" type="text/css" />' ) : "";


// netscape browser resize fix
if( b.nn ) {widthCheck = window.innerWidth;heightCheck = window.innerHeight;window.onresize = resizeFix;}

function resizeFix() {widthCheck != window.innerWidth || heightCheck != window.innerHeight ? window.location.reload( true ) : "";}


// div img rollovers
function tabRollover( imgName, imgSrc, container ) {
  var ext; shadow?ext="_s":ext="";
  eval( "rollover( '" + imgName + "', '" + imgSrc + ext + ".gif', '" + container + "' )" );
}

function rollover( imgName, imgSrc, container ) {
  var path = "document." + imgName + ".src = '" + imgSrc + "'";
  if( b.nn && b.version < 5 ) eval( container + "." + path );
    else eval( path );
}

function tabState( state, vehicle ) {
  var path;
  if( state == 'off' ) {
    for( var i = 0; i < tabArray.length; i++ ) {
      hideE( tabArray[i] );
    }
    shadow = false;
    for( var i = 0; i < tabNavArray.length; i++ ) {
      if( tabNavArray[i]=='requestinfo' ) path = "/img/tab_nav/";
        else path = "/" + vehicle +  "/img/tab_nav/";
      rollover( tabNavArray[i] + 'Img', path + tabNavArray[i] + '_off.gif', 'document.' + tabNavArray[i] + 'Nav' );
    }
  }
  if( state == 'on' ) {
     for( var i = 0; i < tabArray.length; i++ ) {
      showE( tabArray[i] );
    }
    shadow = true;
    for( var i = 0; i < tabNavArray.length; i++ ) {
      if( tabNavArray[i]=='requestinfo' ) path = "/img/tab_nav/";
        else path = "/" + vehicle +  "/img/tab_nav/";
      rollover( tabNavArray[i] + 'Img', '/' + path + tabNavArray[i] + '_over.gif', 'document.' + tabNavArray[i] + 'Nav' );
    }
  }
}

// printing
// strip links for print window

function stripLinks( str ) {
  regEx1 = /<a([^<]+)href=\"([^<]+)\"\s*>/ig
  regEx2 = /<\/a>/ig;
  var conv = str.replace( regEx1, '' );
  conv = conv.replace( regEx2, '' );
  return conv;
}

function printMe( page, tracking ) {
  var d = new Date();
  var y = d.getYear();if( y < 2000 ) y = y + 1900;
  var todaysDate = ( d.getMonth() + 1 ) + "/" + d.getDate() + "/" + y.toString().substr( 2,2 );
  var str = '<html><head><title>Printable Version</title>';
  if ( b.version > 4 ) {
    str += '<link rel="stylesheet" type="text/css" href="/css/base_font.css" />';
    str += '<scr' + 'ipt language="javascript" src="/js/tracking.js?context=' + tracking + '&type=print"></scr' + 'ipt><scr' + 'ipt language="javascript">if( window.focus ) window.focus();onerror=catchError;function catchError(){return true;}</scr' + 'ipt>';
  } else {
    str += '<style type="text/css">td{font-size:7.5pt;font-family:verdana;}</style>';
  }
  str += '</head><body background="/img/background_print.gif" marginheight="10" marginwidth="10" leftmargin="10" topmargin="10">';
  str += '<table border="0" cellpadding="0" cellspacing="0" width="425"><tr valign="top"><td><img src="/img/logo_print.gif" /></td><td align="right"><a href="javascript:window.close();"><img src="/img/close.gif" border="0" /></a><br />' + todaysDate + '</td></tr><tr><td colspan="2"><br />' + stripLinks(page) + '</td></tr></table>';
  str += '</body></html>';
  // write to window
  var options = 'width=470,height=470,scrollbars=1,menubar=1';
  var x = ( screen.availWidth - 470 ) / 2;
  var y = ( ( screen.availHeight - 470 ) / 2 ) - 40;
  options += ",left=" + x + ",screenX=" + x + ",top=" + y + ",screenY=" + y;
  var w = window.open( "", "print", options );
  w.document.write( str );
  w.document.close();
}

// generate random number within range passed in
function generateRandomNumber( argRange ) {
  return 1 + Math.round( Math.random() * ( argRange - 1 ) );
}

// get named value from query string
function getParameter( argParam ) {
  var queryString = location.search.substring( 1, location.search.length );
  var params = queryString.split( "&" );
  var val = "";
  var val2 = "";
  if( argParam ) {
    for( i = 0; i < params.length; i++ ) {
      if( params[i].split( "=" )[0] == argParam )
        val = params[i].split( "=" )[1];
    }
    return val;
  }
}
   var contextVal = getParameter( "context" );
      if( contextVal=="pacifica_url" ) { 
      window.location.replace("/pacifica/index2.html");   
  }

// universal window function
function flexWin(argUrl,argScrollbar,argWidth,argHeight,argWinName,argOptions,argXpos,argYpos,argCloseWin){
 //Set defaults for new window - All options on by default except Scrollbars
  var winName = argWinName ? argWinName : "flexWin" + nocacheRandom();
  var windowOptions = argOptions ? argOptions : "history=0,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0";
  var winWidth = argWidth ? argWidth : 800;
    windowOptions += ",width=" + winWidth;
  var winHeight = argHeight ? argHeight : 600;
    windowOptions += ",height=" + winHeight;
  var scrollbar = argScrollbar ? ",scrollbars=yes" : ",scrollbars=no";
    windowOptions += scrollbar;
 //Position window
  var winXpos = argXpos ? argXpos : ( screen.availWidth - winWidth ) / 2;
    windowOptions += ",left=" + winXpos + ",screenX=" + winXpos;
  var winYpos = argYpos ? argYpos : ( ( screen.availHeight - winHeight ) / 2 ) - 40;
    windowOptions += ",top=" + winYpos + ",screenY=" + winYpos;
 //Open Window
 //alert(winName);
  window.open(argUrl,winName,windowOptions);
//Close window if asked to
  argCloseWin ? window.close() : "";
}

// img tag creator
function imgTag( i, m, map ) {
  var iTag = '<img src="' + i + '"';
  if( m != "" ) iTag += ' border="0" usemap="#' + m  + '"';
  iTag += ' />';
  if( m != "" ) iTag += map;
  return iTag;
}

// access function for msrps
function getMSRP( argVehicle, argModel) {
  if( argModel != "" ) {
    for( i=0; i<models.length; i++ ) {
      if( models[i].vehicle == argVehicle && models[i].model == argModel && models[i].msrp != "" ) {
        return 'Starting at $' + models[i].msrp + '.00 <nobr>(MSRP excludes tax)</nobr>'; // do any additional formatting here.
      }
    }
    return "Please see your dealer for pricing.";
  } else {
    var start;
    for( i=0; i<models.length; i++ ) {
      if( models[i].vehicle == argVehicle ) {
        start = i; break;
      }
    }
    var end;
    for( i=models.length-1; i>=0; i-- ) {
      if( models[i].vehicle == argVehicle ) {
        end = i; break;
      }
    }
    if( start != end ) {
      return "Starting at $" + models[start].msrp + ".00 <nobr>(MSRP excludes tax)</nobr>";
    } else if ( argVehicle=="crossfire") {
      return "Pricing not available at this time.";
	} else {
      return "Please see your dealer for pricing.";
    }
  }
}

var wrapMsg = "";
wrapMsg += 'The contents in the current "Build Your Own" window will be erased   \n';
wrapMsg += 'and a new session will be started. Click OK to continue and restart,\n';
wrapMsg += 'or Cancel to retain the contents of the window.';
var pandeWindow = null;
var universalWindow = null;

function wrap(argApp, argTracking, argFamily, argModel) {
  argApp = argApp.toLowerCase();
  var launchUrl = "/bridge/index.html?";
  if( argTracking != '' ) launchUrl += argTracking + "&";
  launchUrl += "app=" + argApp + "&family=" + argFamily + "&model=" + argModel;

  if( argApp == "priceequip" ) {
    if( b.ie && b.mac && b.version < 5 ) {
      openit( argApp, launchUrl );
    } else {
      if( pandeWindow && !pandeWindow.closed ) {
        if( confirm( wrapMsg ) ) {
          pandeWindow.focus();
          window.pandeWindow.location = launchUrl;
        } else {
          pandeWindow.focus();
        }
      } else {
        openit( argApp, launchUrl );
      }
    }
  } else {
    openit( argApp, launchUrl );
  }
  
  // nested function
  function openit( argApp, launchUrl ) {
    var winWidth = 618, winHeight = 452;    
    if( argApp == "priceequip" || argApp == "myfolder" || argApp == "vehicleselector" || argApp == "vehiclespecs" || argApp == "preownedinventory" || argApp == "gap" )
      winWidth = 790;
    if( window.screen && argApp == "priceequip" || argApp == "myfolder" || argApp == "vehicleselector" || argApp == "vehiclespecs" || argApp == "preownedinventory" || argApp == "gap" )
      winHeight = ( window.screen.availHeight - 130 );
    var options = "resizable,scrollbars,toolbar,"
    
    //var options = "resizable, scrollbars,";
    //if( argApp != "priceequip" ) options += "toolbar,";
    
    options += "width=" + winWidth + ",height=" + winHeight;
    if( window.screen ) {
      var xPos = ( screen.availWidth - winWidth ) / 2;
      var yPos = ( ( screen.availHeight - winHeight ) / 2 ) - 40;
      options += ",left=" + xPos + ",screenX=" + xPos;
      options += ",top=" + yPos + ",screenY=" + yPos;
    }
    if( argApp == "priceequip" ) pandeWindow = window.open( launchUrl, "priceequip", options );
      else universalWindow = window.open( launchUrl, "universal", options );
  }
  // end nested function
}

function askWin() {
  var winWidth = 611, winHeight = 448;
  var options = "resizable,scrollbars,toolbar,"
    options += "width=" + winWidth + ",height=" + winHeight;
  if( window.screen ) {
      var xPos = ( screen.availWidth - winWidth ) - 20;
      var yPos = ( ( screen.availHeight - winHeight ) / 2 ) - 40;
      options += ",left=" + xPos + ",screenX=" + xPos;
      options += ",top=" + yPos + ",screenY=" + yPos;
    }
  window.open( "", "askWindow", options );
  return true;
}

// exit window
function confirmNewWindow(newUrl)
{
var msg = "You are now leaving the Chrysler Web Site. Thank you for visiting and come again soon.";
        if (confirm(msg)){
                window.open(newUrl, TARGET='_blank');
        }
}
