var dtCh= "/";

var minYear=1900;

var maxYear=2100;

var otherValidation;

var sitePath	=	"http://www.ishotmyself.nl";


function Validator(frmname,btnname,otherValidatio)

{

otherValidation=otherValidatio;

  this.formobj=document.forms[frmname];

	if(!this.formobj)

	{

	  alert("BUG: couldnot get Form object "+frmname);

		return;

	}	

	this.btnobj = this.formobj[btnname];

	if(!this.btnobj)

	this.btnobj=document.getElementById(btnname);
	

	if(!this.btnobj)
	{

	  alert("BUG: couldnot get object "+btnname);

		return;

	}

	if(this.formobj.onsubmit)

	{

	 this.formobj.old_onsubmit = this.formobj.onsubmit;

	 this.formobj.onsubmit=null;

	}

	else

	{

	 this.formobj.old_onsubmit = null;

	}

	//this.formobj.onsubmit=form_submit_handler;	

	this.btnobj.onclick=form_submit_handler;

	this.addValidation = add_validation;

	this.setAddnlValidationFunction=set_addnl_vfunction;

	this.clearAllValidations = clear_all_validations;

	

}



function set_addnl_vfunction(functionname)

{

  this.formobj.addnlvalidation = functionname;

}

function clear_all_validations()

{

	for(var itr=0;itr < this.formobj.elements.length;itr++)

	{

		this.formobj.elements[itr].validationset = null;

	}

}

function form_submit_handler()

{

	//alert(eval(otherValidation))

	

	

	if(eval(otherValidation)==false)

	{

	return false;

	}

	for(var itr=0;itr < this.form.elements.length;itr++)

	{

		if(this.form.elements[itr].validationset &&

	   !this.form.elements[itr].validationset.validate())

		{

		  return false;

		}

	}

		

	if(this.form.addnlvalidation)

	{

	  str =" var ret = "+this.form.addnlvalidation+"()";

	  eval(str);

    if(!ret) return ret;

	}

	return true;

}

function add_validation(itemname,descriptor,errstr)

{

  if(!this.formobj)

	{

	  alert("BUG: the form object is not set properly");

		return;

	}//if

	var itemobj = this.formobj[itemname];

	if(!itemobj)

	itemobj =document.getElementById(itemname);

	

	

  if(!itemobj)

	{

	  alert("BUG: Couldnot get the input object named: "+itemname);

		return;

	}

	

	if(descriptor=="compare")

      { 

           var arr = errstr.split("|")           

           compControl2 = arr[0];

          var itemComp = this.formobj[compControl2];

	        if(!itemComp)

	            itemComp =document.getElementById(compControl2); 

	         if(!itemComp)

	            {

	              alert("BUG: Couldnot get the input object named: "+compControl2);

		            return;

	            }     

      } 
     
      if(descriptor=="security")

      { 

           var arr = errstr.split("|")           

           compSecurity = arr[0];
           SecurityError = arr[1];

          var itemComp = this.formobj[compSecurity];

	        if(!itemComp)

	            itemComp =document.getElementById(compSecurity); 

	         if(!itemComp)

	            {

	              alert("BUG: Couldnot get the input object named: "+compSecurity);

		            return;

	            }     
      } 

//	alert(itemname);///////////////////////////////////////

	if(!itemobj.validationset)

	{

	  itemobj.validationset = new ValidationSet(itemobj);

	}

  itemobj.validationset.add(descriptor,errstr);

}

function ValidationDesc(inputitem,desc,error)

{

  this.desc=desc;

	this.error=error;

	this.itemobj = inputitem;

	this.validate=vdesc_validate;

}

function vdesc_validate()

{

 if(!V2validateData(this.desc,this.itemobj,this.error))

 {

    if(!this.itemobj.disabled)

    this.itemobj.focus();

		return false;

 }

 return true;

}

function ValidationSet(inputitem)

{

    this.vSet=new Array();

	this.add= add_validationdesc;

	this.validate= vset_validate;

	this.itemobj = inputitem;

}

function add_validationdesc(desc,error)

{

  this.vSet[this.vSet.length]= 

	  new ValidationDesc(this.itemobj,desc,error);

}

function vset_validate()

{

   for(var itr=0;itr<this.vSet.length;itr++)

	 {

	   if(!this.vSet[itr].validate())

		 {

		   return false;

		 }

	 }

	 return true;

}

function validateEmailv2(email)

{

// a very simple email validation checking. 

// you can add more complex email checking if it helps 

    if(email.length <= 0)

	{

	  return true;

	}

    var splitted = email.match("^(.+)@(.+)$");

    if(splitted == null) return false;

    if(splitted[1] != null )

    {

      var regexp_user=/^\"?[\w-_\.]*\"?$/;

      if(splitted[1].match(regexp_user) == null) return false;

    }

    if(splitted[2] != null)

    {

      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;

      if(splitted[2].match(regexp_domain) == null) 

      {

	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;

	    if(splitted[2].match(regexp_ip) == null) return false;

      }// if

      return true;

    }

return false;

}

function V2validateData(strValidateStr,objValue,strError) 

{ 

    var epos = strValidateStr.search("="); 

    var  command  = ""; 

    var  cmdvalue = ""; 

    

    if(epos >= 0) 

    { 

     command  = strValidateStr.substring(0,epos); 

     cmdvalue = strValidateStr.substr(epos+1); 

    } 

    else 

    { 

     command = strValidateStr; 

    } 

    

    //compare

        var compControl2=""

        if(command=="compare")

        {

           var arr = strError.split("|")

           strError = arr[1];

           compControl2 = arr[0];

        } 

    

    //compare

    

  //  alert(command);//////////////////////////////////////////////////////

    switch(command) 

    { 

		case "Image":

		case "image":

		{

		    if(!IsImage(objValue))

		    {

		    alert(IsImage(objValue));

		    return false

		    }

			

			break;

			//IsImage

		}

		case "sound":

		case "Sound":

		{

		    if(!IsSound(objValue))

		    {

		        //alert(IsSound(objValue));

		    return false

		    }

			break;

			//IsImage

		}

        case "compare": 

         { //alert(trim(objValue.value))

           if(trim(objValue.value) != document.getElementById(compControl2).value) 

           { 

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " Wachtwoorden komen niet overeen.";                

              }//if 

               document.getElementById(compControl2).focus();

              alert(strError); 

              

              return false; 

           }//if 

           break;             

         }//case compare          

        case "req": 

        case "required": 

         { //alert(trim(objValue.value))

           if(eval(trim(objValue.value).length) == 0) 

           { objValue.value="";

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " : Verplicht veld."; 

              }//if 

              alert(strError); 

              return false; 

           }//if 

           break;             

         }//case required 

        case "maxlength": 

        case "maxlen": 

          { 

             if(eval(objValue.value.length) >  eval(cmdvalue)) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : maximaal "+cmdvalue+" tekens. "; 

               }//if 

               alert(strError + "\n[Huidige lengte = " + objValue.value.length + " ]"); 

               return false; 

             }//if 

             break; 

          }//case maxlen 

        case "minlength": 

        case "minlen": 

           { 
				
             if(eval(objValue.value.length) <  eval(cmdvalue) && eval(objValue.value.length) > 0 ) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : minimaal " + cmdvalue + " tekens  "; 

               }//if               

               alert(strError+ "\n[Huidige lengte = " + objValue.value.length + " ]"); 

               return false;                 

             }//if 

             break; 

            }//case minlen 

        case "alnum": 

        case "alphanumeric": 

           { 

              var charpos = objValue.value.search("[^A-Za-z0-9._ ]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

               if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Alleen alpha-numerieke tekens zijn toegestaan."; 

                }//if 

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break; 

           }//case alphanumeric 

           
       
        case "alphanumericspecial": 

           { 

              var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

               if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Alleen alpha-numerieke tekens zijn toegestaan."; 

                }//if 

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break; 

           }//case alphanumeric 
        case "num": 

        case "numeric": 

           { 

              var charpos = objValue.value.search("[^0-9.]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Alleen getallen zijn toegestaan."; 

                }//if               

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break;               

           }//numeric 
           
            case "hold": 

           { 

               if(document.getElementById('submited'))
         		{
           			document.getElementById('submited').style.display='block';
         		}
         		
         		if(document.getElementById('click'))
         		{
          			document.getElementById('click').style.display='none';
         		}

              
              break;               

           }//numeric 


        

        case "onlynum": 

        case "onlynumeric": 

           { 

              var charpos = objValue.value.search("[^0-9]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Alleen getallen zijn toegestaan."; 

                }//if               

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break;               

           }//numeric 

        case "alphabetic": 

        case "alpha": 

           { 

              var charpos = objValue.value.search("[^A-Za-z ]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                  if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": Alleen letters zijn toegestaan."; 

                }//if                             

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 

              break; 

           }//alpha 

		case "alnumhyphen":

			{

              var charpos = objValue.value.search("[^A-Za-z0-9\-_\/ ]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                  if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": toegestane tekens zijn A-Z,a-z,0-9,-,\,/ en _"; 

                }//if                             

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 			

			break;

			}

			

			

			case "alnumhyphenspc":

			{

              var charpos = objValue.value.search("[^A-Z a-z 0-9\-_,.&@\/ ]"); 

              if(objValue.value.length > 0 &&  charpos >= 0) 

              { 

                  if(!strError || strError.length ==0) 

                { 

                  strError = objValue.name+": toegestane tekens zijn A-Z,a-z,0-9,-,\,/ en _"; 

                }//if                             

                alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

                return false; 

              }//if 			

			break;

			}

			

			

			

		case "phone":

		case "PHONE":

		{

            var charpos = objValue.value.search("[^0-9\-+()/. ]"); 

            if(objValue.value.length > 0 &&  charpos >= 0) 

            { 

                if(!strError || strError.length ==0) 

            { 

                strError = objValue.name+": toegestane tekens zijn 0-9,-,/,.,+,()"; 

            }//if                             

            alert(strError + "\n [Fout op karakter positie " + eval(charpos+1)+"]"); 

            return false; 

            }//if 			

		break;

		}

        case "email": 

          { 

               if(!validateEmailv2(objValue.value)) 

               { 

                 if(!strError || strError.length ==0) 

                 { 

                    strError = "Vul een geldig e-mailadres in."; 

                 }//if                                               

                 alert(strError); 

                 return false; 

               }//if 

           break; 

          }//case email 

          

        case "lt": 

        case "lessthan": 

         { 

            if(isNaN(objValue.value)) 

            { 

              alert(objValue.name+": moet een getal zijn."); 

              return false; 

            }//if 

            if(eval(objValue.value) >=  eval(cmdvalue)) 

            { 

              if(!strError || strError.length ==0) 

              { 

                strError = objValue.name + " : moet kleiner zijn dan "+ cmdvalue; 

              }//if               

              alert(strError); 

              return false;                 

             }//if             

            break; 

         }//case lessthan 

        case "gt": 

        case "greaterthan": 

         { 

            if(isNaN(objValue.value)) 

            { 

              alert(objValue.name+": moet een getal zijn."); 

              return false; 

            }//if 

             if(eval(objValue.value) <=  eval(cmdvalue)) 

             { 

               if(!strError || strError.length ==0) 

               { 

                 strError = objValue.name + " : moet groter zijn dan "+ cmdvalue; 

               }//if               

               alert(strError); 

               return false;                 

             }//if             

            break; 

         }//case greaterthan 

         

          case "notaposnumber":  //checking for valid positive number

         { 

            if(isNaN(objValue.value)|| objValue.value<0) 

            { 

              if(!strError || strError.length ==0) 

	              { 

	                strError = objValue.name+": ongeldige tekens gevonden."; 

	              }                                                             

	           alert(strError); 

	              return false;                   

            }

            else

              return true;

              break;

         }

        case "regexp": 

         { 

           alert(cmdvalue); 

		 	if(objValue.value.length > 0)

			{		      	

	            if(!objValue.value.match(cmdvalue)) 

	            { 

	              if(!strError || strError.length ==0) 

	              { 

	                strError = objValue.name+": ongeldige tekens gevonden."; 

	              }//if                                                               

	              alert(strError); 

	              return false;                   

	            }//if 

			}

           break; 

         }//case regexp 

        case "dontselect": 

         {		

					
            if(objValue.selectedIndex == null)

            { 

              alert("BUG: dontselect command for non-select Item"); 

              return false; 

            } 

			

			if(objValue.selectedIndex == 0)

			{

				//strError = "Please Select one option "; 

				alert(strError);

				return false;                                   

			}



            if(objValue.value == eval(cmdvalue)) 

            { 			

             if(!strError || strError.length ==0) 

              { 

              strError = objValue.name+": selecteer 1 optie."; 

              }//if                                                               

              alert(strError); 

              return false;                                   

             } 

             break; 

         }//case dontselect         
         
         
        case "numDate": 

        case "numericDate": 

        { 

                if (isDate(objValue.value)==false)

	            {

		            return false

	            }

              break;               

           }//numericDate



		  case "check2": 

         {		

            if(!objValue.checked) 

            { 			
              alert(strError); 
              return false;                                   
             } 
             break; 

         }//case check2 

         // Validation for the captcha
        case "security": 
         {		
         	var randomnumber			= parent.frames["Ifrm"].document.getElementById(compSecurity).value;
            if(trim(objValue.value) != randomnumber) 
           { 
           	if(!strError || strError.length ==0) 
              { 
                SecurityError = objValue.name + " Veiligheidscode is niet juist.";                
              }//if 
              alert(SecurityError); 
              return false;
           } 
         }//case check2 
    }//switch 
    return true; 
}

// Trim leading and trailing spaces

function trim(lstr) 
{

    return ltrim(rtrim(stripLineFeed(lstr)));

}



function stripLineFeed(strText)

{

	var strReturnText = strText;

	var flgContinue = true;



	// Only check if the string passed in has a length greater than zero	

	if (strReturnText.length > 0)

	{

		// Loop as long as the last character is either a line feed or a carriage return

		while (flgContinue == true)

		{

			// If the last character is either a backspace or a line feed, strip it off

			if (strReturnText.charAt(strReturnText.length - 1) == '\n' || strReturnText.charAt(strReturnText.length - 1) == '\r')

			{

				strReturnText = strReturnText.substr(0, strReturnText.length - 1);

			}

			else

			{

				// If the last character is not a carriage return or line feed, stop looping

				flgContinue = false;

			}

		}

	}



	return strReturnText;

}

  

//  This function trims all spaces from the left-hand side of a string.

function ltrim(lstr) 

{

	if (lstr != "") 

	{

		var strlen, cptr, lpflag, chk;

		strlen = lstr.length;

		cptr = 0;

		lpflag = true;



		do 

		{

			chk = lstr.charAt(cptr);

            if (chk != " ") 

            {

				lpflag = false;

			}

            else 

            {

                if (cptr == strlen) 

                {

					lpflag = false;

				}

                else 

                {

					cptr++;

				}

			}

		}

        

        while (lpflag == true)

		if (cptr > 0) 

		{

			lstr = lstr.substring(cptr,strlen);

		}

	}

	

	return lstr;

}



//  This function trims all spaces from the right-hand side of a string.

function rtrim(lstr) 

{

	if (lstr != "") 

	{

		var strlen, cptr, lpflag, chk;

		strlen = lstr.length;

		cptr = strlen;

		lpflag = true;



		do 

		{

			chk=lstr.charAt(cptr-1);

			if (chk != " ") 

			{

			    lpflag = false;

			}

			else 

			{

				if (cptr == 0) 

				{

					lpflag = false;

				}

				else 

				{

				    cptr--;

				}

			}

		}



        while (lpflag == true)

        if (cptr < strlen) 

        {

			lstr = lstr.substring(0, cptr);

		}

	}

    

    return lstr;

}

function askforremoval1(thetype1)

{

	
	if(confirm("Weet je zeker dat je "+thetype1+" permanent wilt verwijderen?\n")) 
	
	{
	
		return true;
	
	}

	else 
	
	{
	
		return false;
	
	}

}

function checkUncheckAll(theElement) 
{

	var theForm = theElement.form, z = 0;
	
	for(z=0; z<theForm.length;z++)
	{
	
		if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall')
		{
		
			theForm[z].checked = theElement.checked;
		
		}

	}

}



function floatsOnly (evt) 
{



	evt = (evt) ? evt: event;



	var charCode = (evt.charCode) ? evt.charCode :



    ((evt.keyCode) ? evt.keyCode :



    ((evt.which) ? evt.which : 0));



	if (charCode > 31 && (charCode < 46 || charCode > 57)) 
	{

			return false;



	}
	
	return true;
	
}

function allowNumericOnly(event)
{
  var KeyCode=document.all?event.keyCode:event.which;  
   if((KeyCode<=105 && KeyCode>=96)||KeyCode==8 ||KeyCode==9 || KeyCode==46 || KeyCode==110 || KeyCode==190 || KeyCode==37 || KeyCode==39 || (KeyCode<=57 && KeyCode>=48))
	{
		return true;      
	}
   else  
	{
	 	return false;
	}
}
function allowAlphaOnly(event)
{
	
	var KeyCode=document.all?event.keyCode:event.which;   
	
    if((KeyCode<=90 && KeyCode>=65) || KeyCode==32 || KeyCode==35  || KeyCode==36  || KeyCode==13 || KeyCode==8 ||KeyCode==9 || KeyCode==46 || KeyCode==110 || KeyCode==190 || KeyCode==37 || KeyCode==39)
	{
		return true;      
	}
    else  
	{
	 	return false;
	}
}
function validate_config(obj)
{
	var msg="Sorry, er is een fout opgetreden:\n\n";
 	var error=false;
 	 		
 	if(trim(obj.fld_value.value)=='') 		{ msg+="- Vul de config waarde in.\n";  	error=true; } 
	
	if(error==true) {	alert(msg); return false; }  else { return true;}	
	
}

// at least one record must be checked
function atleastOneChecked(theElement)
{
	 var theForm = theElement.form, z = 0;
	  var chk	=	0;
	 for(z=0; z<theForm.length;z++){
	  if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	  	if(theForm[z].checked)
	  	{
	  		var chk	=	1;
	  	}
	  	
	  }
	 }
     if(chk == 0)
     {
     	alert('Selecteer minimaal 1 bestand.');
     	return false;
     }
     else
     {
     	return true;
     }
	 
}	    

function askforremoval(thetype1)
{
	if(confirm("Weet je zeker dat je "+thetype1+" permanent wilt verwijderen?\n")) 
	{
	 	if(document.getElementById('btn_delete'))
	 	{
			document.getElementById('btn_delete').value	=	1;
	 	}
	 	
	 	if(document.getElementById('btn_activate'))
	 	{
	 		document.getElementById('btn_activate').value	=	'';
	 	}
	 	
	 	if(document.getElementById('btn_inactivate'))
	 	{
	 		document.getElementById('btn_inactivate').value	=	'';
	 	}
	 	
		return true;
	}
	else 
	{
		return false;
	}
}
function askforActivation(thetype1)
{
	if(confirm("Weet je zeker dat je "+thetype1+" wilt activeren?\n")) 
	{
	 	if(document.getElementById('btn_delete'))
	 	{
			document.getElementById('btn_delete').value	=	'';
	 	}
	 	
	 	if(document.getElementById('btn_activate'))
	 	{
	 		document.getElementById('btn_activate').value	=	1;
	 	}
	 	
	 	if(document.getElementById('btn_inactivate'))
	 	{
	 		document.getElementById('btn_inactivate').value	=	'';
	 	}
		return true;
	}
	else 
	{
		return false;
	}
}
function askforInActivation(thetype1)
{
	if(confirm("Weet je zeker dat je "+thetype1+" wilt de-activeren?\n")) 
	{
	 	if(document.getElementById('btn_delete'))
	 	{
			document.getElementById('btn_delete').value	=	'';
	 	}
	 	
	 	if(document.getElementById('btn_activate'))
	 	{
	 		document.getElementById('btn_activate').value	=	'';
	 	}
	 	if(document.getElementById('btn_inactivate'))
	 	{
	 		document.getElementById('btn_inactivate').value	=	1;
	 	}
		return true;
	}
	else 
	{
		return false;
	}
}



<!-- Original:  Jay Bienvenu -->
<!-- Web Site:  http://www.bienvenu.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->


function verifyIP () {
	IPvalue	=	document.getElementById('fld_ip_address').value;
	
	errorString = "";
	theName = "IPaddress";
	
	var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
	var ipArray = IPvalue.match(ipPattern);
	
	if (IPvalue == "0.0.0.0")
		errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	else if (IPvalue == "255.255.255.255")
		errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	if (ipArray == null)
		errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
	else {
	for (i = 0; i < 4; i++) {
		thisSegment = ipArray[i];
		if (thisSegment > 255) {
			errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
			i = 4;
			}
		if ((i == 0) && (thisSegment > 255)) {
			errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
		i = 4;
		      }
   		}
	}
	extensionLength = 3;
	if (errorString == "")
	{
		//alert ("That is a valid IP address.");
		return true;
	}
	else
	{
		alert (errorString);
		document.getElementById('fld_ip_address').focus();
		return false;
	}
}

// open pop-up window for edit
var newwindow;
function edit_popup(url)
{
		
	newwindow=window.open(url,'edit_gallery','height=900,width=700,left=100,top=100,scrollbars=1');
	if (window.focus) {newwindow.focus()}
}

// open pop-up window for view
function display_popup(url)
{
		
	newwindow=window.open(url,'view_gallery','height=600,width=600,left=200,top=200,scrollbars=1');
	if (window.focus) {newwindow.focus()}
}

// validating vote
function validate_vote(obj) 
{
	var msg="Sorry, er is een fout opgetreden:\n\n";
	var error=false;
	if(obj.fld_rating){ if(obj.fld_rating.value=='') 	{ msg+="- Selecteer een score.\n"; error=true; } 	} 	
	
	if(error==true) {	alert(msg); return false; }  else { return true;}
}
function createObject()
{

   if(window.XMLHttpRequest){
   
      var obj	=	new XMLHttpRequest();
	
   }else if(window.ActiveXObject){
   
     var obj	=	new ActiveXObject("Microsoft.XMLHTTP");
   }
   
   return obj;

}

http	=	createObject();	

function process_vote(){			
	var msg="Sorry, er is een fout opgetreden:\n\n";
	
	if(document.getElementById('fld_rating').value==''){
		msg+="- Selecteer een score.\n"; error=true;
		alert(msg);
	}else{	
		if(document.getElementById('guest_vote_allowed').value>0 || document.getElementById('uid').value>0){				
			document.getElementById('result').innerHTML 		=	"<img src='"+sitePath+"/images/loading.gif' border='0' width='25' height='25'>";
			redirect =	"../process_voting.php?fld_pid="+document.getElementById('fld_pid').value+"&rating="+document.getElementById('fld_rating').value+""; 		
			http.open('GET',redirect,true);		
			http.onreadystatechange=handleProcessVote;
			http.send(null);
			
		}else{
			window.location = sitePath+"/login.php";
		}
	}	
}
function handleProcessVote()
{
   if(http.readyState==4)
   {   		
	    textresponse	=	http.responseText;	 		
	   	tempArray			=	textresponse.split("~");
	   	document.getElementById('result').innerHTML 		=	tempArray[0]; 	   	
	 	  	
	   	if(tempArray[1]!='' && tempArray[1]>0){
	   		document.getElementById('totalVotes').innerHTML =	tempArray[1]; 	   	
	   	}
	   	  	
	   	if(tempArray[2]!='' && tempArray[2]>0){
	   		document.getElementById('avg').innerHTML 		=	tempArray[2]; 	   	
	   	}  	
	     	   	
   }else{
		document.getElementById('result').innerHTML 		=	"<img src='"+sitePath+"/images/loading.gif' border='0'  width='25' height='25'>";
   }
}

nhttp	=	createObject();	

function process_comment(){			
	

	var msg="Sorry, er is een fout opgetreden:\n\n";
	var error=false;
	if(document.getElementById('fld_msg_author').value==''){
		msg+="- Vul je naam in.\n"; error=true;		
	}
	
	if(document.getElementById('fld_msg_body').value==''){
		msg+="- Vul je reactie in.\n"; error=true;		
	}	

	if(error==true) {	alert(msg); return false; }
	
	if(document.getElementById('fld_msg_author').value!='' && document.getElementById('fld_msg_body').value!=''){
		document.getElementById('comments').innerHTML 		=	"<div align='center' style='width:800px; padding:20px 20px 20px 20px;'><img src='"+sitePath+"/images/loading.gif' border='0' width='25' height='25'></div>";
		redirect =	"../process_comment.php?type="+document.getElementById('fld_file_type').value+"&fld_pid="+document.getElementById('fld_pid').value+"&fld_msg_author="+URLEncode(document.getElementById('fld_msg_author').value)+"&fld_msg_body="+URLEncode(document.getElementById('fld_msg_body').value)+"";
		nhttp.open('GET',redirect,true);		
		nhttp.onreadystatechange=handleProcessComment;
		nhttp.send(null);
	}else{
		window.location = sitePath+"/login.php";
	}
		
}


// report abuse

rhttp	=	createObject();	

function report_abuse(){			
	
	if(document.getElementById('type'))
	{
		if(document.getElementById('type').value == "Picture")
		{
			var type	=	'Picture';
		}
		else
		{
			var type	=	'Comment';
		}
	}
	
	
	
	var msg="Sorry, er is een fout opgetreden:\n\n";
	var error=false;
	if(document.getElementById('fld_url').value==''){
		msg+="- Vul een URL in.\n"; error=true;		
	}
	
	if(document.getElementById('fld_remarks').value==''){
		msg+="- Vul in waarom je deze rapportage maakt.\n"; error=true;		
	}	

	if(error==true) {	alert(msg); return false; }
	
		
	if(document.getElementById('fld_url').value!='' && document.getElementById('fld_remarks').value!=''){
		document.getElementById('report_inner').innerHTML 		=	"<img src='"+sitePath+"/images/loading.gif' border='0' width='25' height='25'>";
		
		redirect =	sitePath+"/report_abuse.php?type="+type+"&fld_pid="+document.getElementById('fld_pid').value+"&cid="+document.getElementById('cid').value+"&fld_url="+URLEncode(document.getElementById('fld_url').value)+"&fld_remarks="+URLEncode(document.getElementById('fld_remarks').value)+"";
		
				
		rhttp.open('GET',redirect,true);		
		rhttp.onreadystatechange=handleProcessAbuse;
		rhttp.send(null);
	}else{
		window.location = sitePath+"/index.php";
	}
		
}

function setType(type,id)
{
	if(type == 'Picture')
	{
		document.getElementById('inapropriate').innerHTML	=	'<b>Waarom rapporteer je dit bestand?</b> Copyright, minderjarig, nep, etc.';
		focus_id	=	'fileReport';
		document.getElementById('img_close').innerHTML	=	'<a href="#'+focus_id+'" onclick="lightboxclose()"><img src="'+sitePath+'/images/close-icon.jpg" alt="" border="0" />';
	}
	else
	{
		document.getElementById('inapropriate').innerHTML	=	'<b>Waarom rapporteer je deze reactie?</b> Belediging, spam, etc.';
		focus_id	=	'commentReport';
		document.getElementById('img_close').innerHTML	=	'<a href="#'+focus_id+'" onclick="lightboxclose()"><img src="'+sitePath+'/images/close-icon.jpg" alt="" border="0" />';
		
	}
	
	if(document.getElementById('type'))
	{
		document.getElementById('type').value	=	type;
		document.getElementById('cid').value	=	id;
		document.getElementById('fld_remarks').value	=	'';
		document.getElementById('report_inner').innerHTML	=	'';
		document.getElementById('report_outer').style.display	=	'block';
		
	}
	
	
	
}

function handleProcessAbuse()
{
	if(rhttp.readyState==4)
   {   		
	   	text				=	rhttp.responseText;		
	  
	   if(text == 'banned')
	   {
	   		url	=	sitePath+'/banned.php';
	   		window.location.href= url;
	   }	
	   else if(text == 'Bedankt voor het rapporteren.')
	   {
	   	document.getElementById('report_inner').innerHTML 		=	'<div class="msg">'+text+'</div>'; 	  
	   	document.getElementById('report_outer').style.display	=	'none';
	   }
	   else
	   {
	   		document.getElementById('report_inner').innerHTML 		=	'<div class="msg">'+text+'</div>'; 		
	   }
	   	
   }
}

function handleProcessComment()
{
  
	if(nhttp.readyState==4)
   {   		
	   	text				=	nhttp.responseText;		   	
	   	
	  	   
	   	tempArray			=	text.split("~~");
	   	
	  
	   	if(tempArray[0] == 'banned')
	   	{
	   		
	   		url	=	sitePath+'/banned.php';
	   		window.location.href= url;
	   	}
	   	
	   	document.getElementById('comment').innerHTML 		=	tempArray[0]; 	
	   	
	   	//if success then empty form.
	   	   	
	   	if(tempArray[0] == 'Jouw reactie is geplaatst.')
	   	{
	   		if(!document.getElementById('fld_msg_author').readOnly)	// if message field is not read only
	   		{
	   			document.getElementById('fld_msg_author').value	=	'';
	   		}
	   		document.getElementById('fld_msg_body').value	=	'';
	   	}   	
	 	  	
	   	if(tempArray[1]!=''){
	   		document.getElementById('comments').innerHTML =	tempArray[1]; 	   	
	   	}	   	
   }else{
   		document.getElementById('comments').innerHTML 		=	"<div align='center' style='width:800px; padding:20px 20px 20px 20px;'><img src='"+sitePath+"/images/loading.gif' border='0' width='25' height='25'></div>"; 	   	
   }
}

function URLEncode(clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}
function applyIMicon(code){
	
	
	if(document.getElementById('fld_msg_body').value==''){
		document.getElementById('fld_msg_body').value += code;
		
	}else{
		document.getElementById('fld_msg_body').value += " "+code;
	}
}


// 30 june 09


function lightbox_close(div) {
 	if (document.all && document.createAttribute && document.compatMode != 'BackCompat') {
     // IE6 (and above) in standards mode
    			 document.getElementsByTagName('html')[0].style.overflow = ''; // set to '' to show
		} else {
     			document.body.style.overflow = ''; // set to '' to show
		}
    document.getElementById('m').className='off';
    document.getElementById(div).style.display='none';

		
 	}
 	


 	function moveLightBox(div)
{
	var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

	
		if(BrowserDetect.browser=='Explorer' && BrowserDetect.version>=7)
		{	
			//do nothing
		}
		else
		{	
		var scrolly = typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement.scrollTop;
				var scrollx = typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement.scrollLeft;
				document.getElementById(div).style.top = parseInt(scrolly)+"px";
				document.getElementById(div).style.left = parseInt(scrollx)+30+"px";
		
				if (document.all && document.createAttribute && document.compatMode != 'BackCompat') {
		     // IE6 (and above) in standards mode
		    			 document.getElementsByTagName('html')[0].style.overflow = 'hidden'; // set to '' to show
				} else {
		     			document.body.style.overflow = 'hidden'; // set to '' to show
		     	}
		} 	
     	
}




/*  2009-07-06*/

function filter_most_viewed(obj)
{
		
	if(obj.value == '')
	{
		alert('Selecteer een periode.');
		return false;
	}
	/*
	if(obj.value == 'all')
	{
		var	url	= sitePath+'/most-viewed';
	}
	else
	{
		var	url	= sitePath+'/most-viewed/'+obj.value;
	}
	*/
	var	url	= sitePath+'/most-viewed/'+obj.value;
	window.location.href	=	url;
}

function confirm_delete()
{
	if(confirm('Weet je zeker dat je dit bestand permanent wilt verwijderen?'))
	{
		return true;
	}
	else
	{
		return false;
	}
}

// open pop-up window for edit
var newwindow;
function edit_popup(url)
{
		
	newwindow=window.open(url,'edit_gallery','height=850,width=1000,left=100,top=50,scrollbars=1');
	if (window.focus) {newwindow.focus()}
}
// open pop-up window for edit
var message_window;
function message_popup(url)
{
		
	message_window=window.open(url,'edit_gallery','height=425,width=1000,left=100,top=50,scrollbars=1');
	if (window.focus) {message_window.focus()}
}
			

function lightbox() {
	moveLightBox("d");
	document.getElementById('m').className='on';
	document.getElementById('d').style.display='block';
}
function lightboxclose() {
	lightbox_close("d");
}	


function changeCategory(val)
{
	if(val == '')
	{
		alert('Selecteer een categorie.');
		return false;
	}
	else
	{
		
		var url	=	sitePath+'/'+val+"/";
		window.location.href	=	url;
	}
}

function search_submit()
{
	var cid	=	document.getElementById('fld_cid').value;
	var url	=	sitePath+'/my_uploads.php?fld_cid='+cid;
	window.location.href=url;
}



function textCounter(field,cntfield,maxlimit) {
	
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
	if(document.getElementById('character_left'))
	{
		document.getElementById('character_left').innerHTML = 	cntfield.value;
	}
}

