irise.namespace("irise"); // sets the namespace
var iPhoneSCInstanceArr = new Array(); 
var iPSCPreviousClickedSegmentArr = new Array(); // reference to all instances of the Flex component
irise.iOSSegmentedControl = function(){
}
irise.iOSSegmentedControl.prototype.onload = function(){
	var widgetWidth = this.getProperty('width');
	if(widgetWidth<70)
		widgetWidth = 70;
	var widgetHeight = this.getProperty('height');
	var forDivId = this.getId();
	var iPSCId = this.getId();
	var me = this;
	iPSCId = iPSCId.substring(iPSCId.length-4);// store the shortened instance id to be used as array element key
	iPhoneSCInstanceArr[iPSCId] = this;
	//catch the attibutes from studio
	var segControlStyle = this.getProperty('displayStyle');
	var segControlLabels = this.getProperty('segmentLabels');
	var segControlIcon = this.getProperty('segmentIcons');
	var segOnColor = this.getProperty('segmentOnColor');
	if(segOnColor == "" || segOnColor == null || segOnColor == "undefined")
		segOnColor = false;
	var segOffColor = this.getProperty('segmentOffColor');
	if(segOffColor == "" || segOffColor == null || segOffColor == "undefined")
		segOffColor = false;
	if(typeof(segControlIcon) =="string")
	{
		var tempsegControlIcon = segControlIcon;
		segControlIcon = new Array();
		segControlIcon[0] = tempsegControlIcon;
	}
	if(segControlIcon == "" || segControlIcon == null || segControlIcon == "undefined")
	{
		segControlIcon = new Array();
		segControlIcon[0] = "";
	}
		var defaultLabelColor  = this.getProperty('segmentDeaultLabelColor');
		if(defaultLabelColor == "" || defaultLabelColor == null || defaultLabelColor == "undefined")
			defaultLabelColor = "#7E7E7E";
		var selectedLabelColor =  this.getProperty('segmentHighlightLabelColor');
		if(selectedLabelColor == "" || selectedLabelColor == null || selectedLabelColor == "undefined")
			selectedLabelColor = "#FFFFFF";
		var segmentSelectedLabel  = this.getProperty('segmentSelectedLabel');
		var selectedIndex;
		var selectedClass = "PlainSelected";
		var normalClass = "PlainUnselected";
		var containerHeight = 43;
		var segmentedBorder = "#D4D4D4 1px solid";
		//var leftUnselected = "PlainUnselectedLeft";
		var leftUnselected = "PlainUnselectedLeft";
		var leftSelected = "PlainSelectedLeft";
		var rightUnselected = "PlainUnselectedRight";
		var rightSelected = "PlainSelectedRight";
		var segmentFontSize = 16;
		var segmentSideDivAdjust = 8;//adjust the width od extreme divs
		var dividerDiv = "plainDivider";
		var OverlayleftUnselected = "OverlayPlainUnselectedLeft";
		var OverlaynormalClass = "OverlayPlainUnselected";
		var OverlayrightUnselected = "OverlayPlainUnselectedRight";
		var OverlayleftSelected = "OverlayPlainSelectedLeft";
		var OverlaySelectedClass = "OverlayPlainSelected";
		var OverlayrightSelected = "OverlayPlainSelectedRight";
	
	if(segControlStyle =="Bordered")
	{
		 selectedClass = "borderSelected";
		 normalClass = "borderUnselected";
		 leftUnselected = "borderUnselectedLeft";
		 leftSelected = "borderSelectedLeft";
		 rightUnselected = "borderUnselectedRight";
		 rightSelected = "borderSelectedRight";
		 containerHeight = 43;
		 segmentSideDivAdjust = 9;
		 dividerDiv = "borderedDivider";
		 OverlayleftUnselected = "OverlayBorderedUnselectedLeft";
		 OverlaynormalClass = "OverlayBorderedUnselected";
		 OverlayrightUnselected = "OverlayBorderedUnselectedRight";
		 OverlayleftSelected = "OverlayBorderedSelectedLeft";
		 OverlaySelectedClass = "OverlayBorderedSelected";
		 OverlayrightSelected = "OverlayBorderedSelectedRight";
	}
	if(segControlStyle =="Bar")
	{
		selectedClass = "BarStyleSelected";
		normalClass = "BarStyleUnselected";
		leftUnselected = "BarStyleUnselectedLeft";
		leftSelected = "BarStyleSelectedLeft";
		rightUnselected = "BarStyleUnselectedRight";
		rightSelected = "BarStyleSelectedRight";
		containerHeight = 29;
		segmentedBorder = "#516A8B 1px solid";
		segmentFontSize = 11;
		segmentSideDivAdjust = 4;
		dividerDiv = "barDivider";
		OverlayleftUnselected = "OverlayBarUnselectedLeft";
		OverlaynormalClass = "OverlayBarUnselected";
		OverlayrightUnselected = "OverlayBarUnselectedRight";
		OverlayleftSelected = "";
		OverlaySelectedClass = "";
		OverlayrightSelected = "";
	}
	if(segControlStyle =="Bezeled")
	{
		selectedClass = "BezeledSelected";
		normalClass = "BezeledUnselected";
		leftUnselected = "BezeledUnselectedLeft";
		leftSelected = "BezeledSelectedLeft";
		rightUnselected = "BezeledUnselectedRight";
		rightSelected = "BezeledSelectedRight";
		containerHeight = 40;
		segmentedBorder = "#516A8B 1px solid";
		segmentFontSize = 12;
		segmentSideDivAdjust = 4;
		dividerDiv = "bezeledDivider";
		OverlayleftUnselected = "OverlayBezeledUnselectedLeft";
		OverlaynormalClass = "OverlayBezeledUnselected";
		OverlayrightUnselected = "OverlayBezeledUnselectedRight";
		OverlayleftSelected = "";
		OverlaySelectedClass = "";
		OverlayrightSelected = "";
	}
	this.getWidgetDiv().height(containerHeight);
	if(segOffColor)
	{
		dividerDiv = "overlayDivider";
	}
	var iconDivOpening =  "";
	var segmentArray = segControlLabels;
	var iconDivClosing =  "";
	var BackiconDivOpening = "";
	var BackiconDivClosing = "";
	if(segControlIcon.length>1)
	{
		iconDivOpening =  '<img style="vertical-align:middle" src=';
		segmentArray = segControlIcon;
		iconDivClosing =  '/>';
		BackiconDivOpening = '<img style="vertical-align:middle" src=';
		BackiconDivClosing = '/>';
		//selectedIndex = 0;
	}
	if(segmentSelectedLabel >=1 && segmentSelectedLabel<=segmentArray.length)//in the case of tab number(mainly for icon segment control)
		{
			selectedIndex = segmentSelectedLabel-1;
		}
		else
		{
			selectedIndex = jQuery.inArray(segmentSelectedLabel,segControlLabels);
			if(selectedIndex<0)
				selectedIndex = 0;
		}
	var innerDivWidth=Math.floor((widgetWidth)/(segmentArray.length));
	var segmentsDiv = "";
	var overlaySegment = "";
	for(var i=0; i<segmentArray.length;i++)
	{
		if(segmentArray[i] == "" || segmentArray[i] == null || segmentArray[i] == "undefined")
			segmentArray[i] = "";
		if(i==0)// first Segment
		{
			if(segOffColor || segOnColor)//additional layer for custom color	
			{
				overlaySegment = '<div class="overlayInnerContainer">';
				overlaySegment = overlaySegment+'<div id="'+iPSCId+'OverlaySegment'+i+'"><div id="'+iPSCId+'OverlaySegmentleft" class="'+OverlayleftUnselected+'"></div><div id="'+iPSCId+'OverlaySegmentArea'+i+'" class="OverlaySegment '+OverlaynormalClass+'"><div id="'+iPSCId+'OverlaySegmentContent'+i+'" class="OverlaySegmentContentClass">'+iconDivOpening+segmentArray[i]+iconDivClosing+'</div></div></div>';
				segmentArray[i] = "";
				BackiconDivOpening = "";
				BackiconDivClosing = "";
			}
			segmentsDiv = segmentsDiv+'<div id="'+iPSCId+'Segment'+i+'"><div id="'+iPSCId+'Segmentleft" class="'+leftUnselected+'"></div> <div id="'+iPSCId+'SegmentArea'+i+'" class="segmentClass '+normalClass+'"><div id="'+iPSCId+'SegmentContent'+i+'" class="segmentContentClass">'+BackiconDivOpening+segmentArray[i]+BackiconDivClosing+'</div></div><div class="'+dividerDiv+'"></div></div>';
		}
		else if(i==(segmentArray.length)-1)//last segment
		{
			if(segOffColor || segOnColor)
			{
				overlaySegment = overlaySegment+'<div id="'+iPSCId+'OverlaySegment'+i+'"><div id="'+iPSCId+'OverlaySegmentArea'+i+'" class="OverlaySegment '+OverlaynormalClass+'"><div id="'+iPSCId+'OverlaySegmentContent'+i+'" class="OverlaySegmentContentClass">'+iconDivOpening+segmentArray[i]+iconDivClosing+'</div></div><div id="'+iPSCId+'OverlaySegmentRight" class="'+OverlayrightUnselected+'"></div></div>';
				segmentArray[i]="";	
			}
			segmentsDiv = segmentsDiv+'<div id="'+iPSCId+'Segment'+i+'"><div id="'+iPSCId+'SegmentArea'+i+'" class="segmentClass '+normalClass+'"><div  id="'+iPSCId+'SegmentContent'+i+'" class="segmentContentClass">'+BackiconDivOpening+segmentArray[i]+BackiconDivClosing+'</div></div><div id="'+iPSCId+'SegmentRight" class="'+rightUnselected+'"></div></div>';
			
		}
		else // remaining segments
			{
				if(segOffColor || segOnColor)
				{
					overlaySegment = overlaySegment+'<div class="OverlaySegment '+OverlaynormalClass+'" id="'+iPSCId+'OverlaySegment'+i+'"><div   id="'+iPSCId+'OverlaySegmentContent'+i+'" class="OverlaySegmentContentClass">'+iconDivOpening+segmentArray[i]+iconDivClosing+'</div></div>';
				segmentArray[i]="";	
				}
				segmentsDiv = segmentsDiv+'<div class="segmentClass '+normalClass+'" id="'+iPSCId+'Segment'+i+'"><div id="'+iPSCId+'SegmentContent'+i+'" class="segmentContentClass">'+BackiconDivOpening+segmentArray[i]+BackiconDivClosing+'</div></div><div class="'+dividerDiv+'"></div>';
				
			}
	}
	if(segOffColor || segOnColor)
		overlaySegment = overlaySegment+'</div >';
	var toAppendDiv = '<div class="segmentOuterContainer" id="container'+iPSCId+'"><div class="segmentInnerContainer">'+segmentsDiv+'</div>'+overlaySegment+'</div>';
	this.getWidgetDiv().append(toAppendDiv);
	$('#container'+iPSCId).css('height',containerHeight+'px');
	$('#container'+iPSCId).css('width',widgetWidth+'px');
	$('.segmentInnerContainer'+iPSCId).css('height',containerHeight+'px');
	$('.segmentInnerContainer'+iPSCId).css('width',widgetWidth+'px');
	$('#'+forDivId+' .segmentClass').css('height',containerHeight+'px');
	$('#'+forDivId+' .segmentClass').css('width',innerDivWidth-1+'px');
	$('#'+forDivId+' .segmentContentClass').css('height',containerHeight+'px');
	$('#'+forDivId+' .segmentContentClass').css('width',innerDivWidth-1+'px');
	
	$('#'+iPSCId+'SegmentArea0').css('width',(innerDivWidth-segmentSideDivAdjust)-1+'px');
	$('#'+iPSCId+'SegmentContent0').css('width',(innerDivWidth-segmentSideDivAdjust)-1+'px');
	if($.browser.msie)// solve the animation issue in IE 
		$('#'+iPSCId+'Segment0').css('float','left');
	var segarrayLength = segmentArray.length-1;
	var reminingWidth = widgetWidth-((innerDivWidth)*segarrayLength);
	$('#'+iPSCId+'SegmentArea'+segarrayLength).css('width',reminingWidth-segmentSideDivAdjust+'px');
	$('#'+iPSCId+'SegmentContent0'+segarrayLength).css('width',(innerDivWidth-segmentSideDivAdjust)-1+'px');

	//for custom Color
	if(segOffColor || segOnColor)
	{
		$('#'+iPSCId+'OverlaySegmentleft').css('float','left');
		$('#'+iPSCId+'OverlaySegmentleft').css('width',segmentSideDivAdjust+'px');
		$('#'+iPSCId+'OverlaySegmentRight').css('width',segmentSideDivAdjust+'px');
		$('#'+iPSCId+'OverlaySegmentleft').css('height',containerHeight+'px');
		$('#'+iPSCId+'OverlaySegmentRight').css('height',containerHeight+'px');
		$('#'+forDivId+' .OverlaySegment').css('height',containerHeight+'px');
		$('#'+forDivId+' .OverlaySegment').css('width',innerDivWidth+'px');
		$('#'+forDivId+' .OverlaySegmentContentClass').css('height',containerHeight+'px');
		$('#'+forDivId+' .OverlaySegmentContentClass').css('width',innerDivWidth+'px');
		$('#'+iPSCId+'OverlaySegmentArea0').css('width',(innerDivWidth-segmentSideDivAdjust)+'px');
		$('#'+iPSCId+'OverlaySegmentContent0').css('width',(innerDivWidth-segmentSideDivAdjust)+'px');
		if($.browser.msie)// solve the animation issue in IE 
			$('#'+iPSCId+'OverlaySegment0').css('float','left');
		$('#'+iPSCId+'OverlaySegmentArea'+segarrayLength).css('width',reminingWidth-segmentSideDivAdjust+'px');
		$('#'+iPSCId+'OverlaySegmentContent'+segarrayLength).css('width',(innerDivWidth-segmentSideDivAdjust)+'px');
		$('#'+forDivId+' .'+dividerDiv).css('height',containerHeight+'px');
		if(segOffColor)// only when the offOlor specified
		{
			$('#'+forDivId+' .'+leftUnselected).css('background-image','none');
			$('#'+forDivId+' .'+leftUnselected).css('background-color',segOffColor);
			$('#'+forDivId+' .'+rightUnselected).css('background-image','none');
			$('#'+forDivId+' .'+rightUnselected).css('background-color',segOffColor);
			$('#'+forDivId+' .'+normalClass).css('background-image','none');
			$('#'+forDivId+' .'+normalClass).css('background-color',segOffColor);
			$('#'+forDivId+' .'+dividerDiv).css('background-color',segOffColor);
		}
	}
	$('#'+forDivId+' .segmentClass').css('color',defaultLabelColor);
	$('#'+forDivId+' .OverlaySegment').css('color',defaultLabelColor);
	  var settings = {//Attributes of  curvy corner for the left segment
      tl: { radius: segmentSideDivAdjust},
      tr: { radius: 0 },
      bl: { radius: segmentSideDivAdjust},
      br: { radius: 0 },
      antiAlias: true
    }
	 var settings1 = {//Attributes of curvy corner for the right segment
      tl: { radius: 0 },
      tr: { radius: segmentSideDivAdjust},
      bl: { radius: 0 },
      br: { radius: segmentSideDivAdjust},
      antiAlias: true
    }
	if(segOffColor || segOnColor)//rounded the two extreme segments
	{
		curvyCorners(settings, "#"+iPSCId+'Segmentleft');
		curvyCorners(settings1, "#"+iPSCId+'SegmentRight');
	}
	if(segControlStyle=="Bar")//for the outer border for BORDERED style
	{
		//$('#'+forDivId+' .segmentContentClass').css('padding-top','8px');
		//$('#'+forDivId+' .OverlaySegmentContentClass').css('padding-top','8px');
	}
	$('#'+forDivId+' .segmentContentClass').css('font-size',segmentFontSize+'px');
	$('#'+forDivId+' .OverlaySegmentContentClass').css('font-size',segmentFontSize+'px');
	for(var i=0; i<segmentArray.length;i++)
	{
		if(i+1==segmentArray.length)
			var reminingWidth = widgetWidth-((innerDivWidth)*(segmentArray.length-1));
			$('#'+iPSCId+'Segment'+i).bind('click', function(e){me.segmentClickFn(e,me, iPSCId,segmentArray,normalClass,selectedClass,selectedLabelColor,defaultLabelColor,leftSelected,leftUnselected,rightSelected,rightUnselected,OverlayleftSelected,OverlayleftUnselected,OverlaynormalClass,OverlaySelectedClass,OverlayrightSelected,OverlayrightUnselected,segmentSideDivAdjust);});
			$('#'+iPSCId+'OverlaySegment'+i).bind('click', function(e){me.segmentClickFn(e,me, iPSCId,segmentArray,normalClass,selectedClass,selectedLabelColor,defaultLabelColor,leftSelected,leftUnselected,rightSelected,rightUnselected,OverlayleftSelected,OverlayleftUnselected,OverlaynormalClass,OverlaySelectedClass,OverlayrightSelected,OverlayrightUnselected,segmentSideDivAdjust);});
	}
	//onload selected segment
	if(segOffColor || segOnColor)
			$('#'+iPSCId+'OverlaySegment'+selectedIndex).trigger('click');
	else
			$('#'+iPSCId+"Segment"+selectedIndex).trigger('click');
	if($.browser.msie)// for IE
		$('#'+forDivId+' .segmentOuterContainer').css('top', "-14px");
	else if($.browser.opera) // for Opera
		$('#'+forDivId+' .segmentOuterContainer').css('top', "-13px");
	else if($.browser.safari){// for Safari
		$('#'+forDivId+' .segmentOuterContainer').css('top', "-13px");
	}
	if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) //Chrome
			$('#'+forDivId+' .segmentOuterContainer').css('top', "-13px");
//onload ends
}


 //on click function
irise.iOSSegmentedControl.prototype.segmentClickFn = function(event,me,iPSCId,segmentArray,normalClass,selectedClass,selectedLabelColor,defaultLabelColor,leftSelected,leftUnselected,rightSelected,rightUnselected,OverlayleftSelected,OverlayleftUnselected,OverlaynormalClass,OverlaySelectedClass,OverlayrightSelected,OverlayrightUnselected,segmentSideDivAdjust)
	{
	  var settings = {//Attributes of  curvy corner for the left segment
      tl: { radius: segmentSideDivAdjust},
      tr: { radius: 0 },
      bl: { radius: segmentSideDivAdjust},
      br: { radius: 0 },
      antiAlias: true
    }
	 var settings1 = {//Attributes of curvy corner for the right segment
      tl: { radius: 0 },
      tr: { radius: segmentSideDivAdjust},
      bl: { radius: 0 },
      br: { radius: segmentSideDivAdjust},
      antiAlias: true
    }
		var segOnColor = me.getProperty('segmentOnColor');
		var segOffColor = me.getProperty('segmentOffColor');
		var segControlIcon = me.getProperty('segmentIcons');
		var segControlLabels = this.getProperty('segmentLabels');
		if(typeof(segControlLabels) =="string")
		{
			var tempsegControlLabels = segControlLabels;
			segControlLabels = new Array();
			segControlLabels[0] = tempsegControlLabels;
		}
		if(segControlLabels == "" || segControlLabels == null || segControlLabels == "undefined")
		{
			segControlLabels = new Array();
			segControlLabels[0] = "";
		}
		if(typeof(segControlIcon) =="string")
		{
			var tempsegControlIcon = segControlIcon;
			segControlIcon = new Array();
			segControlIcon[0] = tempsegControlIcon;
		}
		if(segControlIcon == "" || segControlIcon == null || segControlIcon == "undefined")
		{
			segControlIcon = new Array();
			segControlIcon[0] = "";
		}
		var cid = $(this).attr('id');
		var cid = event.currentTarget.id;// clicked div ID
		if((cid.search("Overlay"))>0)//code for custom color
			var index = parseInt(cid.substring(18))+1;
		else
			var index = parseInt(cid.substring(11))+1;
		if(segControlIcon.length>1)//in the case of icon send the tab number
			me.setProperty('segmentSelectedLabel',index);
		else
			me.setProperty('segmentSelectedLabel', segControlLabels[index-1]);
		//alert(index);
		//alert("Array len:"+segmentArray.length);
		//alert(segmentArray[index-1]);
		//alert("sample: "+segmentArray[1]);
		if(index==1)//check for the left extreme segment
		{
			if(segOffColor || segOnColor)
			{
				$('#'+iPSCId+'OverlaySegmentArea0').css('color',selectedLabelColor);
				if(segOnColor)
				{
					if(!segOffColor)
					{
						$('#'+iPSCId+'SegmentArea0').css('background-image','none');
						$('#'+iPSCId+'Segmentleft').css('background-image','none');
					}
					$('#'+iPSCId+'SegmentArea0').css('background-color',segOnColor);
					$('#'+iPSCId+'Segmentleft').children().remove();
					$('#'+iPSCId+'Segmentleft').removeClass('curvyIgnore');
					$('#'+iPSCId+'Segmentleft').css('background-color',segOnColor);
					$('#'+iPSCId+'OverlaySegmentleft').addClass(OverlayleftSelected);
					$('#'+iPSCId+'OverlaySegmentArea0').addClass(OverlaySelectedClass);
					curvyCorners(settings, "#"+iPSCId+'Segmentleft');
				}
				else
				{
					$('#'+iPSCId+'OverlaySegmentleft').removeClass(OverlayleftUnselected);
					$('#'+iPSCId+'OverlaySegmentArea0').removeClass(OverlaynormalClass);
					$('#'+iPSCId+'SegmentArea0').css('background-image','');
					$('#'+iPSCId+'SegmentArea0').addClass(selectedClass);
					$('#'+iPSCId+'SegmentArea0').css('color',selectedLabelColor);
					$('#'+iPSCId+'Segmentleft').children().remove();
					$('#'+iPSCId+'Segmentleft').removeClass('curvyIgnore');
					$('#'+iPSCId+'Segmentleft').css('background-image','');
					$('#'+iPSCId+'Segmentleft').addClass(leftSelected);
				}
			}
			else
			{
				$('#'+iPSCId+'SegmentArea0').addClass(selectedClass);
				$('#'+iPSCId+'SegmentArea0').css('color',selectedLabelColor);
				$('#'+iPSCId+'Segmentleft').addClass(leftSelected);
			}
		}
		else if(index==(segmentArray.length))//check for the right extreme segment
		{
			var arrayLength = segmentArray.length-1;
			if(segOffColor || segOnColor)
			{
				$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).css('color',selectedLabelColor);
				if(segOnColor)
				{
					if(!segOffColor)
					{
						$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-image','none');
						$('#'+iPSCId+'SegmentRight').css('background-image','none');
					}
					$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-color',segOnColor);
					$('#'+iPSCId+'SegmentRight').children().remove();
					$('#'+iPSCId+'SegmentRight').removeClass('curvyIgnore');
					$('#'+iPSCId+'SegmentRight').css('background-color',segOnColor);
					$('#'+iPSCId+'OverlaySegmentRight').addClass(OverlayrightSelected);
					$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).addClass(OverlaySelectedClass);
					curvyCorners(settings1, "#"+iPSCId+'SegmentRight');
				}
				else
				{
					$('#'+iPSCId+'OverlaySegmentRight').removeClass(OverlayrightUnselected);
					$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).removeClass(OverlaynormalClass);
					$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-image','');
					$('#'+iPSCId+'SegmentArea'+arrayLength).addClass(selectedClass);
					$('#'+iPSCId+'SegmentArea'+arrayLength).css('color',selectedLabelColor);
					//$('#'+iPSCId+'Segmentleft').removeClass('PlainUnselectedLeft');
					$('#'+iPSCId+'SegmentRight').children().remove();
					$('#'+iPSCId+'SegmentRight').removeClass('curvyIgnore');
					$('#'+iPSCId+'SegmentRight').css('background-image','');
					$('#'+iPSCId+'SegmentRight').addClass(rightSelected);
				}
			}
			else
			{
				$('#'+iPSCId+'SegmentArea'+arrayLength).addClass(selectedClass);
				$('#'+iPSCId+'SegmentArea'+arrayLength).css('color',selectedLabelColor);
				//$('#'+iPSCId+'Segmentleft').removeClass('PlainUnselectedLeft');
				$('#'+iPSCId+'SegmentRight').addClass(rightSelected);
			}
		}
		else// middle segments
		{
			if(segOffColor || segOnColor)
			{
				var currentIndex = index-1;
				$('#'+iPSCId+'OverlaySegment'+currentIndex).css('color',selectedLabelColor);
				if(segOnColor)
				{
					if(!segOffColor)
					{
						$('#'+iPSCId+'Segment'+currentIndex).css('background-image','none');
					}
					$('#'+iPSCId+'OverlaySegment'+currentIndex).addClass(OverlaySelectedClass);
					$('#'+iPSCId+'Segment'+currentIndex).css('background-color',segOnColor);
				}
				else
				{
					$('#'+iPSCId+'OverlaySegment'+currentIndex).removeClass(OverlaynormalClass);
					$('#'+iPSCId+'Segment'+currentIndex).css('background-image','');
					$('#'+iPSCId+'Segment'+currentIndex).addClass(selectedClass);
					$('#'+iPSCId+'Segment'+currentIndex).css('color',selectedLabelColor);
				}
			}
			else
			{
				$('#'+cid).addClass(selectedClass);
				$('#'+cid).css('color',selectedLabelColor);
			}
		}
		if(iPSCPreviousClickedSegmentArr[iPSCId] !=cid) 
			iPhoneSCInstanceArr[iPSCId].sendEvent('OnLabelClick'+index);
		if((iPSCPreviousClickedSegmentArr[iPSCId] !=cid) && (iPSCPreviousClickedSegmentArr[iPSCId]!="") && (iPSCPreviousClickedSegmentArr[iPSCId]!="undefined") &&  (iPSCPreviousClickedSegmentArr[iPSCId]!=null))//check the first click on the segment and not in the smae segment
		{
			if((cid.search("Overlay"))>0)//code for not custom color
				var preindex = iPSCPreviousClickedSegmentArr[iPSCId].substring(18);
			else
			var preindex = iPSCPreviousClickedSegmentArr[iPSCId].substring(11);
			if(preindex==0)//check for the left extreme segment
			{
				if(segOffColor || segOnColor)
				{
					$('#'+iPSCId+'OverlaySegmentArea0').css('color',defaultLabelColor);
					if(segOnColor)
					{
						$('#'+iPSCId+'SegmentArea0').css('background-color',segOffColor);
						$('#'+iPSCId+'Segmentleft').children().remove();
						$('#'+iPSCId+'Segmentleft').removeClass('curvyIgnore');
						$('#'+iPSCId+'Segmentleft').css('background-color',segOffColor);
						$('#'+iPSCId+'OverlaySegmentleft').removeClass(OverlayleftSelected);
						$('#'+iPSCId+'OverlaySegmentArea0').removeClass(OverlaySelectedClass);
						if(!segOffColor)
						{
							$('#'+iPSCId+'SegmentArea0').css('background-image','');
							$('#'+iPSCId+'Segmentleft').css('background-image','');
							$('#'+iPSCId+'Segmentleft').addClass(leftUnselected);
						}	
						curvyCorners(settings, "#"+iPSCId+'Segmentleft');
					}
					else
					{
						$('#'+iPSCId+'OverlaySegmentleft').addClass(OverlayleftUnselected);
						$('#'+iPSCId+'OverlaySegmentArea0').addClass(OverlaynormalClass);
						$('#'+iPSCId+'SegmentArea0').removeClass(selectedClass);
						$('#'+iPSCId+'SegmentArea0').css('background-image','none');
						$('#'+iPSCId+'SegmentArea0').css('color',defaultLabelColor);
						//$('#'+iPSCId+'Segmentleft').removeClass('PlainUnselectedLeft');
						$('#'+iPSCId+'Segmentleft').removeClass(leftSelected);
						$('#'+iPSCId+'Segmentleft').css('background-image','none');
						$('#'+iPSCId+'Segmentleft').css('background-color',segOffColor);
						curvyCorners(settings, "#"+iPSCId+'Segmentleft');
					}
				}
				else
				{
					$('#'+iPSCId+'SegmentArea0').removeClass(selectedClass);
					$('#'+iPSCId+'SegmentArea0').css('color',defaultLabelColor);
					$('#'+iPSCId+'Segmentleft').removeClass(leftSelected);
				}
			}
			else if(preindex==(segmentArray.length-1))//check for the right extreme segment
			{
				var arrayLength = segmentArray.length-1;
				$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).css('color',defaultLabelColor);
				if(segOffColor || segOnColor)
				{
					if(segOnColor)
					{
						$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-color',segOffColor);
						$('#'+iPSCId+'SegmentRight').children().remove();
						$('#'+iPSCId+'SegmentRight').removeClass('curvyIgnore');
						$('#'+iPSCId+'SegmentRight').css('background-color',segOffColor);
						$('#'+iPSCId+'OverlaySegmentRight').removeClass(OverlayrightSelected);
						$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).removeClass(OverlaySelectedClass);
						if(!segOffColor)
						{
							$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-image','');
							$('#'+iPSCId+'SegmentRight').css('background-image','');
							$('#'+iPSCId+'SegmentRight').addClass(rightUnselected);
						}
						curvyCorners(settings1, "#"+iPSCId+'SegmentRight');
					}
					else
					{
						$('#'+iPSCId+'OverlaySegmentRight').addClass(OverlayrightUnselected);
						$('#'+iPSCId+'OverlaySegmentArea'+arrayLength).addClass(OverlaynormalClass);
						$('#'+iPSCId+'SegmentArea'+arrayLength).removeClass(selectedClass);
						$('#'+iPSCId+'SegmentArea'+arrayLength).css('background-image','none');
						$('#'+iPSCId+'SegmentArea'+arrayLength).css('color',defaultLabelColor);
						//$('#'+iPSCId+'Segmentleft').removeClass('PlainUnselectedLeft');
						$('#'+iPSCId+'SegmentRight').removeClass(rightSelected);
						$('#'+iPSCId+'SegmentRight').css('background-image','none');
						$('#'+iPSCId+'SegmentRight').css('background-color',segOffColor);
						curvyCorners(settings1, "#"+iPSCId+'SegmentRight');
					}
				}
				else
				{
					$('#'+iPSCId+'SegmentArea'+arrayLength).removeClass(selectedClass);
					$('#'+iPSCId+'SegmentArea'+arrayLength).css('color',defaultLabelColor);
					$('#'+iPSCId+'SegmentRight').removeClass(rightSelected);
				}
			}
			else // middle segments
			{
				if(segOffColor || segOnColor)
				{
					$('#'+iPSCId+'OverlaySegment'+preindex).css('color',defaultLabelColor);
					if(segOnColor)
					{
						$('#'+iPSCId+'Segment'+preindex).css('background-color',segOffColor);
						$('#'+iPSCId+'OverlaySegment'+preindex).css('color',defaultLabelColor);
						$('#'+iPSCId+'OverlaySegment'+preindex).removeClass(OverlaySelectedClass);
						if(!segOffColor)
						{
							$('#'+iPSCId+'Segment'+preindex).css('background-image','');
							$('#'+iPSCId+'Segment'+preindex).addClass(normalClass);
						}
					}
					else
					{
						$('#'+iPSCId+'OverlaySegment'+preindex).addClass(OverlaynormalClass);
						$('#'+iPSCId+'Segment'+preindex).css('background-image','none');
						$('#'+iPSCId+'Segment'+preindex).removeClass(selectedClass);
					}
				}
			else
			{
					$('#'+iPSCPreviousClickedSegmentArr[iPSCId]).removeClass(selectedClass);
					$('#'+iPSCPreviousClickedSegmentArr[iPSCId]).css('color',defaultLabelColor);
				}
			}
		}
		iPSCPreviousClickedSegmentArr[iPSCId] = cid;//keep the clicked div id
		
	}
	
//set Value action
irise.iOSSegmentedControl.prototype.setValue = function(c){
	var segControlIcon = this.getProperty('segmentIcons');
	var segmentArray = this.getProperty('segmentLabels');
	var segOnColor = this.getProperty('segmentOnColor');
	var segOffColor = this.getProperty('segmentOffColor');
	var me = this;
	if(typeof(segControlIcon) =="string")
	{
		var tempsegControlIcon = segControlIcon;
		segControlIcon = new Array();
		segControlIcon[0] = tempsegControlIcon;
	}
	if(segControlIcon == "" || segControlIcon == null || segControlIcon == "undefined")
	{
		segControlIcon = new Array();
		segControlIcon[0] = "";
	}
	if ($.isArray(c))
		var setValSC = c[0];
	else
		var setValSC = c;
	var labelIndex = jQuery.inArray(setValSC, segmentArray);
	if(labelIndex>=0 && (segControlIcon.length<=1))
	{
		var iPSCId = this.getId();
		iPSCId = iPSCId.substring(iPSCId.length-4);// store the shortened instance id to be used as array element key
			if(segOffColor || segOnColor)
				$('#'+iPSCId+'OverlaySegment'+labelIndex).trigger('click');
			else
				$('#'+iPSCId+"Segment"+labelIndex).trigger('click');
	}
 }