    
var dragOK;
var currentObject;
var mouseDownX;
var mouseDownY;
var screenWidth = screen.width;
var screenHeight = screen.height;
var diff = 0+40;
if (screenWidth > 980){
	diff = screenWidth - 980;
}
var pageOrginY = 191;
var pageOrginX = (diff/2)+204;
var lastX = (diff) + 760;
var lastY = 220+760;
var width = screen.width;
var cmdObject;
var linkCmd = false;

var selectedItem1;
var selectedItem2;
var selectedItem3;
var selectedItem4;



document.onmouseup 		= releaseDrag; 
document.onkeydown 		= deleteObject; 
document.onmousemove 	= dragObject;

	function roundNumber(num, dec) {
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
	}

	function releaseDrag(){
		document.body.style.cursor = "default";
		dragOK = false;
		if(linkCmd && cmdObject != null && currentObject != null && currentObject != cmdObject 
				&& currentObject.id.indexOf("Button")<0 ){
			cmdObject.setLikedElement(currentObject);
			document.getElementById("button_device_name").value = currentObject.name;
			linkCmd = false;
			currentObject = cmdObject;
		}
	}

	function clearAll(){
		var child = svgCanvas;
		while(child.lastChild.localName != "defs"){
			child.removeChild(child.lastChild);
		}
		var child = document.getElementById("myform");
		while(child.lastChild.className == ""){
			child.removeChild(child.lastChild);
		}
		var parent = svgCanvas.parentNode;
		var cmdDiv = document.getElementById("envCmd");
		if(cmdDiv != null){
			svgCanvas.parentNode.removeChild(cmdDiv);
		}
		disableProperties();
		selectedItem1 = paper.path({fill: "red"},"M0,0"); 
		selectedItem2 = paper.path({fill: "red"},"M0,0"); 
		selectedItem3 = paper.path({fill: "red"},"M0,0"); 
		selectedItem4 = paper.path({fill: "red"},"M0,0"); 
	}
	
	function changeCanvasBackground(color){
		svgCanvas.style.background = color;
	}

	function deleteObject(e){
		if(currentObject != null){
			var unicode=e.charCode? e.charCode : e.keyCode
			if (unicode == 46){ 
				if((e.target.name == null || e.target.name == "") && confirm("Are you sure to delete this?")){
					currentObject.deleteObject();
					disableProperties();
					var r1 = document.getElementById(currentObject.id);
					document.getElementById("myform").removeChild(r1);
					currentObject = null;
				}
			}
		}
	}
	
	function disableProperties(){
		document.getElementById("label_properties").style.display = "none";
	    document.getElementById("gauge_properties").style.display = "none";
	    document.getElementById("graph_properties").style.display = "none";
	    document.getElementById("meter_properties").style.display = "none";
	    document.getElementById("button_properties").style.display = "none";
	}

	function dragObject(e) 
	{ 
			if(dragOK && currentObject != null){
					if(mouseDownX >= 0 && mouseDownY >= 0){
						var currentX;
						var currentY;
						if (!e){
							currentX = window.event.screenX;
							currentY = window.event.screenY;
						} else{
							currentX = e.pageX;
							currentY = e.pageY;
						}
						
						currentObject.move(currentX-mouseDownX,currentY-mouseDownY);
						mouseDownX = currentX;
						mouseDownY = currentY;
						updatePositions(currentObject);
					}
			}
	}
    
   function updatePositions(ob){
   		if(ob.id.indexOf("Gauge")==0)
   		{
    		document.getElementById("position_X").value = currentObject.orginX;
    		document.getElementById("position_Y").value = currentObject.orginY;
   		}
   		else if(ob.id.indexOf("Label")==0)
   		{
    		document.getElementById("lbl_X").value = currentObject.orginX;
    		document.getElementById("lbl_Y").value = currentObject.orginY;
   		}
   		else if(ob.id.indexOf("Graph")==0)
   		{
    		document.getElementById("graph_posX").value = currentObject.orginX;
    		document.getElementById("graph_posY").value = currentObject.orginY;
   		}
   		else if(ob.id.indexOf("Meter")==0)
   		{
    		document.getElementById("meter_posX").value = currentObject.orginX;
    		document.getElementById("meter_posY").value = currentObject.orginY;
   		}
   		else if(ob.id.indexOf("Button")==0)
   		{
    		document.getElementById("button_posX").value = currentObject.orginX-pageOrginX;
    		document.getElementById("button_posY").value = currentObject.orginY-pageOrginY;
   		}
   }

   var paper = Raphael(0, 0, 756, 551);
   selectedItem1 = paper.path({fill: "red"},"z"); 
   selectedItem2 = paper.path({fill: "red"},"z"); 
   selectedItem3 = paper.path({fill: "red"},"z"); 
   selectedItem4 = paper.path({fill: "red"},"z"); 
   
   var gadgetCount = 0;
   var viewMode = false;
     
    
    function setBackgroundColor(selObj)
    {
        if(currentObject!=null){
            if(selObj.selectedIndex == 0){
               currentObject.setBackground('black','red');
            } else if(selObj.selectedIndex == 1){
                currentObject.setBackground('white','green');
            } else if(selObj.selectedIndex == 2){
                currentObject.setBackground('cyan','blue');
            }
        }
    }
    
//Gauge(id,canvas,orginX,orginY,signalName,gaugeName,type,scaleColor1,scaleColor2,outerScale,innerScale,startAngle,endAngle,startValue,endValue,valueStep,characterFont,characterSize,characterColor,unitText,unitTextColor,minorTicks,majorTickColor,minorTickColor,needleType,needleSize,needleColor1,needleColor2,currentNeedleAngle,specialAreaStartAngle,specialAreaEndAngle,sacolor1,sacolor2,anim){

    function createGauge()
    {
   		var id = "Gauge "+(gadgetCount++);
   	    addParam(id);
       	var gauge = new Gauge(id,paper,170,280,"Speed","Guage Test",1,"#5E767E","#98AFC7",150,180,200,340,0,800,100,"Arial",12,"#003399","km/h","#0000FF",1,"#00FF00","#00FFFF",1,3,"#6CC417","#4AA02C",180,90,45,"#6CC417","#4AA02C",false);
       	gauge.create();
       	createProperties(id);
    }
    
 //function Meter(id,canvas,orginX,orginY,signalName,name,backGround1,backGround2,width,height,startValue,endValue,textStep,type,needleColor,tickCount,tickColor,fontName,fontSize,anim){

   function createMeter()
    {
   	   	var id = "Meter "+(gadgetCount++);
   	  	addParam(id);
       	var meter = new Meter(id,paper,340,400,"","Meter","#FF0000","#E9AB17",50,300,0,100,10,1,"#0000FF",5,"#000000","Verdana",12,"#000000",false);
       	meter.create();
        createProperties(id);
    }
    
//  Graph(id,canvas,orginX,orginY,signalName,graphName,backGround1,backGround2,width,height,startValue,endValue,majorticks,type,indexColor)
  
    function createGraph()
    {

   	   	var id = "Graph "+(gadgetCount++);
   	   	addParam(id);
       	var graph = new Graph(id,paper,430,340,"","Graph","#000000","#000012",300,200,0,10,1,1,"#FFFFFF",false);
       	graph.create();
       	//graph.animate();
       	createProperties(id);
    }
    
    //Label(id,canvas,orginX,orginY,type,text,fontName,fontSize,fontColor)
     function createLabel()
    {
   	   	var id = "Label "+(gadgetCount++);
   	   	addParam(id);
       	var label = new Label(id,paper,150,70,1,"Text","Arial",20, "#000000");
       	label.create();
       	createProperties(id);
    }
    
 //  Button(id,canvas,orginX,orginY,width,height,name,text,cmdName,component,command,action)
     function createCommandButton()
    {
   	   	var id = "Button "+(gadgetCount++);
   	   	addParam(id);
   	   //Button(id,canvas,orginX,orginY,width,height,name,text,cmdName,component,command,componentName)
       	var button = new Button(id,paper,540,40,75,30,"name","Click","cmdName",null,"","",true);
       	button.create();
       	//button.getElement();
        createProperties(id);
    }
    
    function addParam(id){
		var field = document.createElement("input");
		field.setAttribute("type","hidden");
		field.setAttribute("value",id);
		field.setAttribute("name",id);
		field.setAttribute("id",id);
		document.getElementById("myform").appendChild(field);
		
	}
	
	function createProperties(val){
		if(val.indexOf('Gauge')==0)
		{
			document.getElementById("label_properties").style.display = "none";
		    document.getElementById("gauge_properties").style.display = "block";
		    document.getElementById("graph_properties").style.display = "none";
		    document.getElementById("meter_properties").style.display = "none";	
		    document.getElementById("button_properties").style.display = "none";			
		}
		else if(val.indexOf('Label')==0)
		{
			document.getElementById("label_properties").style.display = "block";
		    document.getElementById("gauge_properties").style.display = "none";
		    document.getElementById("graph_properties").style.display = "none";
		    document.getElementById("meter_properties").style.display = "none";
		    document.getElementById("button_properties").style.display = "none";
		}
		else if(val.indexOf('Meter')==0)
		{
			document.getElementById("label_properties").style.display = "none";
		    document.getElementById("gauge_properties").style.display = "none";
		    document.getElementById("graph_properties").style.display = "none";
		    document.getElementById("meter_properties").style.display = "block";
		    document.getElementById("button_properties").style.display = "none";
		}
		else if(val.indexOf('Graph')==0)
		{
			document.getElementById("label_properties").style.display = "none";
		    document.getElementById("gauge_properties").style.display = "none";
		    document.getElementById("graph_properties").style.display = "block";
		    document.getElementById("meter_properties").style.display = "none";
		    document.getElementById("button_properties").style.display = "none";
		}
		else if(val.indexOf('Button')==0)
		{
			document.getElementById("label_properties").style.display = "none";
		    document.getElementById("gauge_properties").style.display = "none";
		    document.getElementById("graph_properties").style.display = "none";
		    document.getElementById("meter_properties").style.display = "none";
		    document.getElementById("button_properties").style.display = "block";
		}
	}
    
    function setAngle(){
    	if(currentObject!=null){
    		
	    	var selObj = document.getElementById("start_angle_options").value;
		   	var num = selObj/1;
		   	var num2= (document.getElementById("range").value)/1;
		   	if(currentObject.type == 1 && (num>180) || num < 0 ){
		   		alert("Please enter angle between 0-180");
		   		document.getElementById("start_angle_options").value = currentObject.startAngle;
		   		return;
		   	}
		   	if(currentObject.type == 1 && num-num2 < 0){
		   		num2 = Math.abs(num-num2);
				document.getElementById("range").value = num2;
			}
		   	if(currentObject.type == 2 && num > 180){
		   		if(num >= 270){
		   			num = 269;
		   			document.getElementById("start_angle_options").value = num;
		   		}
		   		num2 = 360-(num-180);
		   		document.getElementById("range").value = 180+((num-180)/2);
		   		currentObject.setAngleRange(num,num2);
		   	}else{
		   		if(currentObject.type == 2){
		   			if(num < 90){
		   				num = 90;
		   				document.getElementById("start_angle_options").value = num;
		   			}
		   			num2 = 180-num;
		   			currentObject.setAngleRange(num,num2);
		   			document.getElementById("range").value = 180-(num2*2);
		   		}else{
	    			//selObj = document.getElementById("range").value;
	    			//num2 = selObj/1;
	    			currentObject.setAngleRange(num,num - num2);
	    		}
	    		
	    	}
            
          	currentObject.setNeedleAngle(num);
        }
    }
    
    function setSAStartAngle()
    {
    	var value = document.getElementById("sa_startangle").value/1;
    	if(value < document.getElementById("sa_endangle").value){
    		alert("Please enter a valid start angle");
    		document.getElementById("sa_startangle").value = currentObject.specialAreaStartAngle;
    		return false;
    	}
    	if(document.getElementById("sa_startangle").value.length>0 && value<=180 && value>=0)
    	{
    		currentObject.setSpecialAreaStartAngle(value);
    		return true;
    	} else {
    		alert("Please enter an angle between 0 and 180");
    		document.getElementById("sa_startangle").value = currentObject.specialAreaStartAngle;
 //   		document.getElementById("sa_startangle").focus();
    		return false;
    	}		
    }
    
    function setSAEndAngle()
    {
    	var value = document.getElementById("sa_endangle").value/1;
    	if(value > document.getElementById("sa_startangle").value){
    		alert("Please enter a valid end angle");
    		document.getElementById("sa_endangle").value = currentObject.specialAreaEndAngle;
    		return false;
    	}
    	if(document.getElementById("sa_endangle").value.length>0 && value<=180 && value>=0)
    	{
    		currentObject.setSpecialAreaEndAngle(value);
    		return true;
    	} else {
    		alert("Please enter an angle between 0 and 180");
    		document.getElementById("sa_endangle").value = currentObject.specialAreaEndAngle;
 //   		document.getElementById("sa_startangle").focus();
    		return false;
    	}	
    }
    
    function setGaugeType(selObj)
    {
        if(currentObject!=null){
        	if(selObj == 2){
        		document.getElementById("innerscale").disabled = false;
                document.getElementById("outerscale").disabled = false;
                currentObject.startAngle = 180;
                document.getElementById("range").value=180;
                currentObject.endAngle = 0;
	        	var num1  =  (document.getElementById("outerscale").value)/1;
	        	var num2 =  (document.getElementById("innerscale").value)/1;
	        	if(num2 > num1){
	        		num2 = num1 - ((num1/100)*25);
	        		document.getElementById("innerscale").value = num2;
	        		currentObject.innerCircleRadius = num2;
	        	}
	        	//
        	}else{
                document.getElementById("innerscale").disabled = true;
        		//
        	}
            currentObject.changeType(selObj);
            if(selObj == 2){
            //	document.getElementById("range").disabled = true;
            }else{
            //	document.getElementById("range").disabled = false;
            }
            
        }
    }
    
//    to change the needle color
    function setGaugeNeedleColor(selObj)
    {
        if(currentObject!=null){
            if(selObj.selectedIndex == 0){
                currentObject.setNeedleColor('#F5A9A9','#8A0808');
            } else if(selObj.selectedIndex == 1){
                currentObject.setNeedleColor('#088A08','#74DF00');
            } else if(selObj.selectedIndex == 2){
                currentObject.setNeedleColor('#08088A','#5858FA');
            } 
        }
    }
    
    function changeCharacterFont()
    {
        if(currentObject!=null){
            currentObject.setCharacterFont(document.getElementById("char_font_options").value);
        }
    }
    
    function changeCharacterColor(val)
    {
        if(currentObject!=null){
        	currentObject.setCharacterColor(val);
        }
    }
    
    function changeCharacterSize(selObj)
    {
        if(currentObject!=null){
            if(selObj.selectedIndex == 0){
               currentObject.setCharacterSize(10);
            } else if(selObj.selectedIndex == 1){
                currentObject.setCharacterSize(14);
            } else if(selObj.selectedIndex == 2){
                currentObject.setCharacterSize(16);
            }
        }
    }
    
    function setMinorTicksCount(selObj)
    {
        if(currentObject!=null){
               currentObject.setMinorTicks(selObj/1);
        }
    }
    
    function setMajorTickColor(val)
    {
        if(currentObject!=null){
            currentObject.setTicksColor(val);
        }
    }
    
    function setGaugeNeedleType(selObj){
        if(currentObject!=null){
            currentObject.setNeedleType(selObj);
        }
    }
    
    function setGaugeNeedleSize(selObj){
        if(currentObject!=null){
               currentObject.setNeedleSize(selObj);
        }
    }
    
    function setGaugeStartValue(){
        if(currentObject!=null){
        	var num1 =  (document.getElementById("gauge_start_value").value)/1;
        	var num2 = (document.getElementById("gauge_end_value").value)/1;
        	if(num2 > num1 && ((num2-num1)%currentObject.step == 0)){
            	currentObject.setStartValue(num1);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("gauge_start_value").value = currentObject.startValue;
            }
            
        }
        
        	
        	
    }
    
     function setGaugeOuterScale(){
        if(currentObject!=null){
        	
        	var num =  (document.getElementById("outerscale").value)/1;
        	if(num<50){
        		alert("Outerscale must not be lesser than 50");
        		document.getElementById("outerscale").value = currentObject.outerCircleRadius;
            	return false;
            }
            currentObject.setOuterScale(num);
        }
    }
    
     function setGaugeInnerScale(){
        if(currentObject!=null){
        	var num =  (document.getElementById("innerscale").value)/1;
        	var num1 =  (document.getElementById("outerscale").value)/1;
        	if(num<50){
        		alert("Innerscale must not be lesser than 50");
        		document.getElementById("innerscale").value = currentObject.innerCircleRadius;
            	return false;
            }
            else if(num >= num1 && currentObject.type == 2){
            	alert("Innerscale must not be greater than outerscale");
        		document.getElementById("innerscale").value = currentObject.innerCircleRadius;
            	return false;
            }
            else{
                currentObject.setInnerScale(num);
                return true;
            }
        }
    }
    
    function setGaugeEndValue(){
        if(currentObject!=null){
        	var num1 =  (document.getElementById("gauge_end_value").value)/1;
        	var num2 = (document.getElementById("gauge_start_value").value)/1;
        	if(num1 > num2 && ((num1-num2)%currentObject.step == 0)){
            	currentObject.setEndValue(num1);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("gauge_end_value").value = currentObject.endValue;
            }
        }
    }
    
    function setTicks(){
        if(currentObject!=null){
        	var num =  (document.getElementById("ticks").value)/1;
            currentObject.setSteps(num);
        }
    }
    
    function setUnitText(){
        if(currentObject!=null){
        	var text =  (document.getElementById("unittext").value);
            currentObject.setUnitText(text);
        }
    }
    
    function permitUnitText(e)
    {
    	var unicode = e.charCode? e.charCode : e.keyCode;
    	if(document.getElementById("unittext").value.length<10 || unicode==8){
    		return true;
    	}
    	return false;
    }
    
    function setGaugeSignalName(){
        if(currentObject!=null){
        	var text =  (document.getElementById("signalname").value);
            currentObject.setSignalName(text);
        }
    }
    
    function setCustomGaugeName(){
        if(currentObject!=null){
        	var text =  (document.getElementById("gaugename").value);
            currentObject.setGaugeName(text);
        }
    }
    
    function setGaugePositionX(){
        if(currentObject!=null){
            currentObject.setPositionX(document.getElementById("position_X").value/1);
        }
    }
    
    function setGaugePositionY(){
        if(currentObject!=null){
            currentObject.setPositionY(document.getElementById("position_Y").value/1);
        }
    }
    
    function changeSAColor(color)
    {
    	if(currentObject!=null){
    		var gradcol;
			if(color=="#FF0000"){ // red
				gradcol = "#FF6600";
			} else if(color=="#00FF00"){ // green
				gradcol = "#CCFF00";
			} else if(color=="#0000FF"){ // blue
				gradcol = "#3399CC";
			} else if(color=="#FFCC00"){ //yellow
				gradcol = "#FFFF99";
			} else if(color=="#FF00FF"){ //pink
				gradcol = "#FF99CC";
			} else if(color=="#C0C0C0"){ // grey
				gradcol = "#808080";
			} else if(color=="#00FFFF"){ // cyan
				gradcol = "#99CCFF";
			} else if(color=="#FFFFFF"){ // white
				gradcol = "#C0C0C0";
			} else if(color=="#000000"){ //black
				gradcol = "#585858";
			}
	    	currentObject.setSAColor(color, gradcol);            
        }
    }
    
    function setAnimation(value){
   		if(currentObject!=null){
	    	var val = value;
	    	if(val == "true"){
	    		currentObject.animate();
	    	}else{
	    		currentObject.stopAnimation();
	    	}
    	}
    }
    
      function updatePropertiesBox(){
    	if(currentObject != null)
    	{    	
    		if(currentObject.id.indexOf("Gauge")==0){
	    		enableGaugeProperties();	    			
    		}
    		else if(currentObject.id.indexOf("Label")==0)
    		{
    			enableLabelProperties();   			
    		}
    		else if(currentObject.id.indexOf("Graph")==0)
    		{
    			enableGraphProperties();
    		}
    		else if(currentObject.id.indexOf("Meter")==0)
    		{
    			enableMeterProperties();
    		}    
    		else if(currentObject.id.indexOf("Button")==0)
    		{
    			enableButtonProperties();
    		}		
    	}
    }
    
    function numbersonly(e){
		var unicode=e.charCode? e.charCode : e.keyCode;
		if (unicode!=8 && unicode!=46 && unicode!=45){ //if the key isn't the backspace or decimal point key (which we should allow)
			if (unicode<48||unicode>57){ //if not a number
				return false; //disable key press
			}
		}
	}
	
	function submitForm(){
		document.getElementById("myform").submit();
	}
	
	function enableGaugeProperties()
	{
		document.getElementById("signalname").disabled = false;
	    document.getElementById("signalname").value = currentObject.signalName;
	    		
	    document.getElementById("gaugename").disabled = false;
	    document.getElementById("gaugename").value = currentObject.name;
	    		
	    document.getElementById("gauge_type_select").disabled = false;
	    document.getElementById("gauge_type_select").value = currentObject.type;
	    		
	    document.getElementById("outerscale").disabled = false;
	    document.getElementById("outerscale").value = currentObject.outerCircleRadius;
	    		
	    
	    document.getElementById("innerscale").disabled = false;
	    document.getElementById("innerscale").value = currentObject.innerCircleRadius;
	    		
	    document.getElementById("gauge_start_value").disabled = false;
	    document.getElementById("gauge_start_value").value = currentObject.startValue;
	    		
	    document.getElementById("gauge_end_value").disabled = false;
	    document.getElementById("gauge_end_value").value = currentObject.endValue;
	    		
	    document.getElementById("start_angle_options").disabled = false;
	    document.getElementById("start_angle_options").value = currentObject.startAngle;
	    
	    document.getElementById("sa_startangle").value = currentObject.specialAreaStartAngle;
	    document.getElementById("sa_endangle").value = currentObject.specialAreaEndAngle;
	    document.getElementById("sa_color_options").value = currentObject.specialAreaColor1;
	    		
	    var angleDiffrence;
		if(currentObject.endAngle > currentObject.startAngle){
			angleDiffrence =(currentObject.startAngle+(360-currentObject.endAngle));
		}else{
			angleDiffrence = currentObject.startAngle - currentObject.endAngle;
		}
		document.getElementById("range").disabled = false;
	    document.getElementById("range").value = angleDiffrence;
	    		
	    document.getElementById("ticks").disabled = false;
	    document.getElementById("ticks").value = currentObject.step;
	    		
	    document.getElementById("minor_ticks_options").disabled = false;
	    document.getElementById("minor_ticks_options").value = currentObject.tickCount-1;
	    		
	    document.getElementById("needle_size_options").disabled = false;
	    document.getElementById("needle_size_options").value = currentObject.needleSize;
	    		
	    		
	    document.getElementById("needle_shape_type").disabled = false;
	    document.getElementById("needle_shape_type").value = currentObject.needleType;
	    		
	    document.getElementById("char_size_options").disabled = false;
	    document.getElementById("char_size_options").value = currentObject.characterSize;
	    		
	    document.getElementById("unittext").disabled = false;
	    document.getElementById("unittext").value = currentObject.unitText;
	    		
	    document.getElementById("position_X").disabled = false;
	    document.getElementById("position_X").value = currentObject.orginX;
	    		
	    document.getElementById("position_Y").disabled = false;
	    document.getElementById("position_Y").value = currentObject.orginY;
	    		
	    document.getElementById("animate").disabled = false;
	    document.getElementById("animate").value = currentObject.anim;
	    		
	    document.getElementById("back_color_options").disabled = false;
	    document.getElementById("tick_color_options").disabled = false;
	    		
	    document.getElementById("char_color_options").disabled = false;
	    document.getElementById("needle_color_options").disabled = false;
	    		
	    document.getElementById("char_font_options").disabled = false;
	    document.getElementById("char_font_options").value = currentObject.characterFont;
	    if(currentObject.type == 1){
	    	document.getElementById("innerscale").disabled = true;
	    }else{
	   	}
	}
	
	function enableGraphProperties()
	{
		document.getElementById('graph_animate').value = currentObject.anim;
		document.getElementById('graph_type').disabled = false;
		document.getElementById('graph_type').value = currentObject.type;
		document.getElementById('graph_name').disabled = false;
		document.getElementById('graph_name').value = currentObject.name;
		document.getElementById('graph_color_options').disabled = false;
		document.getElementById('graph_color_options').value = currentObject.backGround1;
		document.getElementById('graph_width').disabled = false;
		document.getElementById('graph_width').value = currentObject.width;
		document.getElementById('graph_height').disabled = false;
		document.getElementById('graph_height').value = currentObject.height;
		document.getElementById('graph_steps').disabled = false;
		document.getElementById('graph_steps').value = currentObject.step;
		document.getElementById('graph_minorticks').disabled = false;
		document.getElementById('graph_minorticks').value = currentObject.tickCount;
		document.getElementById('graph_startvalue').disabled = false;
		document.getElementById('graph_startvalue').value = currentObject.startValue;
		document.getElementById('graph_endvalue').disabled = false;
		document.getElementById('graph_endvalue').value = currentObject.endValue;
		document.getElementById('graph_index_color_options').disabled = false;
		document.getElementById('graph_index_color_options').value = currentObject.indexColor;
		document.getElementById('graph_posX').disabled = false; 
		document.getElementById('graph_posX').value = currentObject.orginX;
		document.getElementById('graph_posY').disabled = false;
		document.getElementById('graph_posY').value = currentObject.orginY;
	}
	
	function enableMeterProperties()
	{
		document.getElementById('meter_anim').disabled = false;
		document.getElementById('meter_anim').value = currentObject.anim;
		document.getElementById('meter_type').disabled = false;
		document.getElementById('meter_type').value = currentObject.type;
		document.getElementById('meter_name').disabled = false;
		document.getElementById('meter_name').value = currentObject.name;
		document.getElementById('meter_color_options').disabled = false;
		document.getElementById('meter_color_options').value = currentObject.backGround1;
		document.getElementById('meter_font').disabled = false;
		document.getElementById('meter_font').value = currentObject.fontName;
		document.getElementById('meter_font_size').disabled = false;
		document.getElementById('meter_font_size').value = currentObject.fontSize;
		document.getElementById('meter_font_color_options').disabled = false;
		document.getElementById('meter_font_color_options').value = currentObject.fontColor;
		document.getElementById('meter_width').disabled = false;
		document.getElementById('meter_width').value = currentObject.width;
		document.getElementById('meter_height').disabled = false;
		document.getElementById('meter_height').value = currentObject.height;
		document.getElementById('meter_steps').disabled = false;
		document.getElementById('meter_steps').value = currentObject.step;
		document.getElementById('meter_minorticks').disabled = false;
		document.getElementById('meter_minorticks').value = currentObject.tickCount;
		document.getElementById('meter_startvalue').disabled = false;
		document.getElementById('meter_startvalue').value = currentObject.startValue;
		document.getElementById('meter_endvalue').disabled = false;
		document.getElementById('meter_endvalue').value = currentObject.endValue;
		document.getElementById('meter_index_color_options').disabled = false;
		document.getElementById('meter_index_color_options').value = currentObject.needleColor;
		document.getElementById('meter_posX').disabled = false; 
		document.getElementById('meter_posX').value = currentObject.orginX;
		document.getElementById('meter_posY').disabled = false;
		document.getElementById('meter_posY').value = currentObject.orginY;
	}
	
	function enableButtonProperties(){
		if(currentObject.action){
			document.getElementById("button_action").value = "true";
		} else{
			document.getElementById("button_action").value = "false";
		}
		
    	document.getElementById("button_value").value = currentObject.text;
    	document.getElementById("button_width").value = currentObject.width;
    	document.getElementById("button_height").value = currentObject.height;
    	if(currentObject.component != null){
    		document.getElementById("button_device_name").value = currentObject.component.name;
    	}else{
    		document.getElementById("button_device_name").value = "";
    	}
    	document.getElementById("button_script").value = currentObject.command;
    	document.getElementById("button_posX").value = currentObject.orginX-pageOrginX;
		document.getElementById("button_posY").value = currentObject.orginY-pageOrginY;

	}

	function clearAllFields(){
	
	// Gauge properties
		document.getElementById("signalname").value = "";
		document.getElementById("gaugename").value = "";
		document.getElementById("outerscale").value = "";
		document.getElementById("innerscale").value
		document.getElementById("gauge_start_value").value = "";
		document.getElementById("gauge_end_value").value = "";
		document.getElementById("range").value = "";
		document.getElementById("ticks").value = "";
		document.getElementById("position_X").value = "";
		document.getElementById("position_Y").value = "";
		document.getElementById("update_rate_type").value = "";
		document.getElementById("unittext").value = "";
		
		document.getElementById("gauge_type_select").disabled = true;
		document.getElementById("minor_ticks_options").disabled = true;
		document.getElementById("start_angle_options").disabled = true;
		document.getElementById("needle_shape_type").disabled = true;
		document.getElementById("back_color_options").disabled = true;
   		document.getElementById("tick_color_options").disabled = true;
   		document.getElementById("char_color_options").disabled = true;
   		document.getElementById("needle_color_options").disabled = true;
   		document.getElementById("char_font_options").disabled = true;
   		document.getElementById("char_size_options").disabled = true;
		document.getElementById("needle_size_options").disabled = true;
		
//		Label properties
		document.getElementById("label_font").value = "";
		document.getElementById("label_font_size").value = "";
		
		document.getElementById("label_color_options").disabled = true;

	}
	
	function setLblFontSize()
	{
		if(currentObject != null)
		{
			currentObject.setLabelFontSize(document.getElementById("label_font_size").value/1);
		}
	}
	
	function setLabelFontName()
	{
		if(currentObject != null)
		{
			currentObject.setFont(document.getElementById("label_font").value);
		}
	}
	
	function setLabelValue()
	{
		if(currentObject != null)
		{
			currentObject.setLabel(document.getElementById("label_text").value);
		}
	}

	function setLabelType(selObj)
	{
	   if(currentObject!=null){
            if(selObj.selectedIndex == 0){
               currentObject.setType(1);
            } else if(selObj.selectedIndex == 1){
               currentObject.setType(2);
            } 
        }
	}
	
	function setLabelColor(val)
	{
		if(currentObject!=null){
        	currentObject.setColor(val);
		}
	}
	
	function manageDiv(object)
	{
			if(object.id.indexOf("Gauge")==0)
			{
				document.getElementById("label_properties").style.display = "none";
	      		document.getElementById("gauge_properties").style.display = "block";
	      		document.getElementById("graph_properties").style.display = "none";
	      		document.getElementById("meter_properties").style.display = "none";
	      		document.getElementById("button_properties").style.display = "none";
			} 
			else if(object.id.indexOf("Meter")==0)
			{
				document.getElementById("label_properties").style.display = "none";
	      		document.getElementById("gauge_properties").style.display = "none";
	      		document.getElementById("graph_properties").style.display = "none";
	      		document.getElementById("meter_properties").style.display = "block";
	      		document.getElementById("button_properties").style.display = "none";
			}
			else if(object.id.indexOf("Graph")==0)
			{
				document.getElementById("label_properties").style.display = "none";
	      		document.getElementById("gauge_properties").style.display = "none";
	      		document.getElementById("graph_properties").style.display = "block";
	      		document.getElementById("meter_properties").style.display = "none";
	      		document.getElementById("button_properties").style.display = "none";
			}
			else if(object.id.indexOf("Label")==0)
			{
				document.getElementById("label_properties").style.display = "block";
	      		document.getElementById("gauge_properties").style.display = "none";
	      		document.getElementById("graph_properties").style.display = "none";
	      		document.getElementById("meter_properties").style.display = "none";
	      		document.getElementById("button_properties").style.display = "none";
			}
			else if(object.id.indexOf("Button")==0)
			{
				document.getElementById("label_properties").style.display = "none";
	      		document.getElementById("gauge_properties").style.display = "none";
	      		document.getElementById("graph_properties").style.display = "none";
	      		document.getElementById("meter_properties").style.display = "none";
	      		document.getElementById("button_properties").style.display = "block";
			}
	}
	
	function enableLabelProperties()
	{
		document.getElementById("label_type").disabled = false;
    	document.getElementById("label_type").value = currentObject.type;
    	
    	document.getElementById("label_text").disabled = false;
    	document.getElementById("label_text").value = currentObject.name;
    	
    	document.getElementById("label_font").disabled = false;
    	document.getElementById("label_font").value = currentObject.font;
    	
    	document.getElementById("label_font_size").disabled = false;
    	document.getElementById("label_font_size").value = currentObject.fontSize;
    	
    	document.getElementById("label_color_options").disabled = false;
    	document.getElementById("label_color_options").value = currentObject.fontColor;
    	
    	document.getElementById("lbl_X").disabled = false;
    	document.getElementById("lbl_X").value = currentObject.orginX;
    	
    	document.getElementById("lbl_Y").disabled = false;
    	document.getElementById("lbl_Y").value = currentObject.orginY;
	}
	
	function setLabelPositionX(){
        if(currentObject!=null){
            currentObject.setPositionX(document.getElementById("lbl_X").value/1);
        }
    }
    
    function setLabelPositionY(){
        if(currentObject!=null){
            currentObject.setPositionY(document.getElementById("lbl_Y").value/1);
        }
    }
    
//    GRAPH FEATURES STARTS HERE
    
    function setGraphAnimation(val)
    {
    	if(currentObject!=null)
    	{
    		currentObject.setAnimation(val);
    	}
    }
    
    function setGraphName(){
    	if(currentObject!=null)
    	{
    		currentObject.setName(document.getElementById("graph_name").value);
    	}
    }
    
    function setGraphColor(val){
    	if(currentObject!=null){
            currentObject.setBackgroundColor(val);
        }
    }
    
    function setGraphWidth(){
    	if(currentObject!=null){
            currentObject.setWidth(document.getElementById("graph_width").value/1);
        }
    }
    
    function setGraphHeight(){
    	if(currentObject!=null){
            currentObject.setHeight(document.getElementById("graph_height").value/1);
        }
    }
    
    function setGraphSteps(){
    	if(currentObject!=null)
    	{
    		
    		var num1 =  currentObject.endValue;
        	var num2 = currentObject.startValue;
        	var num3 = (document.getElementById("graph_steps").value)/1;
        	if(num1 > num2 && ((num1-num2)%num3 == 0)){
            	currentObject.setSteps(num3);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("graph_steps").value = currentObject.step;
            }
    	}
    }
    
    function setGraphMinorTicks(){
    	if(currentObject!=null)
    	{
    		currentObject.setMinorTicks(document.getElementById("graph_minorticks").value/1);
    	}
    }
    
    function setGraphStartValue(){
    	if(currentObject!=null)
    	{
    		var num1 =  (document.getElementById("graph_endvalue").value)/1;
        	var num2 = (document.getElementById("graph_startvalue").value)/1;
        	if(num1 > num2 && ((num1-num2)%currentObject.step == 0)){
            	currentObject.setStartValue(num2);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("graph_startvalue").value = currentObject.startValue;
            }
    		
    	}
    }
    
    function setGraphEndValue(){
    	if(currentObject!=null)
    	{
    		var num1 =  (document.getElementById("graph_endvalue").value)/1;
        	var num2 = (document.getElementById("graph_startvalue").value)/1;
        	if(num1 > num2 && ((num1-num2)%currentObject.step == 0)){
            	currentObject.setEndValue(num1);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("graph_endvalue").value = currentObject.endValue;
            }
    	
    		
    	}
    } 
    
    function setGraphIndexColor(val){
    	if(currentObject!=null){
            currentObject.setIndexColor(val);
        }
    }
    
    function setGraphPositionX()
    {
    	if(currentObject!=null){
    		currentObject.setPositionX(document.getElementById('graph_posX').value/1);
    	}
    }
    
    function setGraphPositionY()
    {
    	if(currentObject!=null){
    		currentObject.setPositionY(document.getElementById('graph_posY').value/1);
    	}
    }
    
//    METER PROPERTIES STARTS HERE

	function setMeterAnimation(value){
   		if(currentObject!=null){
   			currentObject.setAnimation(value);
    	}
    }
    
	function setMeterType(val){
		currentObject.setType(val/1);
	}
	
	function setMeterName(){
		if(currentObject!=null)
		{
			currentObject.setName(document.getElementById("meter_name").value);
		}
	}
	
	function setMeterBackground(color){
		if(currentObject!=null)
    	{
    		var gradcol;
			if(color=="#FF0000"){ // red
				gradcol = "#FF6600";
			} else if(color=="#00FF00"){ // green
				gradcol = "#CCFF00";
			} else if(color=="#0000FF"){ // blue
				gradcol = "#3399CC";
			} else if(color=="#FFCC00"){ //yellow
				gradcol = "#FFFF99";
			} else if(color=="#FF00FF"){ //pink
				gradcol = "#FF99CC";
			} else if(color=="#C0C0C0"){ // grey
				gradcol = "#808080";
			} else if(color=="#00FFFF"){ // cyan
				gradcol = "#99CCFF";
			} else if(color=="#FFFFFF"){ // white
				gradcol = "#C0C0C0";
			} else if(color=="#000000"){ //black
				gradcol = "#585858";
			}
    		currentObject.setBackground(color, gradcol);
    	}
	}
	
	function setMeterFontName(){
		if(currentObject!=null)
    	{
    		currentObject.setFont(document.getElementById('meter_font').value);
    	}
	}

	function setMeterFontSize(){
		if(currentObject!=null)
    	{
    		currentObject.setFontSize(document.getElementById('meter_font_size').value/1);
    	}
	}
	
	function setMeterFontColor(val){
		if(currentObject!=null)
    	{
    		currentObject.setFontColor(val);
    	}
	}
	
	function setMeterWidth(){
		currentObject.setWidth(document.getElementById('meter_width').value/1);
	}
	
	function setMeterHeight(){
		currentObject.setHeight(document.getElementById('meter_height').value/1);
	}
	
	function setMeterSteps(){
		var num1 =  currentObject.endValue;
       	var num2 = currentObject.startValue;
       	var num3 = (document.getElementById("meter_steps").value)/1;
       	if(num1 > num2 && ((num1-num2)%num3 == 0)){
           	currentObject.setSteps(num3);
        }
        else{
        	alert("Please enter valid data");
        	document.getElementById("meter_steps").value = currentObject.step;
        }
	}
	
	function setMeterMinorTicks(){
		currentObject.setMinorTicks(document.getElementById('meter_minorticks').value/1);
	}
	
	function setMeterStartValue(){
		if(currentObject!=null){
			var num1 =  (document.getElementById("meter_endvalue").value)/1;
        	var num2 = (document.getElementById("meter_startvalue").value)/1;
        	if(num1 > num2 && ((num1-num2)%currentObject.step == 0)){
            	currentObject.setStartValue(num2);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("meter_startvalue").value = currentObject.startValue;
            }
		
    		
    	}
	}
	
	function setMeterEndValue(){
		if(currentObject!=null){
			var num1 =  (document.getElementById("meter_endvalue").value)/1;
        	var num2 = (document.getElementById("meter_startvalue").value)/1;
        	if(num1 > num2 && ((num1-num2)%currentObject.step == 0)){
            	currentObject.setEndValue(num1);
            }
            else{
            	alert("Please enter valid data");
            	document.getElementById("meter_endvalue").value = currentObject.endValue;
            }
    	}
	}
	
	function setMeterIndexColor(val){
		if(currentObject!=null){
    		currentObject.setNeedleColor(val);
    	}
	}
	
	function setMeterPositionX()
	{
		if(currentObject!=null){
    		currentObject.setPositionX(document.getElementById('meter_posX').value/1);
    	}
	}
	
	function setMeterPositionY()
	{
		if(currentObject!=null){
    		currentObject.setPositionY(document.getElementById('meter_posY').value/1);
    	}
	}
	
//    BUTTON PROPERTIES STARTS HERE
	
	function setButtonName()
	{
		if(currentObject!=null){
    		currentObject.setValue(document.getElementById('button_value').value);
    	}
	}
	
	function setButtonWidth()
	{
		if(currentObject!=null){
    		currentObject.setWidth(document.getElementById('button_width').value/1);
    	}
	}
	
	function setButtonHeight()
	{
		if(currentObject!=null){
    		currentObject.setHeight(document.getElementById('button_height').value/1);
    	}
	}
	
	function setButtonAction(val)
	{
		if(currentObject!=null){
    		currentObject.setAction(val);
    	}
	}
	
	function getDeviceId()
	{
		if(currentObject!=null){
			document.body.style.cursor = "move";
			currentObject.getElement();
		}
	}
	
	function setButtonScript()
	{
		if(currentObject!=null){
			currentObject.setScript(document.getElementById("button_script").value);
		}
	}
	
	function setButtonPositionX()
	{
		if(currentObject!=null){
    		currentObject.setPositionX(document.getElementById('button_posX').value/1);
    	}
	}
	
	function setButtonPositionY()
	{
		if(currentObject!=null){
    		currentObject.setPositionY(document.getElementById('button_posY').value/1);
    	}
	}
	
		
