var searching;
var preloaderPath = '/gassnova2/frontend/css/new/ajax-loader.gif'
document.observe('dom:loaded',function(){
toggleInputBox();
ajaxSearch();
subscribeValidate();
GassnovaSearch();
});

function validate_zipcode_no(zipcode_str){
  var zipcode_filter = /^([\d]+)$/i
  if (!zipcode_filter.test(zipcode_str)){
    alert("Postnummeret kan bare inneholde tall");
    return false;
  }
  else if(zipcode_str < 1 || zipcode_str > 9999){
    alert("Postnummeret må være et tall mellom 0001 og 9999");
    return false;
  }
  else {
    return true;
  }
}
function validate_telephone(telephone_str){
  var telephone_filter = /^([\d]+)$/i
  if (!telephone_filter.test(telephone_str)){
    alert("Telefonnummeret kan bare inneholde tall");
    return false;
  }
  else if(telephone_str < 10000000 || telephone_str > 99999999){
    alert("Telefonnummeret er ugyldig");
    return false;
  }
  else {
    return true;
  }
}
function submitCheck(f,arg){ ///<form onsubmit="return submitCheck(form,'inputName_1,inputName_2,..,inputName_n')">
 if(arg == ''){
  return true;
}
 var elem = arg.split(",")
 for(var i=0;i<elem.length;i++){
  if(f.elements[elem[i]].value=='' || f.elements[elem[i]].value.length<1){
     alert("Please input require value");
     return false;
  }
}
return true
}
function openPopUp(theUrl, w, h, s, r){
/* w=width, h=height,  s=scrollbars: 1 for yes 0 for no, r=resizable: 1 for yes 0 for no
e.g. <a href="#" onclick="openPopUp('http://www.webon.net',200,400,1,1)">open pop up window</a> */  
  window.open(theUrl,'subwindow','"scrollbars='+s+', resizable='+r+', height='+h+', width='+w+'"')
}

function regisCheck(f,arg){ /*<form onsubmit="return regisCheck(form,'USER.EMAIL,USER.PASSWORD,USER.FIRSTNAME,USER.LASTNAME')">*/
 if(submitCheck(f, 'USER.EMAIL,USER.PASSWORD,USER.FIRSTNAME,USER.LASTNAME')== true){
 var pttrn =  /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
 if (!f.elements['USER.EMAIL'].value.match(pttrn))
 {
  alert("E-post format invalid");
  return false;
 }
 f.elements['USER.USERNAME'].value=f.elements['USER.EMAIL'].value;
 return true;
 }
 else
 {
 return false;
 }
}

function validate_comment()
{
  var title = document.getElementById('title').value;
  var comment = document.getElementById('comment').value;

  if( document.getElementById('title').value == '') {
    alert("Tittel er obligatorisk å fylle ut");
    return false;
  }
  else if( document.getElementById('comment').value == '') {
    alert("Kommentar er obligatorisk å fylle ut");
    return false;
  }
  else if( !document.getElementById('validate').checked ) {
    alert("Reglement må godkjennes");
    return false;
  }

  return true;

}

function show_help(e) {

       oAnchor = Event.findElement(e,'A');

         var sURL =oAnchor.href;
         var sTitle = oAnchor.getAttribute('title');
                
          js_dialog('box_help',{title:sTitle,scrollbar:'auto',left:Event.pointerX(e)-35,top:Event.pointerY(e)-35,width:400,height:400});       

          new Ajax.Request(sURL,{

            method: 'get',
            onSuccess: function(resp) {
              $('help_text').innerHTML = resp.responseText;
            }

         });

       Event.stop(e);

       return false;
}
function ajaxSearch() {
if($('search')){
     var f = $('search'); 
     f.observe('submit', function(e){
          if($('namenumber').getValue().blank() || $('namenumber').getValue().strip()==$('namenumber').title){ 
              var warning = new MsgBox('Skriv inn søkeord', 'Advarsel!', {'width':150,'height':100}, function(){ $('namenumber').focus(); });
              warning.showAlert();
              Event.stop(e);
          }
     });
     $('namenumber').observe('keypress', function(e){ 
            if($('backdrop')){
               // FRN remove preloader $('backdrop').remove();
               // FRN remove preloader $('preloader').remove();
               $('iframe-overlay').remove();
            }
            if(searching != null){ searching.transport.abort(); }
     });
     $('namenumber').observe('keyup', function(e){
        // FRN remove preloader if($('preloader')){ $('preloader').remove(); if($('iframe-overlay')){$('iframe-overlay').remove();} }
        if(!this.getValue().blank() && this.getValue().strip().length>2){ 
             var s = this;
             var output = !$('search_result') ? $('bd') : $('search_result');
             var collage = !$('search_result') ? 'yes' : 'no';
             // FRN remove preloader var preload = new popup('preloader', new Element('div', { 'style' : 'background:url('+preloaderPath+') 50% no-repeat;color:#ffffff;font-weight:bold'}).update('Vennligst vent...'),{'width':'300','height':'100'});
             // FRN remove preloader var changePagePreloader;
             var changePage = function(){
                 if($$('a[rel="page-number"]')){
                    $$('a[rel="page-number"]').each(function(o){
                       o.observe('click', function(evt){
                          Event.stop(evt);
                          new Ajax.Request(this.href+'&ajax=yes&debug=off', {
                              method : 'get',
                             // FRN remove preloader  onCreate: function(){ 
                             // FRN remove preloader      changePagePreloader = new popup('preloader', new Element('div', { 'style' : 'background:url('+preloaderPath+') 50% no-repeat;color:#ffffff;font-weight:bold'}).update('Vennligst vent...'),{'width':'300','height':'100'});
                             // FRN remove preloader      changePagePreloader.display();
                             // FRN remove preloader  },
                              onSuccess: function(r){ 
                                  // FRN remove preloader changePagePreloader.destroy();  
                                  output.update(r.responseText); 
                                  changePage(); 
                              }
                          });
                       });
                    });
                 }
             };

     searching = new Ajax.Request(f.action+'&ajax=yes&debug=off&collage='+collage+'&namenumber='+escape(s.getValue()), {
                 method : 'get',
                 // FRN remove preloader onCreate: function(){  preload.display(); },
                 onComplete : function(r){
                 // FRN remove preloader preload.destroy(); 
                 if(r.responseText.strip() != ''){ 
                    output.update(r.responseText); 
                    changePage(); 
                    try {
                      pageTracker._trackPageview('/searchresult?search='+s.getValue());
                    } 
                    catch(e) {
                    }
                 }  
     } 
     });
           
        }        
     });
  }
}
function toggleInputBox(){
  if($$('.toggle')){
     $$('.toggle').each(function(i){
         i.observe('focus', function(e){ if(this.getValue() == this.title){ this.clear(); }});
         i.observe('blur', function(e){ if(this.getValue().blank()) {this.value=this.title; }});
     });
  }
}
var popup = new Class.create({
      initialize : function(popupId, innerElem, opt){
           
            this.opt = opt;
            this.self = this;
            var s = this;
            var vp = document.viewport;
            this.innerElem = innerElem;
            this.backdrop =  new Element('div', { id : 'backdrop'}).setStyle({ 'width' : '100%',  'display' : 'none', 'left' : '0', 'top':'0', zIndex : '998' });
            this.frame = new Element('iframe', { 'id' : 'iframe-overlay','frameborder' : 'no', 'style' : 'z-index:997;border:0 none;width:100%;left:0;top:0' });
            $(this.frame).setOpacity(0);
            $(document.body).insert({'bottom' : $(this.frame)});
            this.div = innerElem;
            this.div.setStyle({zIndex:'999'});
            this.div.id = popupId;
            this.div.addClassName('webon-popup');
            if(!$('backdrop')){ $(document.body).insert({'bottom':this.backdrop}); }
            $(this.div).observe('click', function(){ 
                s.destroy(); 
                if(searching!=null){ searching.transport.abort(); }
            });
            $('backdrop').observe('click', function(){ 
                s.destroy();
                if(searching!=null){ searching.transport.abort(); }
            });
            $(this.div).setStyle({'width' : this.opt.width+'px', 'height' : this.opt.height+'px', left : ((vp.getWidth() - this.opt.width)*0.5)+'px', 'top' : ((vp.getHeight() - this.opt.height)*0.5)+'px' });
     },
      display : function(){  
          if(!$(this.backdrop).visible()){
             new Effect.Appear('backdrop', { duration : 0.1 , to : 0.6});
             $(document.body).insert({'bottom' : $(this.div)});
           }

      },
      destroy : function(){
         if($(this.div)){ 
             $(this.frame).remove();
             $(this.div).hide();
             $(this.div).remove();  
             $('backdrop').remove();  
         }
      },
      alertBox : function(title, callback){
           var s = this.self;
           Event.stopObserving($(this.backdrop), 'click');
           Event.stopObserving($(this.div), 'click');
           $(this.div).setStyle({'overflow' : 'auto'});
           var xBtn = new Element('span').update('<img src="/gassnova2/frontend/css/new/close-window-btn.gif" title="'+'close_window'+'">').setStyle({ 'cursor':'pointer','display':'block','float':'right','paddingRight' : '3px' }).observe('click', function(e){ s.destroy(); });
           var top = new Element('div').update(xBtn).setStyle({'height':'25px', 'line-height':'25px','text-align':'right','clear':'both','background':'url(/WO62/greybox/header_bg.gif) 0% repeat-x', 'borderBottom' : '1px solid #d8d8d8'});
               top.insert({'top': '<span style="float:left;padding-left:5px;color:#333333">'+title+'</span>' });
           var btn = new Element('button',{ 'id' : 'ok-btn-alertBox', 'style' : 'margin-top:10px;height:25px;'}).update('<span style="display:none">ok</span>').observe('click', function(e){ s.destroy(); if(callback && typeof(callback)=='function'){ callback();} }).wrap('p');
           this.div.insert({ 'top' : top }).insert({'bottom':btn});
           s.display();       
      },
      confirmBox : function(title, callback){
       var s = this.self;
           Event.stopObserving($(this.backdrop), 'click');
           Event.stopObserving($(this.div), 'click');
           $(this.div).setStyle({'overflow' : 'auto'});
           var xBtn = new Element('span').update('<img src="/gassnova2/frontend/css/icon/close-window-btn.gif" title="'+'close_window'+'">').setStyle({ 'cursor':'pointer','display':'block','float':'right','paddingRight' : '3px' }).observe('click', function(e){ s.destroy(); });
           var top = new Element('div').update(xBtn).setStyle({'height':'25px', 'line-height':'25px','text-align':'right','clear':'both','background':'url(/WO62/greybox/header_bg.gif) 0% repeat-x', 'borderBottom' : '1px solid #d8d8d8'});
               top.insert({'top': '<span style="float:left;padding-left:5px;color:#333333">'+title+'</span>' });
           var yesbtn = new Element('button',{ 'class' : 'button', 'style' : 'margin-top:10px;height:25px;'}).update('yes').observe('click', function(e){ s.destroy(); if(callback && typeof(callback.yes)=='function'){ callback.yes();} });
           var nobtn = new Element('button',{ 'class' : 'button', 'style' : 'margin-left:5px;margin-top:10px;height:25px;'}).update('no').observe('click', function(e){ s.destroy(); if(callback && typeof(callback.no)=='function'){ callback.no();} });
           var p = new Element('p').insert({'top':yesbtn}).insert({'bottom':nobtn});
           this.div.insert({ 'top' : top }).insert({'bottom':p});
           s.display();
      },
      isDisplayed : function() {
          if($('backdrop') && $('backdrop').visible()){ return true; }else{ return false; }
     }

  });
  var MsgBox = new Class.create({
      initialize : function(msg, title, opt, callback){
           this.msg = msg;
           this.title = title;
           this.callback = callback;
           this.div = new popup('alert', new Element('div').update(msg).setStyle({'background' : '#ffffff', 'border' : '4px solid #D8D8D8'}),{ 'width' : opt.width, 'height' : opt.height});
      },
      showAlert : function(){
           this.div.alertBox(this.title, this.callback);
           this.show();
      },
      show : function(){ 
           this.div.display();
           Event.stopObserving($('backdrop'), 'click');
      },
      showConfirm : function(){
           this.div.confirmBox(this.title, this.callback);
           this.show();
      }
  });

var ValidateFields = new Class.create({
    initialize : function(input){ 
        this.inp = input;
        this.error = 0;
        this.warningText = input.title;
        this.form = input.up('form');
        this.label = $$('label[for="'+input.id+'"]')[0];
        this.stringVal = input.getValue().toString();
        this.rules = new Array();
        this.rules['number'] = '^(\d)+\.?,?\d+$';
        this.rules['email'] = '^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$';
        this.rules['date'] = '^(\d{1,2}-\d{1,2}-\d{4})$';
    },
    ruleCheck : function(){ 
        var error = 0;
     
        if(this.inp.hasClassName('mandatory')){
           if(this.isBlank()){
             error++;
             this.showError();
           }else{
            if(this.inp.hasClassName('number') && !this.isNumber()){ error++; this.showError(); }
            else if(this.inp.hasClassName('email') && !this.isEmail()){ error++; this.showError(); }
            else if(this.inp.hasClassName('date') && !this.isDate()){  error++; this.showError(); }
           }
        }else{
           if(!this.inp.getValue().blank()){ 
               if(this.inp.hasClassName('number') && !this.isNumber()){ error++; this.showError(); }
               else if(this.inp.hasClassName('email') && !this.isEmail()){ error++; this.showError(); }
               else if(this.inp.hasClassName('date') && !this.isDate()){  error++; this.showError(); }
               else { error=error; }
           }
        }
       return error;
    },
    isBlank : function(){
        if(this.stringVal.blank()){
           return true;
        }else{
           return false;
        }
    },
    isNumber : function(){ 
     if(this.stringVal.match(/(\d)+\.?,?\d+$/)){ 
          return true;
       }else{
          return false;
       }
    },
    isEmail : function(){ 
       if(!this.stringVal.match(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/)){
          return false;
       }else{
          return true;
       }
    },
    isDate : function(){
       if(this.stringVal.match(/^(\d{4}-\d{2}-\d{2})$/)){
          return true;
       }else{
          return false;
       }
    },
    isMobile : function(){
        if(this.stringVal.match(/(?:^$)|(?:^(?:\+\d{2}|00\d{2})?[ ]?[1-9]{1}[0-9 ]{7,}$)/)){
            return true;
        }else{ 
            return false;
        }
    },
    showError : function(){
        var input = this.inp;
        var label = this.label;
        var errMsg = input.title || 'error'; 
        
       if(label){
        if(!$('error_'+input.id)){
          var msg = '<label id="error_'+input.id+'" for="'+input.id+'" class="warning">'+errMsg+'</label>';
          label.hide().insert({'after' : msg });
        }
         this.inp.observe('focus', function(event){
            if($('error_'+input.id)){ $('error_'+input.id).remove(); }
                label.show();
        });
       }
    }    
});


var tld_ = new Array()
tld_[0] = "com";
tld_[1] = "org";
tld_[2] = "net";
tld_[3] = "ws";
tld_[4] = "info";
tld_[5] = "uk";
tld_[6] = "no";
tld_[7] = "dk";
tld_[8] = "se";
tld_[9] = "fi";
tld_[10] = "is";
tld_[11] = "de";
var t_ = "lto";
var m_ = "mai" + t_ + ":";
var an_ = 23;
var ant_ = 41;
var d_ = ".";
var a_ = String.fromCharCode(an_ + ant_);

function woob(name, dom, tl, params)
{
	var s = e(name,dom,tl);
	document.write('<a href="'+m_+s+params+'">'+s+'</a>');
}
function woob2(name, dom, tl, mailparams, params, display)
{
        if (mailparams) {
            mailparams = '?' + mailparams;
        }
	document.write('<a href="' + m_ + e(name,dom,tl) + mailparams + '"' + params + '>'+display+'</a>');
}
function e(name, dom, tl)
{
	var s = name+a_;
	if (tl!=-2)
	{
		s+= dom;
		if (tl>=0)
			s+= d_+tld_[tl];
	}
	else
		s+= swapper(dom);
	return s;
}
function swapper(d)
{
	var s = "";
	for (var i=0; i<d.length; i+=2)
		if (i+1==d.length)
			s+= d.charAt(i)
		else
			s+= d.charAt(i+1)+d.charAt(i);
	return s.replace(/\?/g,'.');
}

function subscribeValidate(){

        var unsubscribeRdo = $$("input[id^='unsubscribe_select']");

	if($('subscribe')){
		$('subscribe').observe('submit',function(e){
			var err=0;
			var errMsg= new Array();
			var f = Event.element(e);
			f.select('.mandatory').each(function(o){
				var i = new ValidateFields(o);
				if(o.hasClassName('email')){
					if(!i.isEmail() || o.value == o.title){ err++; errMsg.push(o.title); }
				}else{
					if(i.isBlank() || o.value == o.title){ err++; errMsg.push(o.title); }
				}
			});
			if(err>0){
                                Event.stop(e);
				if(!$('backdrop')){
					var warning = new MsgBox('<div><p>please_input_correct</p><strong>'+errMsg.join(", ")+'</strong></div>', 'Advarsel!', {'width':300,'height':120});
					warning.showAlert();
				}
			}


                        /*if(unsubscribeRdo){
                                 Event.stop(e);
                                 if(!$('backdrop')){
                                   unsubscribeRdo.each(function(i){
                                       if (i.checked) {
					  var confirm = new MsgBox('<div><p>please_input_correct</p></div>', 'Advarsel!', {'width':300,'height':120});
					  confirm.showConfirm();
                                       }                         
                                   });
                                 }
                        } */



		});

	}
}

function GassnovaSearch() {
    var articleChk = $('article_selected'); /*** Checkbox [Søk i nyhetsarkiv] ***/

    var gassnovaSearchNO = $('gassnova-search-no');
    var gassnovaSearchEN = $('gassnova-search-en');
    var customSearchNO = $('custom-search-no');
    var customSearchEN = $('custom-search-en');
      
      if(articleChk) {  
         articleChk.observe('click', function(e){
              if(!this.checked){ 
                  if(gassnovaSearchNO){
                    gassnovaSearchNO.writeAttribute('value', '003672929174990694966:-pk8lfm6lwa');
                  }
                  if(gassnovaSearchEN){
                    gassnovaSearchEN.writeAttribute('value', '003672929174990694966:vngftwikiby');
                  }
                  if(customSearchNO){
                    customSearchNO.writeAttribute('value', '003672929174990694966:ywevh9stc7g');
                  }
                  if(customSearchEN){
                    customSearchEN.writeAttribute('value', '003672929174990694966:jvvqefu7mpy');
                  }                  
             }
              else if(this.checked) { /*** Søk i nyhetsarkiv ***/
                  if(gassnovaSearchNO){
                    gassnovaSearchNO.writeAttribute('value', '003672929174990694966:so-a9nukv0w'); /*** Gassnova søk norsk arkiv ***/
                  }
                  if(gassnovaSearchEN){
                    gassnovaSearchEN.writeAttribute('value', '003672929174990694966:uf3rlicelog'); /*** Gassnova søk engelsk arkiv ***/
                  }
                  if(customSearchNO){
                    customSearchNO.writeAttribute('value', '003672929174990694966:-usplbbw9po');
                  }
                  if(customSearchEN){
                    customSearchEN.writeAttribute('value', '003672929174990694966:2ciijxr2k20');
                  }   
              }              
                                          
         });

     }   
}