//This script is called by main.php - the only reason why I have separated them is to make the javascript colour coding showup in dreamweaver
function cms_addOnloadEvents(func) {
  if (!document.getElementById | !document.getElementsByTagName) return
	var oldonload=window.onload
	if (typeof window.onload != 'function') { window.onload=func }
	else {
		window.onload=function() { oldonload(); func() }
	}
}

function addEvent(obj, evType, fn, useCapture){ 
	 if (obj.addEventListener) { 
	   obj.addEventListener(evType, fn, useCapture);  
	   return true;  
	 } else if (obj.attachEvent) { 
	   var r = obj.attachEvent('on' + evType, fn);  
	   return r;  
	 } else { 
	   obj['on' + evType] = fn; 
	 } 
}

sessionPass = "";
function initialise(){ //script to be run on every page
	session = document.getElementsByName("PHPSESSID"); //retrieve the PHP SESSION ID to send to buffer
	if(session.length>0) sessionPass = "&PHPSESSID="+session[0].value;
}

function setLinks() { 
	if (document.getElementsByTagName) {
		var anchors = document.getElementsByTagName('a');
		for (var i = 0; i < anchors.length; i++) {
			var anchor = anchors[i];
			setExtLinkTarget(anchor);
			setLinkTab(anchor);
			setDeleteConfirm(anchor);
		}
	}
}

function setForms() { 
	if(document.getElementsByTagName) {
		var inputs = document.getElementsByTagName('input');
		for (var i = 0; i < inputs.length; i++) {
			var input = inputs[i];
			setDeleteConfirm(input);
		}
	}
}

//external links
function setExtLinkTarget(anchor) {
	if (anchor.getAttribute('href') && anchor.getAttribute('rel') == 'external') {
		anchor.target = '_blank';
		anchor.className = 'link-external';
		anchor.title = (anchor.title.indexOf('(New window)') > -1) ? anchor.title : anchor.title + ' (Opens in a new window)';
	}
}
//each tab has an id starting with a letter - a group of tabs have the same letter
gCurpic = 1;
function setLinkTab(anchor) { 
	if ((anchor.className == 'tab' || anchor.className == 'tabselect') && !anchor.getAttribute('href')) {
		anchor.onclick = function(){
			group = this.id.substr(0,1);
			number = this.id.substr(1, this.id.length);
			if(gCurpic != number){
				document.getElementById(group+number).className='tabselect';
				document.getElementById(group+gCurpic).className='tab';
				document.getElementById("buffer"+group+number).style.display='block';
				document.getElementById("buffer"+group+gCurpic).style.display='none';
				gCurpic = number;
			}	
		}
	}
}

function setDeleteConfirm(obj){
	if(obj.className == 'delete'){
		obj.onclick = function(){
			if(confirm("Are you sure you want to delete this")){
				return true;
			}else{
				return false;
			}
		}
	}
}


function borderOver(o){
	o.style.border = 'outset 1px #000000'; 
}

function borderOut(o){
	o.style.border = 'outset 1px #FFFFFF'; 
}

//display menu option on the page 
function cms_displaylayer(){
	var layerName = arguments[1] ? arguments[1] : 'cms_displaylayer';
	var disTop = arguments[2] ? arguments[2] : 100;
	var disLeft = arguments[3] ? arguments[3] : 150;
	
	//reposition layer before display
	vScroll = window.document.body.scrollTop;
	document.getElementById(layerName).style.top = vScroll + disTop;
	document.getElementById(layerName).style.left = disLeft;
	if(document.all){ //if IE
		document.getElementById(layerName).style.filter = "progid:DXImageTransform.Microsoft.Fade(duration=0.3)";
		document.getElementById(layerName).filters[0].Apply();
		document.getElementById(layerName).style.display='block';
		document.getElementById(layerName).filters[0].Play();
	}else{
		document.getElementById(layerName).style.display='block';
	}	
}

function cms_hidelaylayer(){
	var layerName = arguments[1] ? arguments[1] : 'cms_displaylayer';
	document.getElementById(layerName).style.display='none';	
}

// populates the floating layer with content  layerBuffer is the content to show
function cms_populate(layerBuffer){
	var layerCont = arguments[2] ? arguments[2] : 'container';
	
	document.getElementById('layerCont').innerHTML = ''; //needed to clear content to make it work correctly in IE
	document.getElementById(layerCont).innerHTML = document.getElementById(layerBuffer).innerHTML;
	cms_displaylayer();
}

function addToClipboard(id){ //load details into the iframe using javascript onclick="return load_details(id);
	if(document.getElementById && window.frames){
		document.getElementById("hiddenfr").src = "/loader/clipboardSet.php?additem="+id+"&amp;";
		return false;
	}else{
		return true;
	}			
}

function removeFromClipboard(id){ //load details into the iframe using javascript onclick="return load_details(id);
	if(document.getElementById && window.frames){
		document.getElementById("hiddenfr").src = "/loader/clipboardSet.php?deleteitem="+id;
		return false;
	}else{
		return true;
	}	
}
/*
function load_details(id){ //load details into the iframe using javascript onclick="return load_details(id);
	document.getElementById("hiddenfr").src = "products-buffer.php?type_id="+id;
	return false;
}
*/

var PopupWindow=null;
function advertPopup(mypage,myname,w,h,pos,infocus){
	if(document.getElementById){
		if(pos=='random'){
		LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
		TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
		if(pos=='center'){
		LeftPosition=(screen.width)?(screen.width-w)/2:100;
		TopPosition=(screen.height)?(screen.height-h)/2:100;}
		else if((pos!='center' && pos!='random') || pos==null){LeftPosition=100;TopPosition=100;}settings='width='+ w + ',height='+ h + ',top=' + TopPosition + ',left=' + LeftPosition + ',location=no,directories=no,menubar=no,toolbar=no,status=yes,scrollbars=yes,resizable=yes,dependent=no';
		PopupWindow=window.open('',myname,settings);
		if(infocus=='front'){PopupWindow.focus();PopupWindow.location=mypage;}
		return false;
	}else{
		return true; //allow the HTML link to work
	}	
}
/*
var gCurpic = 1;
function tabChange(number){
	if(gCurpic != number){
		document.getElementById("t"+number).className='tabselect';
		document.getElementById("t"+gCurpic).className='tab';
		document.getElementById("gbuffer"+number).style.display='block';
		document.getElementById("gbuffer"+gCurpic).style.display='none';
		gCurpic = number;
	}	
}
*/

var req;
var contentPath;
var conf = new Array();
var targetPath="";
conf['target'] = document.getElementById('content'); //default layer to load content into


function loadXMLDoc(url) {
	req = false;
	targetPath = (arguments[1])? arguments[1] : conf['target']
	
	if(window.XMLHttpRequest) { // branch for native XMLHttpRequest object
		req = new XMLHttpRequest();
    } else if(window.ActiveXObject) { // branch for IE/Windows ActiveX version
       	try{
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	}catch(e) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
    }
	if(req) {
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send("");
	}
}

function processReqChange(){
    // only if req shows "loaded"
	if (req.readyState == 4){
        // only if "OK"
		if (req.status == 200){
        	//check the type of data.
			//if(req.responseXML.documentElement != null){ //XML data
				//alert("test1")
			//}else{
				//alert("test")
				targetPath.innerHTML = req.responseText;
			//}
		}else{
        	alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
    }
}

cms_addOnloadEvents(setLinks);
cms_addOnloadEvents(setForms);
cms_addOnloadEvents(initialise);

// used to hide layers if fix required for hiding layers if javascript is supported
if(document.write) document.write('<link rel="stylesheet" type="text/css" href="/css/javascript.css" title="Normal" />');	
