/* <![CDATA[ */
var isIE;
isIE = document.all ? true : false;

//Added by Alex - for test by change from document.all
document.MYgetElementById=function(id){
	return document.all?document.all[id]:document.getElementById(id);
}

//Alex - test
var m_site=window.location.href.match(/http:\/\/(\w+\.yellowpages\.bg)/);
var server_site=m_site&&m_site[1]?m_site[1]:'search.yellowpages.bg';

////Added functions by Alex - start////

/*function loadPlayer() {
	var elDivPlayer=document.getElementById("divplayer");
	var elMedia=document.createElement("object");
	elMedia.classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6";
	//elMedia.codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";
	elMedia.standby="Loading Microsoft Windows® Media Player components...";
	//elMedia.type="application/x-oleobject";
	elMedia.width="320";
	elMedia.height="240";
	elMedia.uiMode="mini";
	elMedia.animationatStart=true;
	elMedia.windowlessVideo="true";
	elMedia.id="MediaPlayerAds";
	//elMedia.stretchToFit="true";
	elMedia.transparantatStart="true";
	elMedia.playCount="1";
	elMedia.autoStart="false";
	elMedia.url="http://"+server_site+"/downloads"+"/register/u76572/profile/video_ads/copy.avi";
	elDivPlayer.appendChild(elMedia);
	if(elMedia.attachEvent){
		elMedia.attachEvent("playStateChange",MyPlayStateChange);
	}
	var elEmbed=document.createElement("EMBED");
	//elEmbed.name="MediaPlayerAds2";
	//elEmbed.width="320";
	//elEmbed.height="240";
	elEmbed.type="application/x-mplayer2";
	elEmbed.pluginspage="http://microsoft.com/windows/mediaplayer/en/download/";
	elEmbed.src="http://"+server_site+"/downloads"+"/register/u76572/profile/video_ads/copy.avi";
	elEmbed.autostart="false";
	elEmbed.loop="false";
	elEmbed.showcontrols="1";
	elEmbed.volume="-450";
	elMedia.appendChild(elEmbed);
}*/

function MyPlayStateChange(NewState){//only IE
	if(NewState==8){//finish status
		removeMediaObject();
	}
}

function generateMediaObject(url,autoStart){//,uiMode,showControls,showDisplay){
	url=typeof url!==undefined?url:'';
	autoStart=typeof autoStart!==undefined?autoStart:false;
	//uiMode=typeof uiMode!==undefined?uiMode:"mini";
	//showControls=typeof showControls!==undefined?showControls:1;
	//showDisplay=typeof showDisplay!==undefined?showDisplay:false;

	removeMediaObject();

	var obj_text='\
<'+'object id="MediaPlayerAds" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" \
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"\
standby="Loading Microsoft Windows® Media Player components..." \
type="application/x-oleobject" \
width="320" \
height="240"'+'>\
<'+'param name="URL" value="'+url+'"'+' />\
<'+'param name="animationatStart" value="true"'+' />\
<'+'param name="autoStart" value="'+autoStart+'"'+' />\
<'+'param name="transparantatStart" value="true"'+' />\
<'+'param name="uiMode" value="mini"'+' />\
<'+'param name="loop" value="false"'+' />\
<'+'param name="showControls" value="true"'+' />\
<'+'param name="showDisplay" value="false"'+' />\
<'+'embed pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" \
classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" \
type="application/x-mplayer2" \
src="'+url+'" \
name="MediaPlayerAds" width="320" height="240" \
autostart="'+autoStart+'" \
loop=\"false\" \
showControls="1" \
showDisplay="false" \
uiMode="mini" \
volume="-450"'+' />\
<'+'/object'+'>\
';
// type="application/x-mplayer2"
//<'+'param name="showControls" value="true"'+' />\
//<'+'param name="ShowStatusBar" value="true"'+' />\
//<'+'param name="Filename" value="http://'+server_site+'/downloads'+'/register/u76572/profile/video_ads/copy.avi"'+' />\

	document.getElementById("divplayer").innerHTML=obj_text;

	if(window.MediaPlayerAds){
		var _player= document.getElementById("MediaPlayerAds");
		if (_player.attachEvent){
			_player.attachEvent("playStateChange",MyPlayStateChange);
		}else if(_player.addEventListener){
			_player.addEventListener("playStateChange",MyPlayStateChange,false);
		}
	}

	var dom_obj=document.getElementById('divplayer_container');
	if(dom_obj){dom_obj.style.display='block';}
	fixDivPos();
}

//Must be with exact this name for this player
function stateListener(obj){//or stateTracker
	//if(obj.newstate=='COMPLETED'&&obj.oldstate=="PLAYING"){
	if(obj.newstate=='COMPLETED'){
		if(navigator.appName=='Microsoft Internet Explorer'){//to work same as by other medias
			removeMediaObject();
		}
		//player.removeModelListener("STATE","stateListener");
	}
}

//Func is automatic call by player
var player = null; 
function playerReady(thePlayer){ 
	player=window.document[thePlayer.id]; 
	addListeners();
	//player.addModelListener("STATE","stateListener");//or stateTracker
}

//Strange but that is given for this player
function addListeners() {
	if (player) { 
		player.addModelListener("STATE","stateListener");//or stateTracker
		//player.sendEvent("PLAY","true");
	} else {
		setTimeout("addListeners()",100);
	}
}

var s1=null;
function generateFlvObject(url,autoStart){
	//var fp_dom=document.getElementById('FlvPlayerAds');
	//if(!fp_dom){alert(fp_dom);
		var mpDom=document.createElement('div');
		mpDom.setAttribute('id',"FlvPlayerAds");
		var pl=document.getElementById('divplayer');
		pl.appendChild(mpDom);
	//}else{
	//	fp_dom.style.display='block';
	//}
	s1 = s1||new SWFObject('/js/swfplayer/player.swf','player','320','240','9');
	s1.addParam('allowfullscreen','true');
	s1.addParam('allowscriptaccess','always');
	s1.addParam('flashvars','file='+url+'&autostart=true&id=FlvPlayerAds');
	s1.write("FlvPlayerAds");

	var dom_obj=document.getElementById('divplayer_container');
	if(dom_obj){dom_obj.style.display='block';}
	fixDivPos();
}

function removeMediaObject(){
	if(document.getElementById("FlvPlayerAds")&&window.player){//need check for window.FlvPlayerAds, that same flash player is not removed, only element that include it
		player.sendEvent("STOP","true");
		var _fplayer=document.getElementById("FlvPlayerAds");
		_fplayer.parentNode.removeChild(_fplayer);
		//_fplayer.style.display='none';
	}else{ 
		if(window.MediaPlayerAds){
			if(MediaPlayerAds.controls.isAvailable('Stop')){//IE don't stop sound - work at background
				MediaPlayerAds.controls.stop();
			}
			//delete MediaPlayerAds;//is possible static - can not be delete;
		}
		var _player=document.getElementById("MediaPlayerAds");
		if(_player){
			_player.parentNode.removeChild(_player);
		}
	}
	var dom_obj=document.getElementById('divplayer_container');
	if(dom_obj){dom_obj.style.display='none';}
}

function fixDivPos(){
	if(document.body.clientHeight&&document.body.clientWidth){
		var container_obj=document.getElementById('divplayer_container');
		if(!container_obj)return;//that some scripts change content of page it is possible
		var cWidth=document.body.clientWidth;
		var cHeight=document.body.clientHeight;
		var window_obj=document.getElementById('divplayer_window');
		if(!window_obj)return;//that some scripts change content of page it is possible
		var wWidth=window_obj.offsetWidth;
		var wHeight=window_obj.offsetHeight;
		var sWidth=document.body.scrollWidth||wWidth;
		var sHeight=document.body.scrollHeight||wHeight;
		var sTop=document.body.scrollTop||0;
		var sLeft=document.body.scrollLeft||0;
		//container_obj.style.width=cWidth+'px';
		//container_obj.style.height=cHeight+'px';
		container_obj.style.width=sWidth+'px';
		container_obj.style.height=sHeight+'px';
		window_obj.style.left=(cWidth/2-wWidth/2)+sLeft+'px';
		window_obj.style.top=(cHeight/2-wHeight/2)+sTop+'px';
	}
}

//I think this with array don't work - Alex, function is get from somewhere
//function AddEventFunc(element, event, func, argumentsArray){
function AddEventFunc(element, event, func){
	if(typeof func=="string"){func=window[func];};
	if(typeof element=="string"){element=document.getElementById(element);};
	if(!element || typeof event!="string" || typeof func!="function"){return false;};
	event=event.toLowerCase();
	if(element['addEventListener']){
	//if(typeof element['addEventListener']!='undefined'){
		if(event.indexOf('on')==0){event=event.replace(/^on/, '');};
		//if(argumentsArray){
		//	element.addEventListener(event, func(argumentsArray), false);
		//}else{
			element.addEventListener(event, func, false);
		//}
		return true;
	}else if(element['attachEvent']){
	//}else if(typeof element['attachEvent']!='undefined'){
		if(event.indexOf('on')!=0){event='on'+event;};
		//if(argumentsArray){
		//	element.attachEvent(event, func(argumentsArray));
		//}else{
			element.attachEvent(event, func);
		//}
		return true;
	}else{
		if(event.indexOf('on')!=0){event='on'+event;};
		//if(argumentsArray){
		//	element[event]=func(argumentsArray);
		//}else{
			element[event]=func;
		//}
	};
	return false;
}

function onClickMedia(url,type,extension){
	if(navigator.appName=='Microsoft Internet Explorer'){
		//if(extension=='swf'){
		if(extension=='flv'){
			generateFlvObject(url,true);
		//}else if(window.MediaPlayerAds){//Media Player
		}else{//Media Player
			//alert(MediaPlayerAds.playState);
			//alert(MediaPlayerAds.playStateChange);
			//alert(MediaPlayerAds.versionInfo);
			if(type=='video'){
				generateMediaObject(url,true);
			}else if(type=='audio'){
				generateMediaObject(url,true);
			}
			/*Not used now
			if(type=='video'){
				if(MediaPlayerAds.url==url){//pause
					if(MediaPlayerAds.controls.isAvailable('Pause')){
						MediaPlayerAds.controls.pause();
					}else if(MediaPlayerAds.controls.isAvailable('Play')){
						MediaPlayerAds.controls.play();
					}
				}else{
					if(MediaPlayerAds.controls.isAvailable('Stop')){
						MediaPlayerAds.controls.stop();
					}
					MediaPlayerAds.url=url;
					if(MediaPlayerAds.controls.isAvailable('Play')){
						MediaPlayerAds.controls.play();
					}
				}
			}else if(type=='audio'){
				var have_to_run=true;
				if(MediaPlayerAds.controls.isAvailable('Stop')){
					MediaPlayerAds.controls.stop();
					if(MediaPlayerAds.url==url){
						have_to_run=false;
					}
				}
				if(have_to_run){
					MediaPlayerAds.url=url;
					if(MediaPlayerAds.controls.isAvailable('Play')){
						MediaPlayerAds.controls.play();
					}
				}
			}*/
		}
	}else{
		if(extension=='flv'){
			generateFlvObject(url,true);
		}else{//Media Player
			if(type=='video'){
				generateMediaObject(url,true);
			}else if(type=='audio'){
				generateMediaObject(url,true);
			}
		}
	}
}

var popup_timeout_id=null;
//function show_product_popup(Wnd,width,height){
//And changed by Alex - to not show title
function show_product_popup(Wnd,width,height,title){
	if(!window.gallery_popup){
		var path_fix='/js';
		gallery_popup=new popup_init('gallery_popup', {
		imagesPath:path_fix+'/jspopup/images/',
		//title:		"Popup Test 1",
		//text:		'<div style="width:400px"><img src="http://'+server_site+'/downloads'+'/register/cache/products/p351-7742684-md.jpg"/><br />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean placerat, eros nonummy semper ultrices, justo eros varius lacus, a rutrum metus ipsum ut magna. Fusce vestibulum pede at turpis. In justo leo, dignissim sed, faucibus eu, tempor at, libero. Aliquam auctor. Fusce sagittis. Integer ligula lacus, suscipit quis, eleifend a, elementum nec, dolor. Vestibulum et quam. Vivamus lobortis.</div>', //<img src="bubble.png" width="50" height="50" align="left" />
		//position: 	[200,200],
		style:		{color: 'white', fontFamily: 'verdana', fontSize: '10px', textAlign:'justify'}//,
		});	
		//gallery_popup.mouseAttach({right: 8, top: 8});
	}
	var text='<'+'div style="width:'+getImgWidthSize(Wnd)+'px;text-align:left;"><'+'img src="'+Wnd.src+'" /'+'><'+'br /'+'>'+(Wnd.alt?Wnd.alt.replace(/\n/g,'<'+'br />'):'')+'<'+'/div>';
	gallery_popup.setText(text);
	//var title=Wnd.title;//now set direct as argument
	gallery_popup.setTitle(title);
	gallery_popup.mouseAttach({right: 8, top: 8});
	popup_timeout_id=setTimeout(showPopupDisplay,150);
}

function hide_product_popup(){
	if(window.gallery_popup){
		gallery_popup.hide();
		gallery_popup.mouseDetach();//make blinking
	}
	if(popup_timeout_id){
		window.clearTimeout(popup_timeout_id);
		popup_timeout_id=null;
	}
}

function showPopupDisplay(){
	if(window.gallery_popup&&popup_timeout_id){
		gallery_popup.display();
	}
}

function getImgWidthSize(Wnd){
	if(Wnd.naturalWidth){return Wnd.naturalWidth;}
	var newImg = new Image();
	newImg.src = Wnd.src;
	return newImg.width?newImg.width:240;
}

////Added functions by Alex - end////

//Added by Alex - test
function writeButtons(){
	var buttons_text='\
<'+'input type="button" value="StartStop Flv" onclick="onClickMedia(\'http://'+server_site+'/js/swfplayer/video.flv\',\'video\',\'flv\');"'+' />\
<'+'input type="button" value="StartStop YouTube Flv" onclick="onClickMedia(\'http://www.youtube.com/watch%3Fv%3DIBTE-RoMsvw\',\'video\',\'flv\');"'+' />\
<'+'input type="button" value="StartStop Video" onclick="onClickMedia(\'http://'+server_site+'/downloads'+'/register/u76572/profile/video_ads/copy.avi\',\'video\',\'\');"'+' />\
<'+'input type="button" value="StartStop Audio" onclick="onClickMedia(\'http://'+server_site+'/downloads'+'/register/u76572/profile/audio_ads/LoopyMusic.wav\',\'audio\',\'\');"'+' />\
';
	document.writeln(buttons_text);
}

realHtmlArea = false;
/* --- html area (form edit) new window scripts --- */
function htmlAreaEdit(fillTextArea) {
	var w = screen.width-200;
	var h = screen.height - 200;
	x = ( screen.width - w) / 2;
	y = ( screen.height - h) / 2;
	
	//realHtmlArea = document.all[fillTextArea];
	//Changed by Alex 
	realHtmlArea = document.MYgetElementById(fillTextArea);
	
	//tinymce
	myEditor = window.open('/js/mceeditor.html',"htmlarea","resizable=yes,toolbar=no,scrollbars=yes,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y+"");
	myEditor.ptr = fillTextArea;
	//FCK Editor
	//myEditor = window.open('/js/fckeditor/htmlarea.html',"htmlarea","resizable=yes,toolbar=no,scrollbars=yes,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y+"");
}


var nextDesignMode;

function cyInit() {

	//if (document.all['designModeSwitcher']) nextDesignMode = document.all['designModeSwitcher'].nextMode; else nextDesignMode=1;
	//Changed by Alex
	if (document.MYgetElementById('designModeSwitcher')) nextDesignMode = document.MYgetElementById('designModeSwitcher').nextMode; else nextDesignMode=1;
	setDragNDrop();
	document.onclick = docOnClick;
	document.onmousedown = docOnMouseDown;
	
	// Find out what objects are dependent on scrolling page (aligned right and aligned bottom)
	for(var i=0; i<=myDocumentElements.length-1; i++) {

		if (  myDocumentElements.item(i).getAttribute('draggable') == 'yes' ) {
			if ( (myDocumentElements.item(i).getAttribute('ddvalign') == 3)
			  || (myDocumentElements.item(i).getAttribute('ddhalign') == 3)) 
				{ bottomAlignedWindows.push( myDocumentElements.item(i) ); }
			}
			
		if (  myDocumentElements.item(i).getAttribute('fixScroll') == 'yes' ) {
			bottomAlignedWindows.push(myDocumentElements.item(i));
			}
		}


	//setTimeout("menuRepos()", 100);
		
	}

function docOnMouseDown() {
	if(isIE)
	if ((event.button==2) && (lastOver==false))  {// this means that we are not over any application window
			pageMenuShow();	
			}
	
	
}

bottomAlignedWindows = Array();
var mmouseX = 0;
var mmouseY = 0;
function getMouseXY() {
	if(!isIE){
		
	}else{
		mmouseX = event.clientX;
		mmouseY = event.clientY;
	}
}
document.onmousemove = getMouseXY;

function menuRepos() {
	var upflashp = document.getElementById("upflashpad");
	var mmenu = document.getElementById("mymenu");
	var newHeight = Math.round (parseInt(mmenu.style.height) + (document.body.scrollTop - parseInt(mmenu.style.height))/5);
	if (mmenu.style.height != newHeight) {
		mmenu.style.height = newHeight;
		//upflashp.style.height = newHeight + Math.round(document.body.clientHeight/2) - 50;
		var nhh= newHeight + mmouseY - 23;
		if (nhh <=0) nhh = 1;
		upflashp.style.height = nhh;
		setTimeout("menuRepos()", 20);	
		} else {
		setTimeout("menuRepos()", 200);
		}
}



function docOnScrollPage() {
	

	if (nextDesignMode!=1) return; //don't move boxes in design mode
	
	for (var i=0; i<=bottomAlignedWindows.length-1; i++) {
		myWdw = bottomAlignedWindows[i];
		if (!myWdw.realtop) myWdw.realtop = parseInt(myWdw.style.top);
		myWdw.style.top = myWdw.realtop + document.body.scrollTop;
		}
}

function pageMenuShow() {
	//myPageMenu = document.all['pageMenu'];
	//Changed by Alex
	myPageMenu = document.MYgetElementById('pageMenu');
	if (!myPageMenu) return;
	
	myPageMenu.style.visibility = 'visible';
	myPageMenu.style.top = event.y + document.body.scrollTop;
	myPageMenu.style.left = event.x + document.body.scrollLeft;
	
}

function pageMenuHide() {
	//myPageMenu = document.all['pageMenu'];
	//Changed by Alex
	myPageMenu = document.MYgetElementById('pageMenu');
	if (!myPageMenu) return;
	myPageMenu.style.visibility = 'hidden';
}

// Hides every menu that we don't want to click on
function docOnClick() {
	wdwHideMenu(lastMenu);	//if (intListActive) intListHide(intListActive,intListTR);
	pageMenuHide();
}



function kCode(ev){
	alert('addsfasd');
		window.status = window.status + "|now:";
    /*var myKeyCode      = ev.keyCode;
    var mySrcElement   = ev.srcElement;
    var isShiftPressed = ev.shiftKey;
    var isCtrlPressed  = ev.ctrlKey;
    var isAltPressed   = ev.altKey;
		window.status = window.status + "|"+myKeyCode;*/
		return ev.keyCode;
}


function doKeyDown (ev) {
	
    var myKeyCode      = ev.keyCode;
    var mySrcElement   = ev.srcElement;
    var isShiftPressed = ev.shiftKey;
    var isCtrlPressed  = ev.ctrlKey;
    var isAltPressed   = ev.altKey;
		
		
    // Enter(13), Shift(16), Ctrl(17), Alt(18), CapsLock(20) keys?
    if (myKeyCode >= 13 && myKeyCode <= 20)
        return true;
		
		doKeysChek(ev)
		
/*
    alert("Key code=" + myKeyCode 
        + "; Shift=" + isShiftPressed
        + "; Ctrl=" + isCtrlPressed
        + "; Alt=" + isAltPressed
        );
  */    
    
    if ( (myKeyCode == 76) && (isCtrlPressed) && (isAltPressed)) {
     	LockSwitchWdw();
	}
	
    nudgeMoveWdw(myKeyCode,isShiftPressed);
	
	
    if ( (myKeyCode == 68) && (isCtrlPressed) && (isAltPressed) ) {
    	// switch design mode
    	
    	if (!document.images['designModeSwitcher']) { nextMode = 1; } else {
    			//nextMode = document.all['designModeSwitcher'].nextMode;
			//Changed by Alex
    			nextMode = document.MYgetElementById('designModeSwitcher').nextMode;
    			}
    	
    	setTimeout("switchDesignMode("+nextMode+")",200);
	}
	
   return true;
} // doKeyDown


function LockSwitchWdw() {
	if (!lastOver) return;
	
	args = parseQueryString();
	cyId = args['cy'];
	if (!cyId) cyId = 1; //becouse home page has no cy=??
	
	windowId = lastOver.winId;
	
	myTransmission = document.getElementById('hiddenImg');
	myTransmission.src = '?mod=admin&c=cc_admin_windows&m=lockWindow&p_cId='+cyId+'&p_wId='+windowId;
	//window.location = myTransmission.src;
}


/* Nudge move of window boxes */
function nudgeMoveWdw(myKeyCode,isShiftPressed) {
	if (!lastOver) return;
	if (nextDesignMode == 1) return; // means that we are not in design mode
	
	if (!isShiftPressed) step = 1; // 1px
	else step = 10;
	
	switch(myKeyCode) {
		case 37 : // left arrow
			lastOver.style.left = parseInt(lastOver.style.left) - step;
		break;
		case 40 : // down arrow
			lastOver.style.top = parseInt(lastOver.style.top) + step;
		break;
		case 39 : // right arrow
			lastOver.style.left = parseInt(lastOver.style.left) + step;
		break;
		case 38 : // up arrow
			lastOver.style.top = parseInt(lastOver.style.top) - step;
		break;
		case 83 : // S (Save)
			wdwSavePosition();
		break;		
	}
	
	showWdwInfo();
}

hideWdwInfoTimeout = false;
lastWdwNudge = false;

function showWdwInfo() {
	if(!isIE)
		return false;
	//myWdwInfo = document.all['wdwInfo'];
	//Changed by Alex
	myWdwInfo = document.MYgetElementById('wdwInfo');
	
	lastWdwNudge = lastOver;

	myvalign = false;
	myhalign = false;
	
	ddv = parseInt(lastOver.ddvalign);
	ddh = parseInt(lastOver.ddhalign);
	
	// Vertical
	switch (ddv) {
		case 1: myvalign = 'top';
			myY = parseInt(lastOver.style.top);
			break;	
		case 2: myvalign = 'middle';
			myY = parseInt(lastOver.style.top) - Math.round(document.body.clientHeight/2);
			break;	
		case 3: myvalign = 'bottom';
			myY = parseInt(lastOver.style.top) - document.body.clientHeight;
			break;
	}
	// Horizontal
	switch (ddh) {
		case 1: myhalign = 'left';
			myX = parseInt(lastOver.style.left);
			break;	
		case 2: myhalign = 'center';
			myX = parseInt(lastOver.style.left) - Math.round(document.body.clientWidth/2);	
			break;	
		case 3: myhalign = 'right';
			myX = parseInt(lastOver.style.left) - document.body.clientHeight;
			break;
	}
	
	if(typeof(myX)=='undefined')
		var myX = 0;
	if(typeof(myY)=='undefined')
		var myY = 0;
	gen  = '<form name="tmp" onSubmit="return wdwNudgeSave(this);">';
	gen += 'x: <input name="xpos" type="text" myval="'+parseInt(lastOver.style.left)+'"  value="'+myX+'" onChange="wdwNudgeSetX(this.value)"/> from '+myhalign;
	gen += '<br/>y: <input name="ypos" type="text" myval="'+parseInt(lastOver.style.top)+'" value="' + myY + '" onChange="wdwNudgeSetY(this.value)"/> from '+myvalign;
	gen += '<br/>width: <input name="wwidth" type="text" value="'+parseInt(lastOver.style.width)+'" onChange="wdwNudgeSetWidth(this.value)"/>';
	gen += '<br/>height: <input name="wheight" type="text" value="'+parseInt(lastOver.style.height)+'" onChange="wdwNudgeSetHeight(this.value)"/>';
	
	gen += '<br/><input type="submit" value="Save" style="width:80px;"  />';
	gen += '</form>';
	myWdwInfo.innerHTML = gen;
	myWdwInfo.style.visibility = 'visible';
	
	if (hideWdwInfoTimeout) clearTimeout(hideWdwInfoTimeout);
	hideWdwInfoTimeout = setTimeout('hideWdwInfo()',4000);
}


function wdwNudgeSave(self) {
	wdwNudgeSetX(self.xpos.value);
	wdwNudgeSetY(self.ypos.value);
	wdwNudgeSetWidth(self.wwidth.value);
	wdwNudgeSetHeight(self.wheight.value);
	wdwSavePosition();
	return false;
		
}

function wdwNudgeSetWidth(newVal) {
	if (!lastWdwNudge) return;
	lastWdwNudge.style.width = newVal;
	
}

function wdwNudgeSetHeight(newVal) {
	if (!lastWdwNudge) return;
	lastWdwNudge.style.height = newVal;
}

function wdwNudgeSetX(newX) {
	if (!lastWdwNudge) return;
	var myNewPos = 0;
	newX = parseInt(newX);
	var halign = parseInt(lastWdwNudge.ddhalign);
	switch (halign) {
		case 1: // left
			myNewPos = newX;
		break;
		case 2: // center
			myNewPos = Math.round(document.body.clientWidth/2) + newX;
		break;
		case 3: // right
			myNewPos = document.body.clientWidth + newX;
		break;				
		}
	
	lastWdwNudge.style.left = myNewPos;
}

function wdwNudgeSetY(newY) {
	if (!lastWdwNudge) return;
	var myNewPos = 0;
	newY = parseInt(newY);
	var valign = parseInt(lastWdwNudge.ddvalign);
	switch (valign) {
		case 1: // top
			myNewPos = newY;
		break;
		case 2: // middle
			myNewPos = Math.round(document.body.clientHeight/2) + newY;
		break;
		case 3: // bottom
			myNewPos = document.body.clientHeight + newY;
		break;				
		}
	
	lastWdwNudge.style.top = myNewPos;
}

function hideWdwInfo() {
	//myWdwInfo = document.all['wdwInfo'];
	//Changed by Alex
	myWdwInfo = document.MYgetElementById('wdwInfo');
	myWdwInfo.style.visibility = 'hidden';
}


function onWdwInfoOver(self) {
	if (hideWdwInfoTimeout) clearTimeout(hideWdwInfoTimeout);
	
}

function onWdwInfoOut(self) {
	if (hideWdwInfoTimeout) clearTimeout(hideWdwInfoTimeout);
	hideWdwInfoTimeout = setTimeout('hideWdwInfo()',4000);
}

/**
  * Inserts multiple fields.
  *
  */
function insertValueQuery() {
    var myQuery = document.forms['designForm'].template;
    var myListBox = document.forms['designForm'].insertField;

    if(myListBox.options.length > 0) {
        var chaineAj = "";
        var NbSelect = 0;
        for(var i=0; i<myListBox.options.length; i++) {
            if (myListBox.options[i].selected){
                NbSelect++;
                if (NbSelect > 1)
                    chaineAj += ", ";
                chaineAj += myListBox.options[i].value;
            }
        }

        //IE support
        if (document.selection) {
            myQuery.focus();
            sel = document.selection.createRange();
            sel.text=chaineAj;
            document.sqlform.insert.focus();
        }
        //MOZILLA/NETSCAPE support
        else if (myQuery.selectionStart || myQuery.selectionStart == "0") {
            var startPos = myQuery.selectionStart;
            var endPos = myQuery.selectionEnd;
            var chaineSql = myQuery.value;

            myQuery.value=chaineSql.substring(0, startPos) + chaineAj + chaineSql.substring(endPos, chaineSql.length);
        } else {
            myQuery.value += chaineAj;
        }
    }
}



intListActive = false;
intListTR = false

function absoluteLeft(e) { if (e.parentNode && e.tagName != 'BODY') {if (e.tagName != 'TR') return e.offsetLeft+absoluteLeft(e.parentNode); else return absoluteLeft(e.parentNode);} return e.offsetLeft; }
function absoluteTop(e) { if (e.parentNode && e.tagName != 'BODY') {if (e.tagName != 'TR') return e.offsetTop+absoluteTop(e.parentNode); else return absoluteTop(e.parentNode);} return e.offsetTop; }

function intListClick(self,menuIdx) {
	
	if (intListActive) intListHide(intListActive,intListTR);
		
	//myMenu = document.all[menuIdx];
	//Change by Alex
	myMenu = document.MYgetElementById(menuIdx);
	
	self.className = 'interfaceListElementActive';
	myMenu.className = 'intListOpened';
	document.body.appendChild(myMenu);
	var offX = -70;
	var offY = -75
	//alert(sumParentsOffsetY(self));
	//alert(event.y  - sumParentsOffsetY(self) + document.body.scrollTop);
	
	myMenu.style.top = event.y ;//+ offY - sumParentsOffsetY(self) + document.body.scrollTop;
	
	myMenu.style.left = event.x ;//+ offX- sumParentsOffsetX(self) + document.body.scrollLeft;
	//sumParentsOffsetX(self)
	//alert(event.y +" - " + (sumParentsOffsetY(self.parentElement) + 55) + " ---- " + (event.x - sumParentsOffsetX(self)));
	//myMenu.style.zIndex = 102300;
	//alert(myMenu.style.top);
	
	intListActive = myMenu;
	intListTR = self;
	
}

function sumParentsOffsetY(element) {
	var val;
	val = 0;
	if (element.parentElement) val = sumParentsOffsetY(element.parentElement);
	//alert(element.className+"---"+element.style.top);
	//if (element.style.position == 'absolute') val += element.offsetTop;
	if (element.style.top) val += parseInt(element.style.top);
	return val;
}

function sumParentsOffsetX(element) {
	var val;
	val = 0;
	if (element.parentElement) val = sumParentsOffsetX(element.parentElement);
	if (element.style.left) val += element.offsetLeft;
	return val;
}

function intListHide(self,myTR) {
	
	self.className= 'intListHidden';
	myTR.className= 'interfaceListElement';
}

function wdwMenuClick(self, menuId) {
	//myMenu = document.all[menuId];
	//Change by Alex
	myMenu = document.MYgetElementById(menuId);

	if (myMenu.style.display=='none')  {
		// show menu
		myPosX = self.offsetLeft;
		myPosY = self.offsetTop;

		//myMenu.filters[0].apply();
		//myMenu.filters[1].Opacity = 90;
		
		myMenu.style.display  = 'block';
		
		myMenu.style.left = myPosX-129;
		myMenu.style.top = myPosY+14;
		
		//myMenu.filters[0].play();
		}
		else {
		// hide menu
		myMenu.style.display  = 'none';
		}
}

function selectChange(fname, fval) {
	//gets field name and field value of select.. notifys cycore that the select option has changed
	
	var newurlarr = new Array();
	pq = parseQueryString();
	pq['tmp_'+fname] = fval; // notify for new selection
	for(f in pq) {
		 newurlarr.push(f+'='+pq[f]);
	}
	newurl = '?'+newurlarr.join('&');
	goto(newurl);
	}

function switchDesignMode(dmod) {
	var newurlarr = new Array();
	pq = parseQueryString();
	pq['dmod'] = dmod;
	for(f in pq) {
		 newurlarr.push(f+'='+pq[f]);
	}
	newurl = '?'+newurlarr.join('&');
	goto(newurl);
	}

lastOver = false;
lastMenu = false;

// ------------------------------ SHOW MENU --------------------------------
function wdwShowMenu(self, posX, posY) { // param1: window obj
	
	if (lastMenu != false) wdwHideMenu(lastMenu);
	// We will show the menu button
	//var menuContainer = document.all[ self.id+'_menu' ];
	//Change by Alex
	var menuContainer = document.MYgetElementById( self.id+'_menu' );
	if (!menuContainer)  return;
	
	menuContainer.style.visibility = "visible";
	
	menuContainer.style.left = posX;
	menuContainer.style.top = posY;
	menuContainer.style.zIndex = '8000';
	
	lastMenu = menuContainer;
	}
	
// ------------------------------ HIDE MENU --------------------------------
function wdwHideMenu(menuC) {
	if (!menuC) return;
	menuC.style.visibility = 'hidden';
	
	}

// ------------------------------ WINDOW->ON MOUSE DOWN --------------------------------	
function wdwMouseDown(self) {
	if(isIE){
		if ( event.button == 2) {
			// right clicked over application
			//alert( getRealRecPosX(self) );
			var myY = event.y + document.body.scrollTop;
			var myX = event.x + document.body.scrollLeft;
			
			wdwShowMenu(self, myX, myY);
			//wdwShowMenu(self, event.x + document.body.scrollLeft - getRealRecPosX(self.parentNode), event.y + document.body.scrollTop - getRealRecPosY(self.parentNode));
			return false;
			} 
		return false;
	}
}

function getRealRecPosX(self) {
	if (self.tagName != 'DIV') return 0;
	var myPos = 0;
	if (self.style.left) myPos = parseInt(self.style.left);
	var myParentPos = 0;
	if (self.parentNode) myParentPos = getRealRecPosX(self.parentNode);
	return myParentPos + myPos;
}

function getRealRecPosY(self) {
	if (self.tagName != 'DIV') return 0;
	var myPos = 0;
	if (self.style.top) myPos = parseInt(self.style.top);
	var myParentPos = 0;
	if (self.parentNode) myParentPos = getRealRecPosY(self.parentNode);
	return myParentPos + myPos;
}

function wdwOut(self) {
	inspectionWdwOut(self);
	//if (lastOver) wdwHideMenu(lastOver);
	lastOver = false;
	}

function inspectionWdwOver(self) {

	return;
	
	
	me = document.getElementById('inspectorWin');
	
	//alert(self.style.left+" - "+self.style.top + " - "+self.style.width+" - "+self.style.height);
	
	//me.style.position = 'absolute';
	me.style.left = parseInt(self.style.left)-10;
	me.style.top = parseInt(self.style.top)-10;
	me.style.width = parseInt(self.style.width)+20;
	me.style.height = parseInt(self.style.height)+20;
	
	//me.style.backgroundColor = "#ee0000";
	me.style.borderColor = "#000000";
	me.filters[0].Opacity = 80;


	me.style.zIndex = parseInt(self.style.zIndex)-1;
	me.style.visibility = 'visible';

	me.style.border = "2px solid #339933";
	//me.filters[1].apply();
	
	//me.style.border = "0px solid";
	//me.style.visibility = 'hidden';
	//me.filters[1].play();
	
	
	//me.innerHTML = 'Hello jordan'+me.style.zIndex;
	
	
}

function inspectionWdwOut(self) {
	//me = document.getElementById('inspectorWin');
}

function wdwOver(self) {
	
	inspectionWdwOver(self);
	//window.status = 'dd.elements.' + dd.obj.name + '.x  = ' + dd.obj.x + '     dd.elements.' + dd.obj.name + '.y = ' + dd.obj.y;
	//myobj = document.all[dd.obj.name];
	myobj = self;
	
/*
	if (myobj == lastOver) return;
	if (lastOver) { 
		//if (lastPicked.filters[1]) lastPicked.filters[1].apply();
		if (lastOver.filters[0]) lastOver.filters[0].Opacity=60;	
		//if (lastPicked.filters[1]) lastPicked.filters[1].MakeShadow= false;
		//if (lastPicked.filters[1]) lastPicked.filters[1].play();
		}
//	myobj.filters[0]
	
	//if (myobj.filters[1]) myobj.filters[1].apply();
	
//	myMenu.filters[1].Opacity = 80;

	//if (myobj.filters[1]) myobj.filters[1].PixelRadius=0;	
	if (myobj.filters[0]) myobj.filters[0].Opacity=65;
//	myMenu.style.display  = 'block';
		
//	myMenu.style.left = myPosX-99;
//	myMenu.style.top = myPosY+14;
		
	//if (myobj.filters[1]) myobj.filters[1].play();
	
*/	
	lastOver = myobj;
	//if (nextDesignMode != 1) showWdwInfo();
}


function appOverTR(self) {
	self.className = 'wdw-table-row-over';
}

function appOutTR(self) {
	self.className = 'wdw-table-row';
}


function setDragNDrop() {


	var draggableObjs = new Array();
	
	myDocumentElements=document.getElementsByTagName("div");

	for(var i=0; i<=myDocumentElements.length-1; i++) {

		if ( myDocumentElements.item(i).getAttribute('id') 
			&& ( myDocumentElements.item(i).getAttribute('draggable') == 'yes') ) {
			if (nextDesignMode == 1) {
				// NOT IN DESIGN MODE
				
				
				
				
				
				
				} else {
				// IN DESIGN MODE
				draggableObjs.push( "'"+myDocumentElements.item(i).getAttribute('id')+"'+RESIZABLE" );
				}
			}
		}
	
	if (draggableObjs.length != 0) for(var j=0; j<=draggableObjs.length-1; j++) {
		eval("ADD_DHTML("+draggableObjs[j]+");");
		}
		
}



function parseQueryString (str) {
  str = str ? str : location.search;
  var query = str.charAt(0) == '?' ? str.substring(1) : str;
  var args = new Object();
  if (query) {
    var fields = query.split('&');
    for (var f = 0; f < fields.length; f++) {
      var field = fields[f].split('=');
      args[unescape(field[0].replace(/\+/g, ' '))] = 
unescape(field[1].replace(/\+/g, ' '));
    }
  }
  return args;
}




function goto(place) {
	if (place) window.location.href = place;	
	}

function confirmGoto(place) {
	if (!confirm('Are you shure you want to do this ?')) return false;
	
	if (place) window.location = place;	
	}




function popup(url,windowname,w,h,x,y) {
	if (!w) w= screen.width ;
	if (!h) h= screen.height -140;
	if (!x) {
		x = ( screen.width - w) / 2;
		y = ( screen.height - h) / 2;
		}

	//Next is blocked in some situations from FireFox by default set "Block Popup" - Alex
	return window.open(url,windowname,"resizable=yes,toolbar=no,scrollbars=yes,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y+"");
	}
	
	
function popupAdmin(url,windowname,w,h,x,y) {
	if (!w) w= screen.width ;
	if (!h) h= screen.Height - 140 ;
	if (!x) {
		x = ( screen.width - w) / 2;
		y = ( screen.height - h) / 2;
		}
	
	return window.open(url,windowname,"fullscreen=yes,resizable=yes,dialog=no,toolbar=no,scrollbars=no,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y+"");
	}
	
////////////////////////////////////////////////////////////
// FUNCTIONS FOR EXTENDED SCRIPTING
// Use these for your own extensions,
// or to call functions defined elsewhere



/* my_PickFunc IS AUTOMATICALLY CALLED WHEN AN ITEM STARTS TO BE DRAGGED.
The following objects/properties are accessible from here:

- dd.e: current mouse event
- dd.e.property: access to a property of the current mouse event.
  Mostly requested properties:
  - dd.e.x: document-related x co-ordinate
  - dd.e.y: document-related y co-ord
  - dd.e.src: target of mouse event (not identical with the drag drop object itself).
  - dd.e.button: currently pressed mouse button. Left button: dd.e.button <= 1

- dd.obj: reference to currently dragged item.
- dd.obj.property: access to any property of that item.
- dd.obj.method(): for example dd.obj.resizeTo() or dd.obj.swapImage() .
  Mostly requested properties:
	- dd.obj.name: image name or layer ID passed to SET_DHTML();
	- dd.obj.x and dd.obj.y: co-ordinates;
	- dd.obj.w and dd.obj.h: size;
	- dd.obj.is_dragged: 1 while item is dragged, else 0;
	- dd.obj.is_resized: 1 while item is resized, i.e. if <ctrl> or <shift> is pressed, else 0

For more properties and details, visit the API documentation
at http://www.walterzorn.com/dragdrop/api_e.htm (english) or
http://www.walterzorn.de/dragdrop/api.htm (german)    */

function my_PickFunc()
{

}




/* my_DragFunc IS CALLED WHILE AN ITEM IS DRAGGED
See the description of my_PickFunc above for what's accessible from here. */
function my_DragFunc()
{
	//window.status = 'dd.elements.' + dd.obj.name + '.x  = ' + dd.obj.x + '     dd.elements.' + dd.obj.name + '.y = ' + dd.obj.y;
}




/* my_ResizeFunc IS CALLED WHILE AN ITEM IS RESIZED
See the description of my_PickFunc above for what's accessible from here. */
function my_ResizeFunc()
{
	//window.status = 'dd.elements.' + dd.obj.name + '.w  = ' + dd.obj.w + '     dd.elements.' + dd.obj.name + '.h = ' + dd.obj.h;
}




/* THIS ONE IS CALLED ONCE AN ITEM IS DROPPED
See the description of my_PickFunc for what's accessible from here.
Here may be investigated, for example, what's the name (dd.obj.name)
of the dropped item, and where (dd.obj.x, dd.obj.y) it has been dropped... */
/* function my_DropFunc()
{
}
*/

// invoked by dd script
function my_DropFunc() {
	
	wdwSavePosition();
	

}

function wdwSavePosition() {
	
	if (!lastOver) {
		if (!lastWdwNudge) return;
		dropedElement = lastWdwNudge;
		} else {
		dropedElement = lastOver;	
		}
		
	
	args = parseQueryString();
	cyId = args['cy'];
	if (!cyId) cyId = 1; //becouse home page has no cy=??
	
	//dropedElement = document.all[dd.obj.id];

	
	windowId = dropedElement.winId;
	
	//errorOffsetX = Math.round(dropedElement.clientLeft);
	//errorOffsetY = Math.round(dropedElement.clientTop);
	errorOffsetX = 0;
	errorOffsetY = 0;
	
	mySaveX = (parseInt(dropedElement.style.left)+errorOffsetX);
	mySaveY = (parseInt(dropedElement.style.top)+errorOffsetY);
	myWidth = parseInt(dropedElement.style.width);
	myHeight = parseInt(dropedElement.style.height);
	
	// changes image src to pass params to cycore	
	//document.all['hiddenImg'].src = '?mod=admin&c=cc_admin_windows&m=setWinPos&p_cId='+cyId+'&p_wId='+windowId+'&p_x='+mySaveX+'&p_y='+mySaveY+'&p_w='+myWidth+'&p_h='+myHeight+'&p_z='+dropedElement.style.zIndex+'&p_cw='+document.body.clientWidth+'&p_ch='+document.body.clientHeight+'&p_valign='+dropedElement.ddvalign+'&p_halign='+dropedElement.ddhalign;
	//Changed by Alex
	document.MYgetElementById('hiddenImg').src = '?mod=admin&c=cc_admin_windows&m=setWinPos&p_cId='+cyId+'&p_wId='+windowId+'&p_x='+mySaveX+'&p_y='+mySaveY+'&p_w='+myWidth+'&p_h='+myHeight+'&p_z='+dropedElement.style.zIndex+'&p_cw='+document.body.clientWidth+'&p_ch='+document.body.clientHeight+'&p_valign='+dropedElement.ddvalign+'&p_halign='+dropedElement.ddhalign;
}

















function dump(arr,level) {
	
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}

return dumped_text;
} 
//addEvent(document.getElementById(adminForm), 'submit', submitRating, false);










//////////////////////js calendar ////////////////////////
function ShowCalendar(CONTROL,START_YEAR,END_YEAR,FORMAT,FORMTOSUBMITAFTER){
	if(FORMTOSUBMITAFTER!=false){
		//alert(FORMTOSUBMITAFTER);
		formToSubmit = FORMTOSUBMITAFTER;
	}else{
		formToSubmit = false;
	}
//alert(CONTROL);
//ControlToSet = eval(CONTROL);
FormToSubmit = FORMTOSUBMITAFTER;
ControlToSet = (CONTROL);
StartYear = START_YEAR;
EndYear = END_YEAR;
FormatAs = FORMAT;
CalWidth = 200;
LEFT =10;
TOP =10;
var strFeatures = "width=" + CalWidth + ",height=170" + ",left=" + LEFT + ",top=" + TOP;
//return false;
path = "js/HTMLCalendar.htm";
//alert(path);
var CalWindow = window.open(path,"Calendar", strFeatures)
CalWindow.focus();
} //End Function

function ClearCalendar(CONTROL,formToSubmit){
	ControlToSet = (CONTROL);
	myobj = document.getElementById(ControlToSet);

	myobj.value = ""; 
	myobj = null;

	ControlToSet = null;
	StartYear = null;
	EndYear = null;
	FormatAs = null;
	if(formToSubmit!=false){
		//document.forms[formToSubmit].submit();
	}
	
} //End Function

function SetDate(DATE){
//alert(ControlToSet);
if(ControlToSet){
//alert();

ControlToSet.value = DATE; 
}
//alert(ControlToSet);
myobj = document.getElementById(ControlToSet);

myobj.value = DATE; 
myobj = null;

ControlToSet = null;
StartYear = null;
EndYear = null;
FormatAs = null;
	if(formToSubmit!=false){
		//document.forms[formToSubmit].submit();
	}
}
////////////////////////////////////////////////////////////


function openContentEditor(appClass,appModule,appAction,appInstanceId,appLang){
	var w= screen.width/3 ;
	var h= screen.Height/2;
	var x = ( screen.width - w) - 50;
	var y = 150;
	popup('/?mod=admin&c=cc_admin_content_edit&m=read'+'&p_c='+appClass+'&p_m='+appModule+'&p_a='+appAction+'&p_iid='+appInstanceId+'&lang='+appLang,'contEditor',w,h,x,y);
}

function openTxt(ptr){
	myEditor = window.open('js/txteditor.html',"htmlarea","resizable=1,toolbar=0,scrollbars=1,menubar=0,status=1,directories=0,maximize=1");
	myEditor.ptr = ptr;
}

//

function viewLoader(){
	var ptr = document.getElementById('loader');
	if(!ptr){
		var loader = document.createElement('div');
		loader.id = 'loader';
		loader.style.position = 'absolute';
		
		loader.style.top = (screen.height/2-200)+'px';
		loader.style.left = (screen.width/2)+'px';
		loader.style.display = "block";
		//loader.innerHTML = "<center><div style='background:#FCF0AA;border:3px solid black;cursor:pointer;padding:5 5 5 5'><img src='images/loader.gif' /><br/>searching</div></center>";
		loader.innerHTML = "<table border=0 width=50 style='background-image:url(images/pack_01/bckgrd.gif);height:50px;width:50px' height=50 cellpadding=0 cellspacing=0><tr><td width=6><img src='images/pack_01/bckgrd_left.gif' border=0 /></td><td style='vertical-align:middle;padding:0 10 0 10' align='middle'><img src='images/loader.gif' /></td><td width=6><img src='images/pack_01/bckgrd_right.gif' border=0 /></td></tr></table>";
		//loader.innerHTML = "<table border=0 width=50 style='background-image:url(images/pack_01/loader_bck.jpg);height:50px;width:50px' height=50 cellpadding=0 cellspacing=0><tr><td style='vertical-align:middle;padding:0 10 0 10' align='middle'><img src='images/loader.gif' /></td></tr></table>";
		document.body.appendChild(loader);
		loaderIsOn = true;
	}else{
		document.getElementById('loader').style.display = "block";
	}
}


//blokira submitvaneto na stranica 1 put sled blokiraneto flaga pada
var submitBlockerOnce = false;

function submitCYBER(request,formid,viewAni){
	if(typeof(nd)=='function'){
		nd();
	}
	if(submitBlockerOnce){
		//alert('blocking cyber once');
		submitBlockerOnce = false;
		return true;
	}
	
	if(!top.document.getElementById(formid)){
		window.status = formid+" is not found !";
		return;
	}
	var myform = top.document.getElementById(formid);
	if(top.cyber){
		if(viewAni){
			viewLoader();
		}
		//removing all objects marked as trash
		for(var i =0;i<cyberRemoveBeforeReload.length;i++){
			var key 	= cyberRemoveBeforeReload[i];
			var garb 	= document.getElementById(key);
			if(!garb)continue;
			garb.parentNode.removeChild(garb);			
		}			


		// _dom : 0=other, 1=Mozilla, 2=NN4, 3=IE4/5
		_dom=(document.all?3:(document.getElementById?1:(document.layers?2:0)));
		_ie5=(navigator.appVersion.indexOf('MSIE 5')>=0);
		switch(_dom){
			case 3://ie
			
				var myform2 = top.cyber.document.createElement('form');
				myform2.id = "submit";
				top.cyber.document.body.appendChild(myform2);
				var f = top.cyber.document.getElementById("submit");
				f.innerHTML = myform.innerHTML;
				f.action = request;
				f.method = "POST";
				
				f.submit();
			break;
			case 1:
				var myform2 = top.cyber.document.importNode(myform,true);
				/*test zone*/
				var myform2 = top.cyber.document.createElement('form');
				var tst = myform.getElementsByTagName('textarea');
				var rep = "";
				for(var i = 0 ; i < tst.length; i ++){
					var k = tst[i];
					rep += "<textarea name='"+k.getAttribute('name')+"'>"+k.value+"</textarea>\n\r";
				}
				myform2.innerHTML += rep;

				var tst = myform.getElementsByTagName('input');
				var rep = "";
				for(var i = 0 ; i < tst.length; i ++){
					var k = tst[i];
					switch(k.type){
						case 'radio':
								if(k.checked){
									var more = "checked";
									rep += "<input type='text' name='"+k.getAttribute('name')+"' value='"+k.value+"' />\n\r";
								}else{
									var more = "";
								}
						break;
						case 'checkbox':
							if(k.checked)
								rep += "<input type='checkbox' name='"+k.getAttribute('name')+"' checked value='on' />\n\r";
						break;
						default:
							rep += "<input type='text' name='"+k.getAttribute('name')+"' value='"+k.value+"' />\n\r";
						break;
					}
				}
				myform2.innerHTML += rep;

				/*test zone*/

				myform2.id = "submit";
				top.cyber.document.body.appendChild(myform2);
				var f = top.cyber.document.getElementById("submit");
				//f = myform;
				f.action = request;
				f.method = "POST";
				f.submit();
			break;
		}
		
	}		
}

var cyberIsLoading=false;
var cyberRemoveBeforeReload = new Array();

function callCYBER(request,viewAni){
	/*if(cyberIsLoading){
		alert('Another request is in progress at the moment!\n Please wait.');
		return false;
	}*/
	if(top.cyber){
		if(viewAni){
			viewLoader();
		}
		top.cyber.location.href = request;
		cyberIsLoading = true;
	}
	return true;
}

//todo da se napravi biblioteka JS za cc_form i tazi funkzia da se premesti tam
function cloneField(fieldName){
	alert(fieldName);
}


function autoFill(ptr,str,state){
	switch(state){
		case 1:
			if (ptr.value==str) ptr.value='';
		break;
		case 0:
			if (ptr.value=='') ptr.value=str;
		break;
	}
}



function hibernate(html,w,h){
	var ptr = "hibernator";
	var ptrC= "hibercont";
	
	var obj = document.getElementById(ptr);
	if(!obj){
		var obj = document.createElement('div');
		obj.id = ptr;
		obj.style.backgroundColor = "#000000";
		obj.style.top = 0;
		obj.style.left = 0;
		obj.style.position = "absolute";
		obj.style.zIndex = 10;//Added by Alex
		document.body.appendChild(obj);
		obj = document.getElementById(ptr);
	}

	var objC = document.getElementById(ptrC);
	if(!objC){
		var objC = document.createElement('div');
		objC.id = ptrC;
		objC.style.position = "absolute";
		objC.style.zIndex = 10;//Added by Alex
		document.body.appendChild(objC);
		objC = document.getElementById(ptrC);
	}


	//if no html close all hibernation layouts
	if(!html){
		obj.style.display = "none";	
		objC.style.display = "none";	
		return false;
	}

	//if(isIE){
		var oH = document.body.scrollHeight ;
		var dH = document.body.scrollTop;
		var oW = document.body.scrollWidth;
	/*}else{
		var dH = 0;
		var oH = window.innerHeight;
		var oW = window.innerWidth;
	}*/
	
	obj.style.filter = "alpha(opacity=10)";
	obj.style.opacity = "0.1";
	//Added by Alex - test
	obj.style.MozOpacity="0.1";

	obj.style.width= oW+'px';//Added by Alex: +'px' for Firefox
	obj.style.height= oH+'px';//Added by Alex: +'px' for Firefox

	objC.style.width = w;
	objC.style.height = h;
	objC.style.top = (120 + dH)+'px';//Added by Alex: +'px' for Firefox
	objC.style.left = ((oW - w ) /2)+'px';//Added by Alex: +'px' for Firefox
	objC.innerHTML = html;

	obj.style.display = "block";	
	objC.style.display = "block";	

	obj.style.height= document.body.scrollHeight ;
	//
	var rate = 1;
	var step = 2;
	setTimeout('doFade("'+ptr+'","'+15+'","'+40+'","'+step+'",'+rate+')',rate);
	
}

//Added by Alex - test - not used
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

//Added by Alex - test - not used
function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth,myHeight];
}

function doFade(ptr,from,to,step,rate){
	var obj = document.getElementById(ptr);
	if(!obj)
		return false;
	if(parseInt(from) >= parseInt(to))
		return true;
		
	from = parseInt(from) + parseInt(step);
	
	obj.style.filter = "alpha(opacity="+from+")";
	obj.style.opacity = "0."+from;
	
	setTimeout('doFade("'+ptr+'","'+from+'","'+to+'","'+step+'",'+rate+')',rate);	
}


var varDump = Object();
function submitOnChange(ptr,lnk,frm,ani,minlen){
	//works with inputs for now
	var obj		= document.getElementById(ptr);
	if(!obj)
		return false;
		
	var val		= obj.value;
	var query = "var chk = typeof(varDump."+ptr+")=='undefined';";
	eval(query);
	if(chk == true){
		query = " varDump."+ptr+"= '"+val+"' ;";
		eval(query);
	}
	
 	query = "var old = varDump."+ptr+";";
 	eval(query);
	
	query = "var pattern = new RegExp(/^\\s*"+old+"\\s*$/);";
	eval (query);
	
	if(typeof(minlen)=='undefined')
		var minlen = 0;
		
	
	if((!pattern.test(val))&&(minlen <= val.length)){
	 	query = "varDump."+ptr+" = '"+val+" ';";
	 	eval(query);
	 	submitCYBER(lnk,frm,ani);
	}
}


function setHTML(my){
	var ptr			=		my.getAttribute('ptr');
	if(!ptr) return false;
	var obj 		= 	document.getElementById(ptr);
	
	if(!obj)return false;
	
	obj.value 	= 	my.value;
}


function showPicFrame(ptr){
	var _ptr= ptr.getAttribute('ptr');
	var w = 350;
	var h = 100;
	x = ( screen.width - w) / 2;
	y = ( screen.height - h) / 2;
	var myUpload = window.open('/fileupload.php?ptr='+_ptr,"file_upload","resizable=no,toolbar=no,scrollbars=no,menubar=no,status=no,directories=no,width="+w+",height="+h+",left="+x+",top="+y);

}



/*colorpickerstart*/
/*colorpickerend*/

function innerPopup(w,h,hsrc){
	/*var ptr = document.getElementById('innerpopup');
	if(!ptr){*/
		var win = document.createElement('iframe');
		//win.id = 'innerpopup';
		win.style.position = 'absolute';
		
		win.style.top = screen.height/2-200;
		win.style.left = screen.width/2;
		win.style.width = "200";
		win.style.height = "200";
		win.src = '/js/colorp.html';
		//win.style.display = "block";
		//alert(hsrc);
		//win.innerHTML = "t<img src='/js/colorp.html'>b";
		document.body.appendChild(win);
	/*}else{
		document.getElementById('innerpopup').style.display = "block";
	}*/
	
}


function chkField(ptr){
	if(!ptr)
		return false;
		
		var val	= ptr.value;
		var pat = ptr.getAttribute('regExp');
		
		window.satus = pat;
	ptr.style.border = '2px solid red';
}


	function show(ptr){
		var obj = document.getElementById(ptr);if(obj)obj.style.display = 'block';
	}
	//Copy by Alex - 'show' is some standard function in FireFox
	function showElement(ptr){
		var obj = document.getElementById(ptr);if(obj)obj.style.display = 'block';
	}
	
	function hide(ptr){
		var obj = document.getElementById(ptr);
		if(obj)obj.style.display = 'none';
	}
	//Copy by Alex - 'hide' is some standard function in FireFox
	function hideElement(ptr){
		var obj = document.getElementById(ptr);
		if(obj)obj.style.display = 'none';
	}
	
	
	function radioChk(p1,p2){
		//var eS = document.getElementById(exampleS); 
		
		//if(eS)eS.innerHTML=\"".$sample_text2."\";
		var stype = document.getElementById("stype");
		
		
		switch(p2){
			case true:
				//stype.checked = true;
				stype.value = '1';
			break;
			default:
				//stype.checked = true;
				stype.value = '0';
			break;
		}
		
		//alert('stype checked = '+stype.checked+' value='+stype.value);
	}	
	
function changeView(){
	var l = arguments.length;
	//var txt = "start test:";
	for(var i = 0 ; i < l ; i ++){
		var key = arguments[i++];
		var val = arguments[i];
		var obj = document.getElementById(key);
		if(!obj)
			continue;
		
		var h		=	obj.offsetHeight;
		
		//txt += "key="+key+" val="+val+"\n\r";
		//txt += "h="+h+" \n\r";
		switch(val){
			case 'none':
				//txt += " and its hiding now";				
				//obj.style.visibility  = "hidden";
				obj.style.height = "1px";
				obj.style.overflow = "hidden";
			break;
			default:
				//txt += " and its showing now";
				//var h = obj.getAttribute('myh');
				//obj.style.display = "inline";
				obj.style.height = "auto";
				obj.style.overflow = "visible";
				//obj.style.visibility = "visible";
				//obj.style.overflow = "auto";
			break;
		}
		document.body.style.height = (parseInt(document.body.offsetHeight) + 1 )+"px";
		//txt += "\n\r";
		
	}
	//alert(txt);
}	

	function olinfo(myTitle,myText,w){
		if(!w)
			var w = 100;
			
		if(myTitle)
                        //var h = "<tr><td style='background:#FFC600;color:black;padding:4px' >"+myTitle+"</td></tr>";
			   //Changed by Alex
                        var h = "<tr><td style='background:#f7eb46;color:black;padding:4px' >"+myTitle+"</td></tr>";
		else
			var h = "";
			
			
		if(myText)
 			var t = "<tr><td style='padding:4px'>"+myText+"</td></tr>";
		else
			var t = "";
			
		if((!t )&&(!h))
			return false;
		
		var cont = "<table cellpadding=0 cellspcaing=0 border=0 width='"+w+"' height='100%' >"+h+t+"</table>";
		return overlib(cont);
	}


	function chkTxtarea(my){
		var ptr 		= my.getAttribute('ptr');
		var maxLen 	= my.getAttribute('length');
		if(!ptr)return false;
		var obj 		= document.getElementById(ptr);
		if(!obj)return false;
		var len 		=	my.value.length;
		
		if(len >= maxLen){
			my.value = my.value.toString().substring(0,maxLen);
			len = maxLen;
		}
		obj.innerHTML = maxLen - len;
		
		var hd = document.getElementById(my.id+'rl');
		if(!hd)return false;
		
		hd.value = my.value;
	}
	
	
	function clearFile(ptr){
		var ptr1 = ptr.getAttribute('ptr1');
		var ptr2 = ptr.getAttribute('ptr2');
		
		if(typeof(ptr1)!='undefined'){
			var obj = document.getElementById(ptr1);
			obj.value = "";
		}
		
		if(typeof(ptr2)!='undefined'){
			var obj = document.getElementById(ptr2);
			obj.value = "";
		}
			
	}
/* ]]> */