/*
  INITIALIZE SOME VARS
*/

var initial_style_width;
var initial_style_padding;
var initial_style_color;
var initial_style_bg;

function loopSound(soundID,position,paused) {
  window.setTimeout(function() {
    mySound=soundManager.getSoundById(soundID);
    mySound.setPosition(position);
    mySound.play({onfinish:function(){loopSound(soundID,0,0);}});
    if(paused)
      mySound.pause();
//    soundManager.play(soundID,{onfinish:function(){loopSound(soundID,0);}});
  },1);
}

function PlayStop(destel_id)
{
  destel=document.getElementById(destel_id);
  if(destel.className=='sound_on')
  {
    destel.className='sound_off';
    bgSound.pause();
  }
  else
  {
    destel.className='sound_on';
    bgSound.resume();
  }

}

var menu_hide_handler=null;

function ShowSubMenu(clicked_element_id)
{
  var menu_shift=5;

  if(menu_hide_handler)
    clearTimeout(menu_hide_handler);
  menu_hide_handler=null;
  
  clicked_el=document.getElementById(clicked_element_id);
  initial_style_width=clicked_el.style.width;
  clicked_el.style.width="162px";
  initial_style_padding=clicked_el.style.paddingLeft;
  clicked_el.style.paddingLeft="10px";
  initial_style_color=clicked_el.style.color;
  clicked_el.style.color="#a46629";
  initial_style_bg=clicked_el.style.backgroundImage;
  clicked_el.style.backgroundColor='#282725';
  eltoshow=document.getElementById("submenu");
  curX=0;
  curY=0;
  obj=clicked_el;
  if(obj.offsetParent)
    while(1) 
    {
      curX += obj.offsetLeft;
      curY += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
//      alert(obj.offsetLeft);
    }
  else if(obj.x)
  {
    curX += obj.x;
    curY += obj.y;
  }

  curW=eltoshow.offsetWidth;
  eltoshow.style.left=(curX-curW-menu_shift)+"px";
  eltoshow.style.top=curY+"px";
  eltoshow.style.visibility="visible";
//  alert("left: "+(curX-curW-menu_shift)+" top: "+curY+" curX: "+curX+" curY: "+curY);
}

function HideSubMenu(clicked_element_id,menu_hide_delay,hold_styles)
{
  if(menu_hide_handler)
    clearTimeout(menu_hide_handler);
  menu_hide_handler=null;
  menu_hide_handler=window.setTimeout(function(){
    eltoshow=document.getElementById("submenu");
    eltoshow.style.visibility="hidden";
    if(!hold_styles)
    {
      clicked_el=document.getElementById(clicked_element_id);
      clicked_el.style.width="162px";
      clicked_el.style.paddingLeft="0px";
      clicked_el.style.background="none";
      clicked_el.style.color="#050505";
    }
  },menu_hide_delay);
}

function KeepMenu()
{
  if(menu_hide_handler)
    clearTimeout(menu_hide_handler);
  menu_hide_handler=null;  
}

function CheckBox(elid)
{
  el=document.getElementById(elid);
  el_value=document.getElementById("signup_id");
  if(el_value.value==0)
  {
    el.style.backgroundImage="url(../theme/designa/checkbox_true.jpg)";
    el_value.value=1;
  }
  else
  {
    el.style.backgroundImage="url(../theme/designa/checkbox_false.jpg)";
    el_value.value=0;
  }
  
}

function CustRadio(elid,boxid)
{
  el=document.getElementById(elid);
  rad_dhr=document.getElementById("dhr");
  rad_mevr=document.getElementById("mevr");
  
  el.value=boxid;
  if(boxid=="dhr")
  {
    rad_dhr.style.background="url(../theme/designa/radio_on.jpg)";
    rad_mevr.style.background="url(../theme/designa/radio_off.jpg)";
  }
  else if(boxid=="mevr")
  {
    rad_mevr.style.background="url(../theme/designa/radio_on.jpg)";
    rad_dhr.style.background="url(../theme/designa/radio_off.jpg)";    
  }
  else
  {
    rad_mevr.style.background="url(../theme/designa/radio_off.jpg)";
    rad_dhr.style.background="url(../theme/designa/radio_off.jpg)";        
  }
}

function CustRadio2(elid,boxid)
{
  el=document.getElementById(elid);
  rad_dhr=document.getElementById("hilversum");
  rad_mevr=document.getElementById("laren");
  
  el.value=boxid;
  if(boxid=="hilversum")
  {
    rad_dhr.style.background="url(../theme/designa/radio_on.jpg)";
    rad_mevr.style.background="url(../theme/designa/radio_off.jpg)";
  }
  else if(boxid=="laren")
  {
    rad_mevr.style.background="url(../theme/designa/radio_on.jpg)";
    rad_dhr.style.background="url(../theme/designa/radio_off.jpg)";    
  }
  else
  {
    rad_mevr.style.background="url(../theme/designa/radio_off.jpg)";
    rad_dhr.style.background="url(../theme/designa/radio_off.jpg)";        
  }
}



function CustBox(elid,boxid)
{
  el=document.getElementById(elid);
  el_box=document.getElementById(boxid);
  if(el.value=="yes")
  {
    el_box.style.background="url(../theme/designa/radio_off.jpg)";
    el.value="no";
  }
  else if(el.value=="no")
  {
    el_box.style.background="url(../theme/designa/radio_tick.jpg)";
    el.value="yes";
  }
  else
  {
    el.value="no";
    el.box.style.background="url(../theme/designa/radio_off.jpg)";
  }
  
}

function CustBoxBig(elid,boxid)
{
  el=document.getElementById(elid);
  el_box=document.getElementById(boxid);
  if(el.value=="yes")
  {
    el_box.style.background="url(../theme/designa/radio_off_big.jpg)";
    el.value="no";
  }
  else if(el.value=="no")
  {
    el_box.style.background="url(../theme/designa/radio_tick_big.jpg)";
    el.value="yes";
  }
  else
  {
    el.value="no";
    el.box.style.background="url(../theme/designa/radio_off_big.jpg)";
  }
  
}

function IE_mouseover(elid)
{
  brwsr=navigator.userAgent;
  if(brwsr.indexOf("MSIE")==-1)
  return false;

  if(brwsr.indexOf("MSIE 6")!=-1 || brwsr.indexOf("MSIE 5")!=-1)
  {
    el=document.getElementById(elid);
    el.style.backgroundImage='url(../theme/designa/bg_send_over.gif)'
  }
}

function IE_mouseout(elid)
{
  brwsr=navigator.userAgent;
  if(brwsr.indexOf("MSIE")==-1)
  return false;

  if(brwsr.indexOf("MSIE 6")!=-1 || brwsr.indexOf("MSIE 5")!=-1)
  {
    el=document.getElementById(elid);
    el.style.backgroundImage='url(../theme/designa/bg_send.gif)'
  }
}

/****************************

Forms

****************************/

function Validate(field_names,form_name)
{
  errors=0;
  msg="";
  fields=field_names.split(",");
  for(i=0;i<fields.length;i++)
  {
    el=document.getElementsByName(fields[i])[0];
    if(el.name=="email")// special treatment
    {
      email_err=0;
      if(el.value.length<6)
        email_err++;
      else if(el.value.indexOf("@")==-1)
        email_err++;
      else if(el.value.indexOf(".",el.value.indexOf("@")+2)==-1 || el.value.indexOf(".",el.value.indexOf("@")+2)>el.value.length-3)
        email_err++;
      if(email_err>0)
      {
        errors++;
        msg+="Fout: E-mail\n";
      }
    }
    else
      if(el.value.length<2)
      {
        errors++;
        msg+="Fout: "+fields[i]+"\n";
      }
  }
  if(errors>0)
    alert(msg);
  else
    document.getElementsByName(form_name)[0].submit();
  
}


function ValidateContact(field_names,form_name,form_cond)
{
  errors=0;
  msg="";
  fields=field_names.split(",");
  for(i=0;i<fields.length;i++)
  {
    el=document.getElementsByName(fields[i].split(":")[0])[0];
    if(el.name=="email")// special treatment
    {
      email_err=0;
      if(el.value.length<6)
        email_err++;
      else if(el.value.indexOf("@")==-1)
        email_err++;
      else if(el.value.indexOf(".",el.value.indexOf("@")+2)==-1 || el.value.indexOf(".",el.value.indexOf("@")+2)>el.value.length-3)
        email_err++;
      if(email_err>0)
      {
        errors++;
        msg+="Fout: "+fields[i].split(":")[1]+"\n";
      }
    }
    else if(el.name=="name")
    {
      if(el.value.length==0)
      {
        errors++;
        msg+="Fout: "+fields[i].split(":")[1]+"\n";
      }
    }
    else
      if(el.value.length<2)
      {
        errors++;
        msg+="Fout: "+fields[i].split(":")[1]+"\n";
      }
  }
  // if additional condition check required fields
  if(form_cond)
  {
    main_field=document.getElementsByName(form_cond.split("=")[0])[0];
    if(main_field.value=="yes")
    {
      slave_fields=main_field=form_cond.split("=")[1].split(",");
      for(i=0;i<slave_fields.length;i++)
      {
        el=document.getElementsByName(slave_fields[i].split(":")[0])[0];
        if(el.value.length<2)
        {
          errors++;
          msg+="Fout: "+slave_fields[i].split(":")[1]+"\n";
        }
      }
    }
  }

  if(errors>0)
    alert(msg);
  else
    document.getElementsByName(form_name)[0].submit();
}



function PreviewImg(e,imgpath)
{
  var el=document.getElementById("img-preview");
  if(!e)
  {
    e=window.event;
  }
  
  el.style.position="absolute";
  el.innerHTML="<img src='"+imgpath+"' alt='preview'/>";
  el.style.left=(e.clientX-(el.offsetWidth-10))+"px";
  el.style.top=(e.clientY-(el.offsetHeight-10))+"px";
  el.style.visibility='visible';
  return true;
}

function ClearSelection(el)
{
  el_parent=el.parentNode;
  insideelements=el_parent.childNodes;

  for(i=0;i<insideelements.length;i++)
  {
    if(insideelements[i].nodeType==1)
      insideelements[i].style.background="none";
  }
}

// mouse wheel code from http://adomas.org/javascript-mouse-wheel/
function handle_wheel1(delta) {
  var bounding1= $('bounding_box'),
      box1 = $('scroller');
	hdiff=box1.offsetHeight-bounding1.offsetHeight;
	if(hdiff>0)
    slider1.setValueBy(-delta*20);
}

function handle_wheel2(delta) {
  var bounding2= $('fotos-holder'),
      box2 = $('fotos-scroll');
	hdiff=box2.offsetHeight-bounding2.offsetHeight;
	if(hdiff>0)
    slider2.setValueBy(-delta*20);
}

function handle_wheel3(delta) {
  var bounding3= $('categ-holder'),
      box3 = $('categ-scroller');
  hdiff=box3.offsetHeight-bounding3.offsetHeight;
	if(hdiff>0)
    slider3.setValueBy(-delta*20);
}


/** Event handler for mouse wheel event. */
function wheel1(event){
	var delta = 0;
	if (!event) /* For IE. */
		event = window.event;
	if (event.wheelDelta) { /* IE/Opera. */
		delta = event.wheelDelta/120;
		/** In Opera 9, delta differs in sign as compared to IE. */
		if (window.opera)
			delta = -delta;
	} else if (event.detail) { /** Mozilla case. */
		/** In Mozilla, sign of delta is different than in IE.
		* Also, delta is multiple of 3.
		*/
		delta = -event.detail/3;
	}

	/** If delta is nonzero, handle it.
	* Basically, delta is now positive if wheel was scrolled up,
	* and negative, if wheel was scrolled down.
	*/
	if (delta)
		handle_wheel1(delta);

	/** Prevent default actions caused by mouse wheel.
	* That might be ugly, but we handle scrolls somehow
	* anyway, so don't bother here..
	*/
	if (event.preventDefault)
		event.preventDefault();
	
	event.returnValue = false;
}

