function subMenuClose(menuID){
	document.getElementById(menuID).style.display='none';
}

function subMenuOpen(menuID){
	document.getElementById(menuID).style.display='block';
}

function fieldDynamicAdd(formName, fType, fName, fValue){
	var dynamicInput = document.createElement("input");
	dynamicInput.setAttribute("type", fType);
	dynamicInput.setAttribute("name", fName);
	dynamicInput.setAttribute("value", fValue);
	
	document.getElementById(formName).appendChild(dynamicInput);
}

function onUserTypeChange(){
	var userTypeSelect = document.getElementById('user_access_type');
	var dealershipSelect = document.getElementById('user_company_id');
	var regionSelect = document.getElementById('regionSelected');
	
	if(userTypeSelect.selectedIndex == 4 || userTypeSelect.selectedIndex == 5){
		dealershipSelect.selectedIndex=0;
		dealershipSelect.disabled=true;
		if(userTypeSelect.selectedIndex == 5){
			regionSelect.selectedIndex=0;
			
			regionSelect.disabled=true;
		} else {
			regionSelect.disabled=false;
		}
	} else {
		regionSelect.disabled=false;
		dealershipSelect.disabled=false;
	}
	
	alert('The Dealership and/or Region selections may have been modified or disabled based on the user type you selected...');
	
}

function checkPwDealershipAssoc(){
	var PW1 = document.getElementById('user_pw1').value;
	var PW2 = document.getElementById('user_pw2').value;
	
	if((PW1 || PW2) && (PW1 != PW2)){
		alert('The supplied passwords do not match...');
		return false;
	}
	
	var dealershipSelectedIndex = document.getElementById('user_company_id');
	dealershipSelectedIndex = dealershipSelectedIndex.options[dealershipSelectedIndex.selectedIndex].value;
	var dealershipSelectedDealerRegion = dealershipSelectedIndex.split('|');
	
	var selectedRegionIndex = document.getElementById('regionSelected');
	selectedRegionIndex = selectedRegionIndex.options[selectedRegionIndex.selectedIndex].value;
	
	if(dealershipSelectedIndex != 0 && dealershipSelectedDealerRegion[1] != selectedRegionIndex){
		alert('The Selected Dealership does not belong to the selected Region...');
		return false;
	}
}

/*************************************************
* Used for debugging - Similar to print_r in PHP *
* call with enum_obj(object);                    *
*************************************************/
function enum_obj(obj) {
	var i;
	var msg = '';
	for (i in obj) {
		msg += 'obj[' + i + '] = '+obj[i]+'\n';
	}
	alert(msg);
}

// Used to toggle options on the Dealer Inputs page...
function toggleMUCheck(checkboxObj, objIndex, fieldName, errText){
	
	var fieldObj = document.getElementById(fieldName);
	var TxtId = errText.toLowerCase()+'Mu';
	
	if(objIndex == 0){
		document.getElementById(TxtId).innerHTML = '';
		fieldObj.value=0;
		fieldObj.disabled=true;
	} 
	else if(objIndex == 1){
		document.getElementById(TxtId).innerHTML = '% + Dealer Net';
		fieldObj.disabled=false;
		fieldObj.value=15;
	}
	else if(objIndex == 2){
		document.getElementById(TxtId).innerHTML = '% + MSRP';
		fieldObj.disabled=false;
		fieldObj.value=5;
	}
	/*
	
	if(errText == 'Internal'){
		fieldObj.value = 15;
	} else {
		fieldObj.value = 30;
	}
		
	
	fieldObj.value = 0;
	fieldObjHidden.value=9999;
	frmvalidator.clearThisValidation(fieldName);
	frmvalidator.addValidation(fieldName,"req", errText+" Parts Mark-Up must not be blank...");
	frmvalidator.addValidation(fieldName,"num", errText+" Parts Mark-Up must be numeric...");
	document.getElementById(TxtId).innerHTML = '% over MSRP';
	
*/
}

function togglePrintChecksFunc(){
	var toggleIcon = document.getElementById('togglePrintChecks');
	
	if(toggleIcon.src.search(/check-on.gif/) != -1){
		// Checked...
		toggleIcon.src = toggleIcon.src.replace(/check-on/, "check-off");
		toggleIcon.title = 'Un-check all checkmarks...';
	} else {
		// Not checked...
		toggleIcon.src = toggleIcon.src.replace(/check-off/, "check-on");
		toggleIcon.title = 'Check all checkmarks...';
	}
}

// Used to clear all JS validation on a page...
function clearValidation(){
	frmvalidator.clearAllValidations();
}

/*
var wh = height of the user's window
var ww = width of user's window
var dh = height of div
var dw = width of div

div.style.top = (wh/2-dh/2)
div.style.left = (ww/2-dw/2)

div.style.position = 'fixed' 
*/

function showPic(imageName, imageWidth, imageHeight){
	var divObj = document.getElementById('showPic');
	getViewportSize();
	
	var ratio = 0;
	var newWidth = imageWidth;
	var newHeight = imageHeight;
	
	if(imageWidth > 400){
		ratio = 400 / imageWidth;
		newWidth  = ratio * imageWidth;
		newHeight =   ratio * imageHeight;
	}
	
	if(newHeight > 300){
		ratio = 400 / newHeight;
		newWidth  = ratio * newWidth;
		newHeight =   ratio * newHeight;
	}
	
	if(imageWidth){
		divObj.style.top = (viewportheight/2-newHeight/2)+'px';
		divObj.style.left = (viewportwidth/2-newWidth/2)+'px';
		divObj.style.position = 'fixed' 
	}
	
	divObj.style.display = 'block';
	divObj.innerHTML = '<img src="images/accessory_images/'+imageName+'/'+imageName+'.jpg" onclick="document.getElementById(\'showPic\').style.display=\'none\'" width="'+newWidth+'" height="'+newHeight+'" /><a href="javascript:;" style="display:block; position:absolute; top:5px; left: 5px; color:#0FD714;" onclick="document.getElementById(\'showPic\').style.display=\'none\'">Close</a>';
}

var viewportwidth;
var viewportheight;

function getViewportSize(){
	
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	
	if (typeof window.innerWidth != 'undefined')
	{
	    viewportwidth = window.innerWidth,
	    viewportheight = window.innerHeight
	}
	
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	
	else if (typeof document.documentElement != 'undefined'
	   && typeof document.documentElement.clientWidth !=
	   'undefined' && document.documentElement.clientWidth != 0)
	{
	     viewportwidth = document.documentElement.clientWidth,
	     viewportheight = document.documentElement.clientHeight
	}
	
	// older versions of IE
	
	else {
	     viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
	     viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
}


function textCounter(field, countfield, maxlimit) {
	countfieldObj = document.getElementById(countfield);
	
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	else 
		countfieldObj.value = maxlimit - field.value.length;
}
