// Phyton - JavaScript Document


var objPhyton = {};

var shopCartNavId = 0;

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

//	alert('Browser:'+BrowserDetect.browser + ' Version:' + BrowserDetect.version + ' OS:' + BrowserDetect.OS)

function setStyleLinkSrc() {
	
	if(BrowserDetect.browser=='Explorer' && BrowserDetect.version==6){
	//	alert(06)
		document.write('<link rel = "stylesheet" type = "text/css" href = "/stylesheets/stylesheet_IE6.css" />');
	}else if(BrowserDetect.browser=='Explorer' && BrowserDetect.version==7){
	//	alert(07)
		document.write('<link rel = "stylesheet" type = "text/css" href = "/stylesheets/stylesheet_IE7.css" />');
	}else if(BrowserDetect.browser=='Explorer'&&BrowserDetect.version==8){
		document.write('<link rel = "stylesheet" type = "text/css" href = "/stylesheets/stylesheet_IE7.css" />');
	}else if(BrowserDetect.browser=='Firefox'){
	//	alert('FF')
		document.write('<link rel = "stylesheet" type = "text/css" href = "/stylesheets/stylesheet_FF.css" />');
/*		
	}else{
		document.write('<link rel = "stylesheet" type = "text/css" href = "/stylesheets/stylesheet.css" />');
*/		
	}
}


setStyleLinkSrc();




/*
var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op, ff;

d = document;
n = navigator;
na = n.appVersion;
nua = n.userAgent;
win = ( na.indexOf( 'Win' ) != -1 );
mac = ( na.indexOf( 'Mac' ) != -1 );
lin = ( nua.indexOf( 'Linux' ) != -1 );

if ( !d.layers ){
	dom =  ( d.getElementById );
	op =   ( nua.indexOf( 'Opera' ) != -1 );
	konq = ( nua.indexOf( 'Konqueror' ) != -1 );
	saf =  ( nua.indexOf( 'Safari' ) != -1 );
	moz =  ( nua.indexOf( 'Gecko' ) != -1 && !saf && !konq);
	ie =   ( d.all && !op );
	ie4 =  ( ie && !dom );
	ff =   ( nua.indexOf( 'Firefox' ) != -1 );
	ffmac =   ( mac && ff );
	ie5x =    ( d.all && dom );
	ie5mac =  ( mac && ie5x );
	ie5xwin = ( win && ie5x );
}
*/


var pgElmHeightSet = false;
var minElmHeight = 200;

var docWidth = 0, docHeight = 0;
	
function resizeElm(){
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		docWidth = window.innerWidth;
		docHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		docWidth = document.documentElement.clientWidth;
		docHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		docWidth = document.body.clientWidth;
		docHeight = document.body.clientHeight;
	}
	var headerHeight = document.getElementById('header').offsetHeight;
	var navHeight = document.getElementById('navBar').offsetHeight;
	var navFooter = document.getElementById('footer').offsetHeight;
	
	var pgElmsHeight = headerHeight+navHeight+navFooter;
	var pgPanelsHeight = docHeight-pgElmsHeight;
	
	var args=resizeElm.arguments;
	var elmArr = new Array();
	for (i=0; i<args.length; i++){
		elmArr.push(document.getElementById(args[i]).offsetHeight);
	}
//	alert(pgPanelsHeight+','+elmArr.join());
	if(!pgElmHeightSet){ 
//		alert('Math.max('+elmArr.join()+')');
		minElmHeight=eval('Math.max('+elmArr.join()+')');
		pgElmHeightSet=!pgElmHeightSet
	}
	elmNewHi = Math.max(pgPanelsHeight, minElmHeight);
//	elmNewHi = eval('Math.max(pgPanelsHeight,'+elmArr.join()+')');
	for (i=0; i<args.length; i++){
		document.getElementById(args[i]).style.height = (elmNewHi-0)+'px';
	}
}

function winOnResize(){
	resizeElm('leftPane','rightPane')
}

// window.onload = resizeElm('leftPane','rightPane');

function resizeElms(){
	var args=resizeElms.arguments;
	var elmArr = new Array();
	for (i=0; i<args.length; i++){
		elmArr.push(document.getElementById(args[i]).offsetHeight);
	}
	elmNewHi = eval('Math.max('+elmArr.join()+')');
	for (i=0; i<args.length; i++){
		document.getElementById(args[i]).style.height = (elmNewHi-0)+'px';
	}
}


function resizeDivs(){
	docHeight   = document.documentElement.clientHeight; // - 26;
	document.getElementById("mainDiv").style.height = docHeight+'px'; // Math.max(vNavHolderHeight, mainPaneHeight)-(IE4?12:13)+'px'; 
}

// JB - Show and Hide multiple elements.
function showHideElms(s){
	args=showHideElms.arguments;
	for (i=1; i<args.length; i++){
		document.getElementById(args[i]).style.display = (s=='on'?'':'none');
	}
}


	// Page reload function from MM
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
 function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}







var imgsL = new Array();
imgsL[0] = "images/homePg/Emulators/PICE_200h.jpg";
imgsL[1] = "images/homePg/Emulators/JEM_ARM_200h.jpg";
imgsL[2] = "images/homePg/Emulators/Jem52_200h.jpg";

var imgsM = new Array();
imgsM[0] = "images/homePg/Compilers/pice52_200h.gif";
imgsM[1] = "images/homePg/Compilers/cm-arm_200h.gif";
imgsM[2] = "images/homePg/Compilers/pds51_200h.gif";
imgsM[3] = "images/homePg/Compilers/CD_200h.jpg";
// imgsM[4] = "images/homePg/Compilers/CD_Cover.jpg";

var imgsR = new Array();
imgsR[0] = "images/homePg/Programmers/CP40_48_200h.jpg";
imgsR[1] = "images/homePg/Programmers/CP_ISP_200h.jpg";
imgsR[2] = "images/homePg/Programmers/Adapters_200h.jpg";




var intervalspeed = 3000;


var openNewWindow = 0;
var imageholder = new Array();
var ie = document.all;

function rallImgs() {
	for (i = 0; i < imgs.length; i++) {
		imageholder[i] = new Image();
		imageholder[i].src=imgs[i];
	}
}

function linkImages () {
	if (openNewWindow) {
		window.open(urls[urlpicker]);
	} else {
		window.location = urls[urlpicker]
	}
}


var imageholder = new Array();
function rallAdsImgsX() {
	for (i = 0; i < imgs.length; i++) {
		imageholder[i] = new Image();
		imageholder[i].src=imgs[i];
	}
}
// rallAdsImgs();


var urlpicker = 0;
var imgspicker = 0;
var blenddelay;

function imgAdFiltersX(){
	blenddelay = (ie) ? document.images.imgslide.filters[0].duration*1000 : 0;
}


function imgFade(imgFadeName, imgsArr, imgId, blendDelay, intervalSpeed){
	this.imgFadeName = imgFadeName;
	this.ie = document.all;
	this.fltrImg = eval('document.images.'+imgId);
	this.urlPicker = 0;
	this.imgsPicker = 0;
	this.blendDelay = this.ie?this.fltrImg.filters[0].duration*blendDelay?blendDelay:1000:0;
	this.intervalSpeed = intervalSpeed?intervalSpeed:3000;
	this.imgsArr = imgsArr;
	this.imageHolder = new Array();
//	alert(this.blendDelay);
	var self=this;
	
	this.rallImgs = function() {
		for (i = 0; i < self.imgsArr.length; i++) {
	//		alert(self.imgsArr[i]);
			self.imageHolder[i] = new Image();
			self.imageHolder[i].src=self.imgsArr[i];
		}
		self.doImgFade();
	}

	this.doImgFade = function() {
	//	alert(self.fltrImg);
		if (!document.images) return;
		if (self.ie) self.fltrImg.filters[0].apply();
		self.fltrImg.src=self.imageHolder[self.imgsPicker].src;
		if (self.ie) self.fltrImg.filters[0].play();
		self.urlPicker = self.imgsPicker;
		self.imgsPicker = (self.imgsPicker < self.imgsArr.length - 1) ? (self.imgsPicker + 1) : 0;
		setTimeout(self.imgFadeName+".doImgFade()", self.intervalSpeed + self.blendDelay);
		
	}
	
	
}

/*
var myFade = new imgFade(imgs, 'imgslide');
myFade.rallImgs();
*/


function imgappleX(){
	
	var fltrImg = document.images.imgslide;
	
	if (!document.images) return;
	if (ie) fltrImg.filters[0].apply();
	document.images.imgslide.src=imageholder[imgspicker].src;
	if (ie) fltrImg.filters[0].play();
	urlpicker = imgspicker;
	imgspicker = (imgspicker < imgs.length - 1) ? (imgspicker + 1) : 0;
	setTimeout("imgapple()", intervalspeed + blenddelay);
}


//  imgapple();

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


/*  ////////////////     Parts for Shopping Cart        ///////////////////////   */

var elmArr = new Array();
var oElm = new Object();

function setSelectSql(elm, num, Name, ShortDes, Price, url, LeadTime){ //v1.1
	if(elm.checked){
		var $Qty = $(elm).parent('td:first').children().filter('input.Qty').val();
	//	$(elm).parents('td:first').filter('input.Qty').value();
		alert($Qty)
		oElm[elm.id]={toolID:num, name:Name, shortDes:ShortDes, price:Price, url:url, leadTime:LeadTime, prodCode:prodCode, qty:$Qty};
	}else{
	//	alert('delete: '+'elm.id:'+elm.id+'  -|-  num:'+num)
	
	var removeElmObj = true;
	var pgFrm = document.searchForm;
	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="checkbox"){
			if(pgFrm.elements[i].checked){
				if(pgFrm.elements[i].id == elm.id)
					removeElmObj=false;
			}
		}
	}



		if(removeElmObj) delete oElm[elm.id];
	}
	var cStr = '';
	var strBrk = true;
	for(var property in oElm){
		var oElmPart  = oElm[property];
		var oToolID = oElmPart.toolID;
		var oName = oElmPart.name;
		var oShortDes = oElmPart.shortDes;
		var oPrice = oElmPart.price;
		var oUrl = oElmPart.url;
		var oLeadTime = oElmPart.leadTime;
		var oProdCode = oElmPart.prodCode;
		var oQty = oElmPart.qty;
		alert(oToolID+'|'+oName+'|'+oShortDes+'|'+oPrice+'|'+oUrl+'|'+oLeadTime+'|'+oProdCode+'|'+oQty)
		cStr += (strBrk?'':'~')+oToolID+'|'+oName+'|'+oShortDes+'|'+oPrice+'|'+oUrl+'|'+oLeadTime+'|'+oProdCode+'|'+oQty; // กฐฑ 
		strBrk = false;
	}
//	alert(cStr)
	document.getElementById('formCookieStr').value = cStr;
}
function delSelectSql(){ // v1.0
	var pgFrm = document.searchForm;
	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="checkbox"){
			if(pgFrm.elements[i].checked){
				pgFrm.elements[i].checked=false;
			}
		}
	}
	for(var property in oElm){
	//	delete oElm[property];
	}
	document.getElementById('formCookieStr').value = '';
}


var submitted = false;
var partSelected = false;

function submitForm(){    
	if(submitted){
		alert('Please wait... ');
	}else{
		document.forms[0].submit();
		submitted = true;
	}
}

function goToShopCartFun(){

	partSelected = false;
	var qStr = '';
	var pgFrm = document.searchForm;
	var fBox = true;

	var prodStr = '';
	var strBrk = true;

	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="checkbox"){
			if(pgFrm.elements[i].checked){
				var oElm_ = oElm[(pgFrm.elements[i].id).replace(/\-/gi,'_')];
				var $Qty = $('#'+pgFrm.elements[i].id).parent('td:first').children().filter('input.Qty').val();
				if($Qty != 1) oElm_.qty = $Qty;
				prodStr += (strBrk?'':'~')+oElm_.toolID+'|'+oElm_.name+'|'+oElm_.shortDes+'|'+oElm_.price+'|'+oElm_.url+'|'+oElm_.leadTime+'|'+oElm_.prodCode+'|'+oElm_.qty; 
				strBrk = false;
				partSelected = true;
			}
		}
	}
	document.getElementById('formCookieStr').value = prodStr;
//	parent.document.getElementById('formTools').value = qStr;
//	alert(parent.document.getElementById('formCookieStr').value); // formTools // formCookieStr
	if(partSelected){
		submitForm();
	}else{
		alert('Please select part(s) first.');
	}
}



function checkSelectedBox(){

	partSelected = false;
	var qStr = '';
	var pgFrm = document.searchForm;
	var fBox = true;
	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="checkbox"){
			if(pgFrm.elements[i].checked){
				qStr += (fBox?'':',')+pgFrm.elements[i].value;
				fBox = false;
				partSelected = true;
			}
		}
	}
//	parent.document.getElementById('formTools').value = qStr;
//	alert(parent.document.getElementById('formCookieStr').value); // formTools // formCookieStr
	if(partSelected){
		submitForm();
	}else{
		alert('Please select part(s) first.');
	}
}



function checkRemoveBox(){
	partSelected = false;
	var qStr = '';
	var pgFrm = document.searchForm;
	var fBox = true;
	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="checkbox"){
			if(pgFrm.elements[i].checked){
				qStr += (fBox?'':',')+pgFrm.elements[i].value;
				fBox = false;
				partSelected = true;
			}
		}
	}
	document.getElementById('formSCRemoveStr').value = qStr;
//	alert(document.getElementById('formSCRemoveStr').value); // formTools // formCookieStr
/*	
	if(partSelected){
		submitForm();
	}else{
		alert('Please select part(s) first.');
	}
*/	
}
function checkQtyBox(){
	partSelected = false;
	var qStr = '';
	var pgFrm = document.searchForm;
	var fBox = true;
	for(var i=0; i< pgFrm.elements.length; i++){
		if(pgFrm.elements[i].type=="text"){
		//	if(pgFrm.elements[i].checked){
				qStr += (fBox?'':',')+pgFrm.elements[i].id+'='+pgFrm.elements[i].value;
				fBox = false;
				partSelected = true;
		//	}
		}
	}
	document.getElementById('formSCQtyStr').value = qStr;
//	alert(document.getElementById('formSCQtyStr').value); // formTools // formCookieStr
}


var rowClassName = "";
function rowStyle(_,q){if(q=="over"){rowClassName=_.className;_.className='tr-hi'}else{_.className=rowClassName}}
function rowStyleOver(_,q){if(q=="over"){rowClassName=_.className;_.className=_.className+'_Over'}else{_.className=rowClassName}}


///////////////////////////// Cookie ///////////////////////////////////

function delCookie(){
	alert('delCookie');
	if (document.cookie != ""){
		thisCookie = document.cookie.split("; ");
		expireDate = new Date;
		expireDate.setDate(expireDate.getDate()-1);
		for (i=0; i<thisCookie.length; i++){
			cookieName = thisCookie[i].split("=")[0];
			alert('cookieName:'+thisCookie[i].split("=")[0]+'   --- Tiem:1/1/90')
			document.cookie = cookieName + "=;expires=1/1/90"; 
		//	document.cookie = cookieName + "=;expires=" + expireDate.toGMTString(); 
		}
	}
}



var oParts = new Object();

function readCookies(){
	var itemsInCart = 0;
	var cartTotal = 0;
	thisCookie = document.cookie.split('; ');
	for (i=0; i<thisCookie.length; i++){
		var cookieName = thisCookie[i].split('=')[0];
		if(cookieName == 'PhytonSC'){
		//	alert(thisCookie[i].split('=')[1]);
			var oStr = unescape(thisCookie[i].split('=')[1]);
		//	alert(oStr.replace(/\^/gi,' '));
		//	alert(unescape(oStr));
		//	document.getElementById('grandTotal').innerHTML = unescape(oStr).replace(/\^/gi,' '); 
			var oPart = oStr.split('~');
			for (j=0; j<oPart.length; j++){
				var oElm = oPart[j].split('|');
			//	var oElm = unescape(oPart[j].split('|')).replace(/\^/gi,' ');
			
			
		//	oParts[oElm[0]] = {partID:oElm[0], name:oElm[1], shortDes:oElm[2], price:oElm[3], url:oElm[4], leadTime:oElm[5], prodCode:oElm[6], qty:oElm[7]};
			
			itemsInCart++;
			cartTotal += parseInt(oElm[3]);

	//		alert(itemsInCart);
			
			
			//	alert('oParts.'+oElm[0]+'={partID:"'+oElm[0]+'",name:"'+unescape(oElm[1]).replace(/\^/gi,' ')+'",shortDes:"'+unescape(oElm[2]).replace(/\^/gi,' ')+'",price:"'+oElm[3]+'",qty:"'+oElm[4]+'"}');
		//		alert('oParts.'+unescape(oElm[0])+'={partID:"'+oElm[0]+'",name:"'+oElm[1]+'",shortDes:"'+unescape(oElm[2])+'",price:"'+oElm[3]+'",qty:"'+oElm[4]+'"}');
			//	eval('oParts.'+oElm[0]+'={partID:"'+oElm[0]+'",name:"'+oElm[1]+'",shortDes:"'+oElm[2]+'",price:"'+oElm[3]+'",qty:"'+oElm[4]+'"}');
				//	alert(oPartElm[0]);
				
			}
		}
	//	document.write("Name: "+thisCookie[i].split("=")[0]+".  Value: "+thisCookie[i].split("=")[1]+"<br />")
	}
// writeCookie()
	document.getElementById('itemsInCart').innerHTML = itemsInCart;
	document.getElementById('cartTotal').innerHTML = cartTotal;
}

// readCookies();


function writeCookie(){
	document.cookie = 'PhytonSC='+escape('jb01|JB-05|And this is the Description 05|123|5');

	
}

function readCookiesX(){
	
		alert(document.cookie);
	//	alert(document.cookie.split("=")[0]);
}

function KillAllCookies(){
	if (document.cookie != ""){
		thisCookie = document.cookie.split("; ");
		expireDate = new Date;
		expireDate.setDate(expireDate.getDate()-1);
		for (i=0; i<thisCookie.length; i++){
			cookieName = thisCookie[i].split("=")[0];
			document.cookie = cookieName + "=;expires=" + expireDate.toGMTString(); 
		}
	}
}


function formToDo(toDo){
	
	document.getElementById('formToDo').value = toDo; 
	//	alert(document.getElementById('formToDo').value);
	//	alert(document.cookie.split("=")[0]);
	submitForm()
}



// Determine browser and version.

function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
//  alert(ua)
}

var browser = new Browser();

var popUpElmX, popUpElmY;

function showPopUp(event){

  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  } else if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
  } else {
    x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
  }
	
	var arg = showPopUp.arguments;
	var ulLink = document.getElementById('docLinks');
	ulLink.innerHTML = '';
	
	for (var i=1; i<arg.length; i++){
		var liLink = document.createElement('li');
		var aNode = document.createElement('a');
		aNode.href = '/downloads/docs/'+eval('oDocLink.'+arg[i]+'.fileName');
		eNameText = document.createTextNode(eval('oDocLink.'+arg[i]+'.text'));
		aNode.appendChild(eNameText);
		liLink.appendChild(aNode);
		ulLink.appendChild(liLink);
	}
	
	var textBox = document.getElementById('pointTextBox'); 
	var textBoxWidth = textBox.offsetWidth;
	var popUpElm = document.getElementById('popUp');
	popUpElm.style.display = 'block';
	var popUpElmWidth = popUpElm.offsetWidth;
	
	popUpElmX = popUpElm.style.marginLeft = Math.max(0, (x-popUpElm.offsetWidth))+'px'; //  textBoxWidth
	popUpElmY = popUpElm.style.marginTop = Math.max(0, (y))+'px';
	
	if (browser.isNS) {
	}
		popUpElmX = popUpElm.style.marginLeft = Math.max(0, (x-popUpElm.offsetWidth))+'px'; //  textBoxWidth
		popUpElmY = popUpElm.style.marginTop = Math.max(0, (y))+'px';
	
	
}



function popUpView(elm){
	this.elm = elm;
	this.showPopUpNow = true;
	var self = this;
	
	this.show = function(){
		if(self.showPopUpNow){
			var popUpHolder = document.getElementById(elm);
	//		alert(listElm.id)
			popUpHolder.style.marginLeft = popUpElmX;
			popUpHolder.style.marginTop = popUpElmY;
	//		listElm.style.display = '';
		}
		setTimeout(self.hide, 1000);
	//	alert('show');
	//	alert(self.showPopUpNow);
	}
	this.hide = function(){
		if(!self.showPopUpNow){
	//		document.getElementById(self.elm).style.display= 'none';
			var popUpHolder = document.getElementById(elm);
	//		alert(listElm.id)
			popUpHolder.style.marginLeft = -1000+'px';
			popUpHolder.style.marginTop = -1000+'px';
		}
	//	alert('hide');
	}
	this.hideNow = function(){
	//	document.getElementById(self.elm).style.display= 'none';
			var popUpHolder = document.getElementById(elm);
		popUpHolder.style.marginLeft = -1000+'px';
		popUpHolder.style.marginTop = -1000+'px';
		self.showPopUpNow = false;
	//	alert('hideNow');
	}
}

var doPopUp = new popUpView('popUp');

// JB - Show and Hide multiple elements.
function showHideElms(s){
	args=showHideElms.arguments;
	for (i=1; i<args.length; i++){
		document.getElementById(args[i]).style.display = (s=='on'?'':'none');
	}
}

function moveOffScreen(){
	args=moveOffScreen.arguments;
	for (i=0; i<args.length; i++){
		var moveOffScElm = document.getElementById(args[i]);
		moveOffScElm.style.top	= -1000+'px';
		moveOffScElm.style.left = -1000+'px';
	}
}

function transDiv(){
//	alert(docHeight);
	var pgTransDiv = document.getElementById('transDiv');
	var pgCon = document.getElementById('container');
	var pgIfrmCon = document.getElementById('largeImgDiv');
	
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset
	var dsoctop=document.all? iebody.scrollTop : pageYOffset
	
	pgTransDiv.style.height = pgCon.scrollHeight+'px';
	pgIfrmCon.style.left = Math.max(0, docWidth/2-pgIfrmCon.offsetWidth/2) +'px'; 
	pgIfrmCon.style.top = Math.max(0, (docHeight/2-pgIfrmCon.offsetHeight/2)+dsoctop) +'px'; 
	
//	document.frames.midScIframe.document.location.href = '#AE-P32-32';
}

function loadAdapters(){
	document.frames.midScIframe.location.href = 'programmers/adapters.html';
//	window.frames.midScIframe.location.href = 'programmers/adapters.html';
}

var adapID;
function goToAnchor(url){
//		document.getElementById('midScIframeLoad').style.display = 'none';
	adapID = url;
	var adapPgReady = window.frames.midScIframe.adaptersPgReady; 
//	alert(adapPgReady);
	var pgTransDiv = document.getElementById('transDiv');
	var pgCon = document.getElementById('container');
	var pgIfrmCon = document.getElementById('largeImgDiv');
	var midScIfrm = document.getElementById('midScIframe');
	var midScIfrmLoad = document.getElementById('midScIframeLoad');
	
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
	var dsocleft=document.all? iebody.scrollLeft : pageXOffset
	var dsoctop=document.all? iebody.scrollTop : pageYOffset
	
	document.getElementById('transDiv').style.height = pgCon.scrollHeight+'px';
	document.getElementById('transDiv').style.display = '';
	midScIfrm.style.height = docHeight-44+'px';
	midScIfrmLoad.style.height = docHeight-44+'px';
	pgIfrmCon.style.height = docHeight-20+'px';
	pgIfrmCon.style.left = Math.max(0, docWidth/2-pgIfrmCon.offsetWidth/2) +'px'; 
	pgIfrmCon.style.top = Math.max(0, (docHeight/2-pgIfrmCon.offsetHeight/2)+dsoctop) +'px'; 
		midScIfrmLoad.style.display = 'none';
//	pgIfrmCon.style.display = '';

if (adapPgReady) { //wait for iframe to be ready 
	clearTimeout(goToAnch);
	if (window.frames.midScIframe.document.getElementsByName(adapID).item(0)) { //wait for iframe to be ready 
//		alert(window.frames.midScIframe.document.getElementsByName(adapID).item(0));
		midScIfrmLoad.style.display = 'none';
		window.frames.midScIframe.window.scroll(0, window.frames.midScIframe.document.getElementsByName(adapID).item(0).offsetTop);
	}else{
		midScIfrmLoad.style.display = '';
		document.getElementById('midScIframeLoadTxt').innerHTML = 'Sorry. No description available.';

	}
	
//	window.frames.midScIframe.scroll(0,9000);// = 3000; //+'px'; //window.frames.midScIframe.document.getElementsByName('AE-B64-SP1').item(0).offsetTop; // .offsetTop
} else {
//	alert('try again');
	if(BrowserDetect.browser=='Explorer' && BrowserDetect.version==6){
	//	alert('loadAdapters');
	//	loadAdapters();
	}
	var goToAnch = setTimeout('goToAnchor("'+adapID+'")',500) //otherwise, try again if iframe not ready 
} 

//	window.frames.midScIframe.scroll(0,3000);// = 3000; //+'px'; //window.frames.midScIframe.document.getElementsByName('AE-B64-SP1').item(0).offsetTop; // .offsetTop
//	alert(window.frames.midScIframe.document.getElementsByName('AE-B64-SP1').item(0).offsetTop); // .offsetTop
//	window.frames.midScIframe.document.location.href = url;
//	document.getElementById('transDiv').style.display = '';
//	window.frames.midScIframe.document.location.href = 'programmers/adapters.html#AE-P32-32';

}
//	window.onresize = transDiv;

var slideOpenTimeOut, slideCloseTimeOut;
function slideOpen(){
	clearTimeout(slideCloseTimeOut);
	var slideHoldNode = document.getElementById('priceSlideHolder');
	slideHoldNode.style.display = '';
	var slideContNode = document.getElementById('priceSlideCont');
	var slideHoldNodeHeight = slideHoldNode.offsetHeight;
	var slideContNodeHeight = slideContNode.offsetHeight;
//	alert('slideHoldNodeHeight: '+slideHoldNodeHeight+'  |  slideContNodeHeight: '+slideContNodeHeight)
	if(slideHoldNodeHeight<slideContNodeHeight+4){
		slideHoldNode.style.height = Math.max(0,(slideHoldNodeHeight+4))+'px';
		slideOpenTimeOut = setTimeout(slideOpen, 10);
	}
}

function slideClose(){
	clearTimeout(slideOpenTimeOut);
	var slideHoldNode = document.getElementById('priceSlideHolder');
	var slideContNode = document.getElementById('priceSlideCont');
	var slideHoldNodeHeight = slideHoldNode.offsetHeight;
	var slideContNodeHeight = slideContNode.offsetHeight;
//	alert(slideHoldNodeHeight)
	if(slideHoldNodeHeight>3){
//	alert('slideHoldNodeHeight: '+slideHoldNodeHeight+'  |  Math.max(0, (slideHoldNodeHeight-4)): '+Math.max(0, (slideHoldNodeHeight-4)))
//		slideHoldNode.style.height = slideHoldNodeHeight-4+'px';
		slideHoldNode.style.height = Math.max(0,(slideHoldNodeHeight-4))+'px';
		slideCloseTimeOut = setTimeout(slideClose, 2);
	}else{
//		alert('none')
		slideHoldNode.style.display = 'none';
	}
	
//	var navFooter = document.getElementById('footer').offsetHeight;
	
	
}

var slideOpenTimeOut2, slideCloseTimeOut2;
function slideOpen2(){
	clearTimeout(slideCloseTimeOut2);
	var slideHoldNode = document.getElementById('notUSslideHolder');
	slideHoldNode.style.display = '';
	var slideContNode = document.getElementById('notUSslideCont');
	var slideHoldNodeHeight = slideHoldNode.offsetHeight;
	var slideContNodeHeight = slideContNode.offsetHeight;
//	alert('slideHoldNodeHeight: '+slideHoldNodeHeight+'  |  slideContNodeHeight: '+slideContNodeHeight)
	if(slideHoldNodeHeight<slideContNodeHeight+4){
		slideHoldNode.style.height = Math.max(0,(slideHoldNodeHeight+4))+'px';
		slideOpenTimeOut2 = setTimeout(slideOpen2, 10);
	}
}

function slideClose2(){
	clearTimeout(slideOpenTimeOut2);
	var slideHoldNode = document.getElementById('notUSslideHolder');
	var slideContNode = document.getElementById('notUSslideCont');
	var slideHoldNodeHeight = slideHoldNode.offsetHeight;
	var slideContNodeHeight = slideContNode.offsetHeight;
//	alert(slideHoldNodeHeight)
	if(slideHoldNodeHeight>3){
//	alert('slideHoldNodeHeight: '+slideHoldNodeHeight+'  |  Math.max(0, (slideHoldNodeHeight-4)): '+Math.max(0, (slideHoldNodeHeight-4)))
//		slideHoldNode.style.height = slideHoldNodeHeight-4+'px';
		slideHoldNode.style.height = Math.max(0,(slideHoldNodeHeight-4))+'px';
		slideCloseTimeOut2 = setTimeout(slideClose2, 2);
	}else{
//		alert('none')
		slideHoldNode.style.display = 'none';
	}
	
//	var navFooter = document.getElementById('footer').offsetHeight;
	
	
}

function divSlider(mainHolder, contNode, name){
	this.name = name;
	this.mainHolderElm = document.getElementById(mainHolder);
	this.mainHoldeElmHi = this.mainHolderElm.offsetHeight;
	this.contNodeElm = document.getElementById(contNode);
	this.contNodeElmHi = this.contNodeElm.offsetHeight;
	this.timer = null;
	var self = this;
	
	alert('hi: '+this.mainHolderElm.offsetHeight);

	alert('this.mainHoldeElmHi: ' + this.mainHoldeElmHi+'  |  this.contNodeElmHi: ' + this.contNodeElmHi+'  |  this.name: ' + this.name+'.doSlideOpen();')
	
	this.doSlideOpen = function(){
	//	alert('open');
		if(this.mainHolderElm.style.display == 'none') this.mainHolderElm.style.display = '';
//		if(this.mainHolderElm.style.display == 'none')this.doShowElm(this.mainHolderElm);
		alert('this.mainHoldeElmHi: ' + this.mainHoldeElmHi+'  |  this.contNodeElmHi: ' + this.contNodeElmHi+'  |  this.name: ' + this.name+'.doSlideOpen();')
		if(this.mainHoldeElmHi<this.contNodeElmHi+4){
			this.mainHolderElm.style.height = Math.max(0,(this.mainHoldeElmHi+4))+'px';
			this.timer = setTimeout(this.name+'.doSlideOpen();', 10);
		
		}
	}
	this.doSlideClose = function(){
		if(this.mainHoldeElmHi>3){
			this.mainHolderElm.style.height = Math.max(0,(this.mainHoldeElmHi-4))+'px';
			this.slideCloseTimeOut = setTimeout(divSlider.doSlideClose, 2);
		
		}
	}
	this.doShowElm = function(elm){
		elm.style.display = '';
		//	return;
	}
	return this;
}





