function isValidURL(url){
  var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
  return RegExp.test(url);
}

function isValidEmail(email){
  var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/;
  return RegExp.test(email);
}

var pageIsLoaded;
var placeHolderURL="http://www.yourSiteUrl.com";

function loadPage(page){
  var pos= $.browser.msie && $.browser.version<7 ?"absolute":"fixed";

  if (page && page.indexOf("http")==-1) {
    page = "http://"+page;
  }

  if (page && isValidURL(page) && page!=placeHolderURL){
    var pageContent=$("<div id='pageContent'/>").css({display:"none", position:pos,top:0,left:0,width:"100%",height:"100%"});

    $("body").append(pageContent);
    $("#pageContent").css({height:"100%", background:"url("+contextPath+"'/applications/pataPage/site/images/bgnds/white_70.png')"});
  }else{
    $("#yourWebsite").addClass("alert").val("We need you to type a web site address");
    setTimeout(function(){$("#yourWebsite").removeClass("alert").val("http://").focus();},2000);
    return;
  }
  $(document.body).scrollTop(0);
  $(document.body).css({overflow:"hidden"});
  $(document.documentElement).css({overflow:"hidden"});
  $("#pageContent").mb_bringToFront();
  $("#pageContent").prepend("<iframe id='pp_iframe' style='position:"+pos+";top:0;left:0;width:100%;height:100%;frame-border:none; border:0;display:none; background:white' src='javascript:void(0)'> </iframe> ");
  $("#pageContent").css({bottom:0, left:0}).slideDown(800,function(){
    $("#pp_iframe").attr("src",page);

    setTimeout(function(){ $("#pp_iframe").fadeIn(800);},1500);
    setTimeout(function(){
      $.ajax({
        type: "POST",
        url: contextPath+"/applications/pataPage/site/parts/addPatabutton.jsp",
        data: "",
        success: function(html){
          $("body").append("<div id='tutorial' style='display:none'></div>");
          $("#tutorial").mb_bringToFront();
          $("#tutorial").css({opacity:.9}).html(html).slideDown("slow");

          $(".pataButton").animate({marginTop:0}).mb_bringToFront();
          $(".retweetContainer").animate({marginTop:0}).mb_bringToFront();
          $("body").append($(".patarate"));

          $(".patarate").animate({marginTop:0}).mb_bringToFront();
        }
      });
      setTimeout(function(){
        overlay('#demoExplanations', true);
        setTimeout(function(){$('#demoExplanations .overlayClose').click();},12000);
      },2000);


    },2000);
  });
  pageIsLoaded=true;
};

function unloadPage(){
  $(document).unbind("mousemove");
  $("#pataHero").remove();
  $("#tutorial").fadeOut("slow", function(){$("#tutorial").remove();});
  $("#pp_iframe").fadeOut(400,function(){
    $("#pageContent").slideUp(800,function(){
      $("#pageContent").remove();
      $("#pp_iframe").remove();
      $(document.body).css({overflow:"auto"});
      $(document.documentElement).css({overflow:"auto"});

      //Remove buttons
      $(".pataButton").animate({marginTop:-1200}).mb_bringToFront();
      $(".retweetContainer").animate({marginTop:-1200}).mb_bringToFront();
      $(".patarate").animate({marginTop:-1200}).mb_bringToFront();
      $('#demoExplanations .overlayClose').click();

    });
  });
  pageIsLoaded=false;
};

(function($) {
  $.fn.mb_bringToFront= function(){
    var zi=10;
    $('*').each(function() {
      if($(this).css("position")=="absolute"){
        var cur = parseInt($(this).css('zIndex'));
        zi = cur > zi ? parseInt($(this).css('zIndex')) : zi;
      }
    });
    $(this).css('zIndex',zi+=1);
    return $(this);
  };

  $.fn.mb_switchContent=function(){
    var elements=$(this);
    $(this).each(function(){
      var el=$(this);
      var contentID= $(this).metadata().content;
      var accordionEl= $("#"+contentID);
      $(accordionEl).attr("open","false");

      $(this).find(".desc").css("cursor","pointer").bind("click",function(){
        if ($(accordionEl).attr("open")=="false"){
          $(".mb_accordion").slideUp("fast").attr("open","false");
          $(accordionEl).slideDown("fast", function(){$(elements).not(el).removeClass("sel");});
          $(accordionEl).attr("open","true");
          $(el).addClass("sel");
        }else{
          $(accordionEl).slideUp("fast");
          $(accordionEl).attr("open","false");
          $(el).removeClass("sel");
        }
      });
    });
  };

})(jQuery);

$(function(){
  $("#goToSite").bind("click",function(){
    var val = $("#yourWebsite").val();
    $("#yourWebsite").css("color","");
    if(val.beginsWith("http://http://"))
      val = val.substring(7, val.length);
    else if(val.beginsWith("https://https://"))
      val = val.substring(8, val.length);
    $("#yourWebsite").val(val);
    loadPage(val);
  });

  if(isExplorer)
    initialize(contextPath+"/commons/js/jquery/jquery.caret.js",true);
  $("#yourWebsite").css("color","#8F8F8F").val(placeHolderURL);
  $("#yourWebsite").focus(function(){
    $(this).val("http://").css("color","");
    if(isExplorer) {
      $("#yourWebsite").caret({start:7,end:7});
    }
  });
  $("#yourWebsite").blur(function(){
    if($(this).val()=="http://")
      $(this).css("color","#8F8F8F").val(placeHolderURL);
  });
  $("#yourWebsite").keypress(function(e){
    if(e.which==13) $("#goToSite").click();
  });
});
