var isMinNN4  = document.layers         ? true : false;
var isMinIE4  = document.all            ? true : false;
var isW3C     = document.getElementById ? true : false; // W3C stands for the W3C standard, implemented in Mozilla (  and Netscape 6  ) and IE5
var isMinIE5  = isW3C;
var mouseLeft = 0;
var mouseTop  = 0;

function setMouseCoordinate( e ) {
	var newLeft = 0;
	var newTop  = 0;
	
	if ( isMinIE4 ) {
		newLeft = document.body.scrollLeft + event.clientX
		newTop  = document.body.scrollTop  + event.clientY
	} else if ( isMinNN4 || isW3C ) {
		newLeft = e.pageX;
		newTop  = e.pageY;
	}
	
	if ( Math.abs( newLeft - mouseLeft ) > 10 ) mouseLeft = newLeft;
	if ( Math.abs( newTop  - mouseTop  ) > 10 ) mouseTop  = newTop;
}

document.onmousemove = setMouseCoordinate;

function findElementPos( obj ) {
	var curleft = 0;
	var curtop  = 0;
	var tmpLeft = 0;

	if ( obj.offsetParent ) {
		curleft = obj.offsetLeft;
		curtop  = obj.offsetTop;

		while ( obj = obj.offsetParent ) {
			if ( obj.offsetLeft > 0 ) tempLeft = obj.offsetLeft;
			
			//alert( tempLeft );
			
			curleft += obj.offsetLeft;
			curtop  += obj.offsetTop;
		}
		
		curleft -= tempLeft;
		
	}

	return [curleft,curtop];
}

function ttDisplay( pObj, pLayer ) {
	ttDisplay2( pObj, pLayer, 20, 30 );
}

function ttDisplay2( pObj, pLayer, pLeft, pTop ) {
	var theObj  = document.getElementById( pObj );
	var leftTop = findElementPos( theObj );
	var newLeft = leftTop[0] + pLeft;
	var newTop  = leftTop[1] + pTop;

	alert( newLeft + " - " + newTop );

	ttDisplayLayer( pLayer, newLeft, newTop );
}

function ttDisplayLayer( pLayer, pLeft, pTop ) {

	if ( isMinIE4 || isW3C ) {
		if ( isW3C ) {
		    document.getElementById( pLayer ).style.left = pLeft;
		    document.getElementById( pLayer ).style.top  = pTop;
		} else {
			document.getElementById( pLayer ).style.pixelLeft = pLeft;
    		document.getElementById( pLayer ).style.pixelTop  = pTop;
    	}
		document.getElementById( pLayer ).style.display    = "inline";
		document.getElementById( pLayer ).style.visibility = "visible";
	} else if ( isMinNN4 ) {
		document.getElementById( pLayer ).left       = pLeft;
		document.getElementById( pLayer ).top        = pTop;
		document.getElementById( pLayer ).display    = "inline";
		document.getElementById( pLayer ).visibility = "show";
	}
}


function ttDisplay3( pObj, pLayer, pLeft, pTop ) {
	var theObj  = document.getElementById( pObj );
	var leftTop = findElementPos( theObj );
	var newLeft = leftTop[0] + pLeft;
	var newTop  = leftTop[1] + pTop;

	//alert( 'Top = ' + newTop );
	
	var layerName = '#' + pLayer;
	
	$( layerName ).css( 'left', newLeft );
	$( layerName ).css( 'top', newTop );

	if ( isMinIE4 || isW3C ) {
		if ( isW3C ) {
		    $( layerName ).css( 'left', newLeft );
		    $( layerName ).css( 'top', newTop );
		} else {
		    $( layerName ).css( 'pixelLeft', newLeft );
		    $( layerName ).css( 'pixelTop', newTop );
    	}
	    //$( layerName ).css( 'display', 'inline' );
		//$( layerName ).css( 'visibility', 'visible' );
	} else if ( isMinNN4 ) {
		$( layerName ).css( 'left', newLeft );
		$( layerName ).css( 'top', newTop );
	    //$( layerName ).css( 'display', 'inline' );
	    //$( layerName ).css( 'visibility', 'show' );
	}

	//$( layerName ).show();
	//$( layerName ).slideDown("fast");
	$( layerName ).fadeIn("fast");
}

function ttHide3( pLayer ) {
	var layerName = '#' + pLayer;
	//$( layerName ).hide();
	//$( layerName ).slideUp("fast");
	$( layerName ).fadeOut("fast");
}



function ttHide( pLayer ) {
	if ( isMinIE4 || isW3C ) {
		document.getElementById( pLayer ).style.visibility = "hidden";
	} else if ( isMinNN4 ) {
		document.getElementById( pLayer ).visibility = "hidden";
	}
}

function layerDisplay( pObj, pLayer, pMode, pLeft, pTop ) {
	var newLeft = 10;
	var newTop  = 10;

	if ( pMode == 'a' ) {
		newLeft = Math.abs( pLeft );
		newTop  = Math.abs( pTop  );
	} else {
		var leftTop = ( pObj ? findElementPos( document.getElementById( pObj ) ) : false );
		newLeft = Math.abs( ( leftTop ? ( leftTop[0] + pLeft ) : 10 ) );
		newTop  = Math.abs( ( leftTop ? ( leftTop[1] + pTop  ) : 10 ) );
	}

	layerPosition( pLayer, newLeft, newTop );
	layerShow( pLayer );
}

function layerDisplayAbs( pObj, pLayer, pMode, pLeft, pTop ) {
	var newLeft = pLeft;
	var newTop  = pTop;

	layerPosition( pLayer, newLeft, newTop );
	layerShow( pLayer );
}

function layerPosition( pLayer, pLeft, pTop ) {
	if ( isMinIE4 || isW3C ) {
		if ( isW3C ) {
		    document.getElementById( pLayer ).style.left = ( pLeft + 'px' );
		    document.getElementById( pLayer ).style.top  = ( pTop  + 'px' );
		} else {
			document.getElementById( pLayer ).style.pixelLeft = ( pLeft + 'px' );
    		document.getElementById( pLayer ).style.pixelTop  = ( pTop  + 'px' );
    	}
	} else if ( isMinNN4 ) {
		document.getElementById( pLayer ).left = ( pLeft + 'px' );
		document.getElementById( pLayer ).top  = ( pTop  + 'px' );
	}
}

function layerShow( pLayer ) {
	if ( isMinIE4 || isW3C ) {
		document.getElementById( pLayer ).style.display = "inline";
		document.getElementById( pLayer ).style.visibility = "visible";
	} else if ( isMinNN4 ) {
		document.getElementById( pLayer ).display = "inline";
		document.getElementById( pLayer ).visibility = "show";
	}
}

function layerHide( pLayer ) {
	if ( isMinIE4 || isW3C ) {
		document.getElementById( pLayer ).style.visibility = "hidden";
	} else if ( isMinNN4 ) {
		document.getElementById( pLayer ).visibility = "hidden";
	}
}

function layerLoadDisplay( pAnchor, pLayer, pCode, pHorizontal, pVertical, pWhichPage, pData, pClear ) {
	var dataStr = "pageCode=ajax";
	if ( pAnchor.length		> 0 ) dataStr = dataStr + "&anchorName=" + pAnchor;
	if ( pLayer.length		> 0 ) dataStr = dataStr + "&layerName="  + pLayer;
	if ( pCode.length		> 0 ) dataStr = dataStr + "&layerCode="  + pCode;
	if ( pHorizontal.length	> 0 ) dataStr = dataStr + "&layerHoriz=" + pHorizontal;
	if ( pVertical.length	> 0 ) dataStr = dataStr + "&layerVert="  + pVertical;
	if ( pWhichPage.length	> 0 ) dataStr = dataStr + "&whichPage="  + pWhichPage;
	if ( pClear.length		> 0 ) dataStr = dataStr + "&layerClear=" + pClear;
	if ( pData.length		> 0 ) dataStr = dataStr + pData;

	if ( pClear == 1 ) $( ( '#' + pLayer ) ).html( "<div style='padding: 16px 32px 16px 32px; color: white; text-align: center;'>Please wait...</div>" );
	$( ( '#' + pLayer ) ).load( ajaxAdEntryURL, dataStr );
	layerHide( pLayer );
	layerDisplay( pAnchor, pLayer, pCode, pHorizontal, pVertical );
}

function SearchReaultsAdSlide()
{
	ttDisplay3( 'searchResultsLeftBottom', 'searchResultAdFloat', 0, 0 );
}

function doAjaxCall( pId, pData ) {
	var url = qualifiedURL + "/ajax/" + pData.replace( / /g, "+" ) + "/uniqueCode/" + uniqueifierStr + "/ajax.html";
	//alert( pId );
	//alert( url );
	$( ( '#' + pId ) ).load( url, '' );
}

function doSessionCall( pData ) {
	var url = qualifiedURL + "/ajax/" + pData.replace( / /g, "+" ) + "/uniqueCode/" + uniqueifierStr + "/ajax.html";
	$.post( url, '', '' );
}

function doPostCall( pData ) {
	var url = qualifiedURL + "/ajax/" + pData.replace( / /g, "+" ) + "/ajax.html";
	//alert( url );
	$.post( url, '', '' );
}

function doTranslate( pId, pData ) {
	var url = qualifiedURL + "/ajax/translate/translateStr/" + pData.replace( / /g, "+" ) + "/translateLng/" + languageId + "/uniqueCode/" + uniqueifierStr + "/ajax.html";
	$.get( url, function( data ) {
		$( '#' + pId ).html( data );
	});
}

// see loginPublicLogin.php for an example on how to use the return key for accept

function DeletetionVerify( pMessage, pActionCode, pIdName, pIdValue )
{
	if ( pMessage.length < 1 ) pMessage = 'Confirm Delete';
	
	if ( confirm( pMessage ) ) {
		document.forms.theForm.actionCode.value = pActionCode;
		pIdName.value = pIdValue;
		document.forms.theForm.submit();
	}
}

function ButtonClick( pForm )
{
	pForm.submit();
}

function ButtonTest()
{
	alert( "ButtonTest" );
	return false;
}

// document.forms.theForm

function ButtonClickAction( pForm, pActionCode )
{
	pForm.actionCode.value = pActionCode;
	pForm.submit();
}

function ButtonClickPage( pForm, pPageCode, pActionCode )
{
	pForm.pageCode.value   = pPageCode;
	pForm.actionCode.value = pActionCode;
	pForm.submit();
}

function ButtonClickSEOPage( pForm, pPageCode, pActionCode, pSEOPage )
{
	pForm.pageCode.value   = pPageCode;
	pForm.actionCode.value = pActionCode;
	if ( pSEOPage.length > 5 ) {
		//pForm.action = '/' + pSEOPage;
		$( '#theForm' ).attr( 'action', ( ( pSEOPage.substr( 0, 4 ) == 'http' ? '' : '/' ) + pSEOPage ) );
	}
	pForm.submit();
}

function ButtonSecureClick( pForm, pPageCode, pActionCode, pSEOPage )
{
	pForm.pageCode.value   = pPageCode;
	pForm.actionCode.value = pActionCode;
	action = secureBase;
	if ( pSEOPage.length > 5 ) action = action + '/' + pSEOPage;
	pForm.action = action;
	pForm.submit();
}

function AcceptReturn( e, pForm, pPageCode, pActionCode )
{
	if ( e.keyCode == 13 ) {
		pForm.pageCode.value   = pPageCode;
		pForm.actionCode.value = pActionCode;
		pForm.submit();
	}
}

function ChangeDefaultLocation( pForm )
{
	pForm.submit();
}

function SelectLanguage( pLanguage )
{
	document.forms.theForm.defaultLanguage.value = pLanguage;
	document.forms.theForm.submit();
}

function PhoneFormat( pPhone )
{
	origString = pPhone;
	testString = pPhone;
	newString  = '';

	if ( testString != '' ) {

		var textLen   = testString.length;
		var newString = '';
		var testChar  = '';

		for ( currPos = 0; currPos < textLen; currPos++ ){
			testChar = testString.substr( currPos, 1 );
			
			if ( testChar == '*' ) {
				newString = origString;
				break;
			}

			if ( testChar >= '0' && testChar <= '9' ) {

				switch ( newString.length ) {
					case 3:  newString = newString + "-"; break;
					case 7:  newString = newString + "-"; break;
					case 12: newString = newString + "x"; break;
				}

				newString = newString + testChar;
			}
		}
	}
	
	return ( newString );
}

function PhoneCheck( pWhichPhone )
{
	testString = PhoneFormat( pWhichPhone.value );
	if ( testString != '' ) pWhichPhone.value = testString;
}

function Format_Number( pObj )
{  
	testString = pObj.value;
	
	if ( testString != '' ) {

		var textLen    = testString.length;
		var newDollars = '';
		var newCents   = '';
		var newPrice   = '';
		var testChar   = '';
		var whichStr   = 0;

		for ( currPos = 0; currPos < textLen; currPos++ ){
			testChar = testString.substr( currPos, 1 );
			
			if ( ( testChar >= '0' && testChar <= '9' ) || testChar == decPoint  ) {
				if ( testChar == decPoint ) {
					whichStr = 1;
					newCents = newCents + testChar;
				} else {
					if ( whichStr == 0 ) {
						newDollars = newDollars + testChar;
					} else {
						newCents = newCents + testChar;
						if ( newCents.length == 3 ) break;
					}
				}
			}
		}
		
		/*
		switch ( newDollars.length ) {
			//case 4: newDollars = newDollars.substr( 0, 1 ) + thouSep + newDollars.substr( 1, 3 ); break;
			case 5: newDollars = newDollars.substr( 0, 2 ) + thouSep + newDollars.substr( 2, 3 ); break;
			case 6: newDollars = newDollars.substr( 0, 3 ) + thouSep + newDollars.substr( 3, 3 ); break;
			case 7: newDollars = newDollars.substr( 0, 1 ) + thouSep + newDollars.substr( 1, 3 ) + thouSep + newDollars.substr( 4, 3 ); break;
			case 8: newDollars = newDollars.substr( 0, 2 ) + thouSep + newDollars.substr( 2, 3 ) + thouSep + newDollars.substr( 5, 3 ); break;
			case 9: newDollars = newDollars.substr( 0, 3 ) + thouSep + newDollars.substr( 3, 3 ) + thouSep + newDollars.substr( 6, 3 ); break;
		}
		*/
		
		if ( newDollars.length > 0 || newCents.length > 0 ) {
			if ( newDollars.length > 0 ) newPrice = newPrice + newDollars;
			if ( newCents.length   > 0 ) newPrice = newPrice + newCents;
		}

		pObj.value = Format_AddCommas( newPrice );
	}
}

function Format_AddCommas( pStr )
{
	pStr += '';
	x = pStr.split( '.' );
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while ( rgx.test( x1 ) ) {
		x1 = x1.replace( rgx, '$1' + ',' + '$2' );
	}
	return x1 + x2;
}

function PopUpWindow( pURL, pName, pDetails, pWidth, pHeight ) {
	newWindow = window.open( pURL, pName, pDetails );
	newWindow.resizeTo( pWidth, pHeight );
	newWindow.focus();
}

function CreateAdBestPrice( pIncludeModel )
{
	if ( $( '#createAdBestPrice' ).length ) {
		tempStr = 'createAdBestPrice/copyYear/' + $( '#copyYear' ).val() + '/copyMake/' + $( '#copyMake' ).val() + '/copyModel/' + ( pIncludeModel == 1 ? $( '#copyModel' ).val() : '' ) + '/korm/k';
		doAjaxCall( 'createAdBestPrice', tempStr );
	}
}

function fileDownload( pURL ) {
	newWindow = window.open( pURL, 'FileDownload', 'toolbar = 0, location = 0, directories = 0, status = 0, menubar = 0, scrollbars = 1, resizable = 1, width = 50, height = 50, top = 50, left = 50' );
	newWindow.onload = setTimeout( 'newWindow.close()', 5000 );
}

