var AC_FL_RunContent=0;var DetectFlashVer=0;var requiredMajorVersion=9;var requiredMinorVersion=0;var requiredRevision=45;var requiredJS=new Array();var formObjects=new Array();var formAbuser=new coreFormObject();var ajax_image_removed=false;setupCommonExternalJS();loadCommonExternalJS();window.onload=function(){fixTables();setupFontToggle();init();loadFormObjects();if(document.getElementById('main_menu'))activateMenu('main_menu');}
function setupFontToggle(){setBodyFontSize(font_size);if(document.getElementById('font_up'))
{formAbuser.setEvent(document.getElementById('font_up'),'click',increaseFontSize,false);formAbuser.setEvent(document.getElementById('font_down'),'click',decreaseFontSize,false);}}
function setBodyFontSize(size){bodyobj=document.getElementById('body');bodyobj.style.fontSize=size+'em';}
increaseFontSize=function(){font_size+=font_increment;setBodyFontSize(font_size);var call=new sack("/font_modify/up/index.aj");call.method='GET';call.runAJAX();}
decreaseFontSize=function(){font_size-=font_increment;setBodyFontSize(font_size);var call=new sack("/font_modify/down/index.aj");call.method='GET';call.runAJAX();}
function loadCommonExternalJS(){for(i=0;i<requiredJS.length;i++){if(requiredJS[i]!=null)loadJavascript(requiredJS[i]);}}
function loadFormObjects(){for(i=0;i<formObjects.length;i++){if(document.getElementById(formObjects[i][0]))
{obj=new coreFormObject(formObjects[i][0]);obj.setupForm(formObjects[i][1]);}}}
function appendExternalJS(list){requiredJS=requiredJS.concat(list);}
function appendFormObject(name,obj){formObjects[formObjects.length]=new Array(name,obj);}
postLink=function(e){formAction='/';action='';link=formAbuser.getEventCaller(e);if(link.href.substr(-1,1)!='/')link.href+='/';href=link.href.split('/');switch(href.length){case 7:formAction+=href[href.length-4];action=(href[href.length-3])?href[href.length-3]:'';break;case 6:formAction+=href[href.length-3];action=(href[href.length-2])?href[href.length-2]:'';break;default:alert('Unsupported link data for '+link.href);return false;}
form=document.createElement('form');form.method='post';form.id=form.action=formAction;form.name='postlink';form.target='_self';form.appendChild(createHiddenField('action',action));if(href.length==7)form.appendChild(createHiddenField('id',href[href.length-2]));document.getElementsByTagName('body')[0].appendChild(form);document.postlink.submit();}
function createHiddenField(name,value){return createField(name,'hidden',value);}
function createField(name,type,value){field=document.createElement('input');field.name=name;field.id=name;field.type=type;field.value=value;return field;}
function createImage(src,alt){img=document.createElement('IMG');;img.src=src;img.alt=img.title=alt;return img;}
function loadJavascript(src){try{var script=document.createElement('script');script.type='text/javascript';script.language='javascript';script.src=src;document.getElementsByTagName('head')[0].appendChild(script);}catch(err){alert('Unable to load javascript \''+src+'\'');}}
function formToURL(form){form=form;this.compose=function(){var result='';for(k=0;k<form.length;k++)
{data='';switch(form[k].type)
{case'radio':data=this.getCheckedValues(form[k]);break;case'checkbox':data=this.getCheckedValues(form[k]);break;default:data=form[k].name+"="+form[k].value;break;}
if(data!='')result+="&"+data;}
return result;}
this.getCheckedValues=function(option){if(option.checked==true)
{return option.name+"="+option.value;}
return'';}}
function removeAchild(id){var child=document.getElementById(id);var parent=child.parentNode;parent.removeChild(child);}
function validNumber(evnt,withDec)
{return formAbuser.limitToNumbers(evnt,withDec);}
function adjustNumber(obj,size){var arr=obj.value.split(".");if(arr[1]!=null&&arr[1].length>size){arr[1]=arr[1].substr(0,size);obj.value=arr.toString().replace(",",".");}}
function fixTables(){var tables=document.getElementsByTagName("TABLE");for(i=0;i<tables.length;i++)
{tables[i].cellSpacing=0;tables[i].cellPadding=0;}}
function replaceField(id,type){current=document.getElementById(id);parent=current.parentNode;var newField=null;switch(type){case'textarea':newField=document.createElement('textarea');newField.id=id;newField.name=id;newField.value=current.value;break;case'text':newField=createField(id,type,current.value);default:newField=createField(id,type,current.value);}
parent.removeChild(current);parent.appendChild(newField);}
function trimString(str)
{return str.replace(/^\s+|\s+$/g,'');}
function submitForm(name){for(i=0;i<formObjects.length;i++){var tempForm=formObjects[i];if(name==tempForm[0]){obj=new coreFormObject(name);obj.enableAllFields();obj.validateFields(tempForm[1]);}}}
function setDefaultSelectOption(field,opt_value){options=field.options;for(i=0;i<options.length;i++){if(options[i].value==opt_value){field.selectedIndex=i;break;}}}
function coreFormObject(formName){var form=document.forms[formName];var errorSet=new Array;var tooltip=new toolTip(false);this.setupForm=setupForm;this.validateFields=validateFields;this.enableAllFields=enableAllFields;this.addError=addError;this.setupTextFieldEffect=setupTextFieldEffect;this.changeClass=changeClass;this.highlightField=highlightField;this.noClass=noClass;this.validateChange=validateChange;this.setEvent=setEvent;this.removeEvent=removeEvent;this.getEventCaller=getEventCaller;this.displayErrors=displayErrors;this.displayToolTip=displayToolTip;this.findPosition=findPosition;this.hideToolTip=hideToolTip;this.fieldEmpty=fieldEmpty;this.limitToNumbers=limitToNumbers;function validateFields(fields){for(i=0;i<form.length;i++){for(j=0;j<fields.length;j++){if(form[i].id==fields[j][0]){if(fields[j][2]==true&&fieldEmpty(form[i])){addError(fields[j][1],' must be specified');}
if(!fieldEmpty(form[i])&&fields[j][3]){fieldValid(form[i],fields[j][1],fields[j][3]);}}}}
if(errorSet.length==0)form.submit();else displayErrors();}
function enableAllFields(){for(i=0;i<form.length;i++){if(form[i].disabled)form[i].disabled=false;}}
function addError(field,msg){errorSet[errorSet.length]=new Array(field,msg);}
function setupForm(fields){for(i=0;i<form.length;i++)
{if(form[i].type=='text'||form[i].type=='textarea'||form[i].type=='password')
{setupTextFieldEffect(form[i]);for(j=0;j<fields.length;j++)
{if(form[i].id==fields[j][0]){form[i].toolTip=fields[j][4];setEvent(form[i],'focus',displayToolTip,false);setEvent(form[i],'blur',hideToolTip,false);}}}
if(form[i].type=="radio"||form[i].type=="checkbox")
{form[i].style.border=0;form[i].style.background='';form[i].style.width='15px';}}}
function displayErrors(){if(!document.getElementById('formErrors'))alert('formErrors is not setup');if(document.getElementById('error_msg'))document.getElementById('error_msg').className='hidden';msgs='<p>The form could not be submitted</p>';msgs+='<ul>';for(i=0;i<errorSet.length;i++){msgs+="<li><strong>"+errorSet[i][0]+":</strong> "+errorSet[i][1]+"</li>";}
msgs+='</ul';document.getElementById('formErrors').innerHTML=msgs;document.getElementById('formErrors').style.visibility='visible';javascript:scroll(0,0);}
function fieldEmpty(field){if(field.type=='checkbox'){return!field.checked;}else{value=trimString(field.value);return(value.length<1);}}
function fieldValid(field,label,rules){mask=rules[0];param1=rules[1];param2=rules[2];switch(mask){case'size':validSize(field.value,label,param1,param2);break;case'email':validEmail(field.value,label);break;case'file':validFile(field.value,label,param1);break;case'url':validURL(field.value,label);break;}}
function validSize(value,label,str_min,str_max){if(value.length<str_min)addError(label,' must contain more than '+str_min+' characters');else if(value.length>str_max)addError(label,' is too long. Maximum of '+str_max+' characters allowed ');}
function validEmail(value,label){var email=/^[^@]+@[^@.]+\.[^@]*\w\w$/;if(!email.test(value))addError(label,' invalid email address ');else{var email2=/^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/;if(!email2.test(value))addError(label,' unusual email address. Please check ');}}
function validFile(value,label,extensions){extensions=extensions.split(' ');thisext=value.substr(value.lastIndexOf('.'));valid=false;for(z=0;z<extensions.length;z++){if(!valid&&thisext==extensions[z])valid=true;}
if(!valid&&value)addError(label,' does not have a valid file extension. Valid extensions are '+extensions.join(', '));}
function validURL(value,label){var regexp=new RegExp();regexp.compile("^(ftp|http|file)://([^/]).([^/]+)(/.*)?(/.*)");if(!regexp.test(value))addError(label,' is not a valid website address. Valid example - http://www.dzr.com.au/');}
function limitToNumbers(evnt,withDec){var obj=getEventCaller(evnt);if(evnt.keyCode!=9&&evnt.keyCode!=8&&evnt.keyCode!=37&&evnt.keyCode!=39)
{if((evnt.keyCode>47&&evnt.keyCode<58)||(evnt.keyCode>95&&evnt.keyCode<106)||(withDec&&(evnt.keyCode==190||evnt.keyCode==110))){if(withDec&&(evnt.keyCode==190||evnt.keyCode==110)&&obj.value.indexOf('.')>=0)return false;else return obj.value.match("/^\d+$|^\d+\.\d{2}$/");}else{return false;}}
return true;}
function displayToolTip(e){obj=getEventCaller(e);ords=findPosition(obj);if(obj.toolTip&&show_tips)showToolTip(ords[1],ords[0]+obj.offsetWidth,obj.toolTip);}
function findPosition(obj){var curleft=curtop=0;if(obj.offsetParent)
{curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}}
return[curleft,curtop];}
function showToolTip(posY,posX,message){tooltip.show(posY,posX,message);}
function hideToolTip(){tooltip.hide();}
function getEventCaller(e){if(!e){var e=window.event}
if(document.all){return e.srcElement;}else{return e.target;}}
function setupTextFieldEffect(obj){setEvent(obj,'focus',highlightField);setEvent(obj,'blur',noClass);}
function changeClass(obj,newClass){obj.className=newClass;}
function highlightField(e){changeClass(getEventCaller(e),'onFocus');}
function noClass(e){changeClass(getEventCaller(e),'');}
function validateChange(e){checkForm(false);}
function setEvent(obj,eventType,func,capture){if(obj.addEventListener){obj.addEventListener(eventType,func,capture);}else{obj.attachEvent('on'+eventType,func);}}
function removeEvent(obj,eventType,func,capture){if(obj.removeEventListener){obj.removeEventListener(eventType,func,capture);}else{obj.detachEvent('on'+eventType,func);}}}
function remove_image(button,image_name,field_id,sid){var call=new sack('/images/flagremove/'+image_name+'/'+sid+"/index.aj");var field=document.getElementById(field_id);var msg_element=document.getElementById('file_message');call.method='GET';call.onLoading=function(){button.value="Deleting ...";}
call.onCompletion=function(){if(call.response=='success'){field.type='file';button.style.display='none';msg_element.innerHTML='Image removed successfully';msg_element.className='success';ajax_image_removed=true;if(document.getElementById('image_'+image_name))document.getElementById('image_'+image_name).style.display='none';}else{button.value=call.response;msg_element.innerHTML='Image removal failed';msg_element.className='failed';}}
call.runAJAX();}
function change_form_action(action){document.getElementById('action').value=action;}
function blackout(){var div=document.createElement('DIV');var content=document.createElement('DIV');this.id='blackout';this.show=show;this.remove=remove;this.setContent=setContent;this.addCloseLink=addCloseLink;this.addContentPane=addContentPane;function show(){div.id=this.id;this.addCloseLink();this.addContentPane();document.getElementsByTagName('body')[0].appendChild(div);}
function setContent(html){content.innerHTML=html;}
function remove(){if(!document.all){removeAchild(document.getElementById(this.id).parentNode.id);}else{removeAchild(formAbuser.getEventCaller().parentNode.id);}}
function addCloseLink(){close_link=document.createElement('A');close_link.href='#';close_link.id='close';formAbuser.setEvent(close_link,'click',this.remove,false);close_text=document.createTextNode('close');close_link.appendChild(close_text);div.appendChild(close_link);}
function addContentPane(){content.id='contentPane';content.className='contentPane';div.appendChild(content);}}
function toolTip(preload){var tip;var messageContainer;this.build=build;this.show=show;this.hide=hide;function show(posY,posX,message){if(!document.getElementById('tool_tip'))this.build();else tip=document.getElementById('tool_tip');topPosition=(posY-170);if(topPosition<0)topPosition=0;tip.className='';tip.style.top=topPosition+'px';tip.style.left=posX+'px';messageContainer.innerHTML=message;}
function build(){tip=document.createElement("DIV");tip.id='tool_tip';messageContainer=document.createElement("DIV");tip.appendChild(messageContainer);document.body.appendChild(tip);tip=document.getElementById('tool_tip');}
function hide(){if(tip)tip.className='hidden';}
if(preload===true){this.build();this.hide();}}
function toggleVisibility(id,forceOff){obj=document.getElementById(id);if(obj.style.display=='none'&&forceOff==false){obj.style.display='block';obj.style.visibility='visible';}
else{obj.style.display='none';obj.style.visibility='hidden';}}
function toggleOptions(link,turnOn){optionsInGroup=link.parentNode.getElementsByTagName('A');for(i=0;i<optionsInGroup.length;i++){OptionId=optionsInGroup[i].id;OptionId=OptionId.replace(/([A-Z])/g,"_$1").toLowerCase();toggleVisibility(OptionId,true);optionsInGroup[i].className=null;}
toggleVisibility(turnOn,false);link.className='selected';}
function rowVisibility(id,show){if(show){if(!document.all)document.getElementById(id).style.display='table-row';else document.getElementById(id).style.display='block';}else
document.getElementById(id).style.display='none';}
activateMenu=function(nav){if(document.all&&document.getElementById(nav).currentStyle){var navroot=document.getElementById(nav);var lis=navroot.getElementsByTagName("LI");for(i=0;i<lis.length;i++){if(lis[i].lastChild.tagName=="UL"){lis[i].onmouseover=function(){this.lastChild.style.display="block";}
lis[i].onmouseout=function(){this.lastChild.style.display="none";}}}}}
function clearProductSearch(pSearch){if(pSearch.value=='product search ...')pSearch.value='';}
function fillProductSearch(pSearch){if(pSearch.value=='')pSearch.value='product search ...';}
function setupCommonExternalJS(){setGuestExternalJS();}
function init(){}
function setGuestExternalJS(){}
function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}}
this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}
var font_size=0.8;var font_increment=0.1;var font_size=0.8;var font_increment=0.1;var show_tips=0;
