/* PLUG-IN CHECK */
var requiredVersion = 5;   

var flash2Installed = false;    
var flash3Installed = false;    
var flash4Installed = false;    
var flash5Installed = false;    
var flash6Installed = false;    
var flash7Installed = false;    
var flash8Installed = false;    
var flash9Installed = false;    
var maxVersion = 9;             
var actualVersion = 0;          
var hasRightVersion = false;    
var jsVersion = 1.0;            

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;

jsVersion = 1.1;

if(isIE && isWin){
  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
  document.write('on error resume next \n');
  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
  document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
  document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
  document.write('flash9Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
  document.write('<\/SCR' + 'IPT\> \n'); 
}


function detectFlash() {  
  if (navigator.plugins) {
    if (navigator.plugins["Shockwave Flash 2.0"]
        || navigator.plugins["Shockwave Flash"]) {

      var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
     
      var flashVersion = parseInt(flashDescription.substring(16));

      flash2Installed = flashVersion == 2;    
      flash3Installed = flashVersion == 3;
      flash4Installed = flashVersion == 4;
      flash5Installed = flashVersion == 5;
      flash6Installed = flashVersion == 6;
      flash7Installed = flashVersion == 7;
      flash8Installed = flashVersion == 8;
      flash9Installed = flashVersion >= 9;
    }
  }
  
  for (var i = 2; i <= maxVersion; i++) {  
    if (eval("flash" + i + "Installed") == true) actualVersion = i;
  }
  
  if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;  

  if (actualVersion >= requiredVersion) {
    hasRightVersion = true;                
  }
}

detectFlash();
/* PLUG-IN CHECK END */

function runFlash(swfFile,width,height,id) { 
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH="' + width + '" HEIGHT="'+ height + '" id="' + id + '" ALIGN="">\n');
document.write('<PARAM NAME=movie VALUE="' + swfFile + '">\n');
document.write('<PARAM NAME=quality VALUE=high>\n');
document.write('<PARAM NAME=bgcolor VALUE=#FFFFFF>\n');
document.write('<PARAM NAME=wmode VALUE=transparent>\n');
document.write('<EMBED src="' + swfFile + '" quality=high bgcolor=#FFFFFF  WIDTH="' + width +'" HEIGHT="'+ height + '" NAME="' + id + '" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" wmode="transparent"></EMBED></OBJECT>');  
}


function popUp(URL, attributes){
  var popUp = window.open(URL, 'newWindow', attributes)
  popUp.focus();
} 


function changeFormAction(theForm, newAction){
  document.forms[theForm].action = newAction;
  document.forms[theForm].submit();
}


function featureTopics(theForm){
  topics = new Array();            //All the topics form elements
  topicsIndex = 0;                 //Topics elements array index
  topicsChkd = new Array();        //Checked topics
  topicsChkdIndex = 0;             //Check topics index
  
  var hivesChkd = false;               
  var qaChkd= false;
  
  formElements = document.forms[theForm].elements.length;
  
  for (i=0; i<formElements; i++){
    if(document.forms[theForm].elements[i].name == "topics") {
      topics[topicsIndex] = document.forms[theForm].elements[i];
      topicsIndex++;
    }
  }
  
  for (i=0; i<topics.length; i++){
    if (topics[i].checked){
      topicsChkd[topicsChkdIndex] = topics[i];
      topicsChkdIndex++;
    }       
  }

  if (topicsChkd.length == 1) {  
      for (i=0; i<topicsChkd.length; i++){
        if (topicsChkd[i].value == "hives") hivesChkd = true;
        if (topicsChkd[i].value == "q_and_a") qaChkd = true;      
      }
      
      if( hivesChkd || qaChkd){
        for (i=0; i<topics.length; i++){
          if (topics[i].value == "clarinex_inf") topics[i].checked = true;
        }
      }  
  }
}

function clearFields(chkbox) {
  if (!chkbox.checked) {
    iElementsToClear = clearFields.arguments.length - 1; 
    aElementsToClear = new Array (); 

    for (i=0; i<iElementsToClear; i++){ 
      aElementsToClear[i] = clearFields.arguments[i+1]; // skip first parameter
    }
    
    for (i=0; i<aElementsToClear.length; i++){
      if (aElementsToClear[i].type == "text") aElementsToClear[i].value = "";
      else if (aElementsToClear[i].type == "radio" || aElementsToClear[i].type == "checkbox") {
        aElementsToClear[i].checked = false;
      }
    } 
  
  }
}


function checkHiddenField(theForm, chkbox, hiddenField){
  if (chkbox.checked) {
      hiddenField.value = true;
  } else {
    hiddenField.value = tempValue;
  }
  theForm.submit();
}


function usImgSwap(imgPath){
  document.images.USMAP.src = imgPath;
} 

function usThumbnailImgSwap(imgPath){
  document.images.THUMBNAIL.src = imgPath;
}

function openNationalWeatherMap(mapImg){
  var mapWindow = open("", "mapWindow", 'width=660,height=525,resizable');
  mapWindow.focus();
  mapWindow.document.open();
  mapWindow.document.writeln("<html><body><center><img src=" + mapImg + "><br><a href='javascript:window.close()'>Close Window</a></center></body></html>");
  mapWindow.document.close();
}
 
 
function linkOffSite(URL){
  if ( confirm("You will be leaving the ASMANEX Web site.\nClick OK to continue, or CANCEL to return to Asmanex.com") ){
    popUp(URL,'width=640,height=480,location,scrollbars,menubar,toolbar,resizable,directories,status')
  } 
} 


function validateMonths(theForm, monthGroupNames, yearValue){
  months = new Array();            //All the month form elements
  monthsIndex = 0;                 //Topics elements array index
  monthsChkd = new Array();        //Checked topics
  monthsChkdIndex = 0;             //Check topics index
  
  formElements = theForm.elements.length;
  
  // Gather all form elements named monthGroupNames
  for (i=0; i<formElements; i++){
    if(theForm.elements[i].name == monthGroupNames) {
      months[monthsIndex] = theForm.elements[i];
      monthsIndex++;
    }
  }

  // If yearround is checked, uncheck all individual months
  for (i=0; i<months.length; i++){
    if (months[i].value == yearValue && months[i].checked){
      for (j=0; j<months.length; j++) {
        if (months[j].value != yearValue && months[j].checked) {
         months[j].checked = false;
        }
      }
    break;
    }
  }
  
  theForm.submit();
}



function bCanPrint(){
  if (window.print){
    window.print();
  } else {
    alert('Please select Print under the File menu to print this page.');
  }
}

var date = new Date();
var day  = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;	

var tmp = date.getHours();
var hour = (tmp <= 12) ? tmp : (tmp-12);
hour = ( hour < 10 ) ? "0" + hour : hour;
var sym = (tmp < 12) ? "am" : "pm";
if (hour == "00"){hr=12;}

var minutes = (( date.getMinutes() < 10) ? "0" : "" ) + date.getMinutes();


/* Refill Reminder date validation */
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this;
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strMonth=dtStr.substring(0,pos1);
	var strDay=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month");
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day");
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date");
		return false;
	}
return true;
}

function isEmpty(str) {
  return (str == null || str == "" || str.length == 0); 
}


function pfdDelete(formName) {
  var form = document.forms[formName];
  var itemChecked = 0;
  
  for (var i=0; i<form.elements.length; i++){
      if (form.elements[i].type == "checkbox" && form.elements[i].name == "delete" && form.elements[i].checked) {
      itemChecked++;
    }
  }
  
  if (itemChecked) form.submit();
  else alert("Please select an entry to delete.");
  
}

function closeAndGoto(url) {
  window.close();
  opener.location = url;
  opener.focus();
}

function pfdInfoPop(obj, entryDate, entryTime, reading, score) {
  if (reading > 0){
    obj.firstChild.className="highlight";
    document.onmousemove = getCursor;
    var content = '<div class="detailTitle">' + entryDate + '&nbsp;&nbsp;' + entryTime + '</div><div class="detailBody">Peak Flow Reading: ' + reading + '<br />Symptom Score: ' + score + '</div></div>';
    document.getElementById("barDetailDiv").innerHTML = content;
    setTimeout("document.getElementById('barDetailDiv').style.visibility = 'visible'", 50);
  }
}

function getCursor(e) {
  var x = 0; var y = 0;
  var xOffset = 20; var yOffset = -25;
  if (document.all) { 
    x = event.clientX + document.body.scrollLeft;
    y = event.clientY + document.body.scrollTop;
  } else {
    x = e.pageX;
    y = e.pageY;
  }  
  document.getElementById("barDetailDiv").style.left = x + xOffset;
  document.getElementById("barDetailDiv").style.top = y + yOffset;
}

function kill(obj){
  document.getElementById("barDetailDiv").style.top = document.getElementById("barDetailDiv").style.left = -1000;
  document.getElementById("barDetailDiv").style.visibility = 'hidden';
  document.onmousemove = '';
  obj.firstChild.className="chartBar";
}

function checkPeakflow() {
  theForm = document.forms['pf.measure.submit'];
  if ( isNaN(theForm.PF_PREDICTED.value) || theForm.PF_PREDICTED.value > 999 ) {
    alert("Please enter a valid predicted peak flow number. (1-999)");
    theForm.PF_PREDICTED.focus();
    theForm.PF_PREDICTED.select();
  }
  else if ( isNaN(theForm.PF_BEST.value) || theForm.PF_BEST.value > 999 ) {
    alert("Please enter a valid personal best peak flow number. (1-999)");
    theForm.PF_BEST.focus();
    theForm.PF_BEST.select();    
  }
  else theForm.submit();
}

function disableChoices(action, radioBtns) {
  for (var i=0; i<radioBtns.length; i++) {
      radioBtns[i].disabled = action;
      if (radioBtns[i].disabled) { radioBtns[i].checked = false; }
  }
}

// Checkbox names are passed as extra arguments from function call
function disableCheckboxes(controlCheckbox) {
  if (controlCheckbox.checked) {
    for (var i=1; i<disableCheckboxes.arguments.length; i++) {
      disableCheckboxes.arguments[i].checked = false;
      disableCheckboxes.arguments[i].disabled = true;
    }
  }
  
  else {
    for (var i=1; i<disableCheckboxes.arguments.length; i++) {
      disableCheckboxes.arguments[i].disabled = false;
    }
  }
}

function setMedicationValues(controlCheckbox) {
  if (controlCheckbox.checked) {
    for (var i=1; i<setMedicationValues.arguments.length; i++){
      setMedicationValues.arguments[i].checked = false;
      setMedicationValues.arguments[i].disabled = true;
    }
  }
}

function setOptinValues(theForm, bbdo_opt_in, optin_direct, optin_email) {
   if (theForm.bbdo_opt_in[1].checked) { disableChoices(true, theForm.bbdo_opt_in_preference) };
   if (bbdo_opt_in)
   {
    return;
   }
   if (optin_direct.indexOf("true")>=0 && optin_email.indexOf("true")>=0)
   {
     theForm.bbdo_opt_in_preference[0].checked=true;     
     theForm.bbdo_opt_in[0].checked=true;     
     return;
   }
   if (optin_direct.indexOf("false")>=0 && optin_email.indexOf("false")>=0)
   {     
     theForm.bbdo_opt_in[1].checked=true;     
     return;
   }   
   if (optin_direct.indexOf("true")>=0 )
   {
   	
     theForm.bbdo_opt_in_preference[2].checked=true;     
     theForm.bbdo_opt_in[0].checked=true;     
     return;
   }
   if (optin_email.indexOf("true")>=0 )
   {
     theForm.bbdo_opt_in_preference[1].checked=true;     
     theForm.bbdo_opt_in[0].checked=true;     
     return;
   }   
   if (optin_email.indexOf("false")>=0 )
   {     
     theForm.bbdo_opt_in[1].checked=true;     
   }   
   if (optin_direct.indexOf("false")>=0 )
   {     
     theForm.bbdo_opt_in[1].checked=true;     
   }   
}

function ttProgress(q_answered, q_max) {
  document.getElementById("progressBarFill").style.width = document.getElementById("progressBarTextTop").style.width = (q_answered/q_max) * parseInt(document.getElementById("progressBarContainer").style.width) + 'px';
}

function checkOthers(controlField) {
  for (var i=1; i<checkOthers.arguments.length; i++) {
    if (checkOthers.arguments[i].checked==false) checkOthers.arguments[i].checked=true;
  }
}

function uncheckOthers(controlField) {
  if (controlField.value == "") {
    for (var i=1; i<uncheckOthers.arguments.length; i++) {
      if (uncheckOthers.arguments[i].checked==true) uncheckOthers.arguments[i].checked=false;
    }
  }
}

function clearForm(form) {
	var iFormElements = form.elements.length;
	for (var i=0; i<iFormElements; i++){
		if (form.elements[i].type == "text") form.elements[i].value = "";
	}
}

function showHideId(aShowIds, aHideIds) {
	for(var i=0; i<aShowIds.length; i++) {
		if (aShowIds[i].indexOf('link') >= 0) document.getElementById(aShowIds[i]).style.display = 'inline';
		else document.getElementById(aShowIds[i]).style.display = 'block';
	}
	for(var i=0; i<aHideIds.length; i++) document.getElementById(aHideIds[i]).style.display = 'none';
}  
