" ); define ( "_TO_ADD_", "Website Inquiry " ); // define ( "_CONTEST_ADD_", "Engine Identification Contest " ); define ( "_CONTEST_ADD_", "Engine Identification Contest " ); require ( "lib/xajax/xajax_core/xajax.inc.php" ); $xajax = new xajax(); $xajax -> configure( 'debug', false ); $xajax -> configure( 'javascript URI', 'lib/xajax' ); $xajax -> register( XAJAX_FUNCTION, "testUser" ); $xajax -> register( XAJAX_FUNCTION, "search" ); $xajax -> register( XAJAX_FUNCTION, "nextSearch" ); $xajax -> register( XAJAX_FUNCTION, "backSearch" ); $xajax -> register( XAJAX_FUNCTION, "showPart" ); $xajax -> register( XAJAX_FUNCTION, "addToInquiry" ); $xajax -> register( XAJAX_FUNCTION, "viewInquiry" ); $xajax -> register( XAJAX_FUNCTION, "updateQuantity" ); $xajax -> register( XAJAX_FUNCTION, "fixQuantity" ); $xajax -> register( XAJAX_FUNCTION, "toggleCheckBox" ); $xajax -> register( XAJAX_FUNCTION, "collectComment" ); $xajax -> register( XAJAX_FUNCTION, "clearInquiry" ); $xajax -> register( XAJAX_FUNCTION, "sendInquiry" ); $xajax -> register( XAJAX_FUNCTION, "goBack" ); $xajax -> processRequest(); $_SESSION['page'] = array (); $_SESSION['step'] = 10; $_SESSION['thumb'] = 50; $_SESSION['image'] = 200; list ( $_SESSION['browser'], $_SESSION['version'], $_SESSION['platform'] ) = determineBrowser (); $strings = array ( "home", "catalog", "engines", "head", "contact", "about", "block", "hire", "tour", "warranty", "login", "inquiry-form", "inquiry-submit", "profile", "contest", "contest-submit", "flyer", "guts" ); $page = ( in_array ( $_SERVER['QUERY_STRING'], $strings )) ? $_SERVER['QUERY_STRING'] : "home" ; ?> Overland Parts, Inc. printJavascript(); ?> 6 ) { echo "\n"; ?>

©2019 Overland Parts, Inc. All rights reserved. All images are the property of Overland Parts, Inc.
and may not be used without express written permission from Overland Parts. Terms & Conditions PRIVACY POLICY

Welcome to the Overland Parts online resource.
Here you will be able to browse our online parts listings.

Overland Parts is not affiliated with any automobile manufacturer.
Names and or part numbers are used for identification purposes only.

Visit our Auction Site

New Engines SpecialWhile Supplies Last

Part Number Type/Size Application Codes
$partNumber"; } else { echo $partNumber; } ?> $type"; } else { echo $type; } ?> $app"; } else { echo $app; } ?>  SOLD"; ?> ".trim ( $code ).""; } else { echo trim ( $code ); } ?>

 

VW and Audi Technicians with extensive work experience needed for R&D as well as engine and transmission assembly projects. Individuals with thorough VW/Audi technical backgrounds who are interested in working on unique and challenging projects should apply.

To begin the application process, please explore both of our internet sites using the links above, then email: hr@overlandparts.com

You can Fax a resume along with a cover letter and salary history to: +1-408-848-2136 Attention: HR

Inside Salesperson needed. Energetic and motivated sales people needed to service existing accounts and open up new markets. VW and Audi parts experience and technical knowledge a huge plus. Automotive parts sales and/or motor sports component sales background a must. Base plus Commission.

You can Fax a resume along with a cover letter and salary history to: +1-408-848-2136 Attention: HR

World Headquarters

Overland Parts, Inc.

5975 Rossi Lane

Gilroy, CA 95020-7014, USA

Telephone: +1-408-848-4205

Email: info@overlandparts.com

"Process", "goods" => "Finished Goods", "core" => "Core Material", "development" => "Development", "passion" => "Our Passion" ); $process = array ( "P15", "P6", "P5", "P2", "P1", "P9", "P10", "P4", "P16", "P11", "P12", "P13", "P14", "P7", "P8" ); $goods = array ( "DSCN5151", "FG7", "FG8", "FG9", "Finished-goods-1", "Finished-goods-3", "Finished-goods-4", "Finished-goods-5", "Finished-goods-6", "Finished-goods", "Finished-goods-2" ); $core = array ( "Core-stock-1", "Core-stock-2", "Core-stock-3" ); $development = array ( "D5", "D1", "D10", "G1", "G2", "G3", "D9", "D4", "D12", "D11", "D3", "D7", "D6", "D2" ); $passion = array ( "PA4", "PA5", "PA10", "PA3", "PA6", "PA7", "PA11", "PA12", "PA13", "PA8", "PA9", "PA14", "PA15", "Pa2", "PA1" ); ?>

 

As always, we at Overland continue to bring the most advanced and highly technical Volkswagen and Audi components to the aftermarket. Our product line is composed of an ever increasing selection of unique, quality, and very profitable components.

We are constantly looking for and developing better and more advanced products to supply the wholesale trade with top quality performance and durability. The design of our online interactive catalog provides for regular updates and modifications as needed. Overland’s website is an interactive tool for the wholesaler providing a broad coverage of both popular and technologically advance components. As motor technology advances, the needs of our customers and the types of components we produce and sell will inevitably change as well. As these changes take place, our site will be updated in order to include components for the new and ever increasing range that the manufactures develop.

We have been in the Volkswagen and Audi parts business exclusively for over 36 years and have always prided ourselves on offering a unique product line, full of innovative and advanced components not available elsewhere.

Many of the components offered by Overland are produced in-house at our CNC-equipped design and machining facility. The other products we offer are produced all over the globe by companies we know and trust for their superior quality, innovation and dependability. Together with these longstanding associates, Overland Parts provides the highest quality and the most dynamic line of Volkswagen and Audi components offered anywhere.

$legend ) { ?>
\n\t\t\t\t\t\t"; list ( $width, $height ) = getimagesize ( "img/imgTour/".$value.".jpg" ); echo "\"\""; $x++; if ( $x % 3 == 0 ) echo "\n\t\t\t\t\t
\n"; } if ( $x % 3 !== 0 ) echo "\n\t\t\t\t\t\n"; ?>

Limited Warranty

All standard components, unless specifically noted otherwise are guaranteed to be free form defects in materials and workmanship for a period of 12 months or 12,000 miles from date of invoice, whichever comes first. Any item will be replaced without charge if found to be defective in materials or workmanship. Our liability is limited to replacement of the part only and does not recognize claims for labor or consequential damage.

All warranty claims must include the invoice or packing slip number, a copy of the repair order noting the date the part was installed, a copy of the warranty repair order and mileage accumulated while the warranty item was installed.

Any warranty is null and void should it be determined that the claimed part was used in any nonstandard or high performance application. Overland Parts must be the first to examine any defective part or assembly. Any attempt to repair or alter the part in question prior to our inspection will void any warranty claim. Warranty is null and void should it be determined that any work was done to the component after receipt from Overland Parts prior to or after installation. This is the sole warranty made by Overland Parts and any alteration of the foregoing policy or an assumption of any liability beyond the policy, implied or otherwise, shall not be binding upon Overland Parts unless committed in writing by an authorized officer of the corporation.

Special Engine and Engine Component Warranty Program

Should it be determined that within the term of our warranty one of our engines or engine components is found to be defective in either quality or workmanship, Overland Parts will compensate the original purchasing customer as follows: Replacement of the offending part, the part is to be supplied by Overland Parts. We will not be responsible for the reimbursement of replacement parts purchased elsewhere.

Should it be determined at the sole discretion of Overland Parts that a labor allowance for repair and/or replacement of the offending part is due; compensation is to be at Journeyman’s wages of $40.00 per hour based on the dealer warranty flat rate labor schedule.

All warranty issues must be presented by the original purchasing customer and said warranty is not transferable to other parties beyond the original purchasing customer. This warranty is strictly limited to the policies listed above and does not cover: rental cars, food and lodging, airline tickets, towing, storage, etc.

 Log in to the parts database 

The user name or password
submitted is not valid

Overland Parts Dealer Inquiry Form

Personal Information
 

\n"; ?>
Business Information
$value ) { $text .= $key.": ".$value."\n"; } $html = "".( nl2br ( $text )).""; set_include_path ( get_include_path().":/home/".get_current_user()."/lib/htmlMimeMail5/" ); require_once ( 'htmlMimeMail5.php' ); $mail = new htmlMimeMail5 (); $mail -> setFrom( $_POST['Contact']." <".$_POST['Email'].">" ); $mail -> setSubject( "Overland Parts Dealer Inquiry from Web Site" ); $mail -> setText( $text ); $mail -> setHTML( $html ); $mail -> setTextCharset( "utf-8" ); $mail -> setHTMLCharset( "utf-8" ); $mail -> send ( array ( _TO_ADD_ )); ?>

 

Your Overland Parts Dealer Inquiry Form was successfully submitted.
Thank you for your submission.

 

Update your profile. Bold fields are required

Dealer Information
    

 
# Code:    Description:  
$value ) { $text .= $key.": ".$value."\n"; } $html = "".( nl2br ( $text )).""; set_include_path ( get_include_path().":/home/".get_current_user()."/lib/htmlMimeMail5/" ); require_once ( 'htmlMimeMail5.php' ); $mail = new htmlMimeMail5 (); $mail -> setFrom( $_POST['Contact']." <".$_POST['Email'].">" ); $mail -> setSubject( "Overland Parts Engine Identification Contest" ); $mail -> setText( $text ); $mail -> setHTML( $html ); $mail -> setTextCharset( "utf-8" ); $mail -> setHTMLCharset( "utf-8" ); $mail -> send ( array ( _CONTEST_ADD_ )); ?>

 

Your Overland Parts Engine Identification Contest form was successfully submitted.
Thank you for your submission.

 

'Avant Browser','Arora', 'Flock', 'Konqueror','OmniWeb','Phoenix','Firebird','Mobile Explorer', 'Opera Mini','Netscape', 'Iceweasel','KMLite', 'Midori', 'SeaMonkey', 'Lynx', 'Fluid', 'chimera', 'NokiaBrowser', 'Firefox','Chrome','MSIE','Internet Explorer','Opera','Safari','Mozilla','trident' ); } /* List of popular web robots ---------- */ function robots(){ return array( 0=> 'Googlebot', 'Googlebot-Image', 'MSNBot', 'Yahoo! Slurp', 'Yahoo', 'AskJeeves','FastCrawler','InfoSeek Robot 1.0', 'Lycos', 'YandexBot','YahooSeeker' ); } /* List of popular os platforms ---------- */ function platforms(){ return array( 0=> 'iPad', 'iPhone', 'iPod', 'Mac OS X', 'Macintosh', 'Power PC Mac', 'Windows', 'Windows CE', 'Symbian', 'SymbianOS', 'Symbian S60', 'Ubuntu', 'Debian', 'NetBSD', 'GNU/Linux', 'OpenBSD', 'Android', 'Linux', 'Mobile','Tablet', ); } /* This function to get the current browser info @param $arg : returns current browser property as an array. Eg: platform, name, version, @param $agent: it is the $_SERVER['HTTP_USER_AGENT'] value */ function get_browser_info($arg='',$agent='') { if(empty($agent) ) { $agent = strtolower($_SERVER['HTTP_USER_AGENT']); } /*----------------------------------------- browser name ---------------------------------------------*/ foreach( browsers() as $key){ if(strpos($agent, strtolower(trim($key))) ){ $name= trim($key); break; }else{ continue; } } /*----------------------------------------- robot name ---------------------------------------------*/ foreach(robots() as $key){ if (preg_match("|".preg_quote(strtolower(trim($key)))."|i", $agent)){ $is_bot = TRUE; $name= trim($key); break; }else{ $is_bot = false; continue; } } /*----------------------------------------- robot name ---------------------------------------------*/ $known = array('version',strtolower($name), 'other'); $pattern = '#(?' . join('|', $known) .')[/ ]+(?[0-9.|a-zA-Z.]*)#'; if (preg_match_all($pattern,$agent, $matches)) { if (count($matches['browser'])>0) { if (strripos($agent,"version") < strripos($agent,strtolower($name)) ){ $version= $matches['version'][0]; }else { $version= $matches['version'][1]; } }else{ $version=0; } if ($version==null || $version=="") {$version="?";} $version=(int)round($version); } /*----------------------------------------- Platform ---------------------------------------------*/ foreach(platforms() as $key){ if (preg_match("|".preg_quote(trim($key))."|i", $agent)){ $platform=trim($key); break; }else{ continue; } } /*----------------------------------------- Browser Info ---------------------------------------------*/ $browser['agent']=$agent; if($name=='trident'){ $browser['name']='Internet Explorer'; $browser['version']='11'; }elseif(empty($name)){ $browser['name']='Unknown'; $browser['version']=0; }else{ $browser['name']=$name; $browser['version']=$version; } $browser['is_bot']=$is_bot; $browser['platform']=$platform; if($arg){ return $browser[$arg]; }else{ return $browser; } } /* This function to validate current browser. this function returns boolian value @param $name : browser name */ function is_browser($name){ $name=strtolower(trim($name)); $curr_brws=strtolower(get_browser_info('name')); if($curr_brws==$name){ return true; }else{ return false; } } /* This function to validate current browser version. this function returns boolian value @param $version: browser version */ function is_browser_version($version){ $version=strtolower(trim($version)); $curr_version=strtolower(get_browser_info('version')); if($version==$curr_version){ return true; }else{ return false; } } /* This function to validate current browser platform. this function returns boolian value @param $platform: browser platform (OS) */ function is_browser_platform($platform){ $platform=strtolower(trim($platform)); $curr_platform=strtolower(get_browser_info('platform')); if($curr_platform==$platform){ return true; }else if( $platform=='ios' && in_array($curr_platform, array('iphone','ipod','ipad'))){ return true; }else{ return false; } } /* This function to validate current browser is a robot. this function returns boolian value */ function is_robot(){ if(get_browser_info('is_bot')){ return true; }else{ return false; } } ################################################################################ # Name : menu () # Description : Generate catalog menu content. # Arguments : None. # Returns : Nothing. ################################################################################ function menu () { doConnect (); if ( $browser_agent == "Internet Explorer" && strpos ( $_SERVER['HTTP_USER_AGENT'], 'Windows' ) && $browser_ver >= 6 ) $navbarBottom = " margin-bottom: 5px;"; ?> = 6 ) $navbarBottom = " margin-bottom: 5px;"; ?> array ( '026', '027', '034', '037', '051', '053', '054', '058', '06A', '06B', '06D', '06F', '06g', '06h', '06J' ), "V6" => array ( '078', '06C', '06E' ), "VR6" => array ( '021', '022', '03H' ), "V8" => array ( '077', '079' ), "Diesel" => array ( '028', '038', '038', '03G', '03L' ) ); $objResponse = new xajaxResponse(); if ( $values ) { extract ( $values ); $_SESSION['values'] = $values; } else { extract ( $_SESSION['values'] ); } $_SESSION['fromNext'] = "true"; $where = "WHERE "; if ( $enginesType ) { if ( strlen ( $enginesType ) > 0 ) { $typeCount = count ( $engineTypePrefixes[$enginesType] ); for ( $x = 0; $x < $typeCount; $x++ ) { $where .= "partNumber LIKE \"".$engineTypePrefixes[$enginesType][$x]." 100 %\" OR "; } $where = substr ( $where, 0 , -3 )."AND "; } } elseif ( $headType ) { if ( strlen ( $headType ) > 0 ) { $where .= "( "; $typeCount = count ( $engineTypePrefixes[$headType] ); for ( $x = 0; $x < $typeCount; $x++ ) { $where .= "partNumber LIKE \"".$engineTypePrefixes[$headType][$x]." 103 %\" OR "; } $where = substr ( $where, 0 , -3 ).") AND shortDesc LIKE \"Cylinder Head%\" AND "; } } elseif ( $search ) { $search = str_replace (" ", "", $search ); if ( strlen ( $search ) > 9 ) $search = ( substr ( $search, 0, 9 ))." ".( substr ( $search, 9 )); if ( strlen ( $search ) > 6 ) $search = ( substr ( $search, 0, 6 ))." ".( substr ( $search, 6 )); if ( strlen ( $search ) > 3 ) $search = ( substr ( $search, 0, 3 ))." ".( substr ( $search, 3 )); // $objResponse -> script ( "$( \"#search\" ).val ( \"".$search."\" )" ); $where .= "partNumber LIKE \"%".$search."%\" AND "; } elseif ( $groupSearch ) { $where .= "groupNumber LIKE \"".$groupSearch."%\" AND "; } else { if ( $idYear ) $where .= "year LIKE \"%|".$idYear."|%\" AND "; if ( $idModel ) { $where .= "model LIKE \"%|".$idModel."|%\" AND "; } elseif ( $idMake ) { $where .= "model LIKE \"%|".$idMake."|%\" AND "; } if ( $idGroup ) { $min = $idGroup."00"; $max = ( $idGroup + 1 )."00"; $where .= "groupNumber >= ".$min." AND groupNumber < ".$max." AND "; } elseif ( $idSubgroup ) { $where .= "groupNumber = ".$idSubgroup." AND "; } } $where .= "status = 1"; doConnect (); $result = mysql_query ( "SELECT id, partNumber, shortDesc, image FROM partsList ".$where." ORDER BY groupNumber, subGroupNumber" ) or die ( error( __LINE__ )); if ( mysql_num_rows ( $result )) { array_unshift ( $_SESSION['page'], "search" ); $x = 0; while ( list ( $id, $partNumber, $label, $image ) = mysql_fetch_row ( $result )) { $partList[$x]['id'] = $id; $partList[$x]['part'] = $partNumber; $partList[$x]['label'] = stripslashes ( $label ); $partList[$x]['image'] = $image; $x++; } $parts = count( $partList ); $_SESSION['parts'] = $parts; $_SESSION['partList'] = $partList; $first = 0 ; $remaining = $parts - $first; $last = ( $remaining > 0 && $remaining <= $_SESSION['step'] ) ? $first + $remaining : $first + $_SESSION['step']; $_SESSION['first'] = $first + $_SESSION['step']; if ( strlen ( $where ) > 16 ) { $_SESSION['title'] = ( $parts !== 1 ) ? "

There were ".number_format ( $parts)." parts found in the database
that match your search criteria

" : "

There was 1 part found in the database that matches your search criteria

" ; $content = loadHeader ( $remaining, $first, $last ); for ( $x = $first; $x < $last; $x++ ) { $content .= showParts ( $partList[$x]['id'], $partList[$x]['part'], $partList[$x]['label'], $partList[$x]['image'] ); } $content .= loadButtons ( $parts, $first, $last ); } else { $_SESSION['title'] = ""; if ( $_SESSION['engines'] ) { $content = engineInstructions(); } elseif ( $_SESSION['head'] ) { $content = headInstructions(); } else { $content = instructions() ; } } } else { $_SESSION['empty'] = "

There are no parts in the database that meet the criteria you have specified. If you have typed in a search term, review it for correct spelling and possibly make it simpler. If you have entered more than one term or selected multiple options, reduce the number of terms or options and search again.

"; $content = $_SESSION['empty']; $_SESSION['partList'] = null; array_unshift ( $_SESSION['page'], "empty" ); } $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function nextSearch () { $objResponse = new xajaxResponse(); array_unshift ( $_SESSION['page'], "nextSearch" ); $_SESSION['fromNext'] = true; $first = $_SESSION['first']; $parts = $_SESSION['parts']; $partList = $_SESSION['partList']; $remaining = $parts - $first; $last = ( $remaining > 0 && $remaining <= $_SESSION['step'] ) ? $first + $remaining : $first + $_SESSION['step']; $_SESSION['first'] = $first + $_SESSION['step']; $content = loadHeader ( $remaining, $first, $last ); for ( $x = $first; $x < $last; $x++ ) { $content .= showParts ( $partList[$x]['id'], $partList[$x]['part'], $partList[$x]['label'], $partList[$x]['image'] ); } $content .= loadButtons ( $parts, $first, $last ); $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function backSearch () { $objResponse = new xajaxResponse(); $first = $_SESSION['first'] - ( 2 * $_SESSION['step'] ); $parts = $_SESSION['parts']; $partList = $_SESSION['partList']; $remaining = $parts - $first; $last = $first + $_SESSION['step']; $_SESSION['first'] = $last; $content = loadHeader ( $remaining, $first, $last ); for ( $x = $first; $x < $last; $x++ ) { $content .= showParts ( $partList[$x]['id'], $partList[$x]['part'], $partList[$x]['label'], $partList[$x]['image'] ); } $content .= loadButtons ( $parts, $first, $last ); $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function loadHeader ( $remaining, $first, $last ) { $text = "
"; $text .= $_SESSION['title']; if ( $remaining > 1 ) { $text .= "

Parts ".( $first + 1 )." to ".$last."...

"; } else { $text .= "

Part ".$last."...

"; } $text .= "

Click part number to show part details

"; return $text. "
"; } function loadButtons ( $parts, $first, $last ) { $text = "
"; if ( $first > 0 ) { $text .= "  "; } if ( $parts - $last > $_SESSION['step'] ) { $remainder = $_SESSION['step']; } else { $remainder = $parts - $last; } if ( $remainder == 1 ) { $remainderText = "Last Part"; } else { if ( $remainder < $_SESSION['step'] ) { $remainderText = "Last ".$remainder." Parts"; } else { $remainderText = "Next ".$remainder." Parts"; } } if ( $remainder ) $text .= "  "; if ( $_SESSION['inquiry'] ) $text .= "       "; return $text. "
"; } function showParts ( $id, $part, $label, $image ) { if ( $image ) { doConnect (); $imageResult = mysql_query ( "SELECT fileName, fileType, fileWidth, fileHeight FROM partsImages WHERE id = $image" ) or die ( error( __LINE__ )); list ( $fileName, $fileType, $fileWidth, $fileHeight ) = mysql_fetch_row ( $imageResult ); $maxSize = max ( $fileWidth, $fileHeight ); $factor = ( $maxSize > $_SESSION['thumb'] ) ? $_SESSION['thumb'] / $maxSize : 1 ; $thumbWidth = floor ( $factor * $fileWidth ); $thumbHeight = floor ( $factor * $fileHeight ); $topPadding = floor (( $_SESSION['thumb'] - $thumbHeight ) / 2 ) + 5; $imageCode = ( $fileType == "gif" ) ? " \"\"" : " \"\"" ; } else { $topPadding = 5; $imageCode = "\"\""; } $text = "
"; // Originally had local style for height: "
"; $text .= "
".$imageCode."
"; $text .= ( $_SESSION['browser'] == "Internet Explorer" ) ? "

".$part."

" : "

".$part."

" ; $text .= "

".$label."

"; $text .= "
"; return $text; } ####################################################################################### # # AJAX routine to handle display of a single part # ####################################################################################### function showPart ( $id = "" ) { $objResponse = new xajaxResponse(); if ( $_SESSION['page'][0] !== "showPart" ) array_unshift ( $_SESSION['page'], "showPart" ); if ( $id ) { if ( $_SESSION['first'] >= $_SESSION['step'] ) $_SESSION['first'] = $_SESSION['first'] - $_SESSION['step']; $_SESSION['partID'] = $id; } else { $id = $_SESSION['partID']; } $_SESSION['fromNext'] = false; doConnect (); $result = mysql_query ( "SELECT partNumber, shortDesc, longDesc, model, year, engine, transmission, rPrice, wPrice, image FROM partsList WHERE id = $id" ) or die ( error( __LINE__ )); list ( $partNumber, $shortDesc, $longDesc, $model, $year, $engine, $transmission, $rPrice, $wPrice, $image ) = mysql_fetch_row ( $result ); if ( $image ) { $imageResult = mysql_query ( "SELECT fileName, fileType, fileWidth, fileHeight FROM partsImages WHERE id = $image" ) or die ( error( __LINE__ )); list ( $fileName, $fileType, $fileWidth, $fileHeight ) = mysql_fetch_row ( $imageResult ); $maxSize = max ( $fileWidth, $fileHeight ); $factor = ( $maxSize > $_SESSION['image'] ) ? $_SESSION['image'] / $maxSize : 1 ; $thumbWidth = floor ( $factor * $fileWidth ); $thumbHeight = floor ( $factor * $fileHeight ); $imageCode = ( $fileType == "gif" ) ? " \"\"" : " \"\"" ; } else { $imageCode = ""; } $content = "
"; $content .= "
".$imageCode."
"; $content .= "

".$partNumber."

"; $content .= "

".( stripslashes ( $shortDesc ))."

"; if ( $longDesc ) $content .= "

".( stripslashes ( str_replace ( "|", "", $longDesc )))."

"; $content .= "

Year(s): ".( resolveYears ( $year ))."

"; $content .= "

Make (Model): ".( resolveFields ( $model, 'Model' ))."

"; if ( $engine ) $content .= "

Engine (Displacement): ".( resolveFields ( $engine, 'Engine' ))."

"; if ( $transmission ) $content .= "

Transmission (Speed): ".( resolveFields ( $transmission, 'Transmission' ))."

"; $content .= ( $_SESSION['username'] == "guest" or $_SESSION['username'] == "" ) ? "

MSRP: ".( resolvePrice ( $rPrice ))."

" : "

Wholesale Price: ".( resolvePrice ( $wPrice ))."

"; $content .= "
"; $content .= "
"; // if ( $_SESSION['username'] and $_SESSION['username'] !== "guest" ) $content .= "    "; // $content .= ""; // if ( $_SESSION['inquiry'] ) $content .= "    "; // $content .= ""; $content .= "
"; $content .= "
"; $content .= "
"; $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function resolveYears ( $year ) { if ( $year ) { $years = explode ( "|", substr ( $year, 1, -1 )); sort ( $years ); $yearCount = count ( $years ); $start = $years[0]; $y = 0; for ( $x = 1; $x < $yearCount; $x++ ) { $y++; $testYear = $start + $y; if ( $years[$x] != $testYear ) { $edge[] = $x; $start = $years[$x]; $y = 0; } } $edge[] = $yearCount; if ( $edgeCount = count ( $edge )) { $start = 0; for ( $x = 0; $x < $edgeCount; $x++ ) { $length = $edge[$x] - $start; $yearSet[] = array_slice ( $years, $start, $length ); $start = $edge[$x]; } } $setCount = count ( $yearSet ); $text = ""; for ( $x = 0; $x < $setCount; $x++ ) { $subSetCount = count ( $yearSet[$x] ) - 1; if ( $subSetCount > 0 ) { $text .= $yearSet[$x][0]."-".$yearSet[$x][$subSetCount].", "; } else { $text .= $yearSet[$x][0].", "; } } $text = substr ( $text, 0, -2 ); } else { $text = "Non-specific"; } return $text; } function resolveFields ( $fieldType, $fieldName ) { if ( $fieldType ) { $table = "parts".$fieldName."s"; $fieldTypes = explode ( "|", substr ( $fieldType, 1, -1 )); $fieldTypeCount = count ( $fieldTypes ); $y = 0; for ( $x = 0; $x < $fieldTypeCount; $x++ ) { $result = mysql_query ( "SELECT id FROM $table WHERE id = $fieldTypes[$x] AND parent = 0" ) or die ( "Couldn't execute query in ".__FILE__." [line ".$line."]: ".mysql_error()."." ); if ( mysql_num_rows ( $result )) { $setList[$y][] = mysql_result ( $result, 0 ); $y++; } } $setCount = count ( $setList ); for ( $x = 0; $x < $setCount; $x++ ) { for ( $y = 0; $y < $fieldTypeCount; $y++ ) { $parent = $setList[$x][0]; $result = mysql_query ( "SELECT id FROM $table WHERE id = $fieldTypes[$y] AND parent = $parent" ) or die ( "Couldn't execute query in ".__FILE__." [line ".$line."]: ".mysql_error()."." ); if ( mysql_num_rows ( $result )) $setList[$x][1][] = mysql_result ( $result, 0 ); } } $result = mysql_query ( "SELECT id, label FROM $table" ) or die ( error( __LINE__ )); while ( list ( $id, $label ) = mysql_fetch_row ( $result )) { $labelList[$id] = $label; } $text = ""; for ( $x = 0; $x < $setCount; $x++ ) { $text .= $labelList[$setList[$x][0]]; if ( $setList[$x][1] ) { $text .= " ("; $subSetCount = count ( $setList[$x][1] ); for ( $y = 0; $y < $subSetCount; $y++ ) { $text .= $labelList[$setList[$x][1][$y]].", "; } $text = ( substr ( $text, 0, -2 )).")"; } $text .= ", "; } $text = substr ( $text, 0, -2 ); } else { $text = "Non-specific"; } return $text; } function resolvePrice ( $price ) { $text = ( $price > 0 ) ? "$".( sprintf ( "%01.2f", $price )) : "Not specified" ; return $text; } ################################################################################ # Name : addToInquiry () # Description : AJAX routine to add a single part to the inquiry list # Arguments : Part id. # Returns : AJAX response object. ################################################################################ function addToInquiry ( $id ) { $objResponse = new xajaxResponse(); doConnect (); $result = mysql_query ( "SELECT partNumber, shortDesc, wPrice, rPrice FROM partsList WHERE id = $id" ) or die ( error( __LINE__ )); list ( $partNumber, $shortDesc, $wPrice, $rPrice ) = mysql_fetch_row ( $result ); $x = ( isset ( $_SESSION['inquiry'] )) ? count ( $_SESSION['inquiry'] ) : 0 ; $_SESSION['inquiry'][$x]['id'] = $id; $_SESSION['inquiry'][$x]['partNumber'] = $partNumber; $_SESSION['inquiry'][$x]['shortDesc'] = $shortDesc; $_SESSION['inquiry'][$x]['wPrice'] = $wPrice; $_SESSION['inquiry'][$x]['rPrice'] = $rPrice; $_SESSION['inquiry'][$x]['quantity'] = 1; $objResponse -> alert ( "Part number: \"".$partNumber."\" has been added to the Inquiry List. To view the current list or to send it, click \"View Inquiry List\" at the top of the web page." ); $objResponse -> assign ( "inquiryButton", "innerHTML", "    " ); return $objResponse; } ####################################################################################### # # AJAX routines to view and process the inquiry list # ####################################################################################### function viewInquiry () { $objResponse = new xajaxResponse(); if ( $_SESSION['page'][0] !== "viewInquiry" ) array_unshift ( $_SESSION['page'], "viewInquiry" ); if ( $_SESSION['fromNext'] && $_SESSION['first'] >= $_SESSION['step'] ) $_SESSION['first'] = $_SESSION['first'] - $_SESSION['step']; if ( !isset ( $_SESSION['cc'] )) $_SESSION['cc'] = false; if ( !isset ( $_SESSION['comment'] )) $_SESSION['comment'] = ""; $content = "\n\t\t\t\t
\n"; $content .= "\t\t\t\t\n"; $content .= showInquiryList ( "header" ); $listCount = count ( $_SESSION['inquiry'] ); for ( $x = 0; $x < $listCount; $x++ ) { $content .= showInquiryList ( $x ); } $content .= "\t\t\t\t
\n"; $content .= userComments (); if ( $_SESSION['browser'] == "Internet Explorer" ) $content .= "

 

"; $content .= userInfo (); $content .= inquiryFooter (); $content .= "\t\t\t\t
\n\t\t\t"; $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function showInquiryList ( $x ) { if ( $x === "header" ) { $text = "\t\t\t\t\t\n"; $text .= "\t\t\t\t\t\tCurrent Inquiry List\n"; $text .= "\t\t\t\t\t\n"; $text .= "\t\t\t\t\t\n"; $text .= "\t\t\t\t\t\t
Qty\n"; $text .= "\t\t\t\t\t\tPart Number
Description\n"; $text .= "\t\t\t\t\t\tUnit Price
Retail (Whsle)\n"; $text .= "\t\t\t\t\t\tExtended Price
Retail (Whsle)\n"; $text .= "\t\t\t\t\t\n"; } else { $text = "\t\t\t\t\t\n"; $text .= "\t\t\t\t\t\t\n"; $description = stripslashes ( $_SESSION['inquiry'][$x]['shortDesc'] ); if ( strlen ( $description ) > 30 ) { $description = substr ( $description, 0, 40 ); $last = strrpos ( $description, " " ); $description = substr ( $description, 0, $last )."..."; } $text .= "\t\t\t\t\t\t".$_SESSION['inquiry'][$x]['partNumber']."
".$description."\n"; $text .= "\t\t\t\t\t\t$".( sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['rPrice'] ))."
($".( sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['wPrice'] )).")\n"; $text .= "\t\t\t\t\t\t$".( sprintf ( "%01.2f", ( $_SESSION['inquiry'][$x]['quantity'] * $_SESSION['inquiry'][$x]['rPrice'] )))."
($".( sprintf ( "%01.2f", ( $_SESSION['inquiry'][$x]['quantity'] * $_SESSION['inquiry'][$x]['wPrice'] ))).")\n"; $text .= "\t\t\t\t\t\n"; } return $text; } function userComments () { $colWidth = ( $_SESSION['browser'] == "Internet Explorer" ) ? "50" : (( $_SESSION['browser'] = "Safari" ) ? "50" : "60" ) ; $text = "\t\t\t\t
\n\t\t\t\t\tAdditional Comments\n"; $text .= "\t\t\t\t\t\n"; $text .= "\t\t\t\t
\n"; return $text; } function userInfo () { doConnect (); $userName = $_SESSION['username']; $result = mysql_query ( "SELECT firstName, lastName, orgName, email, salesman FROM miscNames WHERE userName = \"$userName\" " ) or die ( error( __LINE__ )); list ( $firstName, $lastName, $orgName, $email, $salesman ) = mysql_fetch_row ( $result ); $imageSrc = ( $_SESSION['cc'] ) ? "../private/img/checked_box.gif" : "../private/img/uncheck_box.gif" ; $_SESSION['name'] = trim ( $firstName." ".$lastName ); $_SESSION['orgName'] = trim ( $orgName ); $_SESSION['email'] = trim ( $email ); if ( $salesman > 0 ) { $results = mysql_query ( "SELECT firstName, lastName, email, phone FROM miscNames WHERE id = $salesman" ) or die ( error( __LINE__ )); if ( mysql_num_rows ( $results )) { list ( $firstName, $lastName, $email, $phone ) = mysql_fetch_row ( $results ); $_SESSION['salesman'] = trim ( $firstName." ".$lastName ); $_SESSION['sales_email'] = trim ( $email ); $_SESSION['phone'] = trim ( $phone ); $text = "\t\t\t\t
\n\t\t\t\t\tOverland Parts Salesperson\n"; $text .= "\t\t\t\t\t

".$_SESSION['salesman']." at ".$_SESSION['phone']."

\n"; $text .= "\t\t\t\t
\n"; } else { $_SESSION['salesman'] = trim ( "Dealer Sales Inquiry" ); $_SESSION['sales_email'] = trim ( "info@overlandparts.com" ); $_SESSION['phone'] = "(877) 777-2388"; } } $text .= "\t\t\t\t
\n\t\t\t\t\tUser Information\n"; $text .= "\t\t\t\t\t

Name: ".$_SESSION['name']."

\n"; $text .= "\t\t\t\t\t

Company: ".$_SESSION['orgName']."

\n"; $text .= ( $_SESSION['email'] ) ? "\t\t\t\t\t

Email: ".$_SESSION['email']."

\n": "

Email: A VALID EMAIL ADDRESS IS REQUIRED IN ORDER TO PROCESS THIS INQUIRY. PLEASE UPDATE YOUR PROFILE.

\n" ; if ( $_SESSION['email'] ) $text .= "\t\t\t\t\t

If the above information is incorrect or incomplete, please update your user profile, by clicking the link near the top of this page, before sending this inquiry.

\n"; if ( $_SESSION['email'] ) $text .= "\t\t\t\t\t

\"\" Click the check box if you’d like a copy of this inquiry sent to your email.

\n"; $text .= "\t\t\t\t
\n"; return $text; } function inquiryFooter () { $sendButton = ( $_SESSION['email'] ) ? "    " : "" ; $text = "
"; $text .= "
    ".$sendButton."
"; $text .= "
"; return $text; } function updateQuantity ( $values, $x ) { $objResponse = new xajaxResponse(); $qty = ( $values['q_'.$x] === "0" ) ? $values['q_'.$x] : intval ( $values['q_'.$x] ) ; $objResponse -> assign ( 'q_'.$x, "value", $qty ); if ( $qty == "" ) { $objResponse -> addAppend ( "extend_".$x, "innerHTML", "" ); } elseif ( $qty > 0 ) { $_SESSION['inquiry'][$x]['quantity'] = $qty; $newPrice = "$".( sprintf ( "%01.2f", ( $_SESSION['inquiry'][$x]['quantity'] * $_SESSION['inquiry'][$x]['rPrice'] )))."
($".( sprintf ( "%01.2f", ( $_SESSION['inquiry'][$x]['quantity'] * $_SESSION['inquiry'][$x]['wPrice'] ))).")"; $objResponse -> assign ( "extend_".$x, "innerHTML", $newPrice ); } else { unset ( $_SESSION['inquiry'][$x] ); $listCount = count ( $_SESSION['inquiry'] ); if ( $listCount > 0 ) { for ( $y = $x; $y < $listCount; $y++ ) { $_SESSION['inquiry'][$y] = $_SESSION['inquiry'][$y+1]; } unset ( $_SESSION['inquiry'][$y] ); $objResponse -> script ( "xajax_viewInquiry();" ); } else { if ( $_SESSION['partList'] ) { $objResponse -> assign ( "inquiryButton", "innerHTML", "" ); $objResponse -> script ( "xajax_nextSearch();" ); } else { $objResponse -> assign ( "inquiryButton", "innerHTML", "" ); $objResponse -> assign ( "catalogContent", "innerHTML", $_SESSION['empty'] ); } } } return $objResponse; } function fixQuantity ( $values, $x ) { $objResponse = new xajaxResponse(); if ( $values['q_'.$x] == "" ) { $objResponse -> assign ( 'q_'.$x, "value", $_SESSION['inquiry'][$x]['quantity'] ); } else { $objResponse -> addAppend ( "extend_".$x, "innerHTML", "" ); } return $objResponse; } function collectComment ( $values ) { $_SESSION['comment'] = $values['userComment']; $objResponse = new xajaxResponse(); $objResponse -> addAppend ( "userComment", "value", "" ); return $objResponse; } function toggleCheckBox () { $objResponse = new xajaxResponse(); if ( $_SESSION['cc'] ) { $objResponse -> assign ( "ccCheckBox", "src", "../private/img/uncheck_box.gif" ); $_SESSION['cc'] = false; } else { $objResponse -> assign ( "ccCheckBox", "src", "../private/img/checked_box.gif" ); $_SESSION['cc'] = true; } return $objResponse; } function clearInquiry () { if ( isset ( $_SESSION['inquiry'] )) unset ( $_SESSION['inquiry'] ); if ( isset ( $_SESSION['comment'] )) unset ( $_SESSION['comment'] ); if ( isset ( $_SESSION['cc'] )) unset ( $_SESSION['cc'] ); $objResponse = new xajaxResponse(); $objResponse -> assign ( "inquiryButton", "innerHTML", "" ); $objResponse -> script ( "xajax_goBack()" ) ; return $objResponse; } function sendInquiry () { $subject = "Parts Inquiry"; $text = stripslashes ( buildInquiryText ()); $fromAdd = $_SESSION['name']." <".$_SESSION['email'].">"; $toAdd = ( $_SESSION['salesman'] ) ? $_SESSION['salesman']." <".$_SESSION['sales_email'].">" : INQUIRY_EMAIL ; sendMessage ( $toAdd, $fromAdd, $subject, $text ); if ( $_SESSION['cc'] ) { $text = "THE FOLLOWING PARTS INQUIRY WAS SENT TO OVERLAND PARTS\n\n".$text; $subject = "Copy of Parts Inquiry"; sendMessage ( $fromAdd, $toAdd, $subject, $text ); } $objResponse = new xajaxResponse(); $inclusion = ( $_SESSION['cc'] ) ? " At your request, a copy of the inquiry has be sent to the email address listed in your profile." : "" ; $content = "
"; $content .= "

The parts inquiry has been sent to the Overland Parts Sales Department.".$inclusion."

"; $content .= "
"; $objResponse -> assign ( "catalogContent", "innerHTML", $content ); return $objResponse; } function buildInquiryText () { $text = "This is a parts inquiry from "; $text .= ( $_SESSION['orgName'] ) ? $_SESSION['name']." of ".$_SESSION['orgName']."\n\n" : $_SESSION['name']."\n\n" ; $text .= ( $_SESSION['comment'] ) ? $_SESSION['comment']."\n\n" : "" ; $text .= sprintf( "%'-85s", "-" )."\n"; $text .= "Qty ".sprintf( "%-40s", "Part Number" )." "." Unit Price "." "." Extended Price "."\n"; $text .= " ".sprintf( "%-40.40s", "Description" )." "."Retail [Wholesale]"." "."Retail [Wholesale]"."\n"; $text .= sprintf( "%'-85s", "-" )."\n\n"; $listCount = count ( $_SESSION['inquiry'] ); for ( $x = 0; $x < $listCount; $x++ ) { $unitRetail = "$ ".sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['rPrice'] )." "; $extdRetail = "$ ".sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['rPrice'] * $_SESSION['inquiry'][$x]['quantity'] )." "; $unitWhlsle = "[$ ".sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['wPrice'] )."]"; $extdWhlsle = "[$ ".sprintf ( "%01.2f", $_SESSION['inquiry'][$x]['wPrice'] * $_SESSION['inquiry'][$x]['quantity'] )."]"; $text .= sprintf( "%3s", $_SESSION['inquiry'][$x]['quantity'] )." ".sprintf( "%-40s", $_SESSION['inquiry'][$x]['partNumber'] )." ".sprintf( "%13s", $unitRetail )." ".sprintf( "%13s", $extdRetail )."\n"; $text .= " ".sprintf( "%-40.40s", $_SESSION['inquiry'][$x]['shortDesc'] )." ".sprintf( "%13s", $unitWhlsle )." ".sprintf( "%13s", $extdWhlsle )."\n\n"; } $text .= sprintf( "%'-85s", "-" )."\n\n"; return $text; } function sendMessage ( $toAdd, $fromAdd, $subject, $message ) { set_include_path( get_include_path().":/home/overland/PEAR/" ); include_once( 'Mail.php' ); include_once( 'mime.php' ); $crlf = "\r\n"; $hdrs = array ( 'From' => $fromAdd, 'Subject' => $subject, ); $mime = new Mail_mime ( $crlf ); $mime -> setTXTBody( $message ); $body = $mime -> get(); $hdrs = $mime -> headers( $hdrs ); $mail =& Mail::factory( 'mail' ); $mail -> send( $toAdd, $hdrs, $body ); } ################################################################################ # Name : goBack () # Description : AJAX routine to simulate back button on browser # Arguments : None. # Returns : AJAX response object. ################################################################################ function goBack () { $objResponse = new xajaxResponse(); array_shift ( $_SESSION['page'] ); ( $_SESSION['page'][0] == "empty" ) ? $objResponse -> assign ( "catalogContent", "innerHTML", $_SESSION['empty'] ) : $objResponse -> script ( "xajax_".$_SESSION['page'][0]."()" ) ; return $objResponse; } ################################################################################ # Name : instructions () # Description : Code to build content for instructions. # Arguments : None. # Returns : Instruction code. ################################################################################ function instructions () { $text = "\n"; $text .= "\t\t\t
\n"; $text .= "\t\t\t\t

Online Catalog

\n"; $text .= "\t\t\t\t

To use our catalog, you may browse by:

\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
GENERAL PART NUMBER:
Enter full part number or simply first three digits of the model you are looking for. This will take you to that section from where you can scroll forward or backward to find your specific part.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t

OR

\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
GROUP PART NUMBER:
Enter the center three part digits of the specific group you are looking for. This will take you to that group. For example, 100 for engines, 103 for cylinder heads, 300 for transmissions, 407 for front suspension parts, 615 for disc brake components, etc. From there you can scroll forward or backward to find your specific part.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t

OR

\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
MAKE:
Choose from Audi or Volkswagen.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
PART GROUP:
Choose the category of the item you are looking for.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
YEAR:
Choose from 1975 to ".( date ( "Y" ) + 1 ).".
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t
\n"; $text .= "\t\t"; return $text; } ################################################################################ # Name : engineInstructions () # Description : Code to build content for instructions for engine section. # Arguments : None. # Returns : Instruction code. ################################################################################ function engineInstructions () { $text = "\n"; $text .= "\t\t\t
\n"; $text .= "\t\t\t\t

Online Engine Catalog

\n"; $text .= "\t\t\t\t
 
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
ENGINE TYPE:
Select from the list on the left.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t
 
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"The core of the Overland product line is our engine program. We offer the largest independent program, in terms of both product range and inventory of VW and Audi engines in North America.
\n"; $text .= "\t\t\t\t\t
 
\n"; $text .= "\t\t\t\t\t
Whether you are in need of an older four-cylinder for your Golf 1 GTI, a common rail diesel for your Jetta or a replacement for your Audi RS4 V8: we likely have it in stock.
\n"; $text .= "\t\t\t\t\t
 
\n"; $text .= "\t\t\t\t\t
As you can see in the Facility portion of the company tour, we have the finished stock and core banks to ship most orders if not immediately, then in short order.
\n"; $text .= "\t\t\t\t\t
 
\n"; $text .= "\t\t\t\t\t
If by chance we do not have what you need, we can get it. Our supply of late-model, low-mileage, European core material has been well established over the past thirty-five years we have been involved in this business.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t
\n"; $text .= "\t\t"; return $text; } ################################################################################ # Name : headInstructions () # Description : Code to build content for instructions for engine section. # Arguments : None. # Returns : Instruction code. ################################################################################ function headInstructions () { $text = "\n"; $text .= "\t\t\t
\n"; $text .= "\t\t\t\t

Online Cylinder Head Catalog

\n"; $text .= "\t\t\t\t
 
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"
\n"; $text .= "\t\t\t\t\t
ENGINE TYPE:
Select from the list on the left.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t
 
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t\t\t
\"\"As with our engine program: we offer the largest independent program, in terms of both product range and inventory depth of VW and Audi cylinder heads.
\n"; $text .= "\t\t\t\t\t
 
\n"; $text .= "\t\t\t\t\t
Whether you are in need of an older four-cylinder for your Golf 1 GTI, a common rail diesel for your Jetta or a head for your Audi RS4 V8, we likely have it in stock.
\n"; $text .= "\t\t\t\t\t
 
\n"; $text .= "\t\t\t\t\t
If by chance we do not have what you need, we can likely get it or we can build it. Our supply of late-model, low-mileage, European core material has been well established over the past thirty-five years we have been involved in this business.
\n"; $text .= "\t\t\t\t
\n"; $text .= "\t\t\t
\n"; $text .= "\t\t"; return $text; } ?>