var W3CDOM = document.getElementById;
var ua = navigator.userAgent.toLowerCase();
var os, browser, version, data;

function getObj(idvalue) {
   return document.getElementById(idvalue);
}

function detect(text) {
   stringposition = ua.indexOf(text) + 1;
   data = text;
   return stringposition;
}

function checkLocations() {
   if ((text.selectedIndex > 0) && (bdr.selectedIndex > 0)) {
      for (i=0; i<allLocations.length; i++) {
          allLocations[i].disabled = '';    
      }
   }
   else {
      for (i=0; i<allLocations.length; i++) {
          allLocations[i].disabled = 'disabled';    
      }      
   }
}

function addBorder() {
   this.className = 'border';
}

function removeBorder() {
   this.className = '';
}

function makeButtons() {
   values = ["Preview Your TextAd", "Specify Keywords & Websites -->"];
   ids = ["preview", "specify"];
   type = "button";
   classn = "outset";
   var buttons = getObj('buttons');
   for (i = 0; i < values.length; i++) {
      btn = document.createElement('input');
      btn.type = type;
      btn.className = classn;
      btn.value = values[i];
      btn.id = ids[i];
      buttons.appendChild(btn);
   }   
}

function checkRadio() {
   radio = -1;
   for (i = 0; i < allLocations.length; i++){
      if (!allLocations[i].disabled && allLocations[i].checked) radio = i;
   }
   if (radio > -1) {
      makeCookies();
      window.open("hw4preview.html", "_blank","width=700,height=400,resizable=0,top=25,left=25,copyhistory=0,menubar=0,status=0,directories=0,scrollbars=0");
   }
   else {
      alert("please choose a page location");
      return;
   }
}

function makeCookies() {
   var expires = new Date();   var oneweek = expires.getTime() + (7 * 24 * 60 * 60 * 1000);   expires.setTime(oneweek);
   createCookie('text', text.value, expires);
   createCookie('border', bdr.value, expires);
   createCookie('pageloc', allLocations[radio].value, expires);
   createCookie('webname', websiteName.value, expires);
   createCookie('weburl', websiteURL.value, expires);
   createCookie('admsg', adMessage.value, expires);
}

function createCookie(name, value, exp) {
   var data = name + "=" + escape(value) + "; expires=" + exp.toGMTString();
   document.cookie = data;
}

if (detect('konqueror')) {browser = "Konqueror"; os = "Linux";}
else if (detect('safari')) browser = "Safari";
else if (detect('omniweb')) browser = "OmniWeb";
else if (detect('gecko')) browser = "Gecko based";
else if (detect('firefox')) browser = "Firefox";
else if (detect('opera')) browser = "Opera";
else if (detect('webtv')) browser = "WebTV";
else if (detect('icab')) browser = "iCab";
else if (detect('msie')) browser = "Internet Explorer";
else if (!detect('compatible')) {browser = "Netscape Navigator"; version = ua.charAt(8);}
else browser = "An unknown browser";

if (browser == 'Netscape Navigator') {
   open('warning.html','_blank','top=25,screenY=25,left=25,screenX=25,copyhistory=0,status=0,menubar=0,scrollbars=0,directories=0,resizable=0,width=300,height=150');
}

if (!os) {
   if (detect('linux')) os = "Linus";
   else if (detect('x11')) os = "Unix";
   else if (detect('mac')) os = "Mac";
   else if (detect('win')) os = "Windows";
   else os = "An unknown operating system";
}

if (os == 'Mac' && browser == 'Internet Explorer') {
   alert("Please use Safari, Opera, or a Gecko-based browser to access this website.");
}

if (navigator.cookieEnabled == false) {
    alert('Cookies support is required.\n\nPlease enable cookies in your browser or for this website.');
 }

function start() {
    if (!W3CDOM) return;
    text = getObj('tstyle');
    bdr = getObj('bstyle');
    locations = getObj('pgLocations');
    allLocations = locations.getElementsByTagName('input');
    websiteName = getObj('nm');
    websiteURL = getObj('url');    
    adMessage = getObj('msg');    
 
    text.onchange = checkLocations;
    bdr.onchange = checkLocations;
    websiteName.onfocus = addBorder;
    websiteName.onblur = removeBorder;
    websiteURL.onfocus = addBorder;
    websiteURL.onblur = removeBorder;
    adMessage.onfocus = addBorder;
    adMessage.onblur = removeBorder;   

    makeButtons();
    preview = getObj('preview');
    preview.onclick = checkRadio;
}

window.onload = start;