/*
 * application
 * Copyright(c) 2006, Synetic BV.
 */


function hoverForIE6(a,b){for(_el in a){var c=[],_class=[],_tag=[],_id=[],_hoverElement=[],_parent=[];if(typeof(a[_el].indexOf)!='undefined'&&(a[_el].indexOf('.')!=-1||a[_el].indexOf('#')==-1)){if(a[_el].indexOf('>')!=-1){c[_el]=a[_el].substr(a[_el].indexOf('>')+2);a[_el]=a[_el].substr(0,a[_el].indexOf('>')-1)}if(a[_el].indexOf('.')!=-1){_class[_el]=a[_el].substr(a[_el].indexOf('.')+1);a[_el]=a[_el].substr(0,a[_el].indexOf('.'))}_tag[_el]=a[_el];if(!_class[_el])_class[_el]='';if(c[_el]){_parent[_el]=document.getElementsByTagName(_tag[_el]);for(var j=0;j<_parent[_el].length;j++){if(_parent[_el][j].className.indexOf(_class[_el])!=-1){_hoverElement[_el]=_parent[_el][j].getElementsByTagName(c[_el]);for(var i=0;i<_hoverElement[_el].length;i++){_hoverElement[_el][i].onmouseover=function(){this.className+=' '+b};_hoverElement[_el][i].onmouseout=function(){this.className=this.className.replace(b,'')}}}}}else{_hoverElement[_el]=document.getElementsByTagName(_tag[_el]);for(var i=0;i<_hoverElement[_el].length;i++){if(_hoverElement[_el][i].className.indexOf(_class[_el])!=-1){_hoverElement[_el][i].onmouseover=function(){this.className+=' '+b};_hoverElement[_el][i].onmouseout=function(){this.className=this.className.replace(b,'')}}}}}else if(typeof(a[_el].indexOf)!='undefined'&&a[_el].indexOf('#')!=-1){if(a[_el].indexOf('>')!=-1){c[_el]=a[_el].substr(a[_el].indexOf('>')+2);a[_el]=a[_el].substr(0,a[_el].indexOf('>')-1)}a[_el]=a[_el].replace('#','');_id[_el]=document.getElementById(a[_el]);if(_id[_el]){if(c[_el]){_hoverElement[_el]=_id[_el].getElementsByTagName(c[_el]);for(var i=0;i<_hoverElement[_el].length;i++){_hoverElement[_el][i].onmouseover=function(){this.className+=' '+b};_hoverElement[_el][i].onmouseout=function(){this.className=this.className.replace(b,'')}}}else{_id[_el].onmouseover=function(){this.className+=' '+b};_id[_el].onmouseout=function(){this.className=this.className.replace(b,'')}}}}}}
function ieHover(){hoverForIE6(['ul.movies > li'],'hover');}
if(window.attachEvent&&!window.opera){window.attachEvent("onload",ieHover);}

var PR={aLabels:{},pStateManager:null,iApplicationInstanceId:new Date().getTime(),oApplicationNamespace:null,notifyContainer:null,getLabel:function(sLabel,bSingular,aValues)
{if($chk(this.aLabels[sCategory.toLowerCase()+'.'+sLabel.toLowerCase()]))
{var myRequest=new Request({method:'post',url:LINK_ROOT+'/index.php?action=getLabel',headers:{'X-Response-Format':'JSON','X-Request-Type':'Ajax'}});myRequest.send('label='+sLabel+'&prural='+($chk(bSingular)?false:true));}
else
{if($chk(bSingular)&&bSingular==false)
{sLabel=this.aLabels[sCategory.toLowerCase()+'.'+sLabel.toLowerCase()].plural;}
else
{sLabel=this.aLabels[sCategory.toLowerCase()+'.'+sLabel.toLowerCase()].singular;}}
if($chk(aValues))
{for(key in aValues)
{sLabel=sLabel.replace('['+key+']',aValues[key]);}}
return sLabel;},fetchLabelsFromServer:function(aParams)
{var myRequest=new Request.JSON({method:'post',url:LINK_ROOT+"/variable/getCategory",headers:{'X-Response-Format':'JSON','X-Request-Type':'Ajax'},onSuccess:function(aLabels)
{this.aLabels=aLabels;if($chk(aParams)&&$chk(aParams.success))
{aParams.success();}}});myRequest.send('label='+sLabel+'&prural='+($chk(bSingular)?false:true));},run:function(oApplicationNamespace)
{this.oApplicationNamespace=oApplicationNamespace;if($chk(this.oApplicationNamespace)&&$chk(this.oApplicationNamespace.run))
{this.oApplicationNamespace.run.call(this.oApplicationNamespace);}}};

PR.debug=function()
{if(typeof(console)!='undefined'&&typeof(console.log)!='undefined')
{console.log.apply(console,arguments);}
else
{window.alert(Array.prototype.slice.call(arguments).toString());}
return;}

PR.CFL={run:function()
{}}

PR.Form={sFormDisableMode:'submit-shim-loader',aForms:[],ajaxify:function(sFormId,fOnComplete,fOnFailure,bDisableForm)
{this.aForms[sFormId]={};if(!$chk(bDisableForm))bDisableForm=true;$(sFormId).addEvent('submit',function(e)
{e.stop();if($chk(bDisableForm))
{PR.Form.disableForm(sFormId);}
this.set('send',{onComplete:function(sResponse)
{if($chk(bDisableForm))
{PR.Form.enableForm(sFormId);}
PR.Form.Validation.setForm(this.id);PR.Form.Validation.unsetErrors();var aResponse=JSON.decode(sResponse);if(aResponse.success==true)
{if($chk(fOnComplete))
{fOnComplete(aResponse);}}
else
{if($(sFormId).getElement('input[name^=captcha]'))
{$('captcha_for_'+$(sFormId).getElement('input[name^=captcha]').name).src=$('captcha_for_'+$(sFormId).getElement('input[name^=captcha]').name).src+'1';}
if($chk(aResponse.errors))
{PR.Form.Validation.setForm(this.id);for(sElementName in aResponse.errors)
{PR.Form.Validation.setError(sElementName,aResponse.errors[sElementName]);}
PR.Form.Validation.displayErrors();}
if($chk(fOnFailure))
{fOnFailure(aResponse);}}}.bind(this)});this.send();});},disableForm:function(sFormId)
{if(this.sFormDisableMode.test("submit"))
{$$('#'+sFormId+' input[type=submit]').each(function(oItem,iIndex,aArray){oItem.disabled=true;});}
if(this.sFormDisableMode.test("shim"))
{var aCoordinates=$(sFormId).getCoordinates();if(!$chk(this.aForms[sFormId].oShim))
{this.aForms[sFormId].oShim=new Element('div',{'class':'form-shim','html':'','styles':{'position':'absolute','left':aCoordinates.left,'top':aCoordinates.top,'width':aCoordinates.width,'height':aCoordinates.height}});}
this.aForms[sFormId].oShim.inject(document.body);}
if(this.sFormDisableMode.test("loader"))
{if(!$chk(this.aForms[sFormId].oLoader))
{this.aForms[sFormId].oLoader={oOuter:new Element('div',{'class':'form-loader-outer','styles':{'position':'absolute','left':'-10000px','top':'-10000px'}}),oInner:new Element('div',{'class':'form-loader-inner','html':'<img src="'+LINK_ROOT+'/images/spinner.gif" /> Bezig met verwerken'})};this.aForms[sFormId].oLoader.oInner.inject(this.aForms[sFormId].oLoader.oOuter);}
this.aForms[sFormId].oLoader.oOuter.inject($(sFormId));var aCoordinates=$(sFormId).getCoordinates();var aLoaderSize=this.aForms[sFormId].oLoader.oOuter.getCoordinates();var x=aCoordinates.left+((aCoordinates.width-aLoaderSize.width)/2);var y=aCoordinates.top+((aCoordinates.height-aLoaderSize.height)/2);this.aForms[sFormId].oLoader.oOuter.setStyle('left',x);this.aForms[sFormId].oLoader.oOuter.setStyle('top',y);}},enableForm:function(sFormId)
{if(this.sFormDisableMode.test("submit"))
{$$('#'+sFormId+' input[type=submit]').each(function(oItem,iIndex,aArray){oItem.disabled=false;});}
if(this.sFormDisableMode.test("shim"))
{this.aForms[sFormId].oShim.dispose();}
if(this.sFormDisableMode.test("loader"))
{this.aForms[sFormId].oLoader.oOuter.setStyle('left','-10000');this.aForms[sFormId].oLoader.oOuter.setStyle('top','-10000');this.aForms[sFormId].oLoader.oOuter.dispose();}},setFormDisableMode:function(sFormDisableMode)
{this.sFormDisableMode=sFormDisableMode;},resetForm:function(sFormId,bResetHiddenFields,aIgnoreFields)
{$A($(sFormId).elements).each(function(item,index)
{if((typeof(bResetHiddenFields)=='undefined'||bResetHiddenFields!=false||item.type!='hidden')&&(!$chk(aIgnoreFields)||aIgnoreFields.indexOf(item.name)<0)&&$chk(item.name))
{switch(item.type)
{case"select-one":case"select-multiple":for(var selectrow=0;selectrow<item.options.length;selectrow++)
{item.options[selectrow].selected=item.options[selectrow].defaultSelected;}
break;case"checkbox":case"radio":item.checked=item.defaultChecked;break;default:item.value=item.defaultValue;break;}
if(item.name.test('captcha'))
{$('captcha_for_'+item.name).src=$('captcha_for_'+item.name).src+'1';}}});}};

PR.Form.Validation={sFormId:'',aErrors:[],sDisplayMethod:'input-domEl',setForm:function(sFormId)
{this.sFormId=sFormId;},setError:function(sElementName,sError)
{this.aErrors.push({element:sElementName,error:sError});},setErrors:function(aErrors)
{aErrors.each(function(item,index){this.setError(index,item);});},unsetError:function(sElementName,bRemoveFromDom)
{delete this.aErrors[sElementName];},unsetErrors:function(bRemoveFromDom)
{if(typeof(bRemoveFromDom)=='undefined'||bRemoveFromDom==true)
{this.removeErrors();}
this.aErrors=[];},displayErrors:function()
{$A(this.aErrors).each(function(item,index)
{this.displayError(item.element,item.error);},this);},displayError:function(sElementName,sError)
{var oElement=$(this.sFormId)[sElementName];if(this.sDisplayMethod.test("input"))
{oElement.addClass('error');}
if(this.sDisplayMethod.test("domEl"))
{$(sElementName+'_error').innerHTML=sError;}},removeErrors:function()
{$A(this.aErrors).each(function(item,index)
{this.removeError(item.element);},this);},removeError:function(sElementName)
{var oElement=$(this.sFormId)[sElementName];if(this.sDisplayMethod.test("input"))
{oElement.removeClass('error');}
if(this.sDisplayMethod.test("domEl"))
{$(sElementName+'_error').innerHTML='';}}};

PR.Form.File_Progress=function(aOptions)
{var oSWFUpload;var aFileQueue=[];var bHasFileToUpload=false;function fileDialogStart()
{if(aOptions.queueSize==1)
{$("display_"+aOptions.elementId).value="";$("filename_"+aOptions.elementId).value="";aFileQueue.each(function(oItem,iIndex,aArray)
{oSWFUpload.cancelUpload(oItem.id);});aFileQueue.empty();}}
function fileQueueError(file,errorCode,message)
{try
{switch(errorCode)
{case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:alert("Er staan te veel bestanden in de wachtrij.\n"+(message===0?"Je hebt de limiet voor het aantal bestand bereikt.":"Je mag "+(message>1?"tot "+message+" bestanden selecteren.":"een bestand selecteren.")));return;case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("Het geselecteerde bestand is te groot.");this.debug("Error Code: File too big, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:alert("Het geselecteerde bestand is leeg, selecteer een ander bestand.");this.debug("Error Code: Zero byte file, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:alert("Het geselecteerde bestand heeft niet het goede formaat.");this.debug("Error Code: Invalid File Type, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;default:alert("Er is een fout onstaan tijdens het versturen van het bestand, probeer het later nogmaals.");this.debug("Error Code: "+errorCode+", File name: "+file.name+", File size: "+file.size+", Message: "+message);return;}}
catch(e){}}
function fileQueued(file)
{bHasFileToUpload=true;aFileQueue.push(file);if(aOptions.queueSize==1)
{$("display_"+aOptions.elementId).value=file.name;$("filename_"+aOptions.elementId).value=file.name;}}
function fileDialogComplete(numFilesSelected,numFilesQueued)
{}
function uploadProgress(file,bytesLoaded,bytesTotal)
{var percent=Math.ceil((bytesLoaded/bytesTotal)*100);var progressEl=$('file_progress_'+aOptions.elementId);if(progressEl.getStyle('display')=='none')
{progressEl.setStyle('display','block');}
progressEl.getElement('div').setStyle('width',percent+'%');progressEl.getElement('div').innerHTML=percent+'%';}
function uploadSuccess(file,serverData)
{if(aOptions.queueSize==1)
{$('tempfile_'+aOptions.elementId).value=serverData;}}
function uploadComplete(file)
{bHasFileToUpload=false;PR.Form.File_Progress.prototype.iUploadsInProgress--;if(PR.Form.File_Progress.prototype.iUploadsInProgress==0)
{$(aOptions.formId).submit();}}
function uploadError(file,errorCode,message)
{}
window.addEvent("domready",function()
{oSWFUpload=new SWFUpload({upload_url:LINK_ROOT+'/actions/act_upload.php',file_post_name:"resume_file",flash_url:LINK_ROOT+"/libs/SWFUpload/Flash/swfupload.swf",file_size_limit:aOptions.iMaxFileSize,file_types:"*.*",file_types_description:"All Files",file_upload_limit:"0",file_queue_limit:aOptions.queueSize,file_dialog_start_handler:fileDialogStart,file_queued_handler:fileQueued,file_queue_error_handler:fileQueueError,file_dialog_complete_handler:fileDialogComplete,upload_progress_handler:uploadProgress,upload_error_handler:uploadError,upload_success_handler:uploadSuccess,upload_complete_handler:uploadComplete,button_image_url:LINK_ROOT+aOptions.button.img,button_placeholder_id:"spanButtonPlaceholder"+aOptions.elementId,button_width:aOptions.button.width,button_height:aOptions.button.height});$(aOptions.formId).addEvent('submit',function(event)
{try
{if(bHasFileToUpload==true)
{PR.Form.File_Progress.prototype.iUploadsInProgress++;event.stop();oSWFUpload.startUpload();}}
catch(e)
{}});}.bind(this));};PR.Form.File_Progress.prototype.iUploadsInProgress=0;

PR.Form.InputTip={tipActiveClass:'input-tip',addTips:function()
{$$('input[type=text][title!=""]').each(function(oItem,iIndex,aArray)
{this.addTip(oItem);}.bind(this));},addTip:function(oInputField)
{this.setTip(oInputField);this.addTipEvents(oInputField);},setTip:function(oInputField)
{if(oInputField.value=='')
{oInputField.value=oInputField.title;}
if(oInputField.value==oInputField.title)
{oInputField.addClass(this.tipActiveClass);}},addTipEvents:function(oInputField)
{oInputField.getParent('form').addEvent('submit',function()
{if(oInputField.value==oInputField.title)
{oInputField.value='';}});oInputField.addEvent('focus',function()
{if(oInputField.value==oInputField.title)
{oInputField.value='';}
oInputField.removeClass(this.tipActiveClass);}.bind(this));oInputField.addEvent('blur',function()
{if(oInputField.value=='')
{oInputField.value=oInputField.title;oInputField.addClass(this.tipActiveClass);}}.bind(this));}};
