// JavaScript Document

//preload bg images
preload_image_object = new Image();
image_url = new Array();
image_url[0] = "/images/nav/multi.png";
image_url[1] = "/images/nav/multiLong.png";
image_url[2] = "/images/nav/single.png";
image_url[3] = "/images/nav/bgProdsDurashell.png";
image_url[4] = "/images/nav/bgProdsLNG.png";
image_url[5] = "/images/nav/multiLeft.png";

var i = 0;
for(i=0; i<=5; i++) 
	preload_image_object.src = image_url[i];
	
/********************************************************************************************
popWindow: opens new window in middle of page
params:		winURL		- the url of the window contents
params:		winName		- name of window object
params:		winWidth	- desired width of window
params:		winHeight	- desired height of window
params:		winScroll	- allow window to scroll 0 or 1
params:		winResize	- allow window to resize 0 or 1
params:		winMenu		- show menur 0 or 1
params:     scrollPos	- desired scroll coordinates
returns:	nothin
********************************************************************************************/
function popWindow(winURL, winName, winWidth, winHeight, winScroll, winResize, winMenu) {
	winX = (screen.width - winWidth) / 2;
	winY = (screen.height - winHeight) / 2;
	winProp = 'width=' +winWidth+ ',height=' +winHeight+ ',top=' +winY+ ',left=' +winX;
	winProp += ',scrollbars=' +winScroll+ ',resizable=' +winResize+ ',menubar=' +winMenu;
	winProp += ',toolbar=' + winMenu + ',statusbar=' + winMenu;
	printWin = window.open(winURL, winName, winProp);
	printWin.focus();
}


function navOn(subID) {
	document.getElementById(subID).style.display		= "block";
}

function navOff(subID) {
	document.getElementById(subID).style.display		= "none";
}

function navAllOff(subID) {
	if (subID != "subHome")	
		document.getElementById("subHome").style.display			= "none";
		
	if (subID != "subProds") {
		document.getElementById("subProds").style.display			= "none";
		document.getElementById("navBlurbProds").style.display	= "none";
	}
	
	if (subID != "subAbout") {
		document.getElementById("subAbout").style.display			= "none";
		document.getElementById("navBlurbAbout").style.display	= "none";
	}
	
	if (subID != "subOffers") {
		document.getElementById("subOffers").style.display			= "none";
		document.getElementById("navBlurbOffers").style.display	= "none";
	}
	
	if (subID != "subGuide") 
		document.getElementById("subGuide").style.display			= "none";
	
	if (subID != "subBuy") 
		document.getElementById("subBuy").style.display				= "none";
	
	if (subID != "subQuote") 
		document.getElementById("subQuote").style.display			= "none";
}

function showBig(pict) {
	document.getElementById("biggin").src = document.getElementById(pict).src;
}

function toggleShow(qID, imgID) {
	if (document.getElementById(qID).style.display == "block") {
		document.getElementById(qID).style.display		= "none";
		document.getElementById(imgID).src					= "/images/plus.png";
	}
	else {
		document.getElementById(qID).style.display		= "block";
		document.getElementById(imgID).src					= "/images/minus.png";
	}
}




//these next group of functions are for the image slide bar within the product detail pages
var stopScrolls = 0;

function pictSwap(pictID,pictURL) {
	document.getElementById(pictID).src = pictURL;
}

function goRight() {
	var newMarg = (parseInt(document.getElementById("innerds").style.marginLeft) + 10) + "px";
	document.getElementById("innerds").style.marginLeft=newMarg;
	
	checkScrolls('goRight');	
}

function goLeft() {
	var newMarg = (parseInt(document.getElementById("innerds").style.marginLeft) - 10) + "px";
	document.getElementById("innerds").style.marginLeft=newMarg;
	
	checkScrolls('goLeft');
}

function stopEm(whichOne) {
	stopScrolls = 1;
}

function checkScrolls(whichOne) {
	//alert(whichOne);
	if (stopScrolls < 1) {
		if (whichOne == "goRight") {
			setTimeout("goRight()",250);
		}
		else {
			setTimeout("goLeft()",250);
		}
	}
	else
		stopScrolls = 0;
	
}

/********************************************************************************************
series of functions to format a phone number
********************************************************************************************/
function keyUP(object, e) {
	if (e) {
		e = e
	} else {
		e = window.event
	}
	if (e.which) {
		var keycode = e.which
	} else {
		var keycode = e.keyCode
	}

	if (keycode >= 48) {
		ProcessString(object)
	}
}

function ProcessString(object) {
	validatePhone(object);
}

function validatePhone(obj) {
	var phoneStr 	= obj.value;
	phoneStr 		= phoneStr.replace(/^\s+|\s+$/g, '');
	var testArr		= phoneStr.split("");
	var j 			= 0;
	var arraySize 	= testArr.length;
	var keychar 	= testArr[0];

	if (keychar == "+")  {
		//international format
		for (i = 1; i < testArr.length; i++) {
			var testchar 		= testArr[i];
			var newchar 		= "";
			var remchar 		= -1;
			//alert("test:"+testchar);
			var ioffset 		= 0;
			ioffset 				= PhoneFormat_International(i, newchar, remchar, testchar, testArr);
			
			i += ioffset;

			j++; //to avoid any infinite loop..
			if (j == 300) {
				break;
			}
		}
	} else {
		for (i = 0; i < testArr.length; i++) {
			var testchar 		= testArr[i];
			var newchar 		= "";
			var remchar 		= -1;
			//alert("test:"+testchar);
			var ioffset 		= 0;
			var arrsize1 		= testArr.length
			ioffset 				= PhoneFormat_USCanada(i, newchar, remchar, testchar, testArr);
			
			i += ioffset;
			
			j++; //to avoid any infinite loop..
			if (j == 300) {
				break;
			}
		}
	}

	obj.value = testArr.join("");

}

function PhoneFormat_USCanada(i, newchar, remchar, testchar, testArr) {
	var ret = 0;
	if (i > 13) {
		testArr.splice(i, 1);
		ret = -1;
		return ret;
	}

	switch (i) {
		case 0:
			if (testchar != "(") {
				newchar = "(";
			} else {
				remchar = 0;
			}
			break;
		case 4:
			if (testchar != ")") {
				newchar = ")";
			} else {
				remchar = 0;
			}
			break;
		case 5:
			if (testchar != ' ') {
				newchar = ' ';
			} else {
				remchar = 0;
			}
			break;
		case 9:
			if (testchar != "-") {
				newchar = "-";
			} else {
				remchar = 0;
			}
			break;
		default:
			if (isNaN(testchar) && testchar != ' ')
				remchar = 1;
		}

	if (remchar != 0 && (isNaN(testchar) || testchar == ' ')) { 
		remchar = 1; 
	} else { 
		remchar = 0; 
	}

	if (newchar.length > 0) {
		//char to be concatenated for the phone number format
		testArr.splice(i, remchar, newchar);              //if remchar=1, the character is invalid and remove it while adding a char
	}
	else if (remchar == 1)    //if 1, the character is invalid and remove it
	{
		testArr.splice(i, remchar);
		ret = -1;      //only deletion, the same index char needs to be examined    
	}
	return ret;
}

function PhoneFormat_International(i, newchar, remchar, testchar, testArr) {
	var ret 			= 0;
	remchar 			= 1;
	if (!isNaN(testchar)) {
		remchar 		= 0;
	} else if (testchar == " ") {	
		remchar 		= 0;
	} else if (testchar == "-") {
		remchar = 0;
	}

	if (remchar == 1)  //if 1, the character is invalid and remove it
		{ testArr.splice(i, remchar);            
		ret = -1;      //only deletion, the same index char needs to be examined    
	}
	return ret;
} 

