opera = (navigator.userAgent.indexOf('Opera') >= 0)? true : false;
ie = (document.all && !opera)? true : false;
dom = (document.getElementById && !ie && !opera)? true : false;

agt_ = navigator.userAgent.toLowerCase();
is_ie_ = ((agt_.indexOf("msie") != -1) && (agt_.indexOf("opera") == -1));


var expiration = new Date();
expiration.setTime(expiration.getTime() + 3600*3600*3600);

function trim(string){
return string.replace(/(^\s+)|(\s+$)/g, "");
}

function confirm_del() {

   var er_reply = "This will permanantly delete this record! You can't restore it in future.";

   var reply = confirm(er_reply);

  if (reply) {
     return true;
  } else {
     return false;
  }
}

function showtranscript(elemId,displayValue) {
  if (dom) {

      if (displayValue) {                   
         if (document.getElementById(elemId)) {
           document.getElementById(elemId).style.display = displayValue;
         }
         return 0;
      }

      if (document.getElementById(elemId).style.display == "none") {
         document.getElementById(elemId).style.display = "block";
      } else if (document.getElementById(elemId).style.display == "block") {
         document.getElementById(elemId).style.display = "none";
      }

  } else if (ie) {

    if (displayValue) {        
       if (document.all[elemId]) {
         document.all[elemId].style.display =  displayValue;
       }
       return 0;
    }

    if (document.all[elemId].style.display == "block") {
       document.all[elemId].style.display = "none";
    } else if (document.all[elemId].style.display == "none") {
      document.all[elemId].style.display = "block";
    }

  }
}


function display(cookie_name, id) {
    var template_category_cookie;

    template_category_cookie = GetCookie(cookie_name);

    if (template_category_cookie) {
       SetCookie(cookie_name, "1", expiration, "", "","")
       showtranscript(id, 'block');
    } else {
       SetCookie(cookie_name, "", expiration, "", "","")
       showtranscript(id, 'none');
    }

    return true;
}


function display_reverse(cookie_name, id) {
    var template_category_cookie;

    template_category_cookie = GetCookie(cookie_name);

    if (template_category_cookie) {
       showtranscript(id, 'none');
    } else {
       showtranscript(id, 'block');
    }

    return true;
}


function onCookieChange(cookie_name, id) {

  if (dom) {
      if (document.getElementById(id).style.display == "none") {
         SetCookie(cookie_name, "", expiration, "", "","")
      } else if (document.getElementById(id).style.display == "block") {
         SetCookie(cookie_name, "1", expiration, "", "","")
      }

  } else if (ie) {

    if (document.all[id].style.display == "block") {
       SetCookie(cookie_name, "1", expiration, "", "","")
    } else if (document.all[id].style.display == "none") {
       SetCookie(cookie_name, "", expiration, "", "","")
    }

  }
}


function SetCookie(name, value, expires, path, domain, secure) {

   var mycookie = name + "=" + escape(value);
   var myexpires = new Date();
   myexpires.setTime(myexpires.getTime() + 5000);
   mycookie = mycookie + "; myexpires=" + myexpires.toGMTString();
   document.cookie = mycookie;

}


function GetCookie(name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;

   while (i < clen) {
     var j = i + alen;
     if (document.cookie.substring(i, j) == arg)  return getCookieVal (j);
     i = document.cookie.indexOf(" ", i) + 1;
     if (i == 0) break;
   }

   return null;
}


function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1) endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}


function bookmarkthis(title,url) {
  if (window.sidebar) { // firefox
     window.sidebar.addPanel(title, url, "");
  } else if (document.all) { // IE
     window.external.AddFavorite(url, title);
  } else if (window.opera && window.print) { // opera
     var elem = document.createElement('a');
     elem.setAttribute('href',url);
     elem.setAttribute('title',title);
     elem.setAttribute('rel','sidebar');
     elem.click();
  }
}


function MainPageBookmark(url,title) {
   if (window.sidebar) { 
       window.sidebar.addPanel(title, url,'');
   } 
   else 
     if( window.external )  
         window.external.AddFavorite( url, title); 
     else 
       if(window.opera && window.print)  return true; 
} 



function date_to_str(date, month, year) {
  if (date < 10) { 
    date = '0' + date; 
  } 
  if (month < 10) { 
    month = '0' + month; 
  } 
  return month + '/' + date + '/' + year; 
}

function convert_date(str){
   var arr = str.split('-');
   return arr[1] + '/' + arr[2] + '/' + arr[0];
}




    function ValidateEmailAddress (emailStr)
    {
      // Validates the email address
      var emailPat=/^(.+)@(.+)$/
      var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
      var validChars="\[^\\s" + specialChars + "\]"
      var quotedUser="(\"[^\"]*\")"
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
      var atom=validChars + '+'
      var word="(" + atom + "|" + quotedUser + ")"
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") 
      var matchArray=emailStr.match(emailPat)
      
      if (matchArray==null)
      {
        return "Email address seems incorrect (check @ and .)";
      }
      
      var domain=matchArray[2]
      
      
      // Make sure that it ends in a three-letter word or a two-letter word, and that hostname preceding domain or country.
      var atomPat=new RegExp(atom,"g")
      var domArr=domain.match(atomPat)
      var len=domArr.length
      if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
      {
        return "The address must end in a three-letter domain, or two letter country.";
      }
      

      if (len<2)
      {
        return "This address is missing a hostname!";
      }
      
      return true;
    }



function closeW(name){
   $("a#"+name).trigger('click');
}

function getAllChecked() { 

  var ar = new Array();

  for (i = 0; i < document.stall_form.elements.length; i++) {
    var item = document.stall_form.elements[i];
        
    if (item.name.match("ref_categories") && item.checked==true) {
       ar[ar.length] = item.value;
     };
   }

   return ar.toString();
}


function inputEmail(frm) {

   if (!frm.get_email.value || frm.get_email.value == ctl_email) {
       alert("Please enter your email!");
       frm.get_email.value = '';
       frm.get_email.focus();
      return false;
   }

   var email_valid = ValidateEmailAddress(frm.get_email.value);
   if( email_valid != true) {alert(email_valid); return false;}

   return true;
}

function inputBetaSubscriber(frm) {

   if (!frm.get_name.value || frm.get_name.value == ctl_name) {
       alert("Please enter your name!");
       frm.get_name.value = '';
       frm.get_name.focus();
      return false;
   }

   if (!frm.get_email.value || frm.get_email.value == ctl_email) {
       alert("Please enter your email!");
       frm.get_email.value = '';
       frm.get_email.focus();
      return false;
   }

   var email_valid = ValidateEmailAddress(frm.get_email.value);
   if( email_valid != true) {alert(email_valid); return false;}
    /*
   if (!frm.get_comment.value) {
       alert("Please enter your comment!");
       frm.get_comment.focus();
      return false;
   }
    */
   return true;
}

function add_subscriber(frm) {

   if (!frm.get_email.value) {
       alert("Please enter email!");
       frm.get_email.focus();
      return false;
   }

   if (!frm.get_email2.value) {
       alert("Please enter confirm email!");
       frm.get_email2.focus();
      return false;
   }


      var email_valid = ValidateEmailAddress(frm.get_email.value);
      if( email_valid != true) {alert(email_valid); return false;}

      if (frm.get_email.value != frm.get_email2.value) {
          alert("Email and confirm email not match!");
          frm.get_email.focus();
         return false;
      }

   return true;
}

    function ValidateEmailAddress (emailStr)
    {
      // Validates the email address
      var emailPat=/^(.+)@(.+)$/
      var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
      var validChars="\[^\\s" + specialChars + "\]"
      var quotedUser="(\"[^\"]*\")"
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
      var atom=validChars + '+'
      var word="(" + atom + "|" + quotedUser + ")"
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") 
      var matchArray=emailStr.match(emailPat)
      
      if (matchArray==null)
      {
        return "Email address seems incorrect (check @ and .)";
      }
      
      var domain=matchArray[2]
      
      
      // Make sure that it ends in a three-letter word or a two-letter word, and that hostname preceding domain or country.
      var atomPat=new RegExp(atom,"g")
      var domArr=domain.match(atomPat)
      var len=domArr.length
      if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
      {
        return "The address must end in a three-letter domain, or two letter country.";
      }
      

      if (len<2)
      {
        return "This address is missing a hostname!";
      }
      
      return true;
    }



function validEmail(email) {
  invalidChars = " /:,;";
  if (email == "") {
    return false;
  }
  for (i=0; i<invalidChars.length;i++) {
    badChar = invalidChars.charAt(i);
    if (email.indexOf(badChar,0) > -1) {
      return false;
    }
  }
  atPos = email.indexOf("@",1);
  if (atPos == -1) {
    return false;
  }
  if (email.indexOf("@",atPos+1) > -1) {
    return false;
  }
  periodPos = email.indexOf(".",atPos);
  if (periodPos == -1) {
    return false;
  }
  if (periodPos+3 > email.length) {
    return false;
  }
  return true;
}

function changeTab(id){
   /*
   if(id == active_cat && id != selected_cat){
      document.getElementById('cat_'+selected_cat).className = "";
   }

   if(id != active_cat && active_cat != selected_cat){
      document.getElementById('cat_'+selected_cat).className = "";
   }
    */

   if(selected_cat) document.getElementById('cat_'+selected_cat).className = "";

   if(document.getElementById('tab_'+selected_cat)){
     document.getElementById('tab_'+selected_cat).style.display = "none";
   }

   if(document.getElementById('tab_'+id)){
     document.getElementById('tab_'+id).style.display = "block";
   }
                                   
   if(document.getElementById('cat_'+active_cat)) document.getElementById('cat_'+active_cat).className = "";

//   if(id != active_cat)
document.getElementById('cat_'+id).className = "active";

   selected_cat = id;
}

function inputFriendInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('name','email','sender_name','sender_email','comments');
   var error_array = new Array("Friend's Name","Friend's Email",'Your Name','Your Email','Message');

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }
 
   return true;
}

function clr_txt(frm,name) { 

   eval("var name_value = frm.get_"+name+".value;");
   eval("var control_name = ctl_"+name+";");

   if(name_value.toLowerCase() == control_name.toLowerCase()){

     eval("frm.get_"+name+".value = '';");     

   }

   return true;
}
       
function check_search(frm, name) { 

   eval("var control_name = ctl_"+name+";");

   eval("var name_value = frm.get_"+name+".value;");
   
   if (!name_value || name_value.toLowerCase() == control_name.toLowerCase()) {

     eval("frm.get_"+name+".value = '"+control_name+"';");

     return false;
   }
     return true;
}

function QuickSearch(frm) {
   
   if (!frm.get_search.value || frm.get_search.value == ctl_search) {
      alert("Please enter a search text!");
      frm.get_search.value = '';
      frm.get_search.focus();
     return false;
  }

  frm.frm_submit.value = 1;

  frm.submit();
}
