    /* tabs */
var enabletabpersistence=1 //enable tab persistence via session only cookies, so selected tab is remembered?
////NO NEED TO EDIT BELOW////////////////////////
var tabcontentIDs=new Object()
function expandcontent(linkobj){
var ulid=linkobj.parentNode.parentNode.id //id of UL element
var ullist=document.getElementById(ulid).getElementsByTagName("li") //get list of LIs corresponding to the tab contents
for (var i=0; i<ullist.length; i++){
ullist[i].className=""  //deselect all tabs
if (typeof tabcontentIDs[ulid][i]!="undefined") //if tab content within this array index exists (exception: More tabs than there are tab contents)
document.getElementById(tabcontentIDs[ulid][i]).style.display="none" //hide all tab contents
}
linkobj.parentNode.className="selected"  //highlight currently clicked on tab
document.getElementById(linkobj.getAttribute("rel")).style.display="block" //expand corresponding tab content
saveselectedtabcontentid(ulid, linkobj.getAttribute("rel"))
}

function expandtab(tabcontentid, tabnumber){ //interface for selecting a tab (plus expand corresponding content)
var thetab=document.getElementById(tabcontentid).getElementsByTagName("a")[tabnumber]
if (thetab.getAttribute("rel"))
expandcontent(thetab)
}

function savetabcontentids(ulid, relattribute){// save ids of tab content divs
if (typeof tabcontentIDs[ulid]=="undefined") //if this array doesn't exist yet
tabcontentIDs[ulid]=new Array()
tabcontentIDs[ulid][tabcontentIDs[ulid].length]=relattribute
}

function saveselectedtabcontentid(ulid, selectedtabid){ //set id of clicked on tab as selected tab id & enter into cookie
if (enabletabpersistence==1) //if persistence feature turned on
setCookie(ulid, selectedtabid)
}

function getullistlinkbyId(ulid, tabcontentid){ //returns a tab link based on the ID of the associated tab content
var ullist=document.getElementById(ulid).getElementsByTagName("li")
for (var i=0; i<ullist.length; i++){
if (ullist[i].getElementsByTagName("a")[0].getAttribute("rel")==tabcontentid){
return ullist[i].getElementsByTagName("a")[0]
break
}
}
}

function initializetabcontent(){
for (var i=0; i<arguments.length; i++){ //loop through passed UL ids
if (enabletabpersistence==0 && getCookie(arguments[i])!="") //clean up cookie if persist=off
setCookie(arguments[i], "")
var clickedontab=getCookie(arguments[i]) //retrieve ID of last clicked on tab from cookie, if any
var ulobj=document.getElementById(arguments[i])
var ulist=ulobj.getElementsByTagName("li") //array containing the LI elements within UL
for (var x=0; x<ulist.length; x++){ //loop through each LI element
var ulistlink=ulist[x].getElementsByTagName("a")[0]
if (ulistlink.getAttribute("rel")){
savetabcontentids(arguments[i], ulistlink.getAttribute("rel")) //save id of each tab content as loop runs
ulistlink.onclick=function(){
expandcontent(this)
return false
}

if (ulist[x].className=="selected" && clickedontab=="") //if a tab is set to be selected by default
expandcontent(ulistlink) //auto load currenly selected tab content
}
} //end inner for loop
if (clickedontab!=""){ //if a tab has been previously clicked on per the cookie value
var culistlink=getullistlinkbyId(arguments[i], clickedontab)
if (typeof culistlink!="undefined") //if match found between tabcontent id and rel attribute value
expandcontent(culistlink) //auto load currenly selected tab content
else //else if no match found between tabcontent id and rel attribute value (cookie mis-association)
expandcontent(ulist[0].getElementsByTagName("a")[0]) //just auto load first tab instead
}
} //end outer for loop
}



function getCookie(Name){ 
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return ""
}



function setCookie(name, value){
document.cookie = name+"="+value //cookie value is domain wide (path=/)
}


/*lib.js from common*/
function escapeChar(val,escChar)
{ var str=""+val;
  var ret="";
  for (var i = 0; i < str.length; i++)
  {
    if (str.charAt(i)==escChar)
    {
      ret=ret+"\\"+str.charAt(i);
    }
    else
    {
      ret=ret+str.charAt(i);
    }
  }
  return ret;
}
function setField(fieldName, filedValue)
{ var element = eval("document.forms[0]."+fieldName);
  if(element!=null && element.value!=null)
  {
    theValue = filedValue;
    eval("document.forms[0]."+fieldName+".value='"+theValue+"'");
  }
}
function getFormElement(elementName)
{
  var element = eval("document.forms[0]."+elementName);
  return element;
}
function goToPage(page)
{
  window.location.href=page;
}

function checkForLinkQuestion(hasLinkToProfile,elementName)
{ if (hasLinkToProfile)
  {
    var sText = "You are about to make current survey as Profile Survey." +
      "\nWarning: Current survey has the question that linked to other Profile Survey."+
      "\nThis operation will remove this link to other Profile Survey." +
      "\nWould you like to continue?";
    if(confirm(sText))
    {
      document.forms[0].submit();
    }
    else
    {
      radioElement = getFormElement(elementName);
      radioElement.checked=true;
    }
  }
  else
  {
    document.forms[0].submit();
  }
}

function warningForProfile(elementName)
{
  var sText = 'You are about to assign current survey profile data type.' +
    '\nWarning: This type of survey does not support randomization of questions and "Thank you page" option.'+
    '\nThese options will be disabled automatically!'+
    '\nWould you like to continue?';
  if(confirm(sText))
  {
    document.forms[0].submit();
    return true;
  }
  else
  {
    radioElement = getFormElement(elementName);
    radioElement.checked=true;
    return false;
  }
}

function isInteger(data) {
    var numStr="0123456789";
    var thisChar;
    var counter = 0 ;
    for (var i=0; i < data.length; i++) {
      thisChar = data.substring(i, i+1) ;
      if (numStr.indexOf(thisChar) != -1)
        counter++ ;
    }
    return counter==data.length;
}

function isNumber(data) {

    var numStr="0123456789,.";
    var thisChar;
    var counter = 0 ;

    for (var i=0; i < data.length; i++) {
      thisChar = data.substring(i, i+1) ;
      if (numStr.indexOf(thisChar) != -1)
        counter++ ;
    }
    return counter==data.length;
}


 function IsImage(file) {
  if (!file) return true;
  filename = file.value ;
  if ( file.value == "" ) return true ;
  while (filename.indexOf("\\") != -1)
    filename = filename.slice(filename.indexOf("\\") + 1);
  ext = filename.slice(filename.indexOf(".")).toLowerCase();
 for (var i = 0; i < extArray.length; i++) {
    if (extArray[i] == ext) { allowSubmit = true; return true; }
  }
  alert("Please only upload files that end in types:  "
       + (extArray.join("  ")) + "\n\nPlease select a new "
       + "file to upload and submit again.");
  return false ;
}

function IsEmail(mail)
{
   if (mail == null)
      return true ;
        if ( mail == "" )
                return true ;
    var supported = 0;
   if (window.RegExp)
   {
      var tempStr = "a";
      var tempReg = new RegExp(tempStr);
      if (tempReg.test(tempStr)) supported = 1;
   }
   if (!supported)
      return (mail.indexOf(".") > 2) && (mail.indexOf("@") > 0);
   var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)|(\\.$)");
   var r2 = new RegExp("^[a-zA-Z0-9_\\-\\.]+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)\\s*$");
   return (!r1.test(mail) && r2.test(mail));
}


//*********** isDate (MM/dd/yyyy) *************
function isDate(inDate){
    var theDate = Trim(inDate);
    var theDigit = 0;
    if (theDate.length != 10){
        return false;
    }
    if ((theDate.charAt(2) != '/')||(theDate.charAt(5) != '/')){
        return false;
    }
    theDigit=parseInt(theDate.substring(0,2));
    if(theDate.charAt(0) == '0'){
      theDigit = parseInt(theDate.substring(1,2));
    }
    if ((theDigit > 12)||(theDigit < 1)){
        return false;
    }
    theDigit=parseInt(theDate.substring(3,5));
    if(theDate.charAt(3) == '0'){
      theDigit = parseInt(theDate.substring(4,5));
    }
    if ((theDigit > 31)||(theDigit < 1)){
        return false;
    }
    theDigit=parseInt(theDate.substring(6,10));
    if ((theDigit > 2049)||(theDigit < 1)){
        return false;
    }
    return true;
}

//*********** isDate (dd/MM/yyyy) *************
function isDate1(inDate){
    var theDate = Trim(inDate);
    var theDigit = 0;
    if (theDate.length != 10){
        return false;
    }
    if ((theDate.charAt(2) != '/')||(theDate.charAt(5) != '/')){
        return false;
    }
    theDigit=parseInt(theDate.substring(0,2));
    if(theDate.charAt(0) == '0'){
      theDigit = parseInt(theDate.substring(1,2));
    }
    if ((theDigit > 31)||(theDigit < 1)){
        return false;
    }
    theDigit=parseInt(theDate.substring(3,5));
    if(theDate.charAt(3) == '0'){
      theDigit = parseInt(theDate.substring(4,5));
    }
    if ((theDigit > 12)||(theDigit < 1)){
        return false;
    }
    theDigit=parseInt(theDate.substring(6,10));
    if ((theDigit > 2049)||(theDigit < 1)){
        return false;
    }
    return true;
}

function LTrim(String)
{ if (String==null) return "";
  return String.replace(/^\s*(.*)/,"$1");
}
function RTrim(String)
{ if (String==null) return "";
  return String.replace(/^(.*\S)(\s*)$/,"$1");
}
function Trim(String)
{ if (String==null) return "";
  return RTrim(LTrim(String));
}

function openWindow(url,width,height,returnRef)
{
  var windowname="newWin"+(Math.round(Math.random()*1000000));
  //self.name = "mainWindow"; // names current window as "mainWindow"
  newWindow = window.open(url,windowname,'status=yes,toolbar=no,scrollbars=yes,resizable=yes,width='+width+',height='+height);
  newWindow.focus();
  if(returnRef) return newWindow;
}

function openNamedWindow(url,winName,width,height,returnRef)
{
  newWindow = window.open(url,winName,'toolbar=no,status=yes,scrollbars=yes,resizable=yes,width='+width+',height='+height);
  newWindow.focus();
  if(returnRef) return newWindow;
}
function closeWindowIfNoSession()
{
  if(window.opener!=null && window.opener.document.forms[0]!=null)
  {
    window.opener.document.forms[0].target="_self";
    window.opener.document.forms[0].action="/Member/no_session.jsp";
    window.opener.document.forms[0].submit();
  }
  window.close();
}

function submitParWinAndClose()
{ if(window.opener!=null && window.opener.document.forms[0]!=null)
  { window.opener.document.forms[0].submit();
  }
  window.close();
}

function submitForm(theForm)
{ if(theForm!=null)
  { theForm.submit();
  }
}

function changeAPic(aElem,isOver)
{ var img = aElem.getElementsByTagName("img")[0];
  var src = img.src;
  var dot = src.lastIndexOf('.');
  if( src.substring(dot-4,dot)=='Over' ){
    src = src.substring(0,dot-4)+src.substring(dot);// without '-Over'
  }
  if( isOver ){
    // add '-Over'
    dot = src.lastIndexOf('.');
    src = src.substring(0,dot)+"Over" + src.substring(dot);
  }
  img.src=src;
}
function changeAPicOver(aElem){
  changeAPic(aElem,true);
}
function changeAPicOut(aElem){
  changeAPic(aElem,false);
}
function changePic(img_name,img_src)
{ document[img_name].src=img_src;
}

// accept and validate date in format
// yyyyXmmXdd, yyXmmXdd where X - any char(s) except 0..9
function check_date(field){
 var yyyy=""+field.value.replace(/^\s*(\d{2}(\d{2})?)\D(\d{2})\D(\d{2})\s*$/,"$1");
 var mm=""+field.value.replace(/^\s*(\d{2}(\d{2})?)\D(\d{2})\D(\d{2})\s*$/,"$2");
 var dd=""+field.value.replace(/^\s*(\d{2}(\d{2})?)\D(\d{2})\D(\d{2})\s*$/,"$3");
 if (yyyy.search(/^\d{2}$/)>=0){
   yyyy="20"+yyyy;
 }
var DateValue = yyyy+mm+dd;
var seperator = "-";
var leap = 0;
var err = 0;

   /* year is wrong if year = 0000 */
   if (yyyy == 0) { err = 20;}
   /* Validation of month*/
   if (mm<1 || mm>12) {err = 21;}
   /* Validation of day*/
   if (dd<1 || dd>32) { err = 22;}
   /* Validation leap-year / february / day */
   if (yyyy%4==0 || yyyy%100==0 || yyyy%400==0) {leap = 1;}
   if (mm==2 && leap==1 && dd>29) { err = 23;}
   if (mm==2 && leap!=1 && dd>28) { err = 24;}
   /* Validation of other months */
   if (dd>31 && (mm=="01" || mm=="03" || mm=="05" || mm=="07" || mm=="08" || mm=="10" || mm=="12")) {err = 25;}
   if (dd>30 && (mm=="04" || mm=="06" || mm=="09" || mm=="11")) {err = 26;}
   /* if 00 ist entered, no error, deleting the entry */
   if (dd==0 && mm==0 && yyyy==00) { err = 0; dd = ""; mm = ""; yyyy = ""; seperator = "";}
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {field.value = yyyy + seperator + mm + seperator + dd;return true;}
   /* Error-message if err != 0 */
    alert("Date is incorrect!");
    field.select();
    field.focus();
    return false;
}

function appendArrays(/*arr1, ..., arrN*/){
  var arr=new Array();
  for( var j = 0; j < arguments.length; j++ ){
    var arrj = arguments[j];
    for( var i in arrj ){
      arr.push(arrj[i]);
    }
  }
  return arr;
}



if(typeof dontDetectFlash == 'undefined') dontDetectFlash = false;
if(!dontDetectFlash){
	var MM_contentVersion = 8;
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
	if ( plugin ) {
			var words = navigator.plugins["Shockwave Flash"].description.split(" ");
		    for (var i = 0; i < words.length; ++i)
		    {
			if (isNaN(parseInt(words[i])))
			continue;
			var MM_PluginVersion = words[i];
		    }
		var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
	}
	else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && (navigator.appVersion.indexOf("Win") != -1)) {
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
		document.write('on error resume next \n');
		document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
		document.write('</SCR' + 'IPT\> \n');
	}
}

/*Flash*/
 function getFlash(width, height, file, loop, alternate, classid, link, idcont){
  var fleshCont =  document.getElementById(idcont);
   fleshCont.style.display="block";
 if (MM_FlashCanPlay)
{
 var curProtocol = "http:";
 if (null != top.location.protocol && top.location.protocol=='https:')
{
 curProtocol = "https:";
 }
var oeTags = '<p class="flashCC"><OBJECT CLASSID="' + classid + '"'
+ 'WIDTH="' + width + '" HEIGHT="' + height + '"'
+ 'CODEBASE="' + curProtocol + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">'
+ '<PARAM NAME="MOVIE" VALUE="' + file + '">'
+ '<PARAM NAME="PLAY" VALUE="true">'
+ '<PARAM NAME="LOOP" VALUE="' + loop + '">'
+ '<PARAM NAME="QUALITY" VALUE="high">'
+ '<PARAM NAME="MENU" VALUE="false">'
 + '<param name="wmode" value="transparent" >'
+ '<EMBED SRC="' + file + '"'
+ 'WIDTH="' + width + '" HEIGHT="' + height + '"'
+ 'PLAY="true"'
+ 'LOOP="' + loop + '"'
+ 'QUALITY="high"'
+ 'MENU="false"'
 + 'wmode="transparent"'
  + 'swLiveConnect="true"'
  + 'allowScriptAccess="sameDomain"'
+ 'TYPE="application/x-shockwave-flash"'
+ 'PLUGINSPAGE="' + curProtocol + '//www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">'
+ '</EMBED>'
+ '</OBJECT></p>';
/*document.write(oeTags);*/
  fleshCont.innerHTML = oeTags ;

} else {

//var alternateContent = '<div class="noFlashCont"><p><a href="/Registration/FreeTrial.do"></a></p></div>'

     var alternateContent='<div class="noFlashCont">';
         alternateContent+='<h2>WEB CENTRIC DATA COLLECTION TECHNOLOGIES</h2>';
         alternateContent+='<ul>';
         alternateContent+=' <li class="a1"><a href="/features/"><span>User Friendly</span><img src="/images/blank.gif" alt="User Friendly"  title="User Friendly" /></a></li>';
         alternateContent+='<li class="a2"><a href="/enterprise/control-acess-levels.jsp"><span>Permission based access</span><img src="/images/blank.gif" alt="Permission based access" title="Permission based access" /></a></li>';
         alternateContent+='<li class="a3"><a href="/enterprise/control-acess-levels.jsp"><span>Multi-user support</span><img src="/images/blank.gif" alt="Multi-user support" title="Multi-user support" /></a></li>';
         alternateContent+='<li class="a4"><a href="/enterprise/ldap.jsp"><span>LDAP</span><img src="/images/blank.gif" alt="LDAP" title="LDAP" /></a></li>';
         alternateContent+='<li class="a5"><a href="/services_training.jsp"><span>Industry best support</span><img src="/images/blank.gif" alt="Industry best support" title="Industry best support" /></a></li>';
         alternateContent+='</ul>';
         alternateContent+='<p class="aSchedDBut"><a href="/form/schedule_demo2.jsp" target="_blank"><span>Schedule a demo</span><img src="/images/blank.gif" alt="Schedule a demo" title="Schedule a demo" /></a></p>';
         alternateContent+='<p class="aFreeTBut"><a href="/Registration/FreeTrial.do"><span>30 day Free Trial</span><img src="/images/blank.gif" alt="30 day Free Trial" title="30 day Free Trial"  /></a></p>';
         alternateContent+='</div>';


/*document.write(alternateContent);*/
  /* fleshCont.parentNode.innerHTML =  alternateContent; */

 var div = document.createElement("DIV");
div.innerHTML = alternateContent;
fleshCont.parentNode.insertBefore(div, fleshCont);
   fleshCont.style.display="none";
}
 }

function popupWindow(url,width,height,toolbar,status,scrollbars,resizable,top,left)
{ var wname="newWin"+(Math.round(Math.random()*1000000));
  wname = window.open(url,wname,'toolbar='+toolbar+',status='+status+',scrollbars='+scrollbars+',resizable='+resizable+',width='+width+',height='+height+',top='+top+',left='+left);
  wname.focus();
  return wname;
}


function page_select(sID,UrlGo){
  var aSelect=document.getElementById(sID);
  var sValue = aSelect.options[aSelect.selectedIndex].value;
  if (sValue == 1) {
  } else if (sValue == 2) {
       var a2=screen.height-160;
        var wname="newWin"+(Math.round(Math.random()*1000000));
         var url="/featureslist/";
          wname = window.open(url,wname," resizable=yes,width=1000,height="+a2+",scrollbars=no,top=60,left=100");
          wname.focus();
          return wname;
  } else if (sValue == 10) {
        document.location.href="/Registration/FreeTrial.do";
  } else if (sValue == 4) {
        window.open("/flash/quick_tour.jsp",""," resizable=no,width=790,height=545,scrollbars=no,top=60,left=100");
  } else if (!UrlGo){ document.location.href='/'+sValue+".jsp";  }
         else {document.location.href = sValue;}
}



function window_open_featureslist()
{
 var a2=screen.height-160;
 var wname="newWin"+(Math.round(Math.random()*1000000));
 var url="/featureslist/";
  wname = window.open(url,wname," resizable=yes,width=1000,height="+a2+",scrollbars=no,top=60,left=100");
  wname.focus();
  return wname;
}

