widgetServer = "sibetap01.ext.nokia.com";

var JQ="";
var jQTag=document.getElementsByTagName('script');

	for (i=0;i<jQTag.length ;i++ )
	{
		
		 JQ=JQ+","+jQTag[i].src;
	}

	
if (JQ.indexOf('jquery')==-1)
{

	JQStr='<script src="http://'+widgetServer+'/feedback/overlay/js/jquery-latest.js" type="text/javascript" id="widgetJquery"></script>';
	document.write(JQStr);
}

var feedbackidSuffix="";
var feedbacktmpCount="";
var feedbackpageURL   = window.location.href; // Page URL where the widget script is embedded
var feedbackversion="2.0";

var feedbackindexes = new Array();


var XssHttpRequestCount=0;
var XssHttpRequestWatchList=[];
var X=function(){this.ins=++XssHttpRequestCount;this.u;this.so;this.w;this.wc=0;this.to=30;this.responseText=null;this.responseXML=null;this.status=null;this.readyState=0;};
X.prototype.onreadystatechange=function(){};
X.prototype.onerror=function(){};
X.prototype.onload=function(){};
X.prototype.ss=function(s){this.status=s;};
X.prototype.srs=function(a){if(this.readyState<a||a==0){this.readyState=a;this.onreadystatechange();if(this.readyState=='2'){this.srs(3);eval("if(typeof XssHttpRequest"+this.ins+"Loaded!='undefined'){this.responseText=XssHttpRequest"+this.ins+"Loaded;this.ss('200');}else{alert('invalidresponsefromserver.');}");this.so.parentNode.removeChild(this.so);this.srs(4);this.onload();}}};
X.prototype.open=function(m,u,n){this.u=u;this.so=document.createElement('script');this.so.setAttribute('id','XssHttpRequest'+this.ins);if(navigator.userAgent.indexOf('Safari')){this.so.setAttribute('charset','utf-8');}};
X.prototype.send=function(){this.srs(1);this.so.setAttribute('type','text/javascript');this.so.setAttribute('src',this.u+((this.u.indexOf('?')!=-1)?'&':'?')+'XssHttpRequestVar=XssHttpRequest'+this.ins+'Loaded');this.so=document.getElementsByTagName('head')[0].appendChild(this.so);XssHttpRequestWatchList[this.ins]=this;this.w=setInterval('XssHttpRequestWatchList['+this.ins+'].wl()',1000);};
X.prototype.wl=function(){this.wc++;eval("if(typeof XssHttpRequest"+this.ins+"Loaded!='undefined'){clearInterval(this.w);this.srs(2);}else if(this.wc==this.to){clearInterval(this.w);this.onerror('TimedOut');}");};
var XssHttpRequest=X;


		/**
         * Get all the Project details (based on number of projects added) 
         * @param {String} widgetCount 
         * @returns all the parameters that a widget script contains , e.g. version,projId,projName	,bgURL ,bgTopURL,bgBotURL ,border ,fontColor,projLang
         */

function feedbackgetProjectDetails(widgetCount)
{
	

	
	feedbackNversion="";
	feedbackNprojId    = ""; 
	feedbackNprojName  = "";
	feedbackNbgURL     = "";
	feedbackNbgTopURL  = "";
	feedbackNbgBotURL  = "";
	feedbackNborder    = "";
	feedbackNfontColor = "";
	feedbackNprojLang="";
	NpsShowParam="";
	NpsEmail="";
	NpsEmailChange="";
	NpsThanksMsg="";
	feedbackdisplayName="";

	var feedbackdivElem=document.getElementById('nps_widget_script')
   var feedbackscriptTag=feedbackdivElem.getElementsByTagName('script');
	
		 var feedbackScriptHTML=feedbackscriptTag[widgetCount].innerHTML;



		 
		 if (feedbackScriptHTML.indexOf('nps_project_id')!=-1)
		 {
		
			feedbackgetScriptHTML=feedbackscriptTag[widgetCount].innerHTML;
			feedbacksplitText=feedbackgetScriptHTML.split(";");

			for (j=0;j<(feedbacksplitText.length-1) ;j++ )
			{
				
				if ((feedbacksplitText[j]!=null)||(feedbacksplitText[j]!="undefined")||(feedbacksplitText[j]!=""))
				{
					
				feedbacksplitTxt=feedbacksplitText[j].split('=');
				feedbacktrimText=feedbacksplitTxt[0].replace(/^\s+|\s+$/g,"");
				
				feedbackreplaceTxt=feedbacksplitTxt[1].replace('"','');
				feedbackreplaceText= feedbackreplaceTxt.replace('"','');
				
				if (feedbacktrimText=="nps_version")
				{
					
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNversion=feedbackreplaceText;
				   
				}
				else if (feedbacktrimText=="nps_project_id")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNprojId=feedbackreplaceText;
				  
				}
				else if (feedbacktrimText=="nps_language")
				{
					 feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
					 feedbackNprojLang=feedbackreplaceText;
					 feedbackNprojLang=feedbackNprojLang.toLowerCase();
					 
				}
				else if (feedbacktrimText=="nps_project_name")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNprojName=feedbackreplaceText;
				  
				}
				else if (feedbacktrimText=="nps_background_url")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNbgURL=feedbackreplaceText;
				}
				else if (feedbacktrimText=="nps_background_top_url")
				{
					feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
					feedbackNbgTopURL=feedbackreplaceText;	
				}
				else if (feedbacktrimText=="nps_background_bottom_url")
				{
					feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
					feedbackNbgBotURL=feedbackreplaceText;
				}
				else if (feedbacktrimText=="nps_border")
				{	
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNborder=feedbackreplaceText;
				}
				else if (feedbacktrimText=="nps_font_color")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackNfontColor=feedbackreplaceText;
				}
				else if (feedbacktrimText=="show_nps")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   NpsShowParam=feedbackreplaceText;
				}
				else if (feedbacktrimText=="nps_email_default")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   NpsEmail=feedbackreplaceText;
				}
				else if (feedbacktrimText=="allow_change_nps_email_default")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   NpsEmailChange=feedbackreplaceText;
				}

				else if (feedbacktrimText=="thankmsg")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   NpsThanksMsg=feedbackreplaceText;

				}
				else if (feedbacktrimText=="display_name")
				{
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbackdisplayName=feedbackreplaceText;

				}
								
				}



			}
			

		 }
	

	feedbackNprojId    = (feedbackNprojId != undefined) ? feedbackNprojId : -1; 
	feedbackNprojName  = (feedbackNprojName != undefined) ? feedbackNprojName : "this";
	feedbackNbgURL     = (feedbackNbgURL != undefined) ? feedbackNbgURL : "";
	feedbackNbgTopURL  = (feedbackNbgTopURL != undefined) ? feedbackNbgTopURL : "";
	feedbackNbgBotURL  = (feedbackNbgBotURL != undefined) ? feedbackNbgBotURL : "";
	feedbackNborder    = (feedbackNborder != undefined) ? feedbackNborder : "";
	feedbackNfontColor = (feedbackNfontColor != undefined) ? feedbackNfontColor : "";
	feedbackNprojLang  = (feedbackNprojLang != undefined && feedbackNprojLang != "") ? feedbackNprojLang : "en";
	NpsShowParam  = (NpsShowParam != undefined && NpsShowParam != "") ? NpsShowParam : "yes";
	NpsEmail = (NpsEmail != undefined) ? NpsEmail : "";
	NpsEmailChange = (NpsEmailChange != undefined) ? NpsEmailChange : "";
	NpsThanksMsg = (NpsThanksMsg != undefined) ? NpsThanksMsg : "";
	feedbackdisplayName = (feedbackdisplayName != undefined) ? feedbackdisplayName : "";

	feedbackoptionalParams(feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNfontColor,feedbackNborder);
	feedbackcreateFeedBack(feedbackNprojId,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbackNprojLang,feedbackidSuffix,NpsShowParam,NpsEmail,NpsEmailChange,NpsThanksMsg,feedbackdisplayName);
}
		
		/**
         * Initiate the insertion of NPS Widget
         * @param {String} count( how many widgets user has added ) 
         * @returns call all methods from here only like: npsCSS,optionalParams,createNPS,recs,elemSniffer,npsform etc..
         */
function feedbacknpsInit(feedbackcount) {



	var feedbacknps_pro_id="";
	var feedbackFnps_pro_id="";
	var feedbacktmpCount="";
	feedbacksetuserStyle();
	
	for (feedbacksh=0;feedbacksh<feedbackcount ;feedbacksh++ )
	{
	 feedbackidSuffix = Math.floor(Math.random()*101);
	 feedbackindexes[feedbacksh]=feedbackidSuffix;

	 var feedbackdivElem=document.getElementById('nps_widget_script')
	 var feedbackscriptTag=feedbackdivElem.getElementsByTagName('script');
	 //var feedbackscriptTag=document.getElementsByTagName('script');

	 for (feedbackt=0;feedbackt<feedbackscriptTag.length ;feedbackt++ )
	 {
		
		 var feedbackScriptHTML=feedbackscriptTag[feedbackt].innerHTML;

		  if (feedbackScriptHTML.indexOf('nps_project_id')!=-1)
		 {

			feedbacksplitText=feedbackScriptHTML.split(";");
			for (feedbackj=0;feedbackj<(feedbacksplitText.length-1) ;feedbackj++ )
			{
	
				if ((feedbacksplitText[feedbackj]!=null)||(feedbacksplitText[feedbackj]!="undefined")||(feedbacksplitText[feedbackj]!=""))
				{
					
				feedbacksplitTxt=feedbacksplitText[feedbackj].split('=');
				feedbacktrimText=feedbacksplitTxt[0].replace(/^\s+|\s+$/g,"");
				
				feedbackreplaceTxt=feedbacksplitTxt[1].replace('"','');
				feedbackreplaceText= feedbackreplaceTxt.replace('"','');
				
				if (feedbacktrimText=="nps_project_id")
				{
					
				   feedbackreplaceText=feedbackreplaceText.replace(/^\s+|\s+$/g,"");
				   feedbacknps_pro_id=feedbackreplaceText;
				   
				}
				}
			}



			if ((feedbacktmpCount=="undefined")||(feedbacktmpCount=="")||(feedbacktmpCount==null))
			{
			
				
				feedbacktmpCount=feedbacktmpCount+","+feedbackt;
				// get Project Optional Parameters
				feedbackFnps_pro_id=feedbackFnps_pro_id+","+feedbacknps_pro_id;

				feedbackgetProjectDetails(feedbackt);
				
				break;
			
			}

			else if ((feedbacktmpCount.indexOf(feedbackt)==-1)&&(feedbacktmpCount!="")&&(feedbackFnps_pro_id.indexOf(feedbacknps_pro_id)==-1)&&(feedbackFnps_pro_id!=""))
			{
				
				
				feedbacktmpCount=feedbacktmpCount+","+(feedbackt);
				feedbackFnps_pro_id=feedbackFnps_pro_id+","+feedbacknps_pro_id;
				// get Project Optional Parameters

				feedbackgetProjectDetails(feedbackt);
				break;
			}
		 }
	 }

	//version   = "1.0"; // Current widget version
	feedbackrated     = 0; // Flag to indicate whether user has rated during this session (defaulted for now)
	// Vars for email validation
	feedbackemailEmpty   = "Enter your email address";
	feedbackemailInvalid = "Invalid email address";
	feedbacktemp = "";
	feedbacknpsCSS();

	// Test: Fix for Quirks Mode
	// var testdiv = document.getElementById('nps-sidebar' + idSuffix);
	// compensateWidth(testdiv);

	// How many stylesheets are loaded?
	//recs();
	//elemSniffer();
	feedbacknpsform();
	}


}
		 /**
         * Handle the possibility of multiple onload events on a page by "chaining" them together
         */

function feedbackaddOnloadEvent(feedbackfunc) {
	if (typeof window.addEventListener != "undefined")
		window.addEventListener("load", feedbackfunc, false);
	else
		if (typeof window.attachEvent != "undefined") {
			window.attachEvent("onload", feedbackfunc);
		}
		else {
			if (window.onload != null) {
				var oldOnload = window.onload;
				window.onload = function(e) {
				oldOnload(e);
				window[feedbackfunc]();
			};
		}
	else
		window.onload = feedbackfunc;
	}
}

		/**
         * Parse the URL for the widget's version number
         */

function feedbackgetWidgetVersion(feedbackscriptURL) {
	var feedbacktmp = new Array();
	var feedbackver = new Array();
	var feedbacktmp = feedbackscriptURL.split("NPSWidget-");
	var feedbackver = feedbacktmp[1].split(".js?");
	return feedbackver[0];
}
		/**
         * Parse the URL for the specified parameter
         */

function feedbackgetURLParam(feedbackscriptURL, feedbackparam) {
	feedbackparam = feedbackparam.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var feedbackregexS = "[\\?&]" + param + "=([^&#]*)";
	var feedbackregex = new RegExp(regexS);
	var feedbackresults = regex.exec(scriptURL);
	if (feedbackresults == null)
		return "";
	else
		return feedbackresults[1];
}

		/**
         * Initiate Optional params like adding css and css rules
         */
	function feedbackoptionalParams(feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNfontColor,feedbackNborder){
	
	if (feedbackNfontColor != "") feedbackuserFontColor(feedbackNfontColor);

	feedbackuserBorder(feedbackNborder);

	if (feedbackNbgURL != "") return feedbackuserBackground("all",feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder);
	if (feedbackNbgTopURL != "" && feedbackNbgBotURL != "") return feedbackuserBackground("top-bot",feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder);
	if (feedbackNbgTopURL != "" && feedbackNbgBotURL == "") return feedbackuserBackground("top",feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder);
	if (feedbackNbgTopURL == "" && feedbackNbgBotURL != "") return feedbackuserBackground("bot",feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder);
	
}
		/**
         * Added this new method to resolve the ID, Class Selector issue in "BetaLabs"
         * @returns adds css rules to the DOM to override the style of beta labs 
		 * works fine outside beta labs also 
         */
function feedbacksetuserStyle() {
	var feedbacknode = document.createElement("style");
	feedbacknode.setAttribute("type", "text/css");
	feedbacknode.setAttribute("media", "all");
	
	var feedbackselector   = "#betainfo ul.nps-recs li";
	var feedbackproperties = "cursor: pointer;margin: 0;padding: 0;display: inline;line-height: 30px;";
	
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

	
	var feedbackselector   = "#betadownload ul.nps-recs li";
	var feedbackproperties = "cursor: pointer;margin: 0;padding: 0;display: inline;line-height: 30px;";
	
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);
	document.getElementsByTagName("head")[0].appendChild(feedbacknode);

	
}

		 /**
         * Apply the font color if user has provided in the script 
         * nps_font_color = "336699";
         */

function feedbackuserFontColor(feedbackNfontColor) {

	var feedbacknode = document.createElement("style");
	feedbacknode.setAttribute("type", "text/css");
	feedbacknode.setAttribute("media", "screen"); 

	var feedbackselector   = "div.nps-recommend"+idSuffix;
	var feedbackproperties = "color: #" + NfontColor + ";";
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

	var feedbackselector   = "div.nps-close"+feedbackidSuffix+" a";
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

	document.getElementsByTagName("head")[0].appendChild(feedbacknode);
}

		 /**
         * Apply the border style if user has provided in the script 
         * nps_border = "y";
         */

function feedbackuserBorder(feedbackNborder) {
	var feedbacknode = document.createElement("style");
	feedbacknode.setAttribute("type", "text/css");
	feedbacknode.setAttribute("media", "screen"); 

	if (feedbackNborder == "y")
		var feedbackproperties = "border: 1px solid #000000;";
	else
		var feedbackproperties = "border: 1px solid #CCCCCC;";

	var feedbackselector = "div.nps-sidebar"+feedbackidSuffix;
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

	var selector = "div.nps-fb-box"+feedbackidSuffix;
	feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

	document.getElementsByTagName("head")[0].appendChild(feedbacknode);
}
		 /**
         * Apply the background style if user has provided in the script 
         * nps_background_url = "";
		 * nps_background_top_url = "";
		 * nps_background_bottom_url = "http://sibetaq01.ext.nokia.com/nps_widget/backgrounds/green1x1.gif";
         */



function feedbackuserBackground(feedbacktype,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL) {

	var feedbacknode = document.createElement("style");
	feedbacknode.setAttribute("type", "text/css");
	feedbacknode.setAttribute("media", "screen"); 

	if (feedbackNborder == "y") {
		feedbackborderSize = "1px";
		feedbackleftMargin = "-5px";
	}
	else {
		feedbackborderSize = "0px";
		feedbackleftMargin = "-4px";
	}

	// Top and bottom background image(s)
	if (feedbacktype == "all" || feedbacktype == "top-bot") {
		if (type == "all")
			var feedbackbg = "url(" + feedbackNbgURL + ") repeat 0px 0px;";
		else
			var feedbackbg = "url(" + feedbackNbgTopURL + ") repeat 0px 0px;";

		var feedbackselector   = "div.nps-sidebar"+feedbackidSuffix;
		var feedbackproperties = "border: " + feedbackborderSize + " solid #000000; background: " + feedbackbg;

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

		if (feedbacktype == "all")
			var feedbackypos = "-70px;";
		else {
			var feedbackbg = "url(" + feedbackNbgBotURL + ") repeat 0px 0px;";
			var feedbackypos = "0px;";
		}

		var feedbackselector   = "div.nps-fb-box"+feedbackidSuffix;
		var feedbackproperties = "border: " + feedbackborderSize + " solid #000000; background: " + feedbackbg + " background-position: 0px " + feedbackypos;

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

		var feedbackselector   = "div.nps-tabs-box"+feedbackidSuffix+" div.nps-fb-box"+feedbackidSuffix;
		var feedbackproperties = "margin: 3px -4px 0px " + feedbackleftMargin + ";";

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);
	}

	// Top only background image
	if (feedbacktype == "top") {
		var feedbackbg = "url(" + feedbackNbgTopURL + ") repeat 0px 0px;";

		var feedbackselector   = "div.nps-sidebar"+feedbackidSuffix;
		var feedbackproperties = "border: " + feedbackborderSize + " solid #000000; background: " + feedbackbg;

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);
	}

	// Bottom only background image
	if (feedbacktype == "bot") {
		var feedbackbg = "url(" + feedbackNbgBotURL + ") repeat 0px 0px;";

		var feedbackselector   = "div.nps-fb-box"+feedbackidSuffix;
		var feedbackproperties = "border: " + feedbackborderSize + " solid #000000; background: " + feedbackbg;

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);

		var feedbackselector   = "div.nps-tabs-box"+feedbackidSuffix+" div.nps-fb-box"+feedbackidSuffix;
		var feedbackproperties = "margin: 3px -4px 0px " + feedbackleftMargin + ";";

		feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties);
	}

	document.getElementsByTagName("head")[0].appendChild(feedbacknode);
}


		 /**
         * Add CSS style to HTML DOM
         * @param node, selector, properties
		 * node= style element
		 * selector= class or ID selector e.g. div .nps OR div #nps
		 * properties= style (e.g. margin: 3px -4px 0px 10px)
         
         */



function feedbackaddCSSRule(feedbacknode, feedbackselector, feedbackproperties) {
	if (document.styleSheets) { // IE
		var feedbacklastSheet = document.styleSheets[document.styleSheets.length - 1];
		if (feedbacklastSheet && typeof feedbacklastSheet.addRule != 'undefined') {
			feedbacklastSheet.addRule('\r\n' + feedbackselector, feedbackproperties);
		}
		else { // Non-IE
			feedbacknode.appendChild(document.createTextNode('\r\n' + feedbackselector + ' {\r\n\t' + feedbackproperties + '\r\n}'));
		}
	}
	else { // Non-IE
		feedbacknode.appendChild(document.createTextNode('\r\n' + feedbackselector + ' {\r\n\t' + feedbackproperties + '\r\n}'));
	}
}


		 /**
         * Browser/OS detection
         */
var NPSBrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// For newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// For older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS: [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
NPSBrowserDetect.init();



		 /**
         * Handles IE6&7, Chrome (Mozilla), Safari css issues
         * 
         *
         
         
         */


function feedbacknpsCSS(){
	var npsbrow = NPSBrowserDetect.browser;
	var npsbrowver = NPSBrowserDetect.version;

	targethead = document.getElementsByTagName("head")[0];

	browserCSS = "";
	if ((npsbrow == "Explorer") && (npsbrowver == "6")) {
		browserCSS = "_ie6";
	} else if ((npsbrow == "Explorer") && (npsbrowver == "7")) {
		browserCSS = "_ie7";
	}
	else if ((npsbrow == "Explorer") && (npsbrowver == "8")) {
		browserCSS = "_ie8-2.0";
	}
	else if (npsbrow == "Mozilla") {
		browserCSS = "_chrome";
	} else if (npsbrow == "Safari") {
		browserCSS = "_safari";
	}

	if (browserCSS != "") {

		
		var npscssbrowser = document.createElement("link");
		npscssbrowser.setAttribute("rel","stylesheet");
		npscssbrowser.setAttribute("media","screen");

		npscssbrowser.setAttribute("href","http://" + widgetServer + "/feedback/overlay/css/nps" + browserCSS + ".css");
		targethead.appendChild(npscssbrowser);
	}

	if (document.compatMode && document.compatMode == "BackCompat") {
		var npscssquirks = document.createElement("link");
		npscssquirks.setAttribute("rel","stylesheet");
		npscssquirks.setAttribute("media","screen");

		if ((npsbrow == "Explorer") && (npsbrowver == "6")) {
			quirksCSS = "_ie6qm";
		} else if ((npsbrow == "Explorer") && (npsbrowver == "7")) {
			quirksCSS = "_ie6qm";
		} else if (npsbrow == "Firefox") {
			quirksCSS = "_ffqm";
		} else if (npsbrow == "Mozilla") {
			quirksCSS = "_chromeqm";
		} else if (npsbrow == "Safari") {
			quirksCSS = "_safariqm";
		}
		
		npscssquirks.setAttribute("href","http://sibetaq01.ext.nokia.com/feedback_widget/css/nps" + quirksCSS + ".css");
		targethead.appendChild(npscssquirks);
	}
}


		/**
         * Handles the insertion of the actual ratings code. 
         * Added some code to get localized text from server side php script
		 *
         
         * @returns localized text from the properties file using Ajax and PHP
         */

function feedbackcreateNPS(feedbackNprojId,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbackNprojLang,feedbacknewSuffix,NpsThanksMsg,feedbackdisplayName){
	
	var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbacknewSuffix);

	var feedbacktargetelem = document.getElementById("feedbacknps-tabs-box" + feedbacknewSuffix);
		// This will need to be replaced once the markup is complete and the script is needed to create the markup
		var feedbackrateHdr = document.createElement("div");
		feedbackrateHdr.setAttribute("id","feedbacknps-rec" + feedbacknewSuffix);
		var npsbrow = NPSBrowserDetect.browser;
		var npsbrowver = NPSBrowserDetect.version;
		if(document.getElementById('betainfo'))
		{
				feedbackrateHdr.style.width="70%";

				feedbackrateHdr.style.padding="5px";
				feedbackrateHdr.style.marginLeft="15%";
				feedbackrateHdr.className = "nps-rec";
		}
		else
		{
			if (window.ActiveXObject)
			{
				if (npsbrowver>5&&npsbrowver<8)
					{
						feedbackrateHdr.style.width="290px";

						feedbackrateHdr.style.padding="5px";
						feedbackrateHdr.style.marginLeft="30%";
						feedbackrateHdr.className = "nps-rec";
					}
			}
			 else
			{
				feedbackrateHdr.style.width="70%";

				feedbackrateHdr.style.padding="5px";
				feedbackrateHdr.style.marginLeft="15%";
				feedbackrateHdr.className = "nps-rec";
			}
		}

		var feedbackfeedHdr=document.createElement('div');

		feedbackfeedHdr.style.width="290px";
		feedbackfeedHdr.style.margin="0 0 10px 0";
		var feedbacktxtDiv=document.createElement('div');
		feedbacktxtDiv.style.width="100%";
		feedbacktxtDiv.style.height="30px";
		feedbacktxtDiv.style.color="#0550CD";
		feedbacktxtDiv.style.fontSize="14px";
		feedbacktxtDiv.className="txtDiv";
		feedbacktxtDiv.id="feedbackhdrfeed_"+feedbacknewSuffix;

		var feedbackhrlineDiv=document.createElement('div');
		
		feedbackhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:-7px;margin-top:5px;'/>";
	    
		feedbackfeedHdr.appendChild(feedbacktxtDiv);
			
		feedbackfeedHdr.appendChild(feedbackhrlineDiv);

		 (function($) {
		$.getJSON("http://"+widgetServer+"/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbackNprojLang+"&jsoncallback=?", function(data){
		$.each(data.texts, function(i,item){
		// Determine which text to display based on whether the user has submitted a rating or not
		var feedbacktabsDiv=document.createElement('div');
		feedbackrecDiv.appendChild(feedbackfeedHdr);



		if (feedbackrated == 0) {

			if (feedbackdisplayName=="")
			{
				feedbackrateHdr.innerHTML=item.nps_question + "<b>'"+feedbackNprojName+"'</b>" + item.nps_question_1;
			}
			else
			{
				feedbackrateHdr.innerHTML=item.nps_question + "<b>'"+feedbackdisplayName+"'</b>" + item.nps_question_1;
			}
		}
		else {
			var feedbackhdrTxt = document.createTextNode("You have already submitted a rating.");
		}

		feedbackrecDiv.appendChild(feedbackrateHdr);

		var feedbackrecULDiv=document.createElement('div');


		if(!document.getElementById('betainfo'))
			{
			if (window.ActiveXObject)
			{
				if (npsbrowver>5&&npsbrowver<8)
				{
					feedbackrecULDiv.style.marginLeft="40%";
				}
			}
			else
			{
			feedbackrecULDiv.style.marginLeft="20%";
			}
			}
			else
			{
				feedbackrecULDiv.style.marginLeft="20%";
			}
		

		var feedbackrecUL = document.createElement("ul");
		feedbackrecUL.setAttribute("id","feedbacknps-recs" + feedbacknewSuffix);
		feedbackrecUL.className = "nps-recs";
		feedbackrecULDiv.appendChild(feedbackrecUL);
		feedbackrecDiv.appendChild(feedbackrecULDiv);
	
	var feedbackrecsArray = new Array();
	// ******************* 	li class value	rel			rec		text for inside anchor and title attr	<a> class values	
	feedbackrecsArray[0]  = new Array(	"",			"feedbacknps0",		"0",		"",											""	);
	feedbackrecsArray[1]  = new Array(	"",			"feedbacknps1",		"1",		"",											""	);
	feedbackrecsArray[2]  = new Array(	"",			"feedbacknps2",		"2",		"",											""	);
	feedbackrecsArray[3]  = new Array(	"",			"feedbacknps3",		"3",		"",											""	);
	feedbackrecsArray[4]  = new Array(	"",			"feedbacknps4",		"4",		"",											""	);
	feedbackrecsArray[5]  = new Array(	"",			"feedbacknps5",		"5",		"",											""	);
	feedbackrecsArray[6]  = new Array(	"",			"feedbacknps6",		"6",		"",											""	);
	feedbackrecsArray[7]  = new Array(	"",			"feedbacknps7",		"7",		"",											""	);
	feedbackrecsArray[8]  = new Array(	"",			"feedbacknps8",		"8",		"",											""	);
	feedbackrecsArray[9]  = new Array(	"",			"feedbacknps9",		"9",		"",											""	);
	feedbackrecsArray[10] = new Array(	"",			"feedbacknps10",	"10",		"",											""	);

	for (feedbacki = 0; feedbacki < feedbackrecsArray.length; feedbacki++){
		var feedbackrecLI = document.createElement("li");
		var feedbackrecA = document.createElement("a");
		var feedbackrecSpan = document.createElement("span");
		var feedbackaTxt = document.createTextNode(feedbackrecsArray[i][2]);
		feedbackrecUL.appendChild(feedbackrecLI);
		feedbackrecLI.appendChild(feedbackrecA);
		feedbackrecLI.className = feedbackrecsArray[feedbacki][0];

		// If the user hasn't submitted a rating yet then create the recommendation URL
		if (feedbackrated == 0) {
			feedbackrecA.appendChild(feedbackrecSpan);
			feedbackrecA.setAttribute("rel", feedbackrecsArray[feedbacki][1]);
			
			feedbackrecA.setAttribute("href", "http://" + widgetServer + "/feedback/overlay/scripts/popup_recommend.php?version=2.0&projid=" + feedbackNprojId + "&pageurl=" + feedbackpageURL + "&rec=" + feedbackrecsArray[feedbacki][2]+"&idSuffix="+feedbacknewSuffix+"&lan="+feedbackNprojLang);
		
			feedbackrecA.setAttribute("title", feedbackrecsArray[i][3]);
			feedbackrecA.className = feedbackrecsArray[i][4];
		}

		feedbackrecSpan.appendChild(feedbackaTxt);
	}		

	// Insert labels below the NPS rating scale
	var feedbacklabelsDiv=document.createElement('div');

	if (!document.getElementById('betainfo'))
		{
			if (window.ActiveXObject)
			{
				if (npsbrowver>5&&npsbrowver<7)
				{
					feedbacklabelsDiv.style.marginLeft="40%";
					feedbacklabelsDiv.style.width="300px";
					
				}
				if (npsbrowver>6&&npsbrowver<8)
				{
					feedbacklabelsDiv.style.marginLeft="40%";
					feedbacklabelsDiv.style.width="300px";
					feedbacklabelsDiv.style.marginTop="-10px";
					
				}
			}
			else
			{
				feedbacklabelsDiv.style.marginLeft="20%";
			}
		}
		else
		{
			feedbacklabelsDiv.style.marginLeft="20%";
		}


	var feedbacklabelsHdr = document.createElement("div");
	feedbacklabelsHdr.setAttribute("id","feedbacknps-labels" + feedbacknewSuffix);
	feedbacklabelsHdr.className = "feedbacknps-labels";
	feedbacklabelsDiv.appendChild(feedbacklabelsHdr);
	feedbackrecDiv.appendChild(feedbacklabelsDiv);

	// Create labels
	var feedbacklabelsSpan = document.createElement("span");
	feedbacklabelsSpan.setAttribute("id","feedbacknot" + feedbacknewSuffix);
	var feedbacknotTxt = document.createTextNode(item.nps_not);

	feedbacklabelsHdr.appendChild(feedbacklabelsSpan);
	feedbacklabelsSpan.appendChild(feedbacknotTxt);

	var feedbacklabelsSpan = document.createElement("span");
	feedbacklabelsSpan.setAttribute("id","feedbackneutral" + feedbacknewSuffix);
	feedbacklabelsSpan.className = "feedbacknps-neutral";
	var feedbackneuTxt = document.createTextNode(item.nps_neutral);

	feedbacklabelsHdr.appendChild(feedbacklabelsSpan);
	feedbacklabelsSpan.appendChild(feedbackneuTxt);

	var feedbacklabelsSpan = document.createElement("span");
	feedbacklabelsSpan.setAttribute("id","feedbackextremely" + feedbacknewSuffix);
	feedbacklabelsSpan.className = "feedbacknps-extremely";
	var feedbackextTxt = document.createTextNode(item.nps_extremely);

	feedbacklabelsHdr.appendChild(feedbacklabelsSpan);
	feedbacklabelsSpan.appendChild(feedbackextTxt);

	var feedbacklabelsHdr = document.createElement("div");
	feedbacklabelsHdr.setAttribute("id","feedbacknps-labels-2" + feedbacknewSuffix);
	feedbacklabelsHdr.className = "feedbacknps-labels-2";
	feedbacklabelsDiv.appendChild(feedbacklabelsHdr);
	feedbackrecDiv.appendChild(feedbacklabelsDiv);

	var feedbacklabelsSpan = document.createElement("span");
	feedbacklabelsSpan.setAttribute("id","feedbacklikely" + feedbacknewSuffix);
	feedbacklabelsSpan.className = "feedbacknps-likely";
	var feedbacklikTxt = document.createTextNode(item.nps_likely);
	feedbacklabelsHdr.appendChild(feedbacklabelsSpan);
	feedbacklabelsSpan.appendChild(feedbacklikTxt);

	var feedbacklabelsSpan = document.createElement("span");
	feedbacklabelsSpan.setAttribute("id","feedbacklikely-2" + feedbacknewSuffix);
	feedbacklabelsSpan.className = "feedbacknps-likely-2";
	var feedbacklikTxt = document.createTextNode(item.nps_likely);
	feedbacklabelsHdr.appendChild(feedbacklabelsSpan);
	feedbacklabelsSpan.appendChild(feedbacklikTxt);

	// Clear
	var feedbackclearDiv = document.createElement("div");
	feedbackclearDiv.setAttribute("style","clear:both;");
	feedbackrecDiv.appendChild(feedbackclearDiv);

	var feedbackNpsBottomhrlineDiv=document.createElement('div');
	if (window.ActiveXObject)
	{
	feedbackNpsBottomhrlineDiv.style.marginTop="15px";
	}
	feedbackNpsBottomhrlineDiv.style.marginBottom="20px";
	feedbackNpsBottomhrlineDiv.id="feedbackhrline_"+feedbacknewSuffix;
	feedbackNpsBottomhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:-7px;margin-top:5px;'/>";
	    

	feedbackrecDiv.appendChild(feedbackNpsBottomhrlineDiv);

	
	feedbackrecs("feedbacknps-recs" + feedbacknewSuffix);
	feedbackelemSniffer(NpsThanksMsg);


		  });
		 
		
		});
		})(jQuery);//



}


function feedbackcreateFeedBack(feedbackNprojId,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbackNprojLang,feedbacknewSuffix,NpsShowParam,NpsEmail,NpsEmailChange,NpsThanksMsg,feedbackdisplayName){
	


	feedbackwriteJS(feedbackNprojLang,feedbackNprojId,NpsEmail,NpsEmailChange,NpsThanksMsg);

	var feedbackChangeSuffix='"'+feedbacknewSuffix+'"';
	var feedbackChangewidgetProjId='"'+feedbackNprojId+'"';
	var feedbackChangelan='"'+feedbackNprojLang+'"';
	var feedbackChangeNprojName='"'+feedbackNprojName+'"';
	var feedbackChangeNbgURL='"'+feedbackNbgURL+'"';
	var feedbackChangeNbgTopURL='"'+feedbackNbgTopURL+'"';
	var feedbackChangeNbgBotURL='"'+feedbackNbgBotURL+'"';
	var feedbackChangeNborder='"'+feedbackNborder+'"';
	var feedbackChangeNfontColor='"'+feedbackNfontColor+'"';
	var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbacknewSuffix);
	feedbackrecDiv.style.padding="5px 5px 5px 5px";

	var feedbacktargetelem = document.getElementById("feedbacknps-tabs-box" + feedbacknewSuffix);
		// This will need to be replaced once the markup is complete and the script is needed to create the markup
		var feedbackrateHdr = document.createElement("div");
		feedbackrateHdr.setAttribute("id","nps-rec_f" + feedbacknewSuffix);
		feedbackrateHdr.className = "nps-rec";

		var feedbackmainFeedBackDiv=document.createElement('div');
		feedbackmainFeedBackDiv.setAttribute("id","feedbackmainFeedBackDiv_"+feedbacknewSuffix);


		var feedbackifrmDiv=document.createElement('div');
		feedbackifrmDiv.innerHTML='<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>';
		

		var feedbackfeedbackFormSecond=document.createElement('form');
		feedbackfeedbackFormSecond.setAttribute("action","http://"+widgetServer+"/feedback/overlay/scripts/popup_feedback_first.php?version=2.0&projid="+feedbackNprojId+"&pageurl="+encodeURI(feedbackpageURL)+"&suffix="+feedbacknewSuffix);
		feedbackfeedbackFormSecond.setAttribute("method","post");

		feedbackfeedbackFormSecond.onsubmit=function(){
			
			return feedbackvalidateFeedbackForm(feedbacknewSuffix,feedbackNprojId,feedbackNprojLang,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsShowParam,NpsThanksMsg,feedbackdisplayName);
			
			};

			feedbackfeedbackFormSecond.setAttribute("enctype","multipart/form-data");
		feedbackfeedbackFormSecond.setAttribute("encoding","multipart/form-data");
		feedbackfeedbackFormSecond.setAttribute("target","upload_target");
		
		var feedbackfeedHdr=document.createElement('div');

		feedbackfeedHdr.style.width="390px";
		
		feedbackfeedHdr.style.margin="0 0 10px 0";
		var feedbacktxtDiv=document.createElement('div');
		feedbacktxtDiv.style.width="100%";
		feedbacktxtDiv.style.color="#0550CD";
		feedbacktxtDiv.style.fontSize="14px";


		
		feedbacktxtDiv.className="txtDiv";
		feedbacktxtDiv.style.marginTop="20px";
		feedbacktxtDiv.style.marginBottom="20px";
		var feedbackcloseLink=document.createElement('a');
		feedbackcloseLink.id="feedbackfdbk_close";
		feedbackcloseLink.className="fdbk_close";
		feedbackcloseLink.href="javascript:feedbackhidePopup();javascript:feedbackhideBox();";
		

		document.getElementById('nps_widget_script').appendChild(feedbackcloseLink);

		 (function($) {
		$.getJSON("http://"+widgetServer+"/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbackNprojLang+"&jsoncallback=?", function(data){
		$.each(data.texts, function(i,item){
		// Determine which text to display based on whether the user has submitted a rating or not
			feedbacktxtDiv.innerHTML=item.popup_feedback_header;
			

			var feedbacktabsDiv=document.createElement('div');
		
				
			feedbacktabsDiv.style.marginTop="10px";
			feedbacktabsDiv.innerHTML="<table id='NPStabTable' style='border-collapse:inherit;' cellspacing=0 cellpadding=0><tr><td><div onclick='javascript:feedbackshowSecondForm("+feedbacknewSuffix+");' id='feedbackImg_"+feedbacknewSuffix+"' style='margin-bottom:0px;cursor:pointer;width:80px;height:13px;border: 1px solid #ccc;background-color:#44AA33;font-family:arial;font-size:12px;color:#fff;text-align:center;padding:5px;font-weight:bold;'>Feedback</div></td><td>&nbsp;&nbsp;</td><td><div onclick='javascript:feedbackshowFirstForm("+feedbacknewSuffix+");' style='margin-bottom:0px;cursor:pointer;width:80px;height:13px;border: 1px solid #ccc;background-color:#E9E9E9;font-family:arial;font-size:12px;color:#333333;text-align:center;padding:5px;font-weight:bold;' id='detailsImg_"+feedbacknewSuffix+"'>Details</div></td></tr></table>";

			var feedbackupperhrlineDiv=document.createElement('div');

			var npsbrowver = NPSBrowserDetect.version;
			var npsbrow = NPSBrowserDetect.browser;

			if (document.implementation && document.implementation.createDocument)
			{
				if (document.getElementById('betainfo'))
			   {
					feedbackupperhrlineDiv.style.marginTop="-13px";
			   }
			   else
				{
					feedbackupperhrlineDiv.style.marginTop="-1px";
			   }
				
			}
			else if(npsbrow=="Explorer"&&npsbrowver==8)
			{
				if (document.getElementById('betainfo'))
			   {
					feedbackupperhrlineDiv.style.marginTop="-13px";
			   }
			   else
				{
					feedbackupperhrlineDiv.style.marginTop="0px";
			    }
			}
			else
			{
				feedbackupperhrlineDiv.style.marginTop="-1px";
			}

			feedbackupperhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:-7px;'/>";
			feedbacktxtDiv.appendChild(feedbacktabsDiv);
			feedbacktxtDiv.appendChild(feedbackupperhrlineDiv);
			feedbackfeedHdr.appendChild(feedbacktxtDiv);
			
			//feedbackfeedbackForm.appendChild(feedbackfeedHdr);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedHdr);
			var feedbackfeedbackTabDiv=document.createElement('div');
			feedbackfeedbackTabDiv.id="feedbackTabDiv"+feedbacknewSuffix;
			feedbackfeedbackTabDiv.style.display="none";

			var feedbackinfoDivTxt=document.createElement('div');
			
			if (!document.getElementById('betainfo'))
			{
			   feedbackinfoDivTxt.style.width="390px";
			}
			feedbackinfoDivTxt.innerHTML="<p><b>Optional.</b> If you'd like to provide additional details , such as your device model or include a file attachment, you may do so here. </p>";
			feedbackfeedbackTabDiv.appendChild(feedbackinfoDivTxt);
			//feedbackfeedbackForm.appendChild(feedbackfeedbackTabDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackTabDiv);

			
			var feedbackdeviceTypeDiv=document.createElement('div');
			feedbackdeviceTypeDiv.style.clear="both";
			feedbackdeviceTypeDiv.style.margin="15px 0 0 10px";
			feedbackdeviceTypeDiv.innerHTML="<select name='devicemodel_"+feedbacknewSuffix+"' id='devicemodel_"+feedbacknewSuffix+"'><option value='' selected>Select Device Model</option><option value='Nokia E90'>Nokia E90</option><option value='Nokia E75'>Nokia E75</option><option value='Nokia E71'>Nokia E71</option><option value='Nokia E70'>Nokia E70</option><option value='Nokia E66'>Nokia E66</option><option value='Nokia E65'>Nokia E65</option><option value='Nokia E63'>Nokia E63</option><option value='Nokia E62'>Nokia E62</option><option value='Nokia E61'>Nokia E61</option><option value='Nokia E61i'>Nokia E61i</option><option value='Nokia E60'>Nokia E60</option><option value='Nokia E51'>Nokia E51</option><option value='Nokia E50'>Nokia E50</option><option value='Nokia N800 Internet'>Nokia N800 Internet</option><option value='Nokia N800 Internet Tablet'>Nokia N800 Internet Tablet</option><option value='Nokia N97'>Nokia N97</option><option value='Nokia N96'>Nokia N96</option><option value='Nokia N95'>Nokia N95</option><option value='Nokia N95 8GB'>Nokia N95 8GB</option><option value='Nokia N93'>Nokia N93</option><option value='Nokia N93i'>Nokia N93i</option><option value='Nokia N91'>Nokia N91</option><option value='Nokia N91 8GB'>Nokia N91 8GB</option><option value='Nokia N90'>Nokia N90</option><option value='Nokia N85'>Nokia N85</option><option value='Nokia N82'>Nokia N82</option><option value='Nokia N81'>Nokia N81</option><option value='Nokia N81 8GB'>Nokia N81 8GB</option><option value='Nokia N80'>Nokia N80</option><option value='Nokia N80 Internet'>Nokia N80 Internet</option><option value='Nokia N80 Internet Edition'>Nokia N80 Internet Edition</option><option value='Nokia N79'>Nokia N79</option><option value='Nokia N78'>Nokia N78</option><option value='Nokia N77'>Nokia N77</option><option value='Nokia N76'>Nokia N76</option><option value='Nokia N73'>Nokia N73</option><option value='Nokia N73ME'>Nokia N73ME</option><option value='Nokia N72'>Nokia N72</option><option value='Nokia N70'>Nokia N70</option><option value='Nokia N70 Music Edition'>Nokia N70 Music Edition</option><option value='Nokia 9500'>Nokia 9500</option><option value='Nokia 9500 Communicator'>Nokia 9500 Communicator</option><option value='Nokia 9300'>Nokia 9300</option><option value='Nokia 9300i'>Nokia 9300i</option><option value='Nokia 9210'>Nokia 9210</option><option value='Nokia 9210 Communicator'>Nokia 9210 Communicator</option><option value='Nokia 9210i'>Nokia 9210i</option><option value='Nokia 9210i Communicator'>Nokia 9210i Communicator</option><option value='Nokia 9110'>Nokia 9110</option><option value='Nokia 9110i Communicator'>Nokia 9110i Communicator</option><option value='Nokia 8910'>Nokia 8910</option><option value='Nokia 8910i'>Nokia 8910i</option><option value='Nokia 8890'>Nokia 8890</option><option value='Nokia 8850'>Nokia 8850</option><option value='Nokia 8800'>Nokia 8800</option><option value='Nokia 8800 Arte'>Nokia 8800 Arte</option><option value='Nokia 8800 Carborn Arte'>Nokia 8800 Carborn Arte</option><option value='Nokia 8800 Sapphire Arte'>Nokia 8800 Sapphire Arte</option><option value='Nokia 8800 Sirocco'>Nokia 8800 Sirocco</option><option value='Nokia 8600 Luna'>Nokia 8600 Luna</option><option value='Nokia 8310'>Nokia 8310</option><option value='Nokia 8210'>Nokia 8210</option><option value='Nokia 7900 Crystal Prism'>Nokia 7900 Crystal Prism</option><option value='Nokia 7900 Prism'>Nokia 7900 Prism</option><option value='Nokia 7710'>Nokia 7710</option><option value='Nokia 7650'>Nokia 7650</option><option value='Nokia 7610'>Nokia 7610</option><option value='Nokia 7610 Supernova'>Nokia 7610 Supernova</option><option value='Nokia 7600'>Nokia 7600</option><option value='Nokia 7510 Supernova'>Nokia 7510 Supernova</option><option value='Nokia 7500 Prism'>Nokia 7500 Prism</option><option value='Nokia 7390'>Nokia 7390</option><option value='Nokia 7380'>Nokia 7380</option><option value='Nokia 7373'>Nokia 7373</option><option value='Nokia 7370'>Nokia 7370</option><option value='Nokia 7360'>Nokia 7360</option><option value='Nokia 7310 Supernova'>Nokia 7310 Supernova</option><option value='Nokia 7280'>Nokia 7280</option><option value='Nokia 7270'>Nokia 7270</option><option value='Nokia 7260'>Nokia 7260</option><option value='Nokia 7250'>Nokia 7250</option><option value='Nokia 7250i'>Nokia 7250i</option><option value='Nokia 7210'>Nokia 7210</option><option value='Nokia 7210 Supernova'>Nokia 7210 Supernova</option><option value='Nokia 7200'>Nokia 7200</option><option value='Nokia 7110'>Nokia 7110</option><option value='Nokia 7070 Prism'>Nokia 7070 Prism</option><option value='Nokia 6822'>Nokia 6822</option><option value='Nokia 6820'>Nokia 6820</option><option value='Nokia 6810'>Nokia 6810</option><option value='Nokia 6800'>Nokia 6800</option><option value='Nokia 6681'>Nokia 6681</option><option value='Nokia 6680'>Nokia 6680</option><option value='Nokia 6670'>Nokia 6670</option><option value='Nokia 6650'>Nokia 6650</option><option value='Nokia 6630'>Nokia 6630</option><option value='Nokia 6610'>Nokia 6610</option><option value='Nokia 6610i'>Nokia 6610i</option><option value='Nokia 6600'>Nokia 6600</option><option value='Nokia 6600 Fold'>Nokia 6600 Fold</option><option value='Nokia 6600 slide'>Nokia 6600 slide</option><option value='Nokia 6555'>Nokia 6555</option><option value='Nokia 6510'>Nokia 6510</option><option value='Nokia 6500 Classic'>Nokia 6500 Classic</option><option value='Nokia 6500 Slide'>Nokia 6500 Slide</option><option value='Nokia 6310'>Nokia 6310</option><option value='Nokia 6310i'>Nokia 6310i</option><option value='Nokia 6303 Classic'>Nokia 6303 Classic</option><option value='Nokia 6301'>Nokia 6301</option><option value='Nokia 6300'>Nokia 6300</option><option value='Nokia 6300i'>Nokia 6300i</option><option value='Nokia 6290'>Nokia 6290</option><option value='Nokia 6288'>Nokia 6288</option><option value='Nokia 6280'>Nokia 6280</option><option value='Nokia 6270'>Nokia 6270</option><option value='Nokia 6267'>Nokia 6267</option><option value='Nokia 6260'>Nokia 6260</option><option value='Nokia 6250'>Nokia 6250</option><option value='Nokia 6234'>Nokia 6234</option><option value='Nokia 6233'>Nokia 6233</option><option value='Nokia 6230'>Nokia 6230</option><option value='Nokia 6230i'>Nokia 6230i</option><option value='Nokia 6220'>Nokia 6220</option><option value='Nokia 6220 Classic'>Nokia 6220 Classic</option><option value='Nokia 6212 Classic'>Nokia 6212 Classic</option><option value='Nokia 6210'>Nokia 6210</option><option value='Nokia 6210 Navigator'>Nokia 6210 Navigator</option><option value='Nokia 6170'>Nokia 6170</option><option value='Nokia 6151'>Nokia 6151</option><option value='Nokia 6150'>Nokia 6150</option><option value='Nokia 6136'>Nokia 6136</option><option value='Nokia 6131'>Nokia 6131</option><option value='Nokia 6131 NFC'>Nokia 6131 NFC</option><option value='Nokia 6125'>Nokia 6125</option><option value='Nokia 6124 Classic'>Nokia 6124 Classic</option><option value='Nokia 6121 Classic'>Nokia 6121 Classic</option><option value='Nokia 6120 Classic'>Nokia 6120 Classic</option><option value='Nokia 6111'>Nokia 6111</option><option value='Nokia 6110 Navigator'>Nokia 6110 Navigator</option><option value='Nokia 6103'>Nokia 6103</option><option value='Nokia 6101'>Nokia 6101</option><option value='Nokia 6100'>Nokia 6100</option><option value='Nokia 6090'>Nokia 6090</option><option value='Nokia 6086'>Nokia 6086</option><option value='Nokia 6085'>Nokia 6085</option><option value='Nokia 6080'>Nokia 6080</option><option value='Nokia 6070'>Nokia 6070</option><option value='Nokia 6060'>Nokia 6060</option><option value='Nokia 6030'>Nokia 6030</option><option value='Nokia 6021'>Nokia 6021</option><option value='Nokia 6020'>Nokia 6020</option><option value='Nokia 5800 XpressMusic'>Nokia 5800 XpressMusic</option><option value='Nokia 5700'>Nokia 5700</option><option value='Nokia 5700 XpressMusic'>Nokia 5700 XpressMusic</option> <option value='Nokia 5610 XpressMusic'>Nokia 5610 XpressMusic</option><option value='Nokia 5510'>Nokia 5510</option><option value='Nokia 5500'>Nokia 5500</option><option value='Nokia 5320'>Nokia 5320</option><option value='Nokia 5320 XpressMusic'>Nokia 5320 XpressMusic</option><option value='Nokia 5310 XpressMusic'>Nokia 5310 XpressMusic</option><option value='Nokia 5300'>Nokia 5300</option><option value='Nokia 5300 XpressMusic'>Nokia 5300 XpressMusic</option><option value='Nokia 5220 XpressMusic'>Nokia 5220 XpressMusic</option><option value='Nokia 5210'>Nokia 5210</option><option value='Nokia 5200'>Nokia 5200</option><option value='Nokia 5140'>Nokia 5140</option><option value='Nokia 5140i'>Nokia 5140i</option><option value='Nokia 5110'>Nokia 5110</option><option value='Nokia 5100'>Nokia 5100</option><option value='Nokia 5070'>Nokia 5070</option><option value='Nokia 5000'>Nokia 5000</option><option value='Nokia 3660'>Nokia 3660</option><option value='Nokia 3650'>Nokia 3650</option><option value='Nokia 3600 Slide'>Nokia 3600 Slide</option> <option value='Nokia 3510'>Nokia 3510</option><option value='Nokia 3510i'>Nokia 3510i</option><option value='Nokia 3500 Classic'>Nokia 3500 Classic</option><option value='Nokia 3410'>Nokia 3410</option><option value='Nokia 3330'>Nokia 3330</option><option value='Nokia 3310'>Nokia 3310</option><option value='Nokia 3300'>Nokia 3300</option><option value='Nokia 3250'>Nokia 3250</option><option value='Nokia 3250 XpressMusic'>Nokia 3250 XpressMusic</option><option value='Nokia 3230'>Nokia 3230</option><option value='Nokia 3220'>Nokia 3220</option><option value='Nokia 3210'>Nokia 3210</option><option value='Nokia 3200'>Nokia 3200</option><option value='Nokia 3120'>Nokia 3120</option><option value='Nokia 3120 Classic'>Nokia 3120 Classic</option><option value='Nokia 3110 classic'>Nokia 3110 classic</option><option value='Nokia 3110 Evolve'>Nokia 3110 Evolve</option><option value='Nokia 3109 Classic'>Nokia 3109 Classic</option><option value='Nokia 3100'>Nokia 3100</option><option value='Nokia 2760'>Nokia 2760</option><option value='Nokia 2680 Slide'>Nokia 2680 Slide</option><option value='Nokia 2652'>Nokia 2652</option><option value='Nokia 2650'>Nokia 2650</option><option value='Nokia 2630'>Nokia 2630</option><option value='Nokia 2626'>Nokia 2626</option><option value='Nokia 2610'>Nokia 2610</option><option value='Nokia 2600'>Nokia 2600</option><option value='Nokia 2600 Classic'>Nokia 2600 Classic</option><option value='Nokia 2310'>Nokia 2310</option><option value='Nokia 2300'>Nokia 2300</option><option value='Nokia 2100'>Nokia 2100</option><option value='Nokia 1680 Classic'>Nokia 1680 Classic</option><option value='Nokia 1650'>Nokia 1650</option><option value='Nokia 1611'>Nokia 1611</option><option value='Nokia 1600'>Nokia 1600</option><option value='Nokia 1209'>Nokia 1209</option><option value='Nokia 1208'>Nokia 1208</option><option value='Nokia 1200'>Nokia 1200</option><option value='Nokia 1112'>Nokia 1112</option><option value='Nokia 1110'>Nokia 1110</option><option value='Nokia 1110i'>Nokia 1110i</option><option value='Nokia 1101'>Nokia 1101</option><option value='Nokia 1100'>Nokia 1100</option><option value='Nokia 810'>Nokia 810</option><option value='Nokia 770 Internet'>Nokia 770 Internet</option><option value='Nokia 770 Internet Tablet'>Nokia 770 Internet Tablet</option><option value='Nokia 616'>Nokia 616</option><option value='Nokia 610'>Nokia 610</option><option value=''>Select Device Model</option></select>";
			
			feedbackfeedbackTabDiv.appendChild(feedbackdeviceTypeDiv);
			//feedbackfeedbackForm.appendChild(feedbackfeedbackTabDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackTabDiv);


			var feedbackfeedUploadDiv=document.createElement('div');
			feedbackfeedUploadDiv.style.margin="10px 0 0 10px";
			
			var feedbackuploadmaxSize= document.createElement('input');
			feedbackuploadmaxSize.type="hidden";
			feedbackuploadmaxSize.name="MAX_FILE_SIZE";
			feedbackuploadmaxSize.value="2000000";

			var feedbackfeedUpload=document.createElement('input');
			feedbackfeedUpload.style.border="1px solid #ccc";
			feedbackfeedUpload.setAttribute("type","file");
			feedbackfeedUpload.name="feedupload_"+feedbacknewSuffix;
			feedbackfeedUpload.id= "feedupload_"+feedbacknewSuffix;

			feedbackfeedUpload.setAttribute("size","47");
			feedbackfeedUpload.className="uploadClass";
			

			feedbackfeedUploadDiv.appendChild(feedbackuploadmaxSize);
			feedbackfeedUploadDiv.appendChild(feedbackfeedUpload);
			feedbackfeedbackTabDiv.appendChild(feedbackfeedUploadDiv);
			//feedbackfeedbackForm.appendChild(feedbackfeedbackTabDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackTabDiv);

			var feedbackhrlineDiv=document.createElement('div');
			if (window.ActiveXObject)
			{
				feedbackhrlineDiv.style.marginTop="15px";
			}
			else
			{
				feedbackhrlineDiv.style.marginTop="15px";
			}
			feedbackhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:-7px;'/>";
			feedbackfeedbackTabDiv.appendChild(feedbackhrlineDiv);
			//feedbackfeedbackForm.appendChild(feedbackfeedbackTabDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackTabDiv);
			
			var feedbackfeedSubmitBtn=document.createElement('div');

			if (!document.getElementById('betainfo'))
			{
				feedbackfeedSubmitBtn.style.width="100%";
			}
			feedbackfeedSubmitBtn.style.margin="10px 0 0 40%";
			
			feedbackfeedSubmitBtn.innerHTML="<input type='submit' id='nps-fb-submit-second" + feedbacknewSuffix + "' class='nps-fb-submit-pop' value='Submit' style='display:inline;'/>";
			
			feedbackfeedbackTabDiv.appendChild(feedbackfeedSubmitBtn);

			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackTabDiv);


			//feedbackmainFeedBackDiv.appendChild(feedbackfeedbackForm);
			feedbackmainFeedBackDiv.appendChild(feedbackfeedbackFormSecond);
			feedbackmainFeedBackDiv.appendChild(feedbackifrmDiv);



			var feedbackfeedbackSecondDiv=document.createElement('div');
			feedbackfeedbackSecondDiv.id="feedbackSecondDiv"+feedbacknewSuffix;
			

			var feedbackfeedTypeDiv=document.createElement('div');
			feedbackfeedTypeDiv.style.clear="both";
			feedbackfeedTypeDiv.style.margin="15px 0 0 10px";
			feedbackfeedTypeDiv.innerHTML="<div id='feedbacktypediv_"+feedbacknewSuffix+"' style='width:332px;padding:5px;'><select name='feedbacktype_"+feedbacknewSuffix+"' id='feedbacktype_"+feedbacknewSuffix+"'><option value=''>Select Feedback Type</option><option value='question'>Question</option><option value='suggestion'>Suggestion</option><option value='comment'>Comment</option><option value='error'>Error</option></select></div>";
			
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedTypeDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);


			var feedbackfeedEmailDiv=document.createElement('div');
			if (window.ActiveXObject)
			{
			if (npsbrowver>5&&npsbrowver<7)
				{
					 if (!document.getElementById('betainfo'))
					 {
						
						feedbackfeedEmailDiv.style.margin="5px 0 0 5px";
					 }
					 else
						{
							
							feedbackfeedEmailDiv.style.margin="5px 0 0 10px"; 
						}
					
					 
				}
				else if(npsbrowver>6&&npsbrowver<8)
				{
					
					 if (!document.getElementById('betainfo'))
					 {
						
						feedbackfeedEmailDiv.style.margin="5px 0 0 5px";
					 }
					 else
						{
							
							feedbackfeedEmailDiv.style.margin="5px 0 0 10px"; 
						}
					
				 }

			}
			else
			{
				
				
				feedbackfeedEmailDiv.style.margin="5px 0 0 13px";
			}
			//var feedbackfeedEmail=document.createElement('input');
			//feedbackfeedEmail.className="nps-fb-email";
			//feedbackfeedEmail.setAttribute("type","text");
			//feedbackfeedEmail.setAttribute("name","feedemail_"+feedbacknewSuffix);
			//feedbackfeedEmail.setAttribute("id","feedemail_"+feedbacknewSuffix);
			//feedbackfeedEmail.style.width="330px";
			//feedbackfeedEmail.style.height="18px";
			//,NpsEmail,NpsEmailChange,NpsThanksMsg
			if (NpsEmail!="")
			{
				if (NpsEmailChange=="yes")
				{
					feedbackfeedEmailDiv.innerHTML='<div style="padding:5px;"><input type="text" value="'+NpsEmail+'" id="feedemail_' + feedbacknewSuffix + '" style="width:330px;height:17px;" class="nps-fb-email" name="feedemail_'+feedbacknewSuffix+'" \/><\/div>';
					//feedbackfeedEmail.value=NewNpsEmail;
				}
				else
				{
					feedbackfeedEmailDiv.innerHTML='<div style="padding:5px;"><input type="text" value="'+NpsEmail+'" id="feedemail_' + feedbacknewSuffix + '" style="width:330px;height:17px;" class="nps-fb-email" name="feedemail_'+feedbacknewSuffix+'" readonly\/><\/div>';
					//feedbackfeedEmail.value=NewNpsEmail;
				}
				
			}
			else
			{
				//str+='<input type="text" value="Your email address (opt.)" id="nps-fb-email' + idSuffix + '" style="width:125px;height:17px;" class="nps-fb-email" name="fb-email" onfocus="updateContents(this);" \/>';
				var feedemailId="'feedemail_"+feedbacknewSuffix+"'";
				feedbackfeedEmailDiv.innerHTML='<div style="padding:5px;"><input type="text" value="Enter your email address" id="feedemail_' + feedbacknewSuffix + '" style="width:330px;height:17px;" class="nps-fb-email" name="feedemail_'+feedbacknewSuffix+'" onfocus="feedbackupdateContents('+feedemailId+');" \/><\/div>';
			}
			
			
			
			//feedbackfeedEmail.value="Enter your email address";
			//feedbackfeedEmail.setAttribute("onfocus","feedbackupdateContents('feedemail_"+feedbacknewSuffix+"');");
			//feedbackfeedEmail.onclick=function(){feedbackupdateContents('feedemail_'+feedbacknewSuffix);}
			
			//feedbackfeedEmailDiv.appendChild(feedbackfeedEmail);
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedEmailDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);

			
			var feedbackfeedDetailsDiv=document.createElement('div');
			feedbackfeedDetailsDiv.style.margin="10px 0 0 10px";
			feedbackfeedDetailsDiv.style.padding="5px";
			var feedbackfeedDetails=document.createElement('textarea');
			feedbackfeedDetails.setAttribute("name","feedbackdetails_"+feedbacknewSuffix);
			feedbackfeedDetails.setAttribute("id","feedbackdetails_"+feedbacknewSuffix);
			feedbackfeedDetails.setAttribute("rows","7");
			feedbackfeedDetails.setAttribute("cols","33");
			feedbackfeedDetails.style.width="330px";
			feedbackfeedDetails.style.border="1px solid #ccc";

			
			feedbackfeedDetailsDiv.appendChild(feedbackfeedDetails);
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedDetailsDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);
	
			var feedbackfeedAgreeOptionalDiv=document.createElement('div');
			feedbackfeedAgreeOptionalDiv.style.margin="15px 0 0 10px";
			var feedbackfeedAgreeOptional=document.createElement('input');


			feedbackfeedAgreeOptional.setAttribute("type","checkbox");
			feedbackfeedAgreeOptional.setAttribute("name","feedagreeoptional_"+feedbacknewSuffix);
			feedbackfeedAgreeOptional.setAttribute("id","feedagreeoptional_"+feedbacknewSuffix);
			
			var feedbackfeedAgreeOptionalLabel=document.createElement('label');
			
			feedbackfeedAgreeOptionalLabel.innerHTML=item.popup_feedback_optional_agreement;
			

			
			feedbackfeedAgreeOptionalDiv.appendChild(feedbackfeedAgreeOptional);
			feedbackfeedAgreeOptionalDiv.appendChild(feedbackfeedAgreeOptionalLabel);
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedAgreeOptionalDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);


			var feedbackfeedAgreeRequireDiv=document.createElement('div');
			
			 feedbackfeedAgreeRequireDiv.style.width="290px";
			feedbackfeedAgreeRequireDiv.style.margin="5px 0 0 10px";
			var feedbackfeedAgreeRequire=document.createElement('input');
			feedbackfeedAgreeRequire.setAttribute("type","checkbox");
			feedbackfeedAgreeRequire.setAttribute("name","feedagreeaequire_"+feedbacknewSuffix);
			feedbackfeedAgreeRequire.setAttribute("id","feedagreeaequire_"+feedbacknewSuffix);
			
			
			var feedbackfeedAgreeRequireLabel=document.createElement('label');
			feedbackfeedAgreeRequireLabel.setAttribute('id','feedAgreeRequireLabel_'+feedbacknewSuffix);
			
			feedbackfeedAgreeRequireLabel.innerHTML="<b>"+item.popup_feedback_require_agreement+"</b>";
			

			
			feedbackfeedAgreeRequireDiv.appendChild(feedbackfeedAgreeRequire);
			feedbackfeedAgreeRequireDiv.appendChild(feedbackfeedAgreeRequireLabel);
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedAgreeRequireDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);


			var feedbackfeedLegalAgrrDiv=document.createElement('div');
			feedbackfeedLegalAgrrDiv.style.margin="2px 0 0 30px";
			if(!document.getElementById('betainfo'))
			{
			
			feedbackfeedLegalAgrrDiv.style.width="300px";  
			
			}
			var feedbackfeedLegalAgrr=document.createElement('a');
			feedbackfeedLegalAgrr.setAttribute("href","javascript:feedbackshowLegal('"+feedbacknewSuffix+"','"+feedbackNprojLang+"');");
			feedbackfeedLegalAgrr.setAttribute("name","feedlegalagrr");
			feedbackfeedLegalAgrr.setAttribute("id","feedlegalagrr_"+feedbacknewSuffix);
			feedbackfeedLegalAgrr.innerHTML=item.popup_feedback_legal_agreement_view;
			feedbackfeedLegalAgrrDiv.appendChild(feedbackfeedLegalAgrr);
			feedbackfeedbackSecondDiv.appendChild(feedbackfeedLegalAgrrDiv);
			
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);
			var feedbackfeedLegalTxtDiv=document.createElement('div');
			feedbackfeedLegalTxtDiv.style.margin="2px 0 0 30px";
			feedbackfeedLegalTxtDiv.style.width="325px";
			feedbackfeedLegalTxtDiv.style.backgroundColor="#FFFFF2";
			feedbackfeedLegalTxtDiv.setAttribute('id','feedlegaltxtdiv_'+feedbacknewSuffix);
			feedbackfeedLegalTxtDiv.style.display="none";
			feedbackfeedLegalTxtDiv.innerHTML="<p align='justify'><span style='font-family:arial;font-size:10px;'>"+item.popup_feedback_legal_text+"</span></p>";

			feedbackfeedbackSecondDiv.appendChild(feedbackfeedLegalTxtDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);
					

			var feedbackhrlineDiv=document.createElement('div');
			if (window.ActiveXObject)
			{
			feedbackhrlineDiv.style.marginTop="15px";
			}
			feedbackhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:-7px;margin-top:5px;'/>";
			feedbackfeedbackSecondDiv.appendChild(feedbackhrlineDiv);
			//feedbackfeedbackForm.appendChild(feedbackfeedbackSecondDiv);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);

			var feedbackfeedSubmitBtn=document.createElement('div');
			if (!document.getElementById('betainfo'))
			{
				feedbackfeedSubmitBtn.style.width="100%";
			}
			feedbackfeedSubmitBtn.style.margin="10px 0 0 40%";
			
			feedbackfeedSubmitBtn.innerHTML="<input type='submit' id='nps-fb-submit-second" + feedbacknewSuffix + "' class='nps-fb-submit-pop' value='Submit' style='display:inline;'/>";

			feedbackfeedbackSecondDiv.appendChild(feedbackfeedSubmitBtn);
			feedbackfeedbackFormSecond.appendChild(feedbackfeedbackSecondDiv);


			feedbackmainFeedBackDiv.appendChild(feedbackfeedbackFormSecond);
			feedbackrecDiv.appendChild(feedbackmainFeedBackDiv);

			feedbackelemSniffer(NpsThanksMsg);


		  });
		 
		
		});
		})(jQuery);//


}


		 /**
         * Handles the rating hover states
         * 
         *
         
         
         */

function feedbackrecs(feedbackRecid){

	if (!document.getElementById) return false;
	var feedbacknumberlist = document.getElementById(feedbackRecid);

	var feedbacknumbers = feedbacknumberlist.getElementsByTagName("a");
	for (feedbacki = 0; feedbacki < feedbacknumbers.length; feedbacki++){

		feedbacknumbers[feedbacki].onmouseover = function(){
			var feedbackrel = this.getAttribute("rel");

			// Calculate the y position for the number graphic
			var feedbackypos = (feedbackrel.substring(11) * 20) + 20;
			feedbacknumberlist.style.backgroundPosition = '0 -' + feedbackypos + 'px';
		}

		feedbacknumbers[feedbacki].onmouseout = function(){
			feedbacknumberlist.style.backgroundPosition = '0 0';
			return false;
		}

	}
}

		 /**
         * Handles tab event behaviors
         * 
         *
         
         
         */

function feedbackelemSniffer(NpsThanksMsg){
	if (!document.getElementsByTagName){

		return false;
	}

	var anchors = document.getElementsByTagName("a");
	for (i = 0; i < anchors.length; i++){

		
		//console.log("Afeedbackrate_"+i+"_"+AfeedbacknewSuffix);
		
			if (anchors[i].getAttribute('rel'))
			{
				//console.log("REL: "+anchors[i].getAttribute('rel'));
				if (anchors[i].getAttribute('rel').indexOf('feedbacknps')!=-1)
				{
					//console.log("New REL: "+anchors[i].getAttribute('rel'));
					anchors[i].onclick = function()
					{
						
					var rel = this.getAttribute("rel");
					if ((rel) && (isRating != -1))
					{
					var isRating = rel.indexOf("feedbacknps");
					var url = this.getAttributeNode("href").nodeValue;
					if (isRating != -1)
						{
					this.removeAttributeNode(this.getAttributeNode("href")); 
					feedbackpostData(url,NpsThanksMsg);


						}
					}
					}
				}


			}
	
	

	}
}
		/**
         * Ajax functions ... consider a JSON solution to handle the cross domain security restrictions placed on the JavaScript XMLHttpRequest object 
         * 
       
         */

function feedbackgetHTTPObject(){
	var xhr = false;
	if (window.XssHttpRequest){
		var xhr = new XssHttpRequest();
		if (xhr.overrideMimeType){
			xhr.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject){
		try{
			var xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try{
				var xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e){
				xhr = false;
			}
		}		
	}
	return xhr;
}

		 /**
         * XMLHTTP Call to POST data ( recommendation data insert into database)
         * 
         *
         
         
         */

function feedbackpostData(feedbackurl,NpsThanksMsg){


	var finalIndex="";
	var FinalLan="";
	// added by shishir kamal
		
		getSuffix=feedbackurl.split("&");

		for (i=0;i<getSuffix.length ;i++ )
		{
			if (getSuffix[i].indexOf('idSuffix')!=-1)
			{

				getIndex=getSuffix[i].split("=");
				finalIndex=getIndex[1];

			}
			else if(getSuffix[i].indexOf('lan')!=-1)
			{
				SelctedLanguage=getSuffix[i].split("=");
				FinalLan=SelctedLanguage[1];
			}
		}

	// finish adding 
	var request = feedbackgetHTTPObject();
	if (request){
		feedbackdisplayLoading(finalIndex);
		request.onreadystatechange = function(){
			feedbackfbkResponse(request,finalIndex,FinalLan,NpsThanksMsg);
			//recResponse(request,finalIndex,FinalLan);
		};
		request.open("POST", feedbackurl, true);
		request.send(null);
	}
}

		 /**
         * XMLHTTP Call to POST data ( Feedback data insert into database)
         * 
         * @params url, idVal, widgetProjId
		 * url= feedback url
		 * idVal= current Id (Integer)
		 * widgetProjId= current widget Project Id
		 * Added these parameters to support Multiple widgets
         
         
         */

function feedbackpostFeedback(feedbackurl,feedbackidVal,feedbackwidgetProjId,feedbacklan){
	
	var feedbackparameters;

	feedbackparameters = "?fb-text=" + encodeURI(document.getElementById("nps-fb-text" + feedbackidVal).value) +
				 "&fb-email=" + encodeURI(document.getElementById("nps-fb-email" + feedbackidVal).value) +
				 "&version=" + encodeURI(feedbackversion) +
				 "&projid=" + encodeURI(feedbackwidgetProjId) +
				 "&pageurl=" + encodeURI(feedbackpageURL);



	feedbackurl = feedbackurl + parameters;

	

	feedbackpostfbkData(feedbackurl,feedbackidVal,feedbacklan);
}


function feedbackpostNewFeedback(feedbackurl,feedbackidVal,feedbackwidgetProjId,feedbacklan){
	
	var feedbackparameters;

	feedbackparameters = "?fb-type=" + encodeURI(document.getElementById("feedbacktype_" + feedbackidVal).value) +
				 "&fb-details=" + encodeURI(document.getElementById("feedbackdetails_" + feedbackidVal).value) +	
				 "&fb-email=" + encodeURI(document.getElementById("feedemail_" + feedbackidVal).value) +
				 "&version=" + encodeURI(feedbackversion) +
				 "&projid=" + encodeURI(feedbackwidgetProjId) +
				 "&pageurl=" + encodeURI(feedbackpageURL);



	feedbackurl = feedbackurl + feedbackparameters;

	

	feedbackpostNewfbkData(feedbackurl,feedbackidVal,feedbacklan);
}



function feedbackpostfbkData(feedbackurl,feedbackidVal,feedbacklan){
	var request = feedbackgetHTTPObject();
	if (request){
		request.onreadystatechange = function(){
			//fbkResponse(request,idVal,lan);
		};
		request.open("POST", feedbackurl, true);
		request.send(null);
	}
}

function feedbackpostNewfbkData(feedbackurl,feedbackidVal,feedbacklan){
	var request = feedbackgetHTTPObject();
	if (request){
		request.onreadystatechange = function(){
			//showNPSRec(idVal);
		};
		request.open("POST", feedbackurl, true);
		request.send(null);
	}
}
 		/**
         * Changed the Loading style to support Multiple widgets on one page
         * 
         *
         * 
         * 
         * @params finalIndex, adding id value using the index
         */
function feedbackdisplayLoading(feedbackfinalIndex){



	var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbackfinalIndex);
	var feedbackrecUL = document.getElementById("feedbacknps-recs" + feedbackfinalIndex);
	var feedbackrecHdr = document.getElementById("feedbacknps-rec" + feedbackfinalIndex);
	var feedbackhrline_div=document.getElementById('hrline_'+feedbackfinalIndex);
	
		feedbackrecUL.style.display="none";
	
		feedbackrecDiv.removeChild(feedbackrecHdr);
	
	var feedbacklabelsDiv = document.getElementById("feedbacknps-labels" + feedbackfinalIndex);
	feedbacklabelsDiv.style.display="none";
	
	var feedbacklabelsDiv = document.getElementById("feedbacknps-labels-2" + feedbackfinalIndex);
	
		feedbacklabelsDiv.style.display="none";
	

	// Create progress image
	var feedbackMsg = document.createElement("span");
	feedbackMsg.setAttribute("id","nps-prog" + feedbackfinalIndex);
	feedbackMsg.className = "nps-prog";
	feedbackMsg.style.marginLeft="20%";
	var feedbackthxTxt = document.createTextNode("Processing");
	feedbacklabelsDiv.style.display="block";
	feedbacklabelsDiv.innerHTML="";
	feedbacklabelsDiv.appendChild(feedbackMsg);
	//hrline_div.appendChild(Msg);
	feedbackMsg.appendChild(feedbackthxTxt);
}

 		/**
         * Changed the Response style to support Multiple widgets on one page
         * 
         * 
         */

function feedbackrecResponse(request,feedbackfinalIndex,feedbacklan){


	for (i=0;i< feedbackindexes.length;i++ )
	{

		if (feedbackindexes[i]!=feedbackfinalIndex)
		{
			document.getElementById('feedbacknps-sidebar'+feedbackindexes[i]).style.display="none";
		}
	}
	 (function($) {
	$.getJSON("http://" + widgetServer + "/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbacklan+"&jsoncallback=?", function(data){
		

		$.each(data.texts, function(i,item){


		   	var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbackfinalIndex);
			var feedbackprog = document.getElementById("nps-prog" + feedbackfinalIndex);
			var feedbackMsg = document.createElement("span");
			feedbackMsg.setAttribute("id","nps-conf" + feedbackfinalIndex);
			feedbackMsg.className = "nps-conf";
			var feedbackthxTxt = document.createTextNode(item.nps_why);

			var feedbackerrorTxt = document.createTextNode("We're sorry, but we can't process your recommendation.");

			// Was == 4
			if (request.readyState == 1) {

					feedbackrecDiv.removeChild(feedbackprog);
					feedbackrecDiv.appendChild(feedbackMsg);
					feedbackMsg.appendChild(feedbackthxTxt);
					feedbackfeedbackfade("nps-conf" + feedbackfinalIndex);

					// Display the feedback box and set focus to the textarea
					document.getElementById("nps-fb-box" + feedbackfinalIndex).style.display = "block";
					document.getElementById("nps-fb-text" + feedbackfinalIndex).focus();
			}



		 });
		 
		
		});
		})(jQuery);//
	
	
}

		 /**
         * Show the Thank You message
         * 
         * @params request, idVal
		 * request= XMLHTTP Object
		 * idVal= current Id (Integer)
		 * 
		 * Added these parameters to support Multiple widgets
         
         
         */

function feedbackfbkResponse(request,feedbackidVal,feedbacklan,NpsThanksMsg){

	document.getElementById('feedbackhdrfeed_'+feedbackidVal).innerHTML="";
(function($) {	
$.getJSON("http://" + widgetServer + "/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbacklan+"&jsoncallback=?", function(data){
		
		
		$.each(data.texts, function(i,item){

		var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbackidVal);

			var feedbackprog = document.getElementById("nps-prog" + feedbackidVal);
	    var feedbackMsg = document.createElement("span");
		var feedbackhrline_div=document.getElementById('hrline_'+feedbackidVal);

		var feedbacklabelsDiv = document.getElementById("feedbacknps-labels-2" + feedbackidVal);

		feedbackMsg.setAttribute("id","nps-conf" + feedbackidVal);
		feedbackMsg.className = "nps-conf";
		feedbackMsg.style.marginLeft="17%";
		
		if(NpsThanksMsg=="")
		{
		
		var feedbackthxTxt = document.createTextNode(item.nps_thanks);
		}
		else
		{
			//var NpsThanksMsg='"'+NpsThanksMsg+'"';
			if(NpsThanksMsg.length>22)
			{
			feedbackMsg.style.marginLeft="10%";
			}
			NpsThanksMsg=truncate(NpsThanksMsg, "37");
			var feedbackthxTxt = document.createTextNode(NpsThanksMsg);
		}
		//var feedbackthxTxt = document.createTextNode(item.nps_thanks);


		var feedbackerrorTxt = document.createTextNode("We're sorry, but we can't process your feedback.");

	// First remove element if it exists so we don't show multiple messages
	if (document.getElementById("nps-conf" + feedbackidVal)){
		var feedbackrecSpan = document.getElementById("nps-conf" + feedbackidVal);
		
		feedbackrecDiv.removeChild(feedbackrecSpan);


		feedbacklabelsDiv.removeChild(feedbackprog);

		for (i=0;i< feedbackindexes.length;i++ )
	{
		if (feedbackindexes[i]!=feedbackidVal)
		{
			document.getElementById('feedbacknps-sidebar'+feedbackindexes[i]).style.display="block";
		}
	}
	}

	feedbackMsg.setAttribute("id","nps-conf-success" + feedbackidVal);
	feedbackMsg.className = "nps-conf-success";

	// Was == 4
	if (request.readyState == 1) {
//		if (request.status == 200 || request.status  == 304) {
			feedbacklabelsDiv.removeChild(feedbackprog);
			//recDiv.appendChild(closeDivThanks);
			feedbacklabelsDiv.appendChild(feedbackMsg);
			//recDiv.appendChild(Msg);
			feedbackMsg.appendChild(feedbackthxTxt);
			feedbackfade("nps-conf-success" + feedbackidVal);

			// Hide the feedback box
			document.getElementById("nps-fb-box" + feedbackidVal).style.visibility = "hidden";
//		} else {
//			fbkDiv.removeChild(statIMG);
//			fbkDiv.insertBefore(Msg, document.getElementById("nps-fb-close-link" + idSuffix));
//			Msg.appendChild(errorTxt);
//			fade("nps-fb-conf" + idSuffix);
//		}
	}


		 });
		 
		
		});
		})(jQuery);//

	
}
		 /**
         * Handles fade effect once ratings have been submitted
         * 
		 * 
		 */
var TimeToFade = 300.0;

function feedbackfade(eid){
	var element = document.getElementById(eid);
	if (element == null){
		return;
	}
	if (element.FadeState == null){
		if (element.style.opacity == null || element.style.opacity == "" || element.style.opacity == "1"){
			element.FadeState = -2;
		} else {
			element.FadeState = 2;
		}
	}
	if (element.FadeState == 1 || element.FadeState == -1){
		element.FadeState = element.FadeState == 1 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
	} else {
		element.FadeState = element.FadeState == 2 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade;
		setTimeout("feedbackanimateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
	} 
}

function feedbackanimateFade(lastTick, eid){ 
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
	var element = document.getElementById(eid);

 	if (element.FadeTimeLeft <= elapsedTicks){
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	}
 	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft/TimeToFade;
	if (element.FadeState == 1){
		newOpVal = 1 - newOpVal;
	}
	element.style.opacity = newOpVal;
	element.style.filter =  'alpha(opacity = ' + (newOpVal*100) + ')';
 	setTimeout("feedbackanimateFade(" + curTick + ",'" + eid + "')", 33);
}

// Form behaviors
function feedbacknpsform(){
	var selects = document.getElementsByTagName("select");
	var textareas = document.getElementsByTagName("textarea");
	var inputs = document.getElementsByTagName("input");
	var buttons = document.getElementsByTagName("button");

	for (i = 0; i < textareas.length; i++){
		textareas[i].onclick = function(){
			var currid = document.getElementById(this.id);
			if ((currid) && (currid.id == "nps-fb-text" + feedbackidSuffix)){
				var currval = this.value;
				if (currval == "Please enter feedback"){
					document.getElementById(this.id).value = "";
				}
			}
		}
	}
	for (i = 0; i < inputs.length; i++){
		inputs[i].onclick = function(){
			var currid = document.getElementById(this.id);
			if ((currid) && (currid.id == "nps-fb-email" + feedbackidSuffix)){
				var currval = this.value;
				if (currval == "Your email address (opt.)"){
					document.getElementById(this.id).value = "";
				}
			}
		}
	}
	for (i = 0; i < inputs.length; i++){
		inputs[i].onblur = function(){
			var currid = document.getElementById(this.id);
			if ((currid) && (currid.id == "nps-fb-email" + feedbackidSuffix)){
				var currval = this.value;
				if (currval == ""){
					document.getElementById(this.id).value = "Your email address (opt.)";
				}
			}
		}
	}
}

// Close the feedback form
function feedbackcloseFeedback(feedbackIdVal,feedbacklan) {

	 (function($) {
	$.getJSON("http://" + widgetServer + "/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbacklan+"&jsoncallback=?", function(data){
		
		
		$.each(data.texts, function(i,item){


	var feedbackrecDiv = document.getElementById("feedbacknps-recommend" + feedbackIdVal);
	var feedbackMsg = document.createElement("span");
	feedbackMsg.setAttribute("id","nps-conf" + feedbackIdVal);
	feedbackMsg.className = "nps-conf";
	var feedbackthxTxt = document.createTextNode(item.nps_thanks);

	// First remove element if it exists so we don't show multiple messages
	if (document.getElementById("nps-conf" + feedbackIdVal)){
		var feedbackrecSpan = document.getElementById("nps-conf" + feedbackIdVal);
		feedbackrecDiv.removeChild(feedbackrecSpan);
	}

	feedbackMsg.setAttribute("id","nps-conf-success" + feedbackIdVal);
	feedbackMsg.className = "nps-conf-success";

	feedbackrecDiv.appendChild(feedbackMsg);
	feedbackMsg.appendChild(feedbackthxTxt);
	feedbackfeedbackfade("nps-conf-success" + feedbackIdVal);

	for (i=0;i< feedbackindexes.length;i++ )
	{
		if (feedbackindexes[i]!=feedbackIdVal)
		{
			document.getElementById('feedbacknps-sidebar'+feedbackindexes[i]).style.display="block";
		}
	}

	// Hide the feedback box
	document.getElementById("nps-fb-box" + feedbackIdVal).style.visibility = "hidden";


		 });
		 
		
		});
		})(jQuery);//

}

function feedbackvalidEmail(feedbackemail) {
	var valid = false;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(feedbackemail)) valid = true;
	return valid;
}

function feedbackvalidate(feedbackidVal,feedbackwidgetProjId,feedbacklan) {
	var valid = true;
	var form = document.getElementById("nps-form" + feedbackidVal);
	var email = document.getElementById("nps-fb-email" + feedbackidVal);

	// Set class to it's default
	email.className = "nps-fb-email";

	if (email.value != feedbackemailEmpty && email.value != feedbackemailInvalid){ // Make sure error text isn't in the email field
		if (!feedbackvalidEmail(email.value)) {
			email.className = "nps-fb-email-invalid";
			feedbacktemp = email.value; // Store user's entry for re-use
			email.value = feedbackemailInvalid;
			valid = false;
		}
	}
	else { // Error text is in email field so re-instate invalid css class
		if (email.value == feedbackemailEmpty) {
			email.className = "nps-fb-email";
			valid = true;
		}
		else {
			email.className = "nps-fb-email-invalid";
			valid = false;
		}
	}

	if (valid) // Form is valid so let's submit
		feedbackpostFeedback('http://' + widgetServer + '/feedback/overlay/scripts/feedback.php',feedbackidVal,feedbackwidgetProjId,feedbacklan);
}

function feedbackupdateContents(fieldId) {

	var field=document.getElementById(fieldId);
	if (field.value == feedbackemailEmpty) { // Check if field contains email error text
		if (feedbacktemp != "")
			field.value = feedbacktemp;
		else
			field.value = "";

		//field.setAttribute('onblur','feedbackrestoreContents("'+fieldId+'")');
		field.onblur=function(){feedbackrestoreContents(fieldId);}
	}

	
}

function feedbackrestoreContents(fieldId) {
	
	var field=document.getElementById(fieldId);
	if (field.value != feedbackemailInvalid) { // Check if field contains email error text
		
			if (field.value=="")
			{
				field.value = feedbackemailEmpty;
			}
			
	}
}

		/**
         * Get Localized Text (based on number of projects added) 
    
         * @param {String} projLang: Project language defined in the script on nps.php , if no it will take default English (en) 
         * @returns all the localized texts define in the properties file
         */

function feedbackcompensateWidth(el, targetWidth) {

	var removeUnit = function(str) {
		if (str.indexOf('px')) {
			return str.replace('px', '') * 1;
		}
		else { 
			return 0;
		}
	}

	if (document.compatMode && document.compatMode == "BackCompat") {

alert("targetWidth=" + targetWidth);
alert("el.offsetWidth=" + el.offsetWidth);

		if (targetWidth && el.offsetWidth < targetWidth) {
			el.width = targetWidth;
		}
		else if (el.className) {
			var borders  = removeUnit(el.style.borderLeftWidth) + removeUnit(el.style.borderRightWidth);
			var paddings = removeUnit(el.style.paddingLeft)     + removeUnit(el.style.paddingRight);
			el.width = el.offsetWidth + borders + paddings + 'px';

alert("el.width=" + el.width);
		}
	}
}

function feedbackhidePopup()
{
	document.getElementById('nps_widget_script').style.display="none";
}

function feedbackshowLegal(feedbacksuff,feedbackNprojLang)
{
		
		 (function($) {
		$.getJSON("http://"+widgetServer+"/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbackNprojLang+"&jsoncallback=?", function(data){
		$.each(data.texts, function(i,item){
		var obj=document.getElementById("feedbackWidgetDiv");
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
	
	
	document.getElementById('feedlegaltxtdiv_'+feedbacksuff).style.display="block";
	if (document.getElementById('nps_widget_script'))
	{
		if (window.ActiveXObject)
		{
			if (curtop>650)
			{
				//document.getElementById('nps_widget_script').style.top="-529px";
			}
			else
			{
				//document.getElementById('nps_widget_script').style.top="12px";
			}
		}
		else if (document.implementation && document.implementation.createDocument)
		{
			if (curtop>650)
			{
				document.getElementById('nps_widget_script').style.top="-563px";
			}
			
		}
	}
	
	//document.getElementById('feedlegalagrr_'+suff).innerHTML="Close Nokia feedback legal agreement";
	document.getElementById('feedlegalagrr_'+feedbacksuff).innerHTML=item.popup_feedback_legal_agreement_close;
	document.getElementById('feedlegalagrr_'+feedbacksuff).href="javascript:feedbackhideLegal('"+feedbacksuff+"','"+feedbackNprojLang+"')";

		
	});
		 
		
		});
		})(jQuery);//

}

function feedbackhideLegal(feedbacksuff,feedbackNprojLang)
{
	(function($) {
	$.getJSON("http://"+widgetServer+"/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbackNprojLang+"&jsoncallback=?", function(data){
		$.each(data.texts, function(i,item){
	
	
	document.getElementById('feedlegaltxtdiv_'+feedbacksuff).style.display="none";
	if (document.getElementById('nps_widget_script'))
	{
		if (window.ActiveXObject)
		{
			if (curtop>650)
			{
				//document.getElementById('nps_widget_script').style.top="-410px";
			}
			else
			{
				//document.getElementById('nps_widget_script').style.top="12px";
			}
		}
		else if (document.implementation && document.implementation.createDocument)
		{
			if (curtop>650)
			{
				document.getElementById('nps_widget_script').style.top="-435px";
			}
			
		}
		
		
	}
	//document.getElementById('feedlegalagrr_'+suff).innerHTML="View Nokia feedback legal agreement";
	document.getElementById('feedlegalagrr_'+feedbacksuff).innerHTML=item.popup_feedback_legal_agreement_view;
	document.getElementById('feedlegalagrr_'+feedbacksuff).href="javascript:feedbackshowLegal('"+feedbacksuff+"','"+feedbackNprojLang+"')";
		
	});
		 
		
		});
		})(jQuery);//

}

function feedbackshowNPSRec(feedbacknewId,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsShowParam,NpsThanksMsg,feedbackdisplayName)
{
		var obj=document.getElementById("feedbackWidgetDiv");
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}

	 //code for IE
	 if (window.ActiveXObject)
		{

			document.getElementById('feedbackmainFeedBackDiv_'+feedbacknewId).style.display="none";
			if (curtop>650)
			{
				
				if (document.getElementById('nps_widget_script'))
				{
					//document.getElementById('nps_widget_script').style.top="-100px";
				}
			
			}
			else
			{
				//document.getElementById('nps_widget_script').style.top="12px";
			}

		}
// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation && document.implementation.createDocument)
		{

			document.getElementById('feedbackmainFeedBackDiv_'+feedbacknewId).style.display="none";
			if (curtop>650)
			{
				
				if (document.getElementById('nps_widget_script'))
				{
					document.getElementById('nps_widget_script').style.top="-100px";
				}
				
			
			}
		}

		if (NpsShowParam=="yes")
		{

		 feedbackcreateNPS(feedbackNprojId,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbacklan,feedbacknewId,NpsThanksMsg,feedbackdisplayName);
		}
		else if(NpsShowParam=="no")
		{

				
				//feedbackfbkResponse(request,feedbacknewId,feedbacklan);

				showThanksMsgDiv(feedbacknewId,feedbacklan,NpsThanksMsg);
			
		}
		else
		{

		 feedbackcreateNPS(feedbackNprojId,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbacklan,feedbacknewId,NpsThanksMsg,feedbackdisplayName);
		}
	
	
	
}

function showThanksMsgDiv(feedbacknewId,feedbacklan,NpsThanksMsg)
{
		
		var feedbacknpssidebar=document.getElementById("feedbacknps-sidebar"+feedbacknewId);

		var feedbackhrlineDiv=document.createElement('div');
		
		feedbackhrlineDiv.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:0px;margin-top:30px;'/>";
		feedbacknpssidebar.appendChild(feedbackhrlineDiv);
		 (function($) {
		$.getJSON("http://" + widgetServer + "/feedback/overlay/scripts/Jsonp.php?url=http://" + widgetServer + "/feedback/overlay/l10n/getLang.php&lang="+feedbacklan+"&jsoncallback=?", function(data){
		
		
		$.each(data.texts, function(i,item){
			   var feedbackMsg = document.createElement("span");
			   feedbackMsg.setAttribute("id","nps-conf" + feedbacknewId);
		feedbackMsg.className = "nps-conf-success";
		feedbackMsg.style.marginLeft="17%";
		feedbackMsg.style.opacity="1";

		//var feedbackthxTxt = document.createTextNode(item.nps_thanks);
		if(NpsThanksMsg=="")
		{
		
		var feedbackthxTxt = document.createTextNode(item.nps_thanks);
		}
		else
		{
			//var NpsThanksMsg='"'+NpsThanksMsg+'"';
			if(NpsThanksMsg.length>22)
			{
			feedbackMsg.style.marginLeft="10%";
			}
			NpsThanksMsg=truncate(NpsThanksMsg, "37");
			var feedbackthxTxt = document.createTextNode(NpsThanksMsg);
		}

		var feedbackerrorTxt = document.createTextNode("We're sorry, but we can't process your feedback.");

		feedbackMsg.appendChild(feedbackthxTxt);
		feedbacknpssidebar.appendChild(feedbackMsg);
		var feedbackhrlineDivbottom=document.createElement('div');
		
		feedbackhrlineDivbottom.innerHTML="<image src='http://"+widgetServer+"/feedback/overlay/images/hrline.png' width='400' style='margin-left:0px;margin-bottom: 30px;margin-top:10px;'/>";
		feedbacknpssidebar.appendChild(feedbackhrlineDivbottom);

		 });
		 
		
		});
		})(jQuery);//

}

function feedbackvalidateFeedbackForm(feedbackidVal,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsShowParam,NpsThanksMsg,feedbackdisplayName) {

	

	var valid = true;
	var form = document.getElementById("feedForm_" + feedbackidVal);
	var feedbackType=document.getElementById("feedbacktype_"+feedbackidVal);
	var feedbackTypediv=document.getElementById("feedbacktypediv_"+feedbackidVal);
	var feedbackdetails=document.getElementById("feedbackdetails_"+feedbackidVal);
	var feedagreeaequire=document.getElementById("feedagreeaequire_"+feedbackidVal);
	var email = document.getElementById("feedemail_" + feedbackidVal);
	// Set class to it's default
	email.className = "nps-fb-email";
	
	if (feedbackType.value=="")
	{
		
		feedbackTypediv.className="nps-fb-type-invalid";
		valid = false;
		//return false;

	}
	else if((!feedbackvalidEmail(email.value))&&(email.value != feedbackemailEmpty))
	{
			email.className = "nps-fb-email-invalid";
			feedbacktemp = email.value; // Store user's entry for re-use
			email.value = feedbackemailInvalid;
			valid = false;
			//return false;
		
		
	}

	else if(feedbackdetails.value=="")
	{
		feedbackdetails.className = "nps-fb-type-invalid";
		
		valid = false;
		//return false;
		
	}
	
	

	else if (feedagreeaequire.checked==false)
	{
		
		feedagreeaequire.className="nps-fb-type-invalid";
		document.getElementById('feedAgreeRequireLabel_'+feedbackidVal).className="nps-fb-legal-invalid";
		valid = false;
		//return false;

	}

	
	
	else
	{
	
		valid=true;
	}

	if (valid) // Form is valid so let's submit
	{
		
		feedbackhideFeedbackDiv(feedbackidVal);
		//feedbackfbkResponse
		
		feedbackshowNPSRec(feedbackidVal,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsShowParam,NpsThanksMsg,feedbackdisplayName);

		/*
		}
		else
		{
				alert("NPS Param: "+NpsShowParam);
				
				var request = feedbackgetHTTPObject();	 
				alert("request: "+request);


				feedbackfbkResponse(request,feedbackidVal,feedbacklan);
			
		}

		*/
		
	}
	else
	{
		feedbackshowSecondForm(feedbackidVal); 
		return false;
	}
	
}

function feedbackvalidateFeedbackFormFirst(feedbackidVal,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColorfeedbackdisplayName) {
	
	var valid = true;
	var form = document.getElementById("feedForm_" + feedbackidVal);
	var deviceType=document.getElementById("devicemodel_"+feedbackidVal);
	if (valid) // Form is valid so let's submit
	{
	
		
		feedbackshowNPSRec(feedbackidVal,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsThanksMsg,feedbackdisplayName);
	}
		//showNPSRec(idVal,widgetProjId,lan,NprojName,NbgURL,NbgTopURL,NbgBotURL,Nborder,NfontColor);
		
	
	
}

function feedbackhideFeedbackDiv(feedbackhidesuffix)
{
	document.getElementById('feedbackTabDiv'+feedbackhidesuffix).style.display="block";
	document.getElementById('feedbackSecondDiv'+feedbackhidesuffix).style.display="none";
}

function feedbackhideSecondFeedbackDiv(feedbackhidesuffix,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,feedbackdisplayName)
{
	//document.getElementById('feedbackTabDiv'+hidesuffix).style.display="none";

	if (document.getElementById('feedbackSecondDiv'+feedbackhidesuffix))
	{
		document.getElementById('feedbackSecondDiv'+feedbackhidesuffix).style.display="none";
	}
	//document.getElementById('feedbackSecondDiv'+hidesuffix).style.display="none";
	else if (document.getElementById('feedbackTabDiv'+feedbackhidesuffix))
	{
		document.getElementById('feedbackTabDiv'+feedbackhidesuffix).style.display="none";
	}
	feedbackshowNPSRec(feedbackhidesuffix,feedbackwidgetProjId,feedbacklan,feedbackNprojName,feedbackNbgURL,feedbackNbgTopURL,feedbackNbgBotURL,feedbackNborder,feedbackNfontColor,NpsThanksMsg,feedbackdisplayName);

}
function feedbackshowSecondForm(feedbackhidesuffix)
{
	document.getElementById('feedbackImg_'+feedbackhidesuffix).style.color="#fff";
	document.getElementById('feedbackImg_'+feedbackhidesuffix).style.backgroundColor="#44AA33";
	document.getElementById('detailsImg_'+feedbackhidesuffix).style.color="#333333";
	document.getElementById('detailsImg_'+feedbackhidesuffix).style.backgroundColor="#E9E9E9";
	document.getElementById('feedbackTabDiv'+feedbackhidesuffix).style.display="none";
	document.getElementById('feedbackSecondDiv'+feedbackhidesuffix).style.display="block";
}
function feedbackshowFirstForm(feedbackhidesuffix)
{
	document.getElementById('feedbackImg_'+feedbackhidesuffix).style.color="#333333";
	document.getElementById('feedbackImg_'+feedbackhidesuffix).style.backgroundColor="#E9E9E9";
	document.getElementById('detailsImg_'+feedbackhidesuffix).style.color="#fff";
	document.getElementById('detailsImg_'+feedbackhidesuffix).style.backgroundColor="#44AA33";
	
	document.getElementById('feedbackTabDiv'+feedbackhidesuffix).style.display="block";
	document.getElementById('feedbackSecondDiv'+feedbackhidesuffix).style.display="none";
}
function feedbackremoveAllChild(feedbackremSuffix)
{

      var holder = document.getElementById("feedbacknps-sidebar"+feedbackremSuffix);//the holder div
	  var aholder = document.getElementById("feedbackfdbk_close");//the holder div
	  /*
	  
	 
      while(holder.hasChildNodes()){

      holder.removeChild(holder.lastChild);
      }
	  */
	 
	  if (holder)
	  {
		 
		  document.getElementById("nps_widget_script").removeChild(holder);
		  
	  }
	  if (aholder)
	  {
		 
		  document.getElementById("nps_widget_script").removeChild(aholder);
	  }
	  
	  
}

function feedbackhideBox(){
		
		
		if (document.getElementById('overlay'))
		{
			
			
			var feedbackhideIdSuffix=document.getElementById('overlay').getAttribute('name');
			
			//feedbackremoveAllChild(feedbackhideIdSuffix);
			document.getElementById('overlay').style.display="none";
			document.getElementById('nps_widget_script').style.display="none";
			
			
		}
}

function truncate(str, limit) {

	
	var bits, i;

	bits = str.split('');

	if (bits.length > limit) {
		for (i = bits.length - 1; i > -1; --i) {
			if (i > limit) {
				bits.length = i;
			}
			else if (' ' === bits[i]) {
				bits.length = i;
				break;
			}
		}
		bits.push('...');
	}
	return bits.join('');
}