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
    
    
    isValidEmail: function(email) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(email);
    },
	
    request: function(url,task,action,content,callback,showWorkingMessage) {
        if (showWorkingMessage == undefined) {
            showWorkingMessage=true
        } 
        if (showWorkingMessage) {
            onedesk.showWorking();
        }
		
        content.task = task;
        content.action = action;
            
            
        var xhr = $.get(url?url:"getData.php", content, function(response) {            
            if(response.login) {
                window.location = "index.php";
            } else if(response.redirect) {
                window.location = response.redirect;
            } else {                
                if($.isFunction(callback))
                    callback(response);
            }
            if (showWorkingMessage) {
                onedesk.hideWorking();
            }                    
        }, 'json');
                
        xhr.error(function(response) { 
            //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;
        });
        
//        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 {
//                                        alert(response);
//    					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 ($('#' + this._workingMessageHolder).length == 0) {
            this.createWorkingMessageElements();
        }
		
        this._workingMessageCount++;
        if ($('#' + this._workingMessage).length == 0) {
            $('#' + this._workingMessage).html(message);
        }
        setTimeout( 'onedesk._showWorking()' ,this._workingMessageDelay);
    },
	
    _showWorking:function() {
        if (onedesk._workingMessageCount > 0) {
            $('#' + onedesk._workingMessageHolder).css('display', 'block');
            
            //dojo.style(dojo.byId(onedesk._workingMessageHolder),"display","block");
        }
    },
	
    hideWorking: function () {
        
        var workingMessageHolder = $('#' + this._workingMessageHolder);
        
        this._workingMessageCount--;
        if (this._workingMessageCount <= 0 && workingMessageHolder.length != 0) {
            workingMessageHolder.css('display', 'none');
            //dojo.style(dojo.byId(this._workingMessageHolder),"display","none");				
        }
    },
	
    createWorkingMessageElements: function() {
        var holder = $('<div></div>');
        holder.attr('id', this._workingMessageHolder);
        
        holder.css({
            "position":"fixed",
            "text-align":"center",
            "top":"0",
            "width":"100%",
            "height":"100%",
            "display":"none",
            "zIndex":"999999"
        });
        
//        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).prepend(holder);

        //document.body.insertBefore(holder, document.body.firstChild);
		
        var span = $('<span></span>');
        span.attr('id', this._workingMessage);
        
        span.css({
            "background":"#008000",
            "color":"#FFFFFF",
            "display":"block",
            "font-weight":"bold",
            "margin":"auto",
            "padding":"25% 0",
            "width":"100%",
            "height":"100%",            
            "textAlign":"center",
            "fontSize":"300%",
            "opacity":"0.8",
            "zIndex":"100"
        });
        
//        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);

          holder.append(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(($.isObject(val) && !onedesk.isDate(val)) || ($.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 && $.isObject(val) && !onedesk.isDate(val)) {
                res[prop] = $.toJSON(val);
            } else {
                res[prop] = val;
            }
        }
        return res;
    },

    clearErrors: function(formId) {
        if($('#' + formId)) {
            
            $(".fieldError").each(function(i, widget) {
                $(widget).html("");
            }); 
            
            //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 = $("#workArea"); 
//            
//            
//            
//            mainBody.href="getContent.php?task="+page;
//            mainBody.refresh();
        }
    },
	
    widget: {
        flash: function(msgNode,message,color) {
            
            msgNode = $(msgNode);
            
            if (color != null){ 
                msgNode.css('color', color);                
            }
            msgNode.html(message);
            
            msgNode.fadeIn(1000, function() {
                msgNode.fadeOut(1000);
            });
            
//            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 = $("<div></div>");                
                waitContent.css({
                    "width":"300px",
                    "height":"75px",
                    "background":"#000",
                    "padding":"30px"
                });                
                			
                var waitMessage = $("<span></span>");
                waitMessage.css({
                    "fontSize":"2em",
                    "fontWeight":"bold",
                    "color":"#0cc"
                });
                waitMessage.attr('class', "dijitContentPaneLoading");
                waitMessage.attr('id', "waitingMessageNode");
				
                                
                waitContent.append(waitMessage);
                                
                //dojo.place(waitMessage,waitContent);
				
                //this.waitBox = new dijit.Dialog();
				
                //dojo.place(waitContent,this.waitBox.domNode);
            }
            if(!message) {
                message = "Please wait..";
            }
            waitMessage.html(message);
            //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;
}
*/



