Date.prototype.__json__ = function() {
	return dojo.date.locale.format(this, {formatLength: 'long'});
};

var onedesk = {
	_workingMessageHolder: "_workingMessageHolder",
	_workingMessage: "_message",
	_defaultWorkingMessage: "Working .... please do not perform any other actions",
	_workingMessageCount: 0,
	_workingMessageDelay: 300, //in miliseconds
	
	request: function(url,task,action,content,callback,showWorkingMessage) {
		if (showWorkingMessage == undefined) { showWorkingMessage=true } 
		if (showWorkingMessage) { onedesk.showWorking(); }

		var cmd = {};
		if(task!=null) {
			cmd.task = task;
		}
		if(action!=null) {
			cmd.action = action;
		}
		
		content = onedesk.prepObj(content);
		dojo.xhrGet({		
			url: url?url:"getData.php",
			content: dojo.mixin(content,cmd),
			load: function(response, ioArgs) {
				if(response.login) {
					window.location = "index.php";
				} else if(response.redirect) {
					window.location = response.redirect;
				} else {
					callback(response);
				}
				if (showWorkingMessage) { onedesk.hideWorking(); }
				return response;
			},
			error: function(response, ioArgs) {
				console.log(response, ioArgs);
				if (showWorkingMessage) { onedesk.hideWorking(); }
				onedesk.alert("A system error has occured. Please try again. If the error persists please call for support");
				return response;
			},
			handleAs: "json"
		});
	},

	confirm: function(message) {
		return confirm(message);
	}, 
	alert: function(message) {
		return alert(message);
	}, 
	
	showWorking: function (message) {
		if (typeof(message) == "undefined") { message = this._defaultWorkingMessage; }
		if (!dojo.byId(this._workingMessageHolder)) { this.createWorkingMessageElements(); }
		
		this._workingMessageCount++;
		if (dojo.byId(this._workingMessage)) {
			dojo.byId(this._workingMessage).innerHTML = message;
		}
		setTimeout( 'onedesk._showWorking()' ,this._workingMessageDelay);
	},
	
	_showWorking:function() {
		if (onedesk._workingMessageCount > 0) {  dojo.style(dojo.byId(onedesk._workingMessageHolder),"display","block"); }
	},
	
	hideWorking: function () {
		this._workingMessageCount--;
		if (this._workingMessageCount <= 0 && dojo.byId(this._workingMessageHolder)) {
			dojo.style(dojo.byId(this._workingMessageHolder),"display","none");				
		}
	},
	
	createWorkingMessageElements: function() {
		var holder = document.createElement('div');
		holder.id = this._workingMessageHolder;
		dojo.style(holder,"position","fixed");
		dojo.style(holder,"text-align","center");
		dojo.style(holder,"top","0");
		dojo.style(holder,"width","100%");
		dojo.style(holder,"height","100%");
		dojo.style(holder,"display","none");
		dojo.style(holder,"zIndex","100");
		document.body.insertBefore(holder, document.body.firstChild);
		
		var span = document.createElement('span');
		span.id = this._workingMessage;
		dojo.style(span,"background","#008000");
		dojo.style(span,"color","#FFFFFF");
		dojo.style(span,"display","block");
		dojo.style(span,"font-weight","bold");
		dojo.style(span,"margin","auto");
		dojo.style(span,"padding","25% 0");
		dojo.style(span,"width","100%");
		dojo.style(span,"height","100%");
		dojo.style(span,"textAlign","center");
		dojo.style(span,"fontSize","300%");
		dojo.style(span,"opacity","0.8");
		dojo.style(holder,"zIndex","100");
		
		holder.appendChild(span);
	},
	
	grid: {
		data: [],
		highlightClass: "odGridHighlight",
		
		rowhighlight: function(row) {
			row.className = this.highlightClass;
		},
		rowunhighlight: function(row,className) {
			row.className = className;
		},
		fetch: function(id) {
			var obj = null;
			for(var i=0;i<this.data.length;i++) {
				if(this.data[i].urn==id) {
					obj = this.data[i];
					break;
				}
			}
			return obj;
		}
		
	},

	isDate: function(v) {
		return (v instanceof Date);
	},

	mixin: function(item,data) {
		for(var prop in data) {
			var val = data[prop];
			if((dojo.isObject(val) && !onedesk.isDate(val)) || (dojo.isArray(val) && val.length>0)) {
				if(item[prop]) {
					onedesk.mixin(item[prop],data[prop]);
				} else {
					item[prop] = val;
				}
			} else {
				item[prop] = val;
			}
		}
		return item;
	},


	prepObj: function(obj) {
		var res = {};
		for(var prop in obj) {
			var val = obj[prop];
			if(val && dojo.isObject(val) && !onedesk.isDate(val)) {
				res[prop] = dojo.toJson(val);
			} else {
				res[prop] = val;
			}
		}
		return res;
	},

	clearErrors: function(formId) {
		if(dojo.byId(formId)) {
			dojo.forEach(dojo.query(".fieldError",formId), function(widget) { widget.innerHTML = ""; });
		}
	},
	
	showFormErrors: function(response,prefix) {
		if(prefix) {
			prefix += "_";
		} else {
			prefix = "";
		}
		if(response.errorCode=="1001") {
			onedesk.alert("Your object has been updated by another user ("+response.obj.od_updatedby+")");
		}
		if(response.errField) {
			dispError = [];
			dojo.forEach(response.errField, function(err,idx) {
				msg = response.errMsg[idx];
				fld = "err_"+prefix+err;
				//console.log(fld,err,msg,idx,prefix);
				if(dojo.byId(fld)) {
					dojo.byId(fld).innerHTML = msg;
				} else {
					if(err=='global') {
						dispError.push(msg);
					} else {
						dispError.push(err+": "+msg);
					}
				}
			}, this
			);
			if(dispError.length>0) {
				var content = document.createElement("div");
				dojo.style(content,"padding","10px");
				content.innerHTML = "";
				content.innerHTML += "<b>The following errors have been found on this page:</b>"+ "<br/";
				for(var i=0;i<dispError.length;i++) {
					content.innerHTML += '<span style="color: #f00;">' + dispError[i] + '</span><br/>';
				}
				//console.log(dispError,content);
				onedesk.widget.showMessage("Page Errors",content);
				
			}
		}
	},
	
	common: {
		showPage: function(page) {
			window.location = "index.php?task="+page;
			return;
			var mainBody = dijit.byId("workArea"); 
			mainBody.href="getContent.php?task="+page;
			mainBody.refresh();
		}
	},
	
	widget: {
		flash: function(msgNode,message,color) {
			if (color != null){ 
				dojo.style(msgNode,"color", color);
			}
			msgNode.innerHTML = message;
			fi = dojo.fadeIn({ node: msgNode, duration: 1000});
			fo = dojo.fadeOut({ node: msgNode, duration: 1000});
			fi.onEnd = function() { fo.play(); };
			fi.play();
		},

		showMessage: function(title,content) {
			showBox = new dijit.Dialog();
			
			if(!title) {
				title = "Message";
			}
			if(!content) {
				content = document.createElement("div");
			}
			dojo.place(content,showBox.domNode);

			showBox.attr("title",title);
			showBox.show();
			dojo.connect(showBox,"hide",function() { delete showBox } );
		},
				
		waitBox: null,
		wait: function(message) {
			if(!this.waitBox) {
				var waitContent = document.createElement("div");
				dojo.style(waitContent,"width","300px");
				dojo.style(waitContent,"height","75px");
				dojo.style(waitContent,"background","#000");
				dojo.style(waitContent,"padding","30px");
				
				var waitMessage = document.createElement("span");
				dojo.style(waitMessage,"fontSize","2em");
				dojo.style(waitMessage,"fontWeight","bold");
				dojo.style(waitMessage,"color","#0cc");
				waitMessage.className = "dijitContentPaneLoading";
				waitMessage.id = "waitingMessageNode";
				
				dojo.place(waitMessage,waitContent);
				
				this.waitBox = new dijit.Dialog();
				
				dojo.place(waitContent,this.waitBox.domNode);
			}
			if(!message) {
				message = "Please wait..";
			}
			dojo.byId("waitingMessageNode").innerHTML = message;
			this.waitBox.attr("title",message);
			this.waitBox.show();
		},
		
		stopWait: function () {
			if(this.waitBox) {
				this.waitBox.hide();
			}
		}
	},

	format: {
		yesNo: function(val) {
			return (val?'Yes':'No');
		},
		
		date: function(val) {
			if(!val) {
				return "";
			}
			return dojo.date.locale.format(new Date(val),{fullYear: true,selector: "date"});
		},
		
		currency: function(val) {
			return "&pound;"+val.toFixed(2);
			//dojo.require("dojo.currency");
			//return dojo.currency.format(val,{currency: "GBP" });
		}
	}
}

function copyTextA(el) {
	var xxx = document.getElementById("tv_desc1");
	xxx.value = el.value;
}

function copyTextC(mWName, mTName) {
	var mW = document.getElementById(mWName);
	var mT = document.getElementById(mTName);
	//console.log(metTypes.value);
	var xxx = document.getElementById("tv_desc4");
	if (mW.value) {
		xxx.value = mW.value +"g "+ metTypes[mT.value];
	} else {
		xxx.value = metTypes[mT.value];
	}
}

function copyTextD(el) {
	var xxx = document.getElementById("tv_desc5");
	xxx.value = "Size: " + el.value;
}

function updateFinalAdjustment(input, output, instock, direction) {
	var inputField = document.getElementById(input);
	var outputField = document.getElementById(output);
	
	if (!isNaN(inputField.value)) { 
		if ( inputField.value > 0 ) {		
			if (direction == 'increase') {
				var total = parseInt(instock) + parseInt(inputField.value);
			} else {
				var total = parseInt(instock) - parseInt(inputField.value);
			}
			if (total > 0) {
				outputField.style.color ='black';
			} else {
				outputField.style.color ='red';
			}
		} else {
			var total = "Number must be positive";
			outputField.style.color ='red';	
		}
	} else {
		var total = "Please enter a number";
		outputField.style.color ='red';
	}
	
	outputField.value=total;
	if (outputField.value == 'NaN') { outputField.value = ''; }
}

function showHide(id) {
	var searchBox = document.getElementById(id);
	if(searchBox.style.display=="none") {
		searchBox.style.display="";
	} else {
		searchBox.style.display="none";
	}
}

function doubleConfirm() {
	if(confirm("Are you sure you would like to perform this action?")) {
		return confirm("Please click 'OK' to proceed and 'CANCEL' to abort this action?");
	}
	return false;
}

/*
var cols;
var sel = new Array;

var editPage="";

function go(formId) {
	form = document.getElementById(formId);
	form.submit();
}

function closePopWin() {
//	hidePopWin(false);
	var actionField = document.getElementById("action");
	var form = actionField.form;
	form.submit();
}

function showEditPage(page) {
	if(editPage!="") {
		var lastPage = document.getElementById("subPage_"+editPage);
		lastPage.style.display = 'none';
	}
	showPage = document.getElementById("subPage_"+page);
	showPage.style.display = '';
	editPage = page;

	var currentPage = document.getElementById("pageName");
	currentPage.value = page;

}

var selectedTracks;
function selectTrack(disc,id) {

	var inputFieldName = "disc_"+disc;
	var imageFieldName = "discimage_"+disc+"_"+id;
	inputField = document.getElementById(inputFieldName);

	var currentValue = inputField.value;
	var re = new RegExp(".*"+id+".*","g");

	r = currentValue.search(re);
	image = document.getElementById(imageFieldName);
	if(r==false) {
		newVal = currentValue.replace(","+id,"");
		inputField.value = newVal; 
		image.src = 'http://development/colville/onedesk/style/sttw/images/tick_box_off.gif';
	} else {
		inputField.value = inputField.value + "," + id;
		image.src = 'http://development/colville/onedesk/style/sttw/images/tick_box_down.gif';
	}

}


function dispSubClass(field,action,urn) {
	var actionField = document.getElementById("action");
	actionField.value = "dispSubClass";
	var subField = document.getElementById("subField");
	subField.value = field;
	var subAction = document.getElementById("subAction");
	subAction.value = action;
	var subUrnField = document.getElementById("subUrn");
	subUrnField.value = urn;
	var form = actionField.form;
	form.submit();
}


function dispSelect(field) {
	var action = document.getElementById("action");
	var subField = document.getElementById("subField");
	action.value = "dispSelect";
	subField.value = field;
	var form = action.form;
	form.submit();
}


function removePick(field,pickUrn) {
	var action = document.getElementById("action");
	var pickField = document.getElementById("pickField");
	var pickUrnField = document.getElementById("pickUrn");
	action.value = "removePick";
	pickField.value = field;
	pickUrnField.value = pickUrn;
	var form = action.form;
	form.submit();
}

function addPick(field,pickUrn) { 
	var docParent = window.frameElement.ownerDocument;
	var action = docParent.getElementById("action");
	var pickField = docParent.getElementById("pickField");
	var pickUrnField = docParent.getElementById("pickUrn");
	action.value = "addPick";
	pickField.value = field;
	pickUrnField.value = pickUrn;
	var form = action.form;
	form.submit();
}

function mObject(){
   if (navigator.appName.indexOf ("Microsoft") !=-1){
    	return window["SingMovie"];
   }else{
    	return document["SingMovie"];
   }
}

function stop() {
   mObject().StopPlay();
}

function play() {
   mObject().Play();
}

function rewind() {
	var play = 0;	

	if(mObject().IsPlaying()){
		play=1;
	}

	mObject().GotoFrame(4);

	if(play==1) {
		mObject().Play();
	}
}

function pause() {
   if(mObject().IsPlaying()){
	    stop();
   }else{
    	play();
   }
}

function submitListForm(formName,listfield) {
	var action = document.getElementById("action_"+formName);
	if(action=="moveTo") {
		var moveTo  = document.getElementById("moveTo_"+formName);
		moveTo.value = listfield.option[listfield.value].id;
	}
	action.value = listfield.value;
	action.form.submit();
}

function submitForm(action,formName) { 
	var actionField = document.getElementById("action_"+formName);
	actionField.value = action;

	actionField.form.submit();
}

function submit(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	form.submit();
}

function doSubmit(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;

	form = actionField.form;
	form.submit();
}


var playTrack = false;
function playMP3(trackUrl) {
	if(playTrack) { stopTrack; playTrack=false; return; }
	Player.URL=trackUrl;
	playTrack = true;
}

function stopTrack() {
	Player.controls.stop();
}

function highlightRow(row,on) {
	var cell;
	for(i=0;i<cols;i++) {
		name = "cell"+row+"_"+i;
		cell = document.getElementById(name);
		if(on) {
			if(sel[row]) {
				cell.className="tableDataSelected";
			} else {
				cell.className="tableDataOver";
			}
		} else {
			if(sel[row]) {
				cell.className="tableDataSelected";
			} else {
				if((row%2)==0) {
					end="Even";
				} else {
					end = "Odd";
				}
				cell.className="tableData"+end;
			}
		}
	}
}

function selectRow(row) {
	if(sel[row]) {
		sel[row]=false;
	} else {
		sel[row]=true;
	}
	for(i=0;i<cols;i++) {
		name = "cell"+row+"_"+i;
		cell = document.getElementById(name);
		if(sel[row]) {
			cell.className="tableDataSelected";
		} else {
			if((row%2)==0) {
				end="Even";
			} else {
				end = "Odd";
			}
			cell.className="tableData"+end;
		}
	}
	
}


function showHide(id) {
	var searchBox = document.getElementById(id);
	if(searchBox.style.display=="none") {
		searchBox.style.display="";
	} else {
		searchBox.style.display="none";
	}
}

function hide(id) {
	var searchBox = document.getElementById(id);
	if(searchBox == undefined) { return; }
	searchBox.style.display="none";
}

function minMax(id,minImg,maxImg) {

	showHide(id);
	var imgId = "img"+id;
	
	var searchBox = document.getElementById(id);
	var img = document.getElementById(imgId);
	if(searchBox.style.display=="none") {
		img.src=maxImg;
	} else {
		img.src=minImg;
	}

}

function updateField(field,value,disp) {
	var searchBox = window.frameElement.ownerDocument.getElementById(field);
	searchBox.value = value;
	var dispBox = window.frameElement.ownerDocument.getElementById("disp_"+field);
	dispBox.value = disp;
	parent.hidePopWin(false);
}

function resizeFrame(width,height) {
//alert(width+":"+height);
	if(width!="same") {
		window.frameElement.style.width = width;
	}
	if(height!="same") {
		window.frameElement.style.height = height;
	}
}


function addTrack(id) {
//	var pickDisp = window.frameElement.ownerDocument.frames["pickDisp"];
	var pickDisp = document.frames["pickDisp"];
	var pickRef = pickDisp.document.getElementById("pickRef");
	pickRef.value = id;
	pickRef.form.submit();

}


function pick_select(id, all) {
	var target = document.getElementById(id+"_selected");
	var source = document.getElementById(id+"_avail");	
	
	var tpos = target.options.length;
	
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos] = new Option(source.options[i].text,source.options[i].value);
			target.options[tpos].selected = true;
			
			tpos++;
		    
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateSelectHidden(id);
}

function updateSelectHidden(id) {

	var target = document.getElementById(id+"_selected");
	var hidden = document.getElementById(id);
	
	hidden.value = "";
	for(i=0;i<target.options.length;i++) {
		hidden.value = hidden.value + "," +target.options[i].value;
	}

}

function pick_unselect(id, all) {
	var source = document.getElementById(id+"_selected");
	var target = document.getElementById(id+"_avail");	
	
	var tpos = target.options.length;
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos++] = new Option(source.options[i].text,source.options[i].value);
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateSelectHidden(id);
}

function minimizeWin() 
{
window.resizeTo(100,100);
window.moveTo(screen.width,screen.height);
}

function maximizeWin() 
{
window.resizeTo(screen.width,screen.height);
window.moveTo(0,0);
}

function openWindow(url,name,height,width,xpos,ypos) {
	window.open(url,name,"scrollbars=1,width="+width+",height="+height+",top="+ypos+",left="+xpos);
}

var UniqueID = 314 // Make each link open in a new window 
var newWinOffset = 0 // Position of first pop-up

function PlayerOpen(soundfiledesc,soundfilepath) {
	PlayWin = window.open('',UniqueID,'width=320,height=190,top=' + newWinOffset +',left=0,resizable=0,scrollbars=0,titlebar=0,toolbar=0,menubar=0,status=0,directories=0,personalbar=0');
	PlayWin.focus(); 
	
	var winContent = "<HTML><HEAD><TITLE>" + soundfiledesc + "</TITLE></HEAD><BODY bgcolor='#FF9900'>"; 
	winContent += "<B style='font-size:18px;font-family:Verdana,sans-serif;line-height:1.5'>" + soundfiledesc + "</B>";
	
	winContent += "<OBJECT width='300' height='42'>"; 
	winContent += "<param name='SRC' value='" + soundfilepath + "'>";
	winContent += "<param name='AUTOPLAY' VALUE='true'>"; 
	winContent += "<param name='CONTROLLER' VALUE='true'>";
	winContent += "<param name='BGCOLOR' VALUE='#FF9900'>"; 
	winContent += "<EMBED SRC='" + soundfilepath + "' AUTOSTART='TRUE' LOOP='FALSE' WIDTH='300' HEIGHT='42' CONTROLLER='TRUE' BGCOLOR='#FF9900'></EMBED>";
	winContent += "</OBJECT>"; 
	
	winContent += "<p style='font-size:12px;font-family:Verdana,sans-serif;text-align:center'><a href='" + soundfilepath +"'>Download this file</a> <SPAN style='font-size:10px'>(right-click or Option-click)</SPAN></p>";
	winContent += "<FORM><DIV align='center'><INPUT type='button' value='Close this window' onclick='javascript:window.close();'></DIV></FORM>"; 
	winContent += "</BODY></HTML>"; 
	
	PlayWin.document.write(winContent); 
	PlayWin.document.close(); // "Finalizes" new window 
	UniqueID = UniqueID + 1 // newWinOffset = newWinOffset + 20 // subsequent pop-ups will be this many pixels lower 
} 

function changeActionAndSubmitForm (formName,url) {
	var form = document.getElementById(formName);
	form.action=url; 
	form.submit();
}

function updateFinalAdjustment(input, output, instock, direction) {
	var inputField = document.getElementById(input);
	var outputField = document.getElementById(output);
	
	if (!isNaN(inputField.value)) { 
		if ( inputField.value > 0 ) {		
			if (direction == 'increase') {
				var total = parseInt(instock) + parseInt(inputField.value);
			} else {
				var total = parseInt(instock) - parseInt(inputField.value);
			}
			if (total > 0) {
				outputField.style.color ='black';
			} else {
				outputField.style.color ='red';
			}
		} else {
			var total = "Number must be positive";
			outputField.style.color ='red';	
		}
	} else {
		var total = "Please enter a number";
		outputField.style.color ='red';
	}
	
	outputField.value=total;
	if (outputField.value == 'NaN') { outputField.value = ''; }
}

function printPage() {
    window.print();
}

function embeddedSoundFix() {
	//put this function straight after your embedded sound object
	objects = document.getElementsByTagName('object');
	for (var i = 0; i < objects.length; i++)
	{
		objects[i].outerHTML = objects[i].outerHTML;
	}
}

function showSubProduct(img, text, type, ref) {
	text.replace("`|`","'");
	document.getElementById('prodImg').src = img;
	document.getElementById('productDesc').innerHTML = text;
	document.getElementById('viewLargeImage').href = "javascript:openPopup(\"index.php?task=getImage&action=displayProductImage&type="+type+"&ref="+ref+"&size=large\");";
	
}

function rowChangeClass(table,cols,row,classname) {
        for(i=1;i<cols;i++) {
alert(table+row+"_"+i);
                document.getElementById(table+row+"_"+i).className = classname;
        }
}

function showHideHelp(helpId) {
	var text = document.getElementById('pageHelpText_'+helpId);
	if(text.style.display == 'block') {
		document.getElementById('pageHelpImage_'+helpId).src = '/style/riders/images/help/help_down.gif';
		text.style.display = 'none';

		var field = 'pageHelp_'+helpId;
		var fieldWidget = document.getElementById(field);
		var scrollHeight = parseInt(text.scrollHeight);
		var height = parseInt(text.style.height.replace('px',''));
		var containerHeight = parseInt(fieldWidget.style.height.replace('px',''));

		var offset = containerHeight + scrollHeight;
		//alert(containerHeight + ':' + scrollHeight + ':' +  height);
	
		fieldWidget.style.overflow = 'hidden';
	
		text.style.overflow = 'hidden';

		expandElement(field, -10, 40, 30)
	} else {
		document.getElementById('pageHelpImage_'+helpId).src = '/style/riders/images/help/help_up.gif';
		text.style.display = 'block';
		
		var field = 'pageHelp_'+helpId;
		var fieldWidget = document.getElementById(field);
		var scrollHeight = parseInt(text.scrollHeight);
		var height = parseInt(text.style.height.replace('px',''));
		var containerHeight = parseInt(fieldWidget.style.height.replace('px',''));

		var offset = containerHeight + scrollHeight;
		//alert(containerHeight + ':' + scrollHeight + ':' +  height);
	
		fieldWidget.style.overflow = 'hidden';
	
		text.style.overflow = 'hidden';

		expandElement(field, 10, 40, offset)
	}			
	//readMore.style.display = 'none';
}

function expandElement(elName, increase, sec, highest) {
	el = document.getElementById(elName);
	el.style.display = 'block';

	el.style.height.replace('px','');
	var tempHeight = parseInt(el.style.height) + parseInt(increase);

	if (tempHeight != highest) {

		x = highest - tempHeight;
		if ( x <= increase ) {
			el.style.height = highest;
		} else {
			el.style.height = tempHeight;
			setTimeout("expandElement('"+elName+"', "+increase+", "+sec+", "+highest+")", sec );
		}
	}

}

// Megatrend a.d. Nis
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];}
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function CopyPlusSelect(text) {
      var copyText = text;
      if (window.clipboardData) { // IE send-to-clipboard method.
            window.clipboardData.setData('Text', copyText);
      } else if (window.netscape) {
			if (!testFFSecurity()) { return false; }
			
            // You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
            
            // Store support string in an object.
            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            if (!str) return false;
            str.data=copyText;
            
            // Make transferable.
            var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
            if (!trans) return false;
            
            // Specify what datatypes we want to obtain, which is text in this case.
            trans.addDataFlavor("text/unicode");
            trans.setTransferData("text/unicode",str,copyText.length*2);
            
            var clipid=Components.interfaces.nsIClipboard;
            var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
            if (!clip) return false;
            
            clip.setData(trans,null,clipid.kGlobalClipboard);
      }
}

function testFFSecurity() {
	try {
		var xx = netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		return true;
	} catch(e) {
		return false;
	}
}

//usage for highlightRow and unHighlightRow is:
//<tr onmouseover="highlightRow(this)" onmouseout="unHighlightRow(this)" >

//css - put your own css text. i.e. = "color:#f00;font-weight:bold;" or put nothing for default
function highlightRow(e, css) {
	if(css == undefined) {
		css = "background-color:#eee;";
	}
	e.style.cssText = css;
}

//css - put your own css text. i.e. = "color:#f00;font-weight:bold;" or put nothing for default
function unHighlightRow(e,css) {
	if(css == undefined) {
		css = "background-color:transparent";
	}
	//alert(css);
	e.style.cssText = css;
}
*/


