// JavaScript Document

function initIssyFrame(){
	var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		var relAttribute = String(anchor.getAttribute('rel'));
		if (anchor.getAttribute('href') && relAttribute.substr(0,9) == 'IssyFrame') {
			if(relAttribute.length>9 && relAttribute.substr(9,1)=="["
			   && relAttribute.indexOf(",") && relAttribute.indexOf("]")==relAttribute.length-1){
				var size = relAttribute.substr(10,relAttribute.length-11).split(",");
				addIssyFrame(anchor,size[0],size[1]);
			}
		}
	}
}

function E(element_reference,last){
	if(typeof(element_reference)=='object')
		if(element_reference.length>0)
			 return element_reference[last?element_reference.length-1:0];
		else return element_reference;
	else if(document.getElementById(element_reference)!=null)
		return document.getElementById(element_reference);
	else if(document.getElementsByName(element_reference).length>0)
		return document.getElementsByName(element_reference)[last?document.getElementsByName(element_reference).length-1:0];
	else if(document.getElementsByTagName(element_reference).length>0)
		return document.getElementsByTagName(element_reference)[last?document.getElementsByTagName(element_reference).length-1:0];
	else return null;
}

function addIssyFrame(target,width,height){
	target.onclick = function(){
		openIssyFrame(target.href,width,height,target.getAttribute('title'));
		return false;
	};
}

function IEFixedElementTop(posTop){
	switch(typeof(posTop)){
		case "string":
			if(posTop.substr(posTop.length-1)=="%"){
				posTop = parseInt(document.body.clientHeight)*parseInt(posTop.substr(0,posTop.length-1))/100;
			}
		case "number":
			return ((document.body.scrollTop+posTop) + "px");
		break;
		default: return 0;
	}
}

function IEFixedElementLeft(posLeft){
	switch(typeof(posLeft)){
		case "string":
			if(posLeft.substr(posLeft.length-1)=="%"){
				posLeft = parseInt(document.body.clientWidth)*parseInt(posLeft.substr(0,posLeft.length-1))/100;
			}
		case "number":
			return ((document.body.scrollLeft+posLeft) + "px");
		break;
		default: return 0;
	}
}

function closeIssyFrame(){
	var overlay = E('IssyFrameOverlay');
	var issywin = E('IssyFrameContent');
	if(overlay!=null) E('body').removeChild(overlay);
	if(issywin!=null) E('body').removeChild(issywin);
}

function openIssyFrame(href,width,height,title){
	var overlay = E('IssyFrameOverlay');
	var issywin = E('IssyFrameContent');
	if(overlay!=null) E('body').removeChild(overlay);
	if(issywin!=null) E('body').removeChild(issywin);

	overlay = document.createElement("div");
	overlay.id = "IssyFrameOverlay";

	overlay.style.width = "100%";
	overlay.style.height = "100%";
	
	overlay.style.margin = 0;
	overlay.style.padding = 0;
	
	overlay.style.zIndex = 999;
	
	var alpha = 75;
	overlay.style.opacity = (alpha/100);
	overlay.style.filter = 'alpha(opacity='+alpha+')';

	issywin = document.createElement("div");
	issywin.id = "IssyFrameContent";
	
	issywin.style.width = width+"px";
	issywin.style.height = (IssyFrameConfig.headerHeight+parseInt(height))+"px";
	issywin.style.zIndex = 1000;
	issywin.style.marginLeft = "-"+(width/2)+"px";
	issywin.style.marginTop = "-"+((IssyFrameConfig.headerHeight+parseInt(height))/2)+"px";
	
	var header = document.createElement("div");
	header.style.display = "block";
	header.style.height = IssyFrameConfig.headerHeight+'px';
	header.style.width = "100%";
	header.id = "IssyFrameHeader";

	var btclose = document.createElement("div");
	btclose.id = "IssyFrameCloser";
	btclose.style.display = "block";
	//btclose.style.width = "80px";
	//btclose.style.width = IssyFrameConfig.closingWidth;
	//btclose.style.textAlign = "right";
	closebt = document.createElement("a");
	closebt.href = "javascript:void(0)";
	closebt.onclick = closeIssyFrame;
	closebt.appendChild(document.createTextNode(IssyFrameConfig.closingText));
	btclose.appendChild(closebt);
	
	var caption = document.createElement("div");
	caption.id = "IssyFrameCaption";
	caption.style.display = "block";
	//caption.style.width = (width-10-btclose.style.width.substr(0,btclose.style.width.length-2))+'px';
	//caption.style.width = IssyFrameConfig.captionWidth;
	//caption.style.textAlign = "left";
	caption.data = '&nbsp;';
	if(title!=null && title!="") caption.appendChild(document.createTextNode(title));
	
	header.appendChild(caption);
	header.appendChild(btclose);
	
	var iframe = document.createElement("iframe");
	iframe.id = "IssyIFrameContent";
	iframe.name = "IssyIFrameContent";
	iframe.src = href;
	iframe.width = width;
	iframe.height = height;
	iframe.frameBorder = "0";	
	iframe.scrolling = IssyFrameConfig.allowScroll;
	iframe.setAttribute("allowtransparency","1");
	
	issywin.appendChild(header);
	issywin.appendChild(iframe);
	
	E('body').insertBefore(overlay,E('body').firstChild);
	E('body').insertBefore(issywin,E('body').firstChild);
}

function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name){
	if (document.cookie.length>0){
	  c_start=document.cookie.indexOf(c_name + "=");
	  if (c_start!=-1){
		c_start=c_start + c_name.length+1;
		c_end=document.cookie.indexOf(";",c_start);
		if (c_end==-1) c_end=document.cookie.length;
		return unescape(document.cookie.substring(c_start,c_end));
	  }
	}
	return "";
}

function checkCookie(c_name,callbackFunctionIfExists,callbackFunctionIfNotDefined,canBeEmpty){
	var value = getCookie(c_name);
	if (value!=null && (canBeEmpty||value!="")){
		callbackFunctionIfExists(value);
	}else{
		callbackFunctionIfNotDefined();
	}
}

function addListener(target,eventID,callback,conservative){
	var eventName = "on"+eventID;
	if (target.addEventListener) { // FireFox, Safari, Opera ...
		//alert('case 1');
		target.addEventListener(eventID,callback,false);
	} else if (target.attachEvent) { // MSIE 7,6,5.5 ...
		//alert('case 2');
		target.attachEvent(eventName,callback);
	} else { // Others 
		//alert('case 3');
		if(conservative&&target[eventName]!=null){
			var PreviousEventFunction = target[eventName];
		}else{
			var PreviousEventFunction = null;
		}
		target[eventName] = function() {
			callback();
			if(PreviousEventFunction) PreviousEventFunction();
		};
	}
}

addListener(window, "load", initIssyFrame, true);
