var PROXITLINK = 'proximic_proxit';var PARAM_SEPARATOR = ':';var URL_SEPARATOR = 'query_url=';var TEXT_SEPARATOR = 'query_text=';
var FL_CSS_PREFIX = 'fl_proxit_';var SERVERADDRESS = 'http://widget.proximic.com/flash/';var VARSGLOBAL_ANAME = 'proximic_global_proxit_cl';
var proxit_div=null;var proxit_divel=null;var pr_ns4,pr_ie4,pr_ie5,pr_ie7,pr_ie,pr_kon,pr_saf,pr_opera,pr_wf,pr_k;
var x,y,winW,winH;var pr_px="px";var pimg,lc,spfd;

function nsfix(){setTimeout("window.onresize = rebrowse", 2000);}
function rebrowse(){window.location.reload();}

function bgImagesPreload() {
	var pimgs = ['proxit_top_edge_left', 'proxit_top_left', 'proxit_top_middle', 'proxit_top_right', 'proxit_top_edge_right', 
			'proxit_left_top', 'proxit_left_middle', 'proxit_left_bottom',
			'proxit_right_top', 'proxit_right_middle', 'proxit_right_bottom',
			'proxit_bottom_edge_left', 'proxit_bottom_left', 'proxit_bottom_middle', 'proxit_bottom_right', 'proxit_bottom_edge_right' ];
	
	for (var i=0; i < pimgs.length; i++) {
		 pimg[i] = new Image();
		 pimg[i].src = SERVERADDRESS +'img/'+pimgs[i]+'.png';
	}
}

function proxitinit(){
 var nav_ag = navigator.userAgent.toLowerCase();
 pr_ns4=(document.layers)?true:false, pr_ie4=(document.all)?true:false;pr_k='pw?i=1&l=';
 pr_ie5=(pr_ie4 &&((nav_ag.indexOf('msie 5')>0)||(nav_ag.indexOf('msie 6')>0)))?true:false;
 pr_ie7=(nav_ag.indexOf('msie 7')>0)?true:false;
 pr_ie= ((navigator.appName).indexOf('Microsoft Internet Explorer')>0)?true:false;
 pr_kon=(nav_ag.indexOf('konqueror')>0)?true:false; pr_saf=(nav_ag.indexOf('safari')>0)?true:false;
 pr_opera=(nav_ag.indexOf("opera") != -1);pr_wf=(nav_ag.indexOf("firefox") != -1 && nav_ag.indexOf("windows") != -1);
 spfd = 'http://publisher.proximic.com/'+pr_k;
 lc=x=y=0;winW=800;winH=600; proxit_div=null;proxit_divel=null;
 if(pr_ns4||pr_kon){ nsfix() }
 if(pr_ns4) { pr_px=""; }
 pimg = new Array();
 bgImagesPreload();
}
/* ================== flash part ====================*/
function openWin(URL) {
	aWindow = window.open(URL,'infowindow','width=650,height=625,location=no,resizable=yes,scrollbars=yes');
}
function proximicCloseWin() {
	proxit_hide();
}
function changeHeight(newHeight){	//
}	
//================ new flash functions ===================
	//Methods called by the movie 3
	function visitUrl(value, target, tabbing) {
		var nw = window.open(value, '_blank');
		nw.focus();
		return true;	//success
	}
/* ================== //end flash part ====================*/

function proxit_hide(e){
  if(proxit_div) { proxit_div.visibility=pr_ns4?"hide":"hidden"; if(pr_wf){proxit_div.display ="none";} }
  proxit_div=null;
}
function proxit_addStyleJs(styles, scripts ) {
	if (styles) {
		var stArr = Object.values(styles);
		stArr.each(function(stName){
			if(stName) {
				var doAdd = true;
				$A(document.getElementsByTagName("link")).each(function(exist_st){
					if (exist_st.href) {
						if (exist_st.href == stName) doAdd = false;
					}
				});
				if (doAdd) {
					var stLink = document.createElement("link");
					stLink.rel = 'stylesheet';
					stLink.type = 'text/css';
					stLink.media = 'all';
					stLink.href = stName;
					document.getElementsByTagName("head")[0].appendChild(stLink);
				}
			}
		});
	}
	if (scripts) {
		var jsArr = Object.values(scripts);
		jsArr.each(function(jsName){
			if(jsName) {
				var jsLink = document.createElement('script');
				jsLink.language = 'javascript';
				jsLink.src = jsName;
				jsLink.type = 'text/javascript';
				var bodyEl = document.getElementsByTagName("body")[0];
				bodyEl.insertBefore(jsLink, bodyEl.firstChild);
			}
		});
	}
}

function pr_getSelection() {
    var usct = '';
    if (window.getSelection) {   //Netscape 6 & Mozilla
        usct = window.getSelection() + '';
    } else if (document.getSelection) {   //NN 4.7
        usct = document.getSelection() + '';
    } else if (document.selection) {   //IE 5.5
        usct = document.selection.createRange().text;
    }
    return usct;
}

function pr_getObjStr(fname, paramsObj) {
	var prefr = document.URL;
	if('' == paramsObj.query_url) paramsObj.query_url = prefr;
	if ('' != paramsObj.query_text) {
		paramsObj.query_text = '&txt='+encodeURIComponent(paramsObj.query_text); 
		paramsObj.refr = 'dom';
	} else paramsObj.refr = 'url';
	var inm = 'inm';
	var pa = paramsObj.aid;  prefr =(pa? ('&aid='+pa):'') +'&id=proxit&ref=' + encodeURIComponent(prefr);
	if (pa == inm) {with(paramsObj) {if (chn) chn += ','; chn += '*INDEPENDENT,WIKI'; exp += 'INDEPENDENT,WIKI,WIKI:1';}}
	if (pa == inm || pa == 'dst') {proxit_addStyleJs({st1: SERVERADDRESS+'css/proxit_'+pa+'.css'});}
	if (pa == 'dst') {with(paramsObj) {if (chn) exp += 'MEDIA';}}
	var ppre = (paramsObj.pre)? paramsObj.pre : ''; var fpath = SERVERADDRESS+'proximic'+ppre+'.swf';
	var pchn = (paramsObj.chn)? '&chn='+paramsObj.chn : ''; var pexp = (paramsObj.exp)? '&exp='+paramsObj.exp : '';
	
	var partner_style = (pa == 'inm')? pa : 'default';
       var pcss = (!paramsObj.style || '' == paramsObj.style)? (FL_CSS_PREFIX+partner_style) : paramsObj.style;
       if('lightblue' == paramsObj.style) { pcss = 'fl_lightblue'; }
       pcss = (pcss && '' != pcss)? ('&style='+pcss) : '';
    var pcolors = Object.values(paramsObj.colors).length > 0? ($H(paramsObj.colors)).toQueryString()+'&' : '';
	var flashvarsString = pcolors + 'wie=1&ad=0' + pcss + (ppre? '&pre='+ppre :'') +pchn+pexp + paramsObj.restParams +
								  '&'+paramsObj.refr+'='+encodeURIComponent(paramsObj.query_url)+paramsObj.query_text + prefr;
	var resStr = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" style="margin:0;padding:0;" width="100%" height="100%" id="'+fname+'"><param name="allowScriptAccess" value="always" /><param name="bgcolor" value="#ffffff" />'+'<param name="movie" value="'+fpath+'" /><param name="flashvars" value="'+flashvarsString+'" /><param name="quality" value="high" />'+(!pr_saf? '<embed src="'+fpath+'" name="'+fname+'" style="margin:0;padding:0;" allowScriptAccess="always" quality="high" bgcolor="#ffffff" width="100%" height="100%" flashvars="'+flashvarsString+'" align="middle" '+'type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />': '')+'</object>';
	return resStr;
}
function _proxit_div(elm, clickSearch) {
	var alink = '';
	var params = new Array();
	var prox_values = {
		aid: '', //aid
		w: '100%', //obj width
		h: '100%', //obj height
		query_url: '', 	//query_url
		query_text: '', 	//query_text
		refr: '', 	//'url' oder 'dom'
		chn: '',	//channel_additional
		exp: '',	//channel_expand
		pre: '', //pre mode
		style: '', //css name
		colors: new Object(),
		restParams: '' //rest params
	};
	if ( !clickSearch ) {
		if (elm.id == 'undefined') return false;
      
        var separator = -1 != (elm.id).indexOf(TEXT_SEPARATOR)? TEXT_SEPARATOR : URL_SEPARATOR;
        var spl = (elm.id).split(separator); alink = spl[1];
    	if (!alink) alink = document.URL;
	var arrlink = spl[0].split('&');
        arrlink.each(function(apart) {
		  if (0 == apart.indexOf(PROXITLINK)) {
			var psepLength = (apart.length > PROXITLINK.length)? PARAM_SEPARATOR.length : 0;
		     apart = apart.substr(PROXITLINK.length+psepLength);
		  }		
		  if (-1 != apart.indexOf('=')) {
			vpair = apart.split('=');
			params.push({'tname':vpair[0], 'tvalue':vpair[1]});
		  }
	   });

		if (separator == TEXT_SEPARATOR) {
   			prox_values.query_text = alink;
   			prox_values.query_url = document.URL;
		} else {
    			prox_values.query_url = alink;
		}

    }
	function pr_getParamValue(pName) {
  		var ps = params.findAll(function(param){
  			return pName == param.tname;
  		});
		var p = ps.last();
		if (p) {
			params = params.without(p);
			return p.tvalue;
		} else {
			var glV  = window[VARSGLOBAL_ANAME]? window[VARSGLOBAL_ANAME] : null;
			return (glV && glV[pName]? glV[pName] : ''); 
		}
	  return false;
	}
	
	prox_values.aid = pr_getParamValue('aid');
	prox_values.chn = pr_getParamValue('channel_additional');
	prox_values.exp = pr_getParamValue('channel_expand');
	prox_values.pre = pr_getParamValue('pre');
	prox_values.style = pr_getParamValue('style');
	var _c = new Object();
	_c['bg'] = pr_getParamValue('bgcolor');
	_c['brd'] = pr_getParamValue('bordercolor');
	_c['hdr'] = pr_getParamValue('headercolor');
    _c['tc'] = pr_getParamValue('titlecolor');
	_c['ac'] = pr_getParamValue('textcolor');
	_c['mc'] = pr_getParamValue('infocolor');
	
	Object.keys(_c).each(function(c){
		if(_c[c]) prox_values.colors[c] = _c[c];
	});

	params.each(function(p){
		prox_values.restParams += '&'+p.tname+'='+p.tvalue;
	});
	
    var userSelect = '';
    if (clickSearch) { 
        var alpha = /\W+/;
        userSelect = pr_getSelection();
        if('' != userSelect && 'undefined'!= userSelect && (2 < userSelect.length || (2 == userSelect.length & !alpha.test(userSelect))) ) {
            alink = '_userSelection';
            prox_values.query_text = userSelect;
            prox_values.query_url = document.URL;
        } else { return false; }
    }
	var partname = Object.values(prox_values.colors).length > 0? (''+Object.values(prox_values.colors)).replace(/,/gi, '') : '';
	var thisname = prox_values.style + prox_values.aid +partname+ prox_values.chn + prox_values.exp + prox_values.pre + prox_values.restParams + encodeURIComponent(alink);
	thisname = thisname.replace(/%/ig, 'P');
	var dname= 'proxitresdiv_'+thisname;
	var fobjname = 'proximic_fobj' + thisname;
	//alert(dname);
	var tdiv = $(dname);
	var divNotExists = !tdiv || tdiv == null;
    if (clickSearch && !divNotExists) { 
        document.getElementsByTagName('body')[0].removeChild(tdiv);
        divNotExists = true;
    }
	if ( divNotExists ) {
		tdiv=document.createElement('div');
		tdiv.id=dname;
		tdiv.name=dname;
		tdiv.style.position= pr_ie5 || pr_ie7? 'absolute' : 'fixed';
		tdiv.style.visibility="hidden";
		tdiv.style.zIndex="799999";
	var bg_trans = pr_ie5? 'style="background-image: none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+SERVERADDRESS+'img/proxit_%src.png\', sizingMethod=\'scale\');"' 
								   : 'style="background-image: url('+SERVERADDRESS+'img/proxit_%src.png);"';
	var onmouse_trans = pr_ie5? 'this.style.backgroundImage=\'none\';this.style.filter=\'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+SERVERADDRESS+'img/proxit_%src.png\', sizingMethod=\'scale\')\';' 
								   : 'this.style.backgroundImage=\'url('+SERVERADDRESS+'img/proxit_%src.png)\';';
	tdiv.innerHTML = '<div class="proxit_close_btn" '+( bg_trans.replace(/%src/, 'close_off' ) )+' onclick="proxit_hide();" ' +
					 'onmouseover="'+( onmouse_trans.replace(/%src/, 'close_on' ) )+'" onmouseout="'+( onmouse_trans.replace(/%src/, 'close_off' ) )+'"><!-- close --></div>' +
					 '<table class="proxit_container" cellpadding="0" cellspacing="0" border="0"> ' + 
					 '<tr>' +
					 '<td class="proxit_transp" valign="top" width="10"><div class="proxit_top_edge_left" '+( bg_trans.replace(/%src/, 'top_edge_left' ) )+'><!-- ecke links --></div></td>' +
					 '<td class="proxit_transp" valign="top" width="3"><div class="proxit_top_left" '+( bg_trans.replace(/%src/, 'top_left' ) )+'><!-- oben links --></div></td>' +
					 '<td class="proxit_transp" valign="top"><div class="proxit_top_middle" '+( bg_trans.replace(/%src/, 'top_middle' ) )+'><!-- oben middle --> </div></td>' +
					 '<td class="proxit_transp" valign="top" width="3"><div class="proxit_top_right" '+( bg_trans.replace(/%src/, 'top_right' ) )+'><!-- oben rechts --></div></td>' +
					 '<td class="proxit_transp" valign="top" width="10"><div class="proxit_top_edge_right" '+( bg_trans.replace(/%src/, 'top_edge_right' ) )+'><!-- oben ecke rechts --></div></td>' +
					 '</tr><tr>' +
					 '<td class="proxit_transp" valign="top" width="10" style="height:3px;"><div class="proxit_left_top" '+( bg_trans.replace(/%src/, 'left_top' ) )+'><!-- oben left --></div></td>' +
					 '<td class="proxit_res_container" colspan="3" rowspan="3" valign="top">'+ pr_getObjStr(fobjname, prox_values)+'</td>' +
					 '<td class="proxit_transp" valign="top" width="10" style="height:3px;"><div class="proxit_right_top" '+( bg_trans.replace(/%src/, 'right_top' ) )+'><!-- oben rechts --></div></td>' +
					 '</tr><tr>' +
					 '<td class="proxit_transp" width="10"><div class="proxit_left_middle" '+( bg_trans.replace(/%src/, 'left_middle' ) )+'><!-- middle links --></div></td>' +
					 '<td class="proxit_transp" width="10"><div class="proxit_right_middle" '+( bg_trans.replace(/%src/, 'right_middle' ) )+'><!-- middle rechts --></div></td>' +
					 '</tr><tr>' +
					 '<td class="proxit_transp" width="10" style="height:3px;"><div class="proxit_left_bottom" '+( bg_trans.replace(/%src/, 'left_bottom' ) )+'><!-- unten links--></div></td>' +
					 '<td class="proxit_transp" width="10" style="height:3px;"><div class="proxit_right_bottom" '+( bg_trans.replace(/%src/, 'right_bottom' ) )+'><!-- unten rechts--></div></td>' +
					 '</tr><tr>' +
					 '<td class="proxit_transp" valign="top" width="10"><div class="proxit_bottom_edge_left" '+( bg_trans.replace(/%src/, 'bottom_edge_left' ) )+'><!-- unten ecke links --></div></td>' +
					 '<td class="proxit_transp" valign="top" width="3"><div class="proxit_bottom_left" '+( bg_trans.replace(/%src/, 'bottom_left' ) )+'><!-- unten links --></div></td>' +
					 '<td class="proxit_transp" valign="top"><div class="proxit_bottom_middle" '+( bg_trans.replace(/%src/, 'bottom_middle' ) )+'><!-- unten middle --></div></td>' +
					 '<td class="proxit_transp" valign="top" width="3"><div class="proxit_bottom_right" '+( bg_trans.replace(/%src/, 'bottom_right' ) )+'><!-- unten rechts --></div></td>' +
					 '<td class="proxit_transp" valign="top" width="10"><div class="proxit_bottom_edge_right" '+( bg_trans.replace(/%src/, 'bottom_edge_right' ) )+'><!-- unten ecke rechts --></div></td>' +
					 '</tr>'+
					 '</table>';
		document.getElementsByTagName("body")[0].appendChild(tdiv);
	}
	return tdiv;
}
function getElementFromEvent(e) {
	var elm = Event.findElement(e, "a");
  	
  	if (elm.nodeName == '#document') {
		elm = Event.findElement(e, "a");
  	}
  	
  	return elm;
}
function proxit_show(e){
	var elm = getElementFromEvent(e);
	if(proxit_div) proxit_hide();
	proxit_divel = _proxit_div(elm);
	if (!proxit_divel) return;
	proxit_div = proxit_divel.style;
	proxit_setDivPosition();
}
function proxit_setDivPosition(){
	if (proxit_div) {
		winW = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
		winH = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
		var scroll_w = window.scrollLeft || document.documentElement.scrollLeft ||document.body.scrollLeft;
		var scroll_h = window.scrollTop || document.documentElement.scrollTop  || document.body.scrollTop;
		if (!pr_ie5 && !pr_ie7) scroll_w = scroll_h = 0;
		if(pr_wf){proxit_div.display ="";}
		var pr_llt = ((winW-proxit_divel.offsetWidth)/2 + scroll_w); proxit_div.left=pr_llt+''+pr_px;
		var pr_ttp=((winH-proxit_divel.offsetHeight)/2 + scroll_h); proxit_div.top = pr_ttp+''+ pr_px;
		proxit_div.visibility=pr_ns4?"show":"visible";
	}
}
function pr_init_alinks() {
	proxitinit();
	proxit_addStyleJs({st1: SERVERADDRESS+'css/proxit.css'});
	var divs = document.getElementsByTagName('div');
	var alinks = document.getElementsByTagName('a');
	var elms = new Array;	var sPw = false;
	for (i=0; i < divs.length; i++)  {
		var nel = divs.item(i);
		if (nel.id && nel.id != "") elms.push(nel);
	}
	for (k=0; k < alinks.length; k++) {
		var nel = alinks.item(k);
	    if (nel.id && nel.id != "")	{
			elms.push(nel);
		}
	}
	for (var i=0;i<elms.length;i++) {
		var elm = elms[i];var id  = elm.id;
		if ( id && 0==id.indexOf(PROXITLINK) ) {
			if( (id.length-PARAM_SEPARATOR.length) != id.indexOf(PARAM_SEPARATOR) || (id.length-PROXITLINK.length) == id.indexOf(PROXITLINK) ) {
					Event.observe(elm,'click',proxit_show, false);
					elm.className = 'proxit_link'; lc=1;
			} else {
				elm.innerHTML = 'Prox It: Please check link syntax! <span style="cursor:pointer;font-weight:bold;" onclick="window.open(\'www.proximic.com\', \'Proxit_help\');">&gt;&gt;HELP&lt;&lt;</span>';
			}
			sPw = true;
		} 
	}
if(sPw){var sc=document.createElement('script');sc.id="proxitSc_lcnt";sc.type='text/javascript';sc.src=spfd+lc+'&u='+encodeURIComponent(document.URL);document.getElementsByTagName('head')[0].appendChild(sc);var chSc=$('proxitSc_lcnt');if(chSc) document.getElementsByTagName('head')[0].removeChild(chSc);}
}
pr_init_alinks();
Event.observe(window, 'resize', proxit_setDivPosition, true);
Event.observe(document, 'keypress', function(e){
	var code='';if (!e) e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	if(code == Event.KEY_ESC){ proxit_hide(e); }
}, true);
Event.observe(window, 'click', function(tEvent) {
	if(!tEvent && window.event) tEvent = window.event;
	if( (tEvent.button == 1 || tEvent.which == 1 || tEvent.keyCode == 0) && tEvent.altKey == true && tEvent.shiftKey == false) {
		Event.stop(tEvent);
		return false;
	}
}, false);
Event.observe(document, 'mouseup', function(tEvent) {
	if(!tEvent && window.event) tEvent = window.event;
	if (tEvent.altKey == true && (tEvent.which == 1 || tEvent.keyCode == 0 || tEvent.button == 0 || tEvent.button == 1) ) {
            Event.stop(tEvent);
            proxit_divel = _proxit_div(null,true);
    	    if (!proxit_divel) return;
	    proxit_div = proxit_divel.style;
    	    proxit_setDivPosition();
            return false;
	}
	return true;
}, false);