var win = null;

function NewWindow(mypage,myname,w,h,scroll){
  LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  settings = "height="+h+",width="+w+",top="+TopPosition+",left="+LeftPosition+",scrollbars="+scroll+",resizable";
  win = window.open(mypage,myname,settings);
}

function MM_swapImgRestore(){
  var i,x,a=document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages(){
  var d=document;
  if(d.images){
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
    for(i=0; i<a.length; i++){
      if(a[i].indexOf("#")!=0){
        d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
      }
    }
  }
}

function MM_findObj(n, d){
  var p,i,x;
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length){
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n);
  return x;
}

function MM_swapImage(){
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array;
  for(i=0;i<(a.length-2);i+=3){
    if ((x=MM_findObj(a[i]))!=null){
      document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
    }
  }
}


var site = {

  t:1,
  ajaxcur:null,
  ajaxel:new Array(),
  ajaxelfx:new Array(),

  init:function(){
    new Fx.Accordion($$(".acctog"), $$(".accstr"));

    site.ajaxel[1] = $("right_content1");
    if(site.ajaxel[1]){
      site.ajaxelfx[1] = site.ajaxel[1].effect("opacity",{duration:1000});

      site.ajaxel[-1] = new Element("div").addClass("right_content").injectAfter(site.ajaxel[1]);
      site.ajaxel[-1].id = "right_content2";
      //site.ajaxel[-1] = $("right_content2");
      site.ajaxelfx[-1] = site.ajaxel[-1].effect("opacity",{duration:1000}).set(0);
    }

    if(location.search.substr(0,3) == "?p="){
      var newcontent = location.search.substr(3);
      if(newcontent.length){
        site.ajaxcur = newcontent;
        new Ajax("/content/"+newcontent+".htm",{update:site.ajaxel[site.t], postBody:''}).request();
      }
    }

    $$(".ajax_getpage").each(function(el,i){
      var success = false;
      el.addEvent("click", function(ev){
        if(site.ajaxcur != el.href){
          site.t = -site.t;
          new Ajax(el.href,{
            update:site.ajaxel[site.t],
            postBody:'',
            onSuccess:function(){
              success = true;
              site.ajaxcur = el.href;
              site.ajaxelfx[-site.t].start(1,0);
            },
            onComplete:function(){
              site.ajaxel[-site.t].setHTML("");
              if(success) site.ajaxelfx[site.t].start(0,1);
            }
          }).request();
        }
        ev = new Event(ev).preventDefault();
      });
    });

  },

  validateform:function(frm){
    var msg = "";

    $$(".form_req").each(function(el,i){
      el.removeClass("form_error");
      if(el.value.trim() == ""){ // el.value == null
        el.addClass("form_error");
        msg += "<b>"+el.name+"</b> is required.<br/>\n";
      };
    });

    $$(".form_req_phone").each(function(el,i){
      // allow                     ( ) . + - space
      var ph = el.value.replace(/[\(\)\.\+\-/ ]/g, "");
      el.removeClass("form_error");
      if(!ph.test(/^[0-9]{8,}$/)){
        el.addClass("form_error");
        msg += "<b>"+el.name+"</b> should be a valid <i>phone number</i>.<br/>\n";
      };
    });

    $$(".form_req_email").each(function(el,i){
      el.value = el.value.trim();
      el.removeClass("form_error");
      // forbid             (  )  <  >  [  ]  ,  ;  :  \  /  "
      if((el.value.test(/[\(|\)|\<|\>|\[|\]|\,|\;|\:|\\|\/|\"]/)) || (!el.value.test(/^.+@.+\.[A-Za-z]{2,6}$/))){
        el.addClass("form_error");
        msg += "<b>"+el.name+"</b> should be a valid <i>email address</i>.<br/>\n";
      };
    });

    site.ajaxel[site.t].scrollTo(0,0);

    if(msg != ""){
      if($("form_message")) $("form_message").remove();
      new Element("div").injectBefore($(frm)).setHTML("").id="form_message";
      $("form_message").setHTML(msg);
      return false;
    }
    else{
      $(frm).send({onComplete:function(){
        if(this.response.text == "ok"){
          new Ajax("/thank_you.htm",{
          method:'get',
            update:site.ajaxel[site.t],
            postBody:''
          }).request();
        }
      }
      });
      return false;
    }
  }

};


window.addEvent("load", site.init);

/*
// TO TEST
// http://www.csua.berkeley.edu/~jgwang/jsfunc02.htm

function checkDate() {
  var myDayStr = document.CheckDate.formDate.value;
  var myMonthStr = document.CheckDate.formMonth.value;
  var myYearStr = document.CheckDate.formYear.value;
  var myMonth = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  var myDateStr = myDayStr + ' ' + myMonth[myMonthStr] + ' ' + myYearStr;

  // Using form values, create a new date object using the setFullYear function
  var myDate = new Date();
  myDate.setFullYear(myYearStr,myMonthStr,myDayStr);

  if(myDate.getMonth() != myMonthStr) {
    alert( 'I\'m sorry, but "' + myDateStr + '" is NOT a valid date.' );
  }
  else {
    alert( 'Congratulations! "' + myDateStr + '" IS a valid date.' );
  }
}
*/
