
// LOAD PRODUCT DATA IN CENTER PAGE (ajax) - also, LOAD SHOPPING CART DATA UPDATED
function loadData(phpLoader,data,target){ 
    var xhr; 
	if(window.XMLHttpRequest){     // Object of the current windows 
		xhr = new XMLHttpRequest();     // Firefox, Safari, ...
	}else if(window.ActiveXObject){   // ActiveX version
		xhr = new ActiveXObject("Microsoft.XMLHTTP");  // Internet Explorer 
	}
	xhr.onreadystatechange = function(){ // instructions to process the response
		if (xhr.readyState == 4){// Received, OK
			var myData = xhr.responseText;
			document.getElementById(target).innerHTML = myData;
			
			// eval Javascript loaded in ajax
			evalJS(myData);
			
			// add hash to URL to enalble deep linking to diplayed file. works for _media and _related.
			hashDeepLink(data); 
			
		}else{
			document.getElementById(target).innerHTML = '<span style="color:#ccc;">loading...</span>';
		}
	}
	xhr.open('GET', phpLoader+'?file='+data, true);
	xhr.send(null);
}

// eval javascript so that it is actually executed (for swfOject and quickTime Object script embed methods, as well as documnet.write used for scrollpane)
function evalJS(myData){
	var pattern = /<script type="text\/javascript">[\S\s]*?<\/script>/;
	var myMatch = myData.match(pattern);
	if(myMatch!=null){
		var theJS = myMatch[0].replace('<script type="text/javascript">','');
		theJS = theJS.replace("</script>","");
		eval(theJS);
	}
}

// add hash to URL to enable deep linking to AJAX loaded file.
function hashDeepLink(fileURL){ //alert(fileURL)
	var url = location.href; //alert(url);
	// detect if already a Hash, keep only part of url before hash
	if(url.indexOf("#")!==-1){
		var splitHash=url.split("#");
		url=splitHash[0];
	}
	//alert("URL:\n"+url+"\n\nfileURL:\n"+fileURL);
	var fileMatch = fileURL.split("/");
	var file = fileMatch[fileMatch.length-1];
	window.location = url+'#'+file;
}

// highlight selected link in nav series 
function selectedLink(el,target){
	var allA = document.getElementById(target).getElementsByTagName('a');
	var aLength = allA.length;
	for(var i=0;i<aLength;i++){
		if(allA[i].className=='selected'){allA[i].className='visited';}
	}
	el.className = 'selected';
}

// PREVIOUS NEXT ARROWS
function previousNext(pn){
	var x=0;
	var allA = document.getElementById('squares').getElementsByTagName('a');
	var aLength = allA.length;
	// get currently selected link
	for(var i=0;i<aLength;i++){
		if(allA[i].className=='selected'){
			allA[i].className='visited';
			x = i;
		}
	}
	// set previous or next
	if(pn=='previous'){
		if(x>0){var selA = allA[x-1];}else{var selA = allA[aLength-1];}
	}else{
		if(x<aLength-1){var selA = allA[x+1];}else{var selA = allA[0];}
	}
	// get and eval link loaData onClick function call
	var mClick=selA.getAttribute("onClick"); // get onClick attribute of link
	clickFuncArray = mClick.split(";"); // split onClick functions - we want the first one: loadData()
	eval(clickFuncArray[0]);
	// update nav selected link
	selectedLink(selA,'squares');
}

// function to resize flv player at runtime (the function is called from flav_player.swf)
function resizeFlash(myWidth,myHeight){
	if(flashDiv=getId("flashMovie")){
		flashDiv.setAttribute("width",myWidth);
		flashDiv.setAttribute("height",myHeight);
		//alert(myWidth+'-'+myHeight);
	}	
}
