onerror = handleErr; // Function handleErr();
function handleErr(){
	return true;
}
var d_FontSize=13; 
var c_FontSize=13;
var d_panel_posx=10;
var d_panel_posy=10;
function settings(actionKey){
	switch(actionKey){
		case 'reset':
			c_FontSize = d_FontSize;
			changeFontSize(0);
			break;
		case 'font_m':
			changeFontSize(-1);
			break;
		case 'font_p':
			changeFontSize(1);
			break;
	}
	savedSettings.save();
}

function changeFontSize(sizeDifference){
	c_FontSize = parseInt(c_FontSize) + parseInt(sizeDifference*3);
	if(c_FontSize > (d_FontSize+9)) c_FontSize = d_FontSize+9;
	if(c_FontSize < (d_FontSize-3)) c_FontSize = d_FontSize-3;
	savedSettings.set('fontSize',c_FontSize);
	$('components').tween('font-size', c_FontSize + 'px');
}
//================================================================================================
var savedSettings = new Hash.Cookie('savedSettings', {duration: 30, path:'/'});
savedSettings.load();

//================================================================================================
window.addEvent('domready', function() {
	
	if($('pageTitle')){
		document.title=(':: '+$('pageTitle').get('html')+' ::');
	}
	
	//==============================================================
	
	if(savedSettings.get('fontSize')==null) savedSettings.extend({'fontSize' : d_FontSize});
	if(savedSettings.get('pannelPosx')==null) savedSettings.extend({'pannelPosx' : d_panel_posx});
	if(savedSettings.get('pannelPosy')==null) savedSettings.extend({'pannelPosy' : d_panel_posy});
	c_FontSize = savedSettings.get('fontSize');
	if($('cpannel')){
		$('cpannel').setPosition({x: savedSettings.get('pannelPosx'), y: savedSettings.get('pannelPosy')});
		$('cpannel').removeClass('hide');
	} 
	$('components').setStyle('font-size', c_FontSize + 'px');
	//==============================================================
	
	if($('tabber')) var myTabs = new Tabs('tabber');
	
//Checkers//
/**Template Chekers**************************************************/
	$('message_pin').inject($('components'), 'before');
	$('message_pin').removeClass('hide');
	if($('message_popup').get('html')!=''){
		$('disable_pool').removeClass('hide');
		$('disable_pool').setStyle('display','block');
	}else{
		$('disable_pool').destroy();
	}
	if($('sysmods').get('html')=='') $('sysmods').destroy();
    if($('cpannel')) var myDrag = $('cpannel').makeDraggable({
    onComplete: function(){
    	npos=$('cpannel').getPosition();
    	savedSettings.set('pannelPosx',npos.x);
    	savedSettings.set('pannelPosy',npos.y);
	}});
    $$('.draggable').each(function(el){
    	el.makeDraggable();
   	});
/**File Manager**************************************************/
    if($('fmanager')){
	    $('fmanager').addEvent('click', function(){mcFileManager.open()});
	    $('imanager').addEvent('click', function(){mcImageManager.open()});
    }
    
    /* file selectors */
    $$('input.fileSelector').each(function(el){
		var div, tips;
		new Element('button', {'class': 'browser', text: '>>'}).addEvent('click', function(e){e.stop();mcFileManager.open('componentMainForm',el.get('name'),'','',{relative_urls:false,remove_script_host:true})}).inject(el, 'after');
	});
	$$('input.imageSelector').each(function(el){
		var div, tips;
	    new Element('button', {'class': 'browser', text: '>>'}).addEvent('click', function(e){e.stop();mcImageManager.open('componentMainForm',el.get('name'),'','',{relative_urls:false,remove_script_host:true})}).inject(el, 'after');
	});
	
/**Date Picker**************************************************/	    
    if($('DateField')){
		new DatePicker('.calendar_selector', {
			pickerClass: 'datepicker_jqui',
			allowEmpty: 1,
			toggleElements: '.date_toggler',
			startDay:0,
			startView:'month',
			//yearPicker:false,
			yearsPerPage:20,
			format: 'Y-m-d',
			inputOutputFormat: 'Y-m-d',
			debug: false
		});
		new DatePicker('.time_selector', {
			pickerClass: 'datepicker_jqui',
			allowEmpty: true,
			timePickerOnly:true,
			toggleElements: '.time_toggler',
			format: 'H:i',
			inputOutputFormat: 'H:i',
			debug: false
		});
	}
/**relatedDropdown lists **/
	if($('pSelector')){
		parDef=$('pSelector').get('value');
		var optionList=function(pKey){
            $('cSelector').empty();
            cOpts[pKey].each(function(opt){
				var cOpt = new Element('option', {value: opt, text:opt}).inject($('cSelector'));
			});
		}
		optionList(parDef);
		$('cSelector').set('value',chDef);
		$('pSelector').addEvent('change',function(){optionList($('pSelector').get('value'))});
    }
/**Parent Selector Utility**************************************************/
	$$('select.parentSelector').each(function(el){
		var optionbutton= new Element('button', {'class':'hide' ,text: '>>'}).inject(el, 'after');
		var optiondiv   = new Element('span',{'class':'bold hide','html':''}).inject(el, 'after');
		var updateTd = function(){
			rtext=el.options[el.selectedIndex].text.replace('|_','').trim();
			optiondiv.set('html',rtext);
			el.addClass('hide');
			optiondiv.removeClass('hide');
			optionbutton.removeClass('hide');
		}
		
		var showOptions = function(){
			optiondiv.addClass('hide');
			optionbutton.addClass('hide');
			el.removeClass('hide');
			el.focus();
		}
		optionbutton.addEvent('click', function(e) { 
			e.stop();
			showOptions();
			
		});
		el.addEvent('change',function(){updateTd();});
		el.addEvent('blur',function(){updateTd();});
		updateTd();
	});

/**Component Filters**************************************************/	
    if($('filterTitle')){
        $('filterTitle').addEvent('keydown',function(event){
            if (event.key == "enter") window.location.assign('?'+setQString(['filterTitle',$('filterTitle').get('value'),'act','list']));
        });
    }
    if($('filterCat')){
        $('filterCat').addEvent('change',function(){
            window.location.assign('?'+setQString(['filterCat',$('filterCat').get('value'),'act','list']));
        });
    }
    if($('filterGrp')){
        $('filterGrp').addEvent('change',function(){
            window.location.assign('?'+setQString(['filterGrp',$('filterGrp').get('value'),'act','list']));
        });
    }
    if($('filterTyp')){
        $('filterTyp').addEvent('change',function(){
            window.location.assign('?'+setQString(['filterTyp',$('filterTyp').get('value'),'act','list']));
        });
    }
    if($('clearFilter')){
        $('clearFilter').addEvent('click',function(){
            window.location.assign('?'+setQString(['filterTitle','','filterCat','','filterGrp','','act','list']));
        });
    }
    if($('showSubCat')){
        $('showSubCat').addEvent('change',function(){
            window.location.assign('?'+setQString(['subCat',($('showSubCat').checked)?'ON':'OFF','act','list']));
        });
    }
    if($('clearFilter2')){
        $('clearFilter2').addEvent('click',function(){
            window.location.assign('?'+setQString(['filterTitle','','filterPlace','','filterType','','act','list']));
        });
    }
    if($('filterPlace')){
        $('filterPlace').addEvent('change',function(){
            window.location.assign('?'+setQString(['filterPlace',$('filterPlace').get('value'),'act','list']));
        });
    }
    if($('filterType')){
        $('filterType').addEvent('change',function(){
            window.location.assign('?'+setQString(['filterType',$('filterType').get('value'),'act','list']));
        });
    }

/** Genaral cheker functions **************************************************/	

	var buildLink=function(com,act,id,more){
		$('iLink').set('value','?com='+com+'&act='+act+'&id='+id+more);
	}
	var paramList=function(selectorid){
		layout=$(selectorid).get('value');
		$$('tr.param').each(function(el){el.addClass('hide')});
    	$$('tr.'+layout).each(function(el){el.removeClass('hide')});
	}
	
/** Category Component **************************************************/	
    if($('layoutParam')){
    	var imgSrc=function(){
    		SRC=$('typeThumb').get('src').split("/");
		    TYP=SRC[(SRC.length-1)].split(".");
		    TYP[0]=$('layoutSelector').get('value');
		    SRC[(SRC.length-1)]=TYP.join(".");
		    $('typeThumb').set('src',SRC.join("/"));
		    paramList('layoutSelector');
    	}
    	$('layoutSelector').addEvent('change',function(){imgSrc()});
    	paramList('layoutSelector');
    }
	if($('InheritCatView')){
		var updateCTr = function(){
			catInherit=$('InheritCatView').get('checked');
			conInherit=$('InheritConView').get('checked');
			if(catInherit){
				$$('tr.cOpt').each(function(el){el.addClass('hide');});	
			}else{
				$$('tr.cOpt').each(function(el){el.removeClass('hide');});	
			}
			if(conInherit){
				$$('tr.iOpt').each(function(el){el.addClass('hide');});	
			}else{
				$$('tr.iOpt').each(function(el){el.removeClass('hide');});	
			}
		}
		$('InheritCatView').addEvent('change',function(){updateCTr()});
		$('InheritConView').addEvent('change',function(){updateCTr()});
		updateCTr();	
	}
	if($('javascriptExpand')){
		var initExpander=function(el){
			el.getParent('li').getChildren('ul').toggleClass('hide');
			SRC=el.getChildren('img').get('src')+'';
			SRC=(SRC.split("/"));
		    SRC[(SRC.length-1)]=(el.getNext('ul').hasClass('hide'))?'expand.png':'collapse.png';
		    el.getChildren('img').set('src',SRC.join("/"));
		}
		$$('a.expander').each(function(el){
			initExpander(el);
			el.addEvent('click',function(){initExpander(el)});
		});
		//initExpander($('javascriptExpand').getFirst('ul').getFirst('li').getFirst('a'));
	}
	
/** Menu Component **************************************************/	
	if($('conSelector')){
		cDefCat=$('catSelector').get('value');
		var optionList=function(catid){
			$('conSelector').empty();
			if(catid==0){
				cCon.each(function(neg,catid){opFun(catid)});
			}else{
				opFun(catid);
			}
		}
		var opFun=function(catid){
			if(cCon[catid]){
			cCon[catid].each(function(opt){
				cOptVal=opt.split(':');
				var cOpt = new Element('option', {value: cOptVal[0], text:cOptVal[1]});
				cOpt.inject($('conSelector'));
			});
			}
			//if($('iLink')!='link');
		}
		optionList(cDefCat);
		$('conSelector').set('value',cDef);
		$('catSelector').addEvent('change',function(){
            optionList($('catSelector').get('value'));
            buildLink('content','view',$('conSelector').get('value'),'');
        });
		
        $('conSelector').addEvent('change',function(){buildLink('content','view',$('conSelector').get('value'),'')});
		//$('iLink').addEvent('change',function(){$('typeSelector').set('value','link');paramList('typeSelector')});
		$('typeSelector').addEvent('change',function(){formArranger()});
		var formArranger=function(){
			paramList('typeSelector');
			$('iLink').set('readonly',($('typeSelector').get('value')!='link'));
		}
		formArranger();
	}
 /** User Component **************************************************/	
 if($('sectionPermsTeble')){
    $$('button.subLevelAdder').each(function(el){
        var component=el.get('name');
        var perms=el.getNext('span').get('html').split('|');
        var parentTr=el.getParent('tr');
        var parentTable=parentTr.getParent();
        var opSelect=el.getPrevious('select');
        var tcontinue=1;
        
        var trBuilder=function(){
            tcontinue=1;
            opVal=opSelect.value;
            opNam=opSelect.options[opSelect.selectedIndex].text.trim();
            parentTable.getChildren('tr').each(function(sEl){
                if(sEl.get('title')==opVal){
                    sEl.highlight('#FF0000');
                    tcontinue=0;
                }
            });
            if(tcontinue){
                trBody=new Element('tr',{'title':opVal});
                td =new Element('td').inject(trBody);
                Xb =new Element('input',{'type':'button','value':'X','style':'min-width:20px;'}).inject(td);
                Xb.addEvent('click',function(e){ e.stop(); this.getParent('tr').destroy()});
                
                td =new Element('td',{'html':opNam,'class':'subLevelTitle'}).inject(trBody);
                perms.each(function(perm){
                    td=new Element('td',{'class':'center'}).inject(trBody);
                    checkBox=new Element('input',{'type':'checkbox','style':'min-width:20px;', 'name':'Perm['+component+']['+opVal+'][]','value':perm}).inject(td);
                });
                //if(opVal=='all') parentTable.getChildren('tr').getChildren('td.subLevelTitle').each(function(sEl){sEl.getParent('tr').destroy()});
                trBody.inject(parentTr,'before');
            }
        }
        el.addEvent('click',function(e){ e.stop(); trBuilder()});
    });
    $$('input.trDestroyer').each(function(el){
    	el.addEvent('click',function(e){ e.stop(); this.getParent('tr').destroy()});
    })
    if($('sectionAdminPerm').get('value')==1){
    	$('sectionPermsTeble').addClass('hide');
    }else{
    	$('sectionPermsTeble').removeClass('hide');
    }
    $('sectionAdminPerm').addEvent('change',function(){$('sectionPermsTeble').toggleClass('hide')});
 }


 /** User Component **************************************************/
 	
});
window.addEvent('load', function() {
	if($('gmap_canvas')) googleMapInit();
	if($('gmapAddBtn')){
		$('gmapAddBtn').addEvent('click',function(){
			$('gmapMarkers').appendText('\n'+'['+$('gmapLat').value+','+$('gmapLng').value+','+$('gmapArTitle').value+','+$('gmapEnTitle').value+']');
		});
	}
	if($('popupwindow')){
		$('popupwindow').set('morph', {duration: '2000', transition: 'bounce:out'});
		$('popupwindow').morph({top: 30, left: 100});
	}
});
//================================================================================================
function setQString(Qupdate){
	QS=location.search.substr(1);
	var QSa     = new Array();
	var QString = new Array();
    var Qkeys   = new Array();
    var Qvalues = new Array();
    var sqstr   = new Array();
	if(QS!=''){
        QSS=QS.split("&");
        QSS.clean();
        for (i=0;i<QSS.length;i++)
        {
            sqstr=QSS[i].split("=");
            Qkeys[i]  =sqstr[0];
            Qvalues[i]=sqstr[1];
        }
    }
    for(y=0;y<(Qupdate.length/2);y++){
        if(Qkeys.contains(Qupdate[y*2])){
            Qvalues[Qkeys.indexOf(Qupdate[y*2])]=Qupdate[(y*2+1)];
        }else{
            Qkeys.push(Qupdate[y*2]);
            Qvalues.push(Qupdate[(y*2+1)]);
        }
    }
    i=0;
    for(j=0;j<(Qkeys.length);j++){
    	if(Qvalues[(j)]!='') QSa[i++]=Qkeys[j]+'='+Qvalues[(j)];
    }
    return(QSa.join("&"));
}
//================================================================================================
function show_message(messageString,messageType,messageView){
	
}
//================================================================================================
//================================================================================================
function loadDialog(queryString){
	$('dialogBox').addClass('dialogBox');
	$('dialogBox').removeClass('hide');
	$('dialogBox').setStyle('left',(findPosX($("PageCorner"))+150)+'px');
	var myEffect = new Fx.Morph('dialogBox', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
	myEffect.start({
	    'height':[0, 520], //Morphs the 'height' style from 10px to 100px.
	    'width': [0, 480]  //Morphs the 'width' style from 900px to 300px.
	});
	$('dialogContent').load(SiteDir+'dialog_loader.php?'+queryString);
}
function loadComponentDialog(id,queryString){
	$('dialogBox').addClass('dialogBox');
	$('dialogBox').removeClass('hide');
	$('dialogBox').setStyle('left',(findPosX($(id))+60)+'px');
	$('dialogBox').setStyle('top',(300)+'px');
	var myEffect = new Fx.Morph('dialogBox', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
	myEffect.start({
	    'height':[0, 350], //Morphs the 'height' style from 10px to 100px.
	    'width': [0, 300]  //Morphs the 'width' style from 900px to 300px.
	});
	$('dialogContent').load(SiteDir+'com_loader.php?'+queryString);
}
function loadComponent(queryString){
	$('components').set('html','<div class="loader"><br><br><br>&nbsp;</div>');
	$('components').load(SiteDir+'com_loader.php?'+queryString);
}
function unloadDialog(){
	$('dialogBox').morph({height: 0, width: 0});
	$('dialogBox').addClass('hide');
	$('dialogBox').removeClass('dialogBox');
	$('dialogContent').set('html','<div class="loader"><br><br><br>&nbsp;</div>');
}
function listarea(fieldname){
	var inputvalue=$('listareainput_'+fieldname).get('value');
	if(inputvalue=='') return(false);
	var li = new Element('li', {id: 'item', text:inputvalue});
	var ulelement=$('listareaul_'+fieldname);
	var field=$('listarea_'+fieldname);
	ulelement.adopt(li);
	field.set('value',field.get('value')+'|'+inputvalue);
	$('listareainput_'+fieldname).set('value','');
}
function specialDivControl(fieldName,gvalue){
    if(gvalue=='special'){
        $(fieldName+'SDiv').removeClass('hide');
    }else{
        $(fieldName+'SDiv').addClass('hide');
    }
}


//======================================================================================
function conFormTypeSwitch(conType)
{
    SRC=$('typeThumb').get('src').split("/");
    TYP=SRC[(SRC.length-1)].split(".");
    TYP[0]=conType;
    SRC[(SRC.length-1)]=TYP.join(".");
    $('typeThumb').set('src',SRC.join("/"));
    
	$$('div.paramDiv').each(function(el){
		el.addClass('hide');
	});
    switch(conType) {
        case "HTML":
        case "event":
            $('attachmentTr').set('class', 'hide');
            $('sourceTr').set('class', 'hide');
            $('paramTr').set('class', 'hide');
            $('contentEditor').set('class', 'place');
            $('contentText').set('class', 'hide');
            break;
        case "text":
            $('attachmentTr').set('class', 'hide');
            $('sourceTr').set('class', 'hide');
            $('paramTr').set('class', 'hide');
            $('contentEditor').set('class', 'hide');
            $('contentText').set('class', 'place');
            break;
        case "image":
        case "flash":
        case "l_video":
        case "l_file":
        case "p_file":
        case "slide":
        case "flip":
            $('sourceTr').set('class', 'hide');
            $('attachmentTr').set('class', 'place');
            $('paramTr').set('class', 'place');
            $('contentEditor').set('class', 'place');
            $('contentText').set('class', 'hide');
            if($(conType+'Param')) $(conType+'Param').removeClass('hide');
            break;
        case "e_video":
        case "iframe":
        case "url":	
            $('sourceTr').set('class', 'place');
            $('attachmentTr').set('class', 'hide');
            $('paramTr').set('class', 'place');
            $('contentEditor').set('class', 'place');
            $('contentText').set('class', 'hide');
        	if($(conType+'Param')) $(conType+'Param').removeClass('hide');
            break;  
		case "contact":
		case "googlemap":	
            $('sourceTr').set('class', 'hide');
            $('attachmentTr').set('class', 'hide');
            $('paramTr').set('class', 'place');
            $('contentEditor').set('class', 'place');
            $('contentText').set('class', 'hide');
        	if($(conType+'Param')) $(conType+'Param').removeClass('hide');
            break;            
    }
}
//======================================================================================
