/******************************************************
* CG_hoverAD
* Description: Javascript hover AD. 
* Author: Jiwon Han
* Email: iamjiwon@hotmail.com
* Last Modified : 1/1/2011
* Copyright (C) 2011 cybergolf.com
******************************************************/

function CG_hoverAD()
{
	this.type = "";
	this.src = "";
	this.width = "";
	this.height = "";
	this.link = "";
	this.target = "";
	this.borderSize = 1;
	this.borderColor = "000000"
	this.doNotDisplayAgain = false;
	this.id = null;
	this.scrollbar = false;
}
CG_hoverAD.prototype.create = function()
{
	var html = "";
	var margin_left = (this.width / 2);
	var height = parseInt(this.height) + (this.borderSize*2);
	var width = parseInt(this.width) + (this.borderSize*2);
	var tapHeight = 26;
	height += tapHeight;

	html += '<div id="CG_hoverAD" style="z-index:100000; position:absolute; left:50%; margin-left:-'+margin_left+'px; top:-'+height+'px; width:'+width+'px; height:'+height+'px; border:'+this.borderSize+'px solid #'+this.borderColor+'; background-color:#'+this.borderColor+'" align=center>';
	html += '<div style="width:'+this.width+'px; height:'+tapHeight+'px; background-color:#'+this.borderColor+';" align=right>';

	html += '<div style="float:right; cursor:pointer; color:#fff; font-size:12px; font-weight:bold; padding:3px; margin:1px; border:1px solid #fff; width:80px; height:20px; text-align:center;" onClick="hoverAD_hide('+this.id+');">Close</div>';
	if (this.doNotDisplayAgain)
		html += '<div style="color:#fff;"><input type=checkbox name=doNotDisplayAgain id=doNotDisplayAgain value=yes> Do not show this popup again.</div>';
	html += '</div>';
	if (this.type == "iframe"){
		html += '<iframe src='+this.src+' width='+this.width+' height='+this.height+' frameborder=0 marginwidth=0 marginheight=0';
   		if (this.scrollbar)
			html += ' scrolling=yes';
		else
			html += ' scrolling=no';
		html += '></iframe>';
	}
	else if (this.link == "")
		html += '<img src="'+this.src+'" border=0>';
	else
		html += '<a href="'+this.link+'" target="'+this.target+'" onClick="hoverAD_hide();"><img src="'+this.src+'" border=0></a>';
	html += '</div>';
	html += "<span id=CG_mask style='z-index:100; position:absolute; top:0px; left:0px; visibility:hidden; background-color:#666666;'></span>\n";
	document.write (html);
}

CG_hoverAD.prototype.start = function(){
	this.create();
	window.onload = hoverAD_start;
}

function hoverAD_start(){
	showMask();
	hoverAD_slide();
}

function hoverAD_slide()
{
	var hoverAD = document.getElementById("CG_hoverAD");
	var step = 10;
	var w = parseInt(hoverAD.style.width);
	var h = parseInt(hoverAD.style.height);
	var t = parseInt(hoverAD.style.top);
	var browserSize = getBrowserSize();
	var end = (browserSize.height - h) / 2;

	//to avoid not showing "close" button for small browser screen.
	if (end < 0)
		end = 0;

	if (t <= end){
		//Move down
		hoverAD.style.top = t + 12;
		setTimeout("hoverAD_slide()",10);
	}	
}
function hoverAD_hide(id){
	if (document.getElementById("doNotDisplayAgain")){
		if (document.getElementById("doNotDisplayAgain").checked)
			createCookie("id",id);
	}
	document.getElementById("CG_hoverAD").style.display = 'none';
	document.getElementById("CG_mask").style.display = 'none';
}

window.onresize = function(){

	var mask = document.getElementById("CG_mask");
	if (mask.style.visibility == 'visible'){
		mask.style.width = getFullPageSize().width + "px";
		mask.style.height = getFullPageSize().height + "px";
	}

}

function showMask(){
	var mask = document.getElementById("CG_mask");
	var browserSize = getFullPageSize();
	mask.style.width = browserSize.width + "px";
	//mask.style.height = browserSize.height + "px";
	mask.style.height = (getBrowserSize().height > browserSize.height) ? getBrowserSize().height : browserSize.height;
	mask.style.opacity = 0.7;
	mask.style.filter = "Alpha(opacity=70)"; 
	mask.style.visibility = 'visible';
}


function getBrowserSize() {
	var intH = 0;
	var intW = 0;
               
	if (typeof window.innerWidth  == 'number' ) {
		intH = window.innerHeight;
		intW = window.innerWidth;
	} 
	else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
		intH = document.documentElement.clientHeight;
		intW = document.documentElement.clientWidth;
	}
	else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
		intH = document.body.clientHeight;
		intW = document.body.clientWidth;
	}
	return { width: parseInt(intW), height: parseInt(intH) };
	
}

function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		scrOfX = window.pageXOffset;
		scrOfY = window.pageYOffset; 	
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		scrOfX = document.body.scrollLeft;
		scrOfY = document.body.scrollTop; 
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		scrOfX = document.documentElement.scrollLeft;
		scrOfY = document.documentElement.scrollTop; 
	}
	return { left: parseInt(scrOfX), top: parseInt(scrOfY) };
}


function getFullPageSize() {
	var scrOfW = 0, scrOfH = 0;
	if( typeof( window.scrollWidth ) == 'number' ) {
		scrOfW = window.scrollWidth;
		scrOfH = window.scrollHeight; 	
	} else if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
		scrOfW = document.body.scrollWidth;
		scrOfH = document.body.scrollHeight; 
	} else if( document.documentElement && ( document.documentElement.scrollWidth || document.documentElement.scrollHeight ) ) {
		scrOfW = document.documentElement.scrollWidth;
		scrOfH = document.documentElement.scrollHeight; 
	}
	return { width: parseInt(scrOfW), height: parseInt(scrOfH) };
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


