// JavaScript Document

/* INIT EVENT HANDLER*/
Event.observe( window, 'load', function() {
RotImgPreloader();
} 
);

/* ROTATOR */
              
     // set image list
     imageBigObj = new Array();
     imageSmallObj = new Array();
     rotImage = new Array();
     rotImageLink = new Array();
     rotImageAlt = new Array();
     rotImageTarget = new Array();
     
     var rotImgCntMax = 4;
     
var RotImgPreloader = function () {


     if($('rotenable')) {

     image = new Array();
     link = new Array();
     alt = new Array();
     tar = new Array();
     
     var imageBigPath = $('rotimgfolder').value;
     var imageSmallPath = $('rotimgfoldersmall').value;
     
     var vImage = $('rotimg').value;
     image = vImage.split("+");

     var rotImgCnt = image.length > 4 ? rotImgCntMax : image.length;

     if($('rotlink').value != '') {
     var vLink = $('rotlink').value;
     link = vLink.split("+");
     }
     
     if($('rotalt').value != '') {
     var vAlt = $('rotalt').value;
     alt = vAlt.split("+");
     }

     if($('rottar').value != '') {
     var vTar = $('rottar').value;
     tar = vTar.split("+");
     }
     
     // start preloading 
     for(var d=0;d<rotImgCnt;d++) {

      imageBigObj[d] = new Image();
      imageSmallObj[d] = new Image();
      imageBigObj[d].src= imageBigPath+'/'+image[d];
      imageSmallObj[d].src= imageSmallPath+'/'+image[d];
      rotImage[d]= image[d];
      rotImageLink[d]= link[d];
      rotImageAlt[d]= alt[d];
      rotImageTarget[d]= tar[d];
     }

    imageBigObj.onLoad = ImgLoaded(rotImgCnt);
    //imageBigObj.onLoad = createtest(rotImageBig[0]);

    }

} 

/*
var createtest = function (src) {
    $('rotatordiv').style.display = 'block';
    var bigi = document.createElement('img'); 
    bigi.setAttribute('src',src);
    var div = $('rotbigimg');
    
    div.appendChild(bigi); 
    
    
}
*/

var ImgLoaded = function (cnt) {

    var imageBigPath = $('rotimgfolder').value;
    var imageSmallPath = $('rotimgfoldersmall').value;
    var bw = $('rotbigwidth').value;
    var sw = $('rotsmallwidth').value;
    var div = 'rotsmallimg_1';

    if(cnt > 0) $('rotatordiv').style.display = 'block';  
    if(rotImageLink[0]) {
    $('rotbigimg').innerHTML = "<a href='"+rotImageLink[0]+"' target='"+rotImageTarget[0]+"' title='"+rotImageLink[0]+"'><img src='"+imageBigPath+"/"+rotImage[0]+"' width='"+bw+"' alt='"+rotImageAlt[0]+"'/></a>";
    } else {
    $('rotbigimg').innerHTML = "<img src='"+imageBigPath+"/"+rotImage[0]+"' width='"+bw+"' alt='"+rotImageAlt[0]+"'/>";
    }
    if(cnt > 1) {
      for(var d=1;d<cnt;d++) {
      div = 'rotsmallimg_'+d;
      $(div).innerHTML = "<img src='"+imageSmallPath+"/"+rotImage[d]+"' width='"+sw+"' alt='"+rotImageAlt[d]+"' onclick='Rotator("+d+","+d+")'/>";    
      }
    $('rotsmalldiv').style.display = 'block';
    }
    
    $('rotbigimgnumber').value = 0;
}

var Rotator = function (div,img) {

    var imageBigPath = $('rotimgfolder').value;
    var imageSmallPath = $('rotimgfoldersmall').value;
    var last = $('rotbigimgnumber').value;
    var small = 'rotsmallimg_'+div;
    var bw = $('rotbigwidth').value;
    var sw = $('rotsmallwidth').value;
    if(rotImageLink[img]) {
    $('rotbigimg').innerHTML = "<a href='"+rotImageLink[img]+"' target='"+rotImageTarget[img]+"' title='"+rotImageLink[img]+"'><img src='"+imageBigPath+"/"+rotImage[img]+"' width='"+bw+"' alt='"+rotImageAlt[img]+"'/></a>";
    } else {
    $('rotbigimg').innerHTML = "<img src='"+imageBigPath+"/"+rotImage[img]+"' width='"+bw+"' alt='"+rotImageAlt[img]+"'/>";
    }
    $(small).innerHTML = "<img src='"+imageSmallPath+"/"+rotImage[last]+"' width='"+sw+"' alt='"+rotImageAlt[last]+"' onclick='Rotator("+div+","+last+")'/>";
    $('rotbigimgnumber').value = img;
}

/* END */

  function ESVRequiredFieldCheck(validate) {

    var rfstring = document.getElementById('id_setRequiredFields').value;
  
    if(rfstring.length > 0) {
   
    var rfstring = rfstring.split("+");
   
    var checkedpart = '';
   
    for(f=0;f < rfstring.length;f++) {

    checkedpart = document.getElementById(rfstring[f]).value;

       if(checkedpart.length == 0) {
    
		  alert('Please, fill all required fields!');
		  return false;
      }
      
       if(rfstring[f].indexOf('Password') != -1 && checkedpart.length > 0) {

       if(document.getElementById('id_pswlength')) {
        if(document.getElementById(rfstring[f]).value.length < 6) {
    		  alert('Password to short!');
    		  return false;                
        }
       }
       
       if(document.getElementById('id_Esv_ConfirmPsw')) {
          if(document.getElementById(rfstring[f]).value != document.getElementById('id_Esv_ConfirmPsw').value) {
    		  alert('Password and Confirm Password are different!');
    		  return false;   
          }
       }
       
       }



        if(validate == '1') {

        if(rfstring[f].indexOf('mail') != -1) {

         if(!EmailValidator(rfstring[f])) return false;
       }

        }
      
      }

    }
      
      return true;
}  


function CheckPasswordLength(what) {
  var num = 5;
  var str = new String(what.value);
  var len = str.length;
 

  document.getElementById('id_passwordcnt').style.visibility = 'visible';
  document.getElementById('id_passwordcnt').innerHTML = "Password length: <label style='color:#cc0000;font-weight:bold'>"+len+"</label>";

  if(len > num) {
   document.getElementById('id_passwordcnt').innerHTML = "Password length: <label style='color:#006633;font-weight:bold'>OK</label>";   
  } 
}


function cleanString(string) {

      var cleaned = string.replace(/[<>]/gi, '').replace(/&lt;/gi, '').replace(/&gt;/gi, '').replace(/alert\(/gi, '').replace(/alert \(/gi, '').replace(/[#!\+$]/gi, '');
      //cleaned = escape(cleaned);

      return cleaned;
}

function prepareSearch() {

      var string = document.getElementById('searchField').value;

      if(string != "Full Site Search" && string.length > 1) {

      document.getElementById('searchField').value = cleanString(string);
      //alert(cleaned);
      //window.location.href='System/Search.php?Search='+cleaned;
      document.SearchHeader.submit();
      return true;
      } else {
          
          if(string == "Full Site Search") {
          
          alert('Missing search string.');
          return false;
          
          } else if(string.length < 2) {
          
           alert('Minimum search string length is two characters.');
           return false;         
          }
      }
		  return false;
     
}

function popitup(url)
{
	newwindow=window.open(url,'name','height=650,width=550');
	if (window.focus) {newwindow.focus()}
	return false;
}

function open_url(urltoopen,menubar,scrollbars,resizable,width,height)
{
window.open(urltoopen,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=" + menubar + ", scrollbars="+ scrollbars + ", resizable=" + resizable + ", copyhistory=no, innerWidth=0, innerHeight=0, width=" + width + ", height=" + height);
}


// FORM VALIDATOR START
function check(adr) {
  		var esc = adr.toLowerCase();
  		var kw = 0;
		for (var i=0; i < esc.length; i++) {
    		var ch = esc.charAt(i);
    		if (ch == '@')
      		kw += 1;
  		}
		if (kw!=1){
			alert("Error type: missing or multiple instances of @ in email address!");
			return(false);
		}
		var filter=/^.+@.+\..{2,3}$/
		if (!filter.test(esc)){
			alert("Error type: missing or wrong character in email address!");
			return(false);
		}
		txt=esc.split("@");
 		if (txt[1].indexOf("..")>1) {
    		alert("Error type: multiple use of dot!");
    		return(false);
 		}
		if (esc.indexOf(" ")>0){
  			alert("Error type: a space between letters!");
			return(false);
		}
		adr.value=esc;
		return(true);
	}
	
function FormValidator(){

	var email=document.ContactForm.emailto;
	var yname=document.ContactForm.name;
	var ymail=document.ContactForm.mailfrom;
	var message=document.ContactForm.message.value;
	
	
	if ((email.value==null)||(email.value=="") || (yname.value=="") || (ymail.value=="") || (ymail.value==null)){
		alert("Please, fill the required fields.");
		ymail.focus()
		return false
	}
	
	if (check(email.value)==false){
		email.value=""
		email.focus()
		return false
	} 
  
  if(check(ymail.value)==false){
		ymail.value=""
		ymail.focus()
		return false
	}

	if(message.length > 500) {
		alert("Sorry, to many characters in the message. Only five full lines allowed.");
		ymail.focus()
		return false
	
	}
	
	if(message.length > 0)  document.ContactForm.message.value = cleanString(message); 
		                      document.ContactForm.name.value = cleanString(yname.value);
		

	return true
 }

function CheckRequired(param) {

      
    var comment = document.getElementById('comment').value;
    var name = document.getElementById('name').value;
   

   
    if(param.length > 0) {
		if(comment=='' || name=='') {
			window.alert ("Please, fill the required fields.");
			return false

	   }
	   }
			
	  Validator();

	 if(name.length > 0) document.getElementById('name').value = cleanString(name); 
	 if(comment.length > 0) document.getElementById('comment').value = cleanString(comment); 

    return true;
	
}

function Validator(){

  if(document.getElementById('xmail')) {

	var xmail=document.ContactForm.xmail;
	
	if ((xmail.value==null)||(xmail.value=="")){
		alert("Must contain an e-mail address!");
		xmail.focus()
		return false
	}
	if (check(xmail.value)==false){
		xmail.value=""
		xmail.focus()
		return false
	}
	
	return true
	
 } else {
 
	return true
 }
}
// FORM VALIDATOR END
