var numDocsReturnedViaXML = "";var xmlRequestText = "";var xmlObjectFree = "yes";var textReturn = "";var sessionID;var lineFLISystemID;var lineQTY;// Wrapper function to get a cross browser XMLHTTP object//// Call getXMLHTTP() to get an XMLHTTP object// 	returns an "XMLHttp" object that can be used as described // 	http://msdn.microsoft.com/library/en-us/xmlsdk/html/xmobjxmlhttprequest.asp////*******************************************************************************************/function getXMLHTTP () {	// branch for native XMLHttpRequest object	if(window.XMLHttpRequest && !(window.ActiveXObject)) {		try {			return new XMLHttpRequest();		} catch(e) {			return false;		}	// branch for IE/Windows ActiveX version	} else if(window.ActiveXObject) {		try {			return new ActiveXObject("MSXML2.XMLHTTP.6.0");		} catch(e) {			try {				return new ActiveXObject("MSXML2.XMLHTTP.3.0");			} catch(e) {				try {					return new ActiveXObject("Msxml2.XMLHTTP");				} catch(e) {					try {						return new ActiveXObject("Microsoft.XMLHTTP");					} catch(e) {						return null;					}				}			}		}	}}function getCategoryValuesXML( fName1, fName2, pName) {	var frm = document.forms[0];	fieldName1 = fName1;	fieldName2 = fName2;	paramName = pName;	keyValue = frm [ fieldName1] [ frm [ fieldName1 ].selectedIndex].value;	if ( keyValue.indexOf( "Select" ) != -1 ) { return;}	if (xmlObjectFree == "yes") {		getXMLQuery( keyValue,fieldName2,paramName);	} else {		waitForXMLQueryString = "getCategoryValuesXML('" + fieldName1 + "','" + fieldName2 + "','" + paramName + "')";		setTimeout(waitForXMLQueryString, 500);	}}function getXMLQuery (qCategory, fName2, pName) {	queryCategory = qCategory;	fieldName2 = fName2;	paramName = pName;	xmlObjectFree = "no";	var xmlHttp = getXMLHTTP();	getString = GNParamsDBPath +  "/(PRMSUBItemsByParameterIDCat)?ReadViewEntries&count=999&RestrictToCategory=" + queryCategory;	//alert( getString )	xmlHttp.open("GET", getString);	xmlHttp.onreadystatechange = function() {		if (xmlHttp.readyState == 4 && xmlHttp.responseText) {			var resp = xmlHttp.responseText;			xmlRequestText = resp;			//alert( xmlRequestText )			decodeTheXMLForSubCategories( fieldName2 );			ddToSelect = frm [ paramName ].value ;			setXMLDropdown ( fieldName2, ddToSelect )		}	}	xmlHttp.send(null);}function showFLIDetails ( flisystemid ) {	jsFLISystemID = flisystemid;	getXMLFLIDetails( jsFLISystemID );}function getXMLFLIDetails( flisystemid ) {	xmlObjectFree = "no";	lineFLISystemID = flisystemid;	var xmlHttp = getXMLHTTP();	var agentString = GNServerPath +  "/aXMLFLIInfoQuery?OpenAgent&systemid=" + lineFLISystemID ;	//alert( agentString )	xmlHttp.open("GET", agentString );	xmlHttp.onreadystatechange = function() {		if (xmlHttp.readyState == 4 && xmlHttp.responseText) {			var resp = xmlHttp.responseText;			xmlRequestText = resp;	//alert( xmlRequestText )			decodeTheXMLForFLIDetails();			xmlObjectFree = "yes";			showFLIPanel( "pop_FDetails" );		}	}	xmlHttp.send(null);}function setXMLDropdown ( ddName, ddValue ) {	dropdownName = ddName;	dropdownValue = ddValue;	var frm = document.forms[0];	if ( frm [ dropdownName ].length == 0 ) { return;}	if ( ddValue == "" ) {		frm [ dropdownName ].options[0].selected = true;	}	numChoices = frm [ dropdownName ].length;	for (var i = 0; i < numChoices ;  i++) {		SELValue = frm [ dropdownName ].options[i].value;		if (dropdownValue.indexOf(SELValue) != -1) {			frm [ dropdownName ].options[i].selected = true;		}	}}function checkValidEmailXML( emailvalue ) {	var frm = document.forms[0];	fieldEmail = emailvalue;	if (xmlObjectFree == "yes") {		checkValidEmailViaAgent ( fieldEmail );	} else {		waitForXMLQueryString = "checkValidEmailXML('" + fieldEmail + "')";		setTimeout(waitForXMLQueryString, 500);	}}function checkValidEmailViaAgent (emailvalue) {	fieldEmail = emailvalue;	var frm = document.forms[0];	xmlObjectFree = "no";	var xmlHttp = getXMLHTTP();	string1 =  GNServerPath + "/aXMLCheckValidEmail?OpenAgent&email=" + fieldEmail ;	xmlHttp.open("GET", string1);	xmlHttp.onreadystatechange = function() {		if (xmlHttp.readyState == 4 && xmlHttp.responseText) {			var resp = xmlHttp.responseText;			xmlRequestText = resp;			//alert( xmlRequestText )			textString = xmlRequestText;			startTextPos = textString.indexOf( "<emailstatus>" );			backTextPos = textString.indexOf( "</emailstatus>" );			xmlText = textString.substring(startTextPos + 13, backTextPos);			if ( xmlText.indexOf( "ERROR" ) != -1 ) {				//changeBackgroundColor("IDEmail", "#DE4848")				setObjectClass("IDEmail", "loginBoxError")				showObject("row_emailmessage");				startTextPos = textString.indexOf( "<message>" );				backTextPos = textString.indexOf( "</message>" );				xmlText = "<b>" + textString.substring(startTextPos + 9, backTextPos) + "</b>";				changeInnerText( xmlText,"col_emailMsg");					EmailOKFlag = "No";			} else {				hideObject("row_emailmessage");				EmailOKFlag = "Yes";				EmailChangedFlag = "Yes";				frm.LoginChangedFlag.value = "Yes";			}			xmlObjectFree = "yes";		}	}	xmlHttp.send(null);}function setXMLAddToCart (cartID, gsiID, qty) {	jsCartID = cartID;	jsSystemID = gsiID;	jsQty = qty;	//alert( jsQty )	var xmlHttp = getXMLHTTP();	var agentString = GNServerPath +  "/aXMLORDAddToCart?OpenAgent&memberid=" + jsMBRSystemID + "&cartid=" + jsCartID + "&gsiid=" + jsSystemID + "&qty=" + jsQty ;	//alert( agentString );	xmlHttp.open("POST", agentString, true );	xmlHttp.onreadystatechange = function() {		if (xmlHttp.readyState == 4 && xmlHttp.responseText) {			var resp = xmlHttp.responseText;			textReturn = resp;			//xmlObjectFree = "yes";			//alert( textReturn )		}	}	xmlHttp.send(null);}																																												function decodeTheXMLForSubCategories( ddName ) {	dropdownName = ddName;	if ( dropdownName == "" ) { dropdownName = "SUBCATLookUp";}	var textString = xmlRequestText;	xmlObjectFree = "yes";	tempString = textString.toLowerCase();	countTag = tempString.indexOf('toplevelentries') + 0;	if (countTag > 0) {		tempCounter = textString.indexOf('"', countTag) + 1;		tempString = textString.substr( tempCounter );		numDocsReturnedViaXML = tempString.substring(0, tempString.indexOf('"'));	}	counter = 0;	frm = document.forms[0];	optionsLength = parseInt(numDocsReturnedViaXML)+1;	frm [ dropdownName ].options.length = optionsLength;	while ( textString.indexOf( "</text>" ) != -1 ) {		backTextPos = textString.indexOf( "</text>" );		partString = textString.substring(0, backTextPos)		startTextPos = partString.indexOf( "<text>" );		specialText = partString.substring( startTextPos + 6 );		percentPos = specialText.indexOf( "%1%" );		barPos = specialText.indexOf( "|" );		countyNameBar = specialText.substring(0, barPos);		countyNameBar = replaceSubstring( countyNameBar, "&amp;", "&" );		countyIDBar = specialText.substring(barPos+1);		counter += 1;		frm [ dropdownName ].options[counter].text = countyNameBar;		frm [ dropdownName ].options[counter].value = countyIDBar;		textString = textString.substring(backTextPos + 7);	}	frm [ dropdownName ].options[ 0 ].selected = true;}function decodeTheXMLForFLIDetails() {	textString = xmlRequestText;	counter = 0;	frm = document.forms[0];	startTextPos = textString.indexOf( "<locstate>" );	backTextPos = textString.indexOf( "</locstate>" );	xmlExtractText = textString.substring(startTextPos + 10, backTextPos);	changeInnerText( xmlExtractText,"col_FDState");		startTextPos = textString.indexOf( "<price>" );	backTextPos = textString.indexOf( "</price>" );	xmlExtractText = textString.substring(startTextPos + 7, backTextPos);//alert( xmlExtractText )	changeInnerText( xmlExtractText,"col_FDPricing");		startTextPos = textString.indexOf( "<minorder>" );	backTextPos = textString.indexOf( "</minorder>" );	xmlExtractText = textString.substring(startTextPos + 10, backTextPos);	changeInnerText( xmlExtractText,"col_FDMinOrder");	startTextPos = textString.indexOf( "<minline>" );	backTextPos = textString.indexOf( "</minline>" );	xmlExtractText = textString.substring(startTextPos + 9, backTextPos);	changeInnerText( xmlExtractText,"col_FDMinLI");}function showFLIPanel( ObjectID ) {	obj_id = ObjectID;	if (is_ie4 || is_ie5 || is_ie6) {		if( jsSearchType == "B" ) {			hideObject("Brand");		} else {			hideObject("CATLookUp");			hideObject("SUBCATLookUp");			hideObject("Material");			hideObject("Finish");		}		hideObject("Size");	}	innerText = "<font color=\"#FF0000\"><b>Add&nbsp;&nbsp;<select name=\"CRTNum\" id=\"CRTNum\" class=\"SELTxt\" style=\"width:80px;\"><option selected>100<option>500<option>1000";	innerText += "<option>2500<option>5000</select>&nbsp;&nbsp;items to my cart &nbsp;&nbsp;&nbsp;<a class=\"viewLink\" href=\"javascript:addFLIToCart();\">Add to Cart</a></b></font>&nbsp;&nbsp;&nbsp;";	changeInnerText( innerText, "col_FDAddToCart");	showObject( obj_id );}function hideFLIPanel( ObjectID ) {	obj_id = ObjectID;	hideObject( obj_id );	if (is_ie4 || is_ie5 || is_ie6) {		if( jsSearchType == "B" ) {			showObject("Brand");		} else {			showObject("CATLookUp");			showObject("SUBCATLookUp");			showObject("Material");			showObject("Finish");		}		reselectDropdowns();		showObject("Size");	}	document.forms[0].Size.value = jsCategory5;}function changeCategoryXML() {	frm = document.forms[0];	ListingCategory = frm .CATLookUp[ frm.CATLookUp.selectedIndex].value;	ListingCategoryText = frm .CATLookUp[ frm.CATLookUp.selectedIndex].text;	frm . ListingCategory.value = ListingCategory;	frm . ListingCategoryText.value = ListingCategoryText;		if ( ListingCategoryText.indexOf( "Select" ) != -1  ) return;	numDocsReturnedViaXML = "";	//************************* Ajax XML	lookupCategory = ListingCategory;	//alert( "waitForXMLQuery sub  -> " + lookupCategory )	waitForXMLQuery( lookupCategory)	//****************************}function reselectDropdowns() {	if ( jsSearchType == "B") {		setDropdown ( "Brand", jsCategory6 );	} else {		setDropdown ( "CATLookUp", jsCategory1 );		setDropdown ( "SUBCATLookUp", jsCategory2 );		setDropdown ( "Material", jsCategory3 );		setDropdown ( "Finish", jsCategory4 );	}}//---- end of Ajax XML stuff
