function getWindowHeight() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;

    myHeight = 0;

//    myHeight = window.height;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;


//    myHeight = document.documentElement.height;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
    myHeight = document.body.offsetHeight;
  }
  return myHeight;
}

function getScrollTop() {
  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 scrOfY;
}

function ie_blackoutontop() {
	var bo = document.getElementById('blackout');
	if (bo) {
		bo.style.top = getScrollTop();
	}
}

InitPopin = function() {
	var popinf = document.getElementById('popinframe');
	if (!popinf) { // if no ppopin frame instanciated, add it into document.body html
		document.body.innerHTML += '<div id="blackout"></div><div id="outerpopin"><iframe id="popinframe" src="" frameborder="0"></iframe></div>';
	}

	/* We find all items with the linkpopin class */
//alert('init popin');
	var els = YAHOO.util.Dom.getElementsByClassName('linkpopin', 'a');
/*@cc_on
	YAHOO.util.Event.addListener(els, "click", cgClick);
@*/
	for( var i=0; i < els.length; i++ ) {
		var link = els[i]; //.getEl();
		// valid for FF, not IE6
		link.setAttribute('onclick', 'return cgClickT(this);');
	}
	
/*@cc_on
	// to handle scrolling with blackout div always on top
	if (els.length > 0) {
	var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
		if (!ie7) setInterval('ie_blackoutontop()',100);
	}
@*/

}

function cgClick() {
	return cgClickI(this.getAttribute('href'));
}

function cgClickT(el) {
	return cgClickI(el.getAttribute('href'));
}
function cgClickI(spopinurl)
{
	var spopin = document.getElementById( 'popinframe' ); 
	var sblackout = document.getElementById( 'blackout' ); 
	
	var isHttp = new RegExp("^http(|s)://","");
	
	if ( ! isHttp.test(spopinurl)) {
		spopinurl = window.location.protocol + "//" + window.location.host  + "/"  + spopinurl;
	}
	
	if (spopin) {
		try {
			spopin.src = spopinurl;
		} catch(e) {
			// if href is invalid => do not popin
			return true;
		}
		if (sblackout) {
			YAHOO.util.Dom.setStyle( sblackout , 'opacity', '0');
			YAHOO.util.Dom.setStyle( sblackout , 'display', 'block');
			var animOut = new YAHOO.util.Anim( sblackout, { opacity: { to: 0.5 } }, 1, YAHOO.util.Easing.easeOut);
			animOut.animate();
		}
		return false;
	}
	return true;
}


function showpopin() {
	var spopin = document.getElementById( 'popinframe' ); 
	var opopin = document.getElementById( 'outerpopin' ); 

	if (opopin) {
		YAHOO.util.Dom.setStyle( opopin , 'display', 'block');
	}
	if (spopin) {

		if (YAHOO.util.Dom.getStyle( spopin , 'display') != 'block') {
			YAHOO.util.Dom.setStyle( spopin , 'opacity', '0');
			YAHOO.util.Dom.setStyle( spopin , 'display', 'block');

			var animOut = new YAHOO.util.Anim( spopin, { opacity: { to: 1 } }, 1, YAHOO.util.Easing.easeOut);
//			animOut.onComplete.subscribe( do_popin_resize );
			animOut.animate();
			}
//		do_popin_resize();
		}
}

function do_popin_resize() {
	var spopin = document.getElementById( 'popinframe' ); 
	if (spopin) {
		if (spopin.popin_resize) {
			spopin.popin_resize();
		}
	}
}

function resizepopin(w, h) {
	var spopin = document.getElementById( 'popinframe' ); 
/*
// cogitae 20090706
w = w + 1;
h = h + 1;
alert('resize w: ' + w + ' - h: ' + h);
// fin	
*/
	if (spopin) {

		var animWidth = new YAHOO.util.Anim( spopin, { width: { to: w } }, 0.5, YAHOO.util.Easing.easeOut);
		animWidth.animate();

		var animHeight = new YAHOO.util.Anim( spopin, { height: { to: h } }, 0.5, YAHOO.util.Easing.easeOut);
		animHeight.animate();
	}

/*
	var sblackout = document.getElementById( 'blackout' ); 
	if (sblackout) {
//		YAHOO.util.Dom.setStyle( sblackout , 'height', YAHOO.util.Dom.getDocumentHeight () + 'px');
		sblackout.style.height=YAHOO.util.Dom.getDocumentHeight () + 'px';
//		'100%');
	}
*/
	
}

function closepopin()
{
	var spopin = document.getElementById( 'popinframe' ); 
	var opopin = document.getElementById( 'outerpopin' ); 

	if (opopin) {
		YAHOO.util.Dom.setStyle( opopin , 'display', 'none');
	}
	
	var sblackout = document.getElementById( 'blackout' ); 

	if (sblackout) {
		var animOut = new YAHOO.util.Anim( sblackout, { opacity: { to: 0 } }, 1, YAHOO.util.Easing.easeOut);
		animOut.onComplete.subscribe( popinHide );
		animOut.animate();
	}	
	
	if (spopin) {
		YAHOO.util.Dom.setStyle( spopin , 'opacity', '0');
		YAHOO.util.Dom.setStyle( spopin , 'display', 'none');
/*		
		var animOut = new YAHOO.util.Anim( spopin, { opacity: { to: 1 } }, 1, YAHOO.util.Easing.easeOut);
		animOut.onComplete.subscribe( popinHide );
		animOut.animate();
*/
	}
}

function popinHide() {
	var spopin = document.getElementById( 'popinframe' ); 
	if (spopin) {
		YAHOO.util.Dom.setStyle( spopin , 'display', 'none');
	}
	var sblackout = document.getElementById( 'blackout' ); 
	if (sblackout) {
		YAHOO.util.Dom.setStyle( sblackout , 'display', 'none');
	}
}



function enablePopinInDocument() {
	try {
		YAHOO.util.Event.onDOMReady(InitPopin);

/*		
//		document.body.innerHTML = '<div id="blackout"></div><div 
		document.write( '<div id="blackout"></div><div id="outerpopin"><iframe id="popinframe" src="" frameborder="0"></iframe></div>' );
//		+ document.body.innerHTML;
*/
		
	} catch(e) {
		window.setTimeout(200,'enablePopinInDocument()');
	}
}


function insertcontent() {
	var spopinc = document.getElementById( 'popincontent' ); 
	var spopini = document.getElementById( 'popinframe' ); 
	if (spopini.document)
		spopinc.innerHTML = spopini.document.body.innerHTML;
}




/*** POPIN PAGE **/

function popin_close(event) {
	if (parent) if (parent.closepopin) parent.closepopin();
	
	if (this.parent) if (this.parent.closepopin) this.parent.closepopin();
}

function popin_show() {
	if (this.parent) {
		if (this.parent.showpopin) {
			this.parent.showpopin();
		}
	}
	popin_resize();

	var els = YAHOO.util.Dom.getElementsByClassName('closepopin', 'span');
	YAHOO.util.Event.addListener(els, "click", popin_close);
	
}

function popin_resize() {
	if (this.parent) {
		if (this.parent.resizepopin) {
			var width = this.document.body.scrollWidth;
			//alert(width);

			var delta = this.document.body.style.marginLeft;
			if (delta != '') width += delta;
			delta = this.document.body.style.marginRight;
			if (delta != '') width += delta;
			width = 780;

			var height = this.document.body.scrollHeight;
			delta = this.document.body.style.marginTop;
			if (delta != '') height += delta;
			delta = this.document.body.style.marginBottom;
			if (delta != '') height += delta;
			height = 680;
			this.parent.resizepopin( width, height );
		}
	}

	/* */
	var els = YAHOO.util.Dom.getElementsByClassName('closepopin', 'a');
	for( var i=0; i < els.length; i++ ) {
		YAHOO.util.Event.addListener(els[i], "popin_close", cgClick);
	}
}



function pageIsPopin() {
	try {
		YAHOO.util.Event.onDOMReady(popin_show);
	} catch(e) {
		window.setTimeout(200,'pageIsPopin()');
	}
}

