var SiteUtil = {
  EVENT_ACTION : "search.do",
  EVENT_ACTION_METHOD : "search",
  EVENT_ARTICLE_TYPE: "news",
  EVENT_FORWARDER : "ajax-search",
  BOOKMARK_COOKIE_NAME : "__bookmark_pref",
  MAX_ROWS : "100",

  /**
  * Perform event article search by specified start and end date.
  */
  eventSearch: function(pUpdateElement, pPublicationId, pSectionId,
                        pStartDate, pEndDate) {
    var requestUrl = this.EVENT_ACTION +
                     "?method=" + this.EVENT_ACTION_METHOD +
                     "&publicationId=" + pPublicationId +
                     "&sectionIds=" + pSectionId +
                     "&startDate=" + escape(pStartDate) +
                     "&endDate=" + escape(pEndDate) +
                     "&articleTypes=" + this.EVENT_ARTICLE_TYPE +
                     "&descendingSort=false" +
                     "&forwarder=" + escape(this.EVENT_FORWARDER) +
                     "&maxRows=" + this.MAX_ROWS;

    var ajaxRequest = new Ajax.Request(
        requestUrl, {method: "GET", asynchronous: false,
                     onComplete: function(request) {
                       try {
                         // set respone text.
                         var update = $(pUpdateElement);
                         update.innerHTML = request.responseText;

                         // find <eval/> elements and execute the inside
                         // embedded javascript code.
                         var evalBlocks = update.getElementsByTagName("code");
                         if (evalBlocks != null && evalBlocks.length > 0) {
                           for (var i = 0; i < evalBlocks.length; i++) {
                             eval(evalBlocks[i].innerHTML);
                           }
                         }
                       } catch (e) {
                         alert(e);
                       }
                     }});
  },

  /**
  * DIspaly or hide bookmark.
  */
  toggleBookmark : function(header, elementId) {
    var e = $(elementId);
    var display = e.style.display;
    if (display == "none") {
      if($("Form2").style.display=="block")
        {
        display = "none";
        $("Form2").style.display=display;  
        }
      else{
        display = "block";
        $(header).className = 'show';
        this.createCookie(this.BOOKMARK_COOKIE_NAME, "true", 365)
      }
    } else {
      display = "none";
      $(header).className = 'hide'
      this.createCookie(this.BOOKMARK_COOKIE_NAME, "false", 365)
    }
    e.style.display = display;
  },


  /* Taken from quirksmode.com */
  createCookie: function(name, value, days) {
    if (days) {
      var date = new Date();
      date.setTime(date.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
  },

  readCookie: function(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
  },

  toggleBox: function( element) {
    SiteUtil.toggle( element, "appear",{duration:0.2} );
},
   toggle: function(element, effect) {
    element = $(element);
    effect = (effect || 'appear').toLowerCase();
    var options = Object.extend({
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
    }, arguments[2] || {});
    Effect[element.visible() ?
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
  },

  showHide: function (elementId){
    if(elementId=='Form1'){
      document.getElementById('Form2').style.display='block';
      document.getElementById('Form1').style.display='none';
    }
    else{
      document.getElementById('Form2').style.display = 'none';
      document.getElementById('Form1').style.display='block';
    }
  }
}



function isValid(){
    var numberRegExp =/^[0-9]+$/;
    var mailRegExp=/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
    var state=true;
    var emptyState=true;
    var fName=$('fName').value;
    var sName=$('sName').value;
    var email=$('email').value;
    var company=$('company').value;
    var phone=$('phone').value;

    $('fName').style.border='';
    $('sName').style.border='';
    $('company').style.border='';
    $('phone').style.border='';
    $('email').style.border='';

    if(fName.length==0){
      $('fName').style.border='solid red';
      emptyState=false;
    }
    if(sName.length==0){
      $('sName').style.border='solid red';
      emptyState=false;
    }
    if(company.length==0){
      $('company').style.border='solid red';
      emptyState=false;
    }
    if(phone.length==0){
      $('phone').style.border='solid red';
      emptyState=false;
    }
    if(email.length==0){
      $('email').style.border='solid red';
      emptyState=false;
    }
//    if(emptyState==false){
//      return emptyState;
//    }

    if(phone.length!=0 && numberRegExp.test(phone)==false){
      $('pPhone').style.display='block';
      state=false;
    }
    else{
      $('pPhone').style.display='none';
    }
    if(email.length!=0 && mailRegExp.test(email)==false){
      $('pEmail').style.display="block";
      state=false;
    }
    else{
      $('pEmail').style.display="none";
    }

    return emptyState && state;
}

function changeVisibility(id){
  var e = document.getElementById(id);
  if(e.style.display == 'none'){
    e.style.display = 'block';
  }
  else{
    e.style.display = 'none';
  }
}

function setLogOutLocation(){
  document.getElementById('logOut').value=window.location;
}

function clearText(theField){
if (theField.defaultValue==theField.value)
theField.value = ""
}
function setSearchText(theField){
 if(theField.value==""){
 theField.value="Search..."; 
 }
}

function openImagePopUP(myImage,myWidth,myHeight,origLeft,origTop){
imgWindow = window.open(myImage,'image','height=' +myHeight+',width='+myWidth+
                        ',toolbar=no,directories=no,status=no,'+
                         'menubar=no,scrollbars=no,resizable=no');
myWidth+=100;
myHeight+=100;
imgWindow.resizeTo(myWidth,myHeight);
imgWindow.moveTo(origLeft,origTop);
imgWindow.focus();
}


function isValidEmailAddress( emailAddress ) {

  var emailAddressFilter=/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;

  if( !(emailAddressFilter.test(emailAddress)) ) {
     return false;
  }
  
  else return true;
}

function myUnload(){
if(mapExists == true){
 GUnload();
}else{
 //do nothing
}
}