var divPopupSingleID = "NOS_win";

function getDivPopupID(id)
{
	return "divPopup_"+id;
}
function buildIframeInner(id,style,url)
{
	var name = getDivPopupID(id)+"_frame";
	url += ((url.indexOf("?") > 0)?"&":"?")+getCurrentLocationParam();
	var params = getParamsFromUrl(url);
	if(params["ss"] == null && mycokeSection != "" && mycokeSection != null)
	{
		url += ((url.indexOf("?") > 0)?"&":"?")+"ss="+mycokeSection;
	}
	return '<div class="genericInner_popup"><iframe src="'+url+'" name="'+name+'" id="'+name+'" scrolling="no" class="genericHide_frame" allowtransparency="allowtransparency" marginheight="0" marginwidth="0" frameborder="0"></iframe></div>';
}

function createDivPopup_iframe(id,style)
{
	var tagDiv = document.getElementById(getDivPopupID(id));
	if(tagDiv)
	{
		tagDiv.parentNode.removeChild(tagDiv);
		tagDiv = null;
	}
	
	var flDiv = document.getElementById("divPopup_General");
	if(!flDiv)
	{
		flDiv=document.getElementsByTagName("body")[0].appendChild(document.createElement("div"));
		flDiv.setAttribute("id","divPopup_General");
	}
	if(!tagDiv) tagDiv = flDiv.appendChild(document.createElement("div"));
	tagDiv.setAttribute("id",getDivPopupID(id));
	tagDiv = null;
	flDiv = null;
	return getDivPopupID(id);
}
function openDivPopup_externalFixed(id,style,url,position,stackable,modal)
{
	openDivPopup_external(id,style,url,position,stackable,modal);
}
function openDivPopup_external(id,style,url,position,stackable,modal,isFixed)
{
	if(style == null) style = "generic";
	$(window).scrollTop(0);
	var isFF = navigator.userAgent.toLowerCase().indexOf("firefox")!=-1;
	modal = (modal != false && modal != "false");
	stackable = (stackable != false && stackable != "false");
	//position = (!ie6 && position != null && position != "null")?position:'top';
	position = 'top';
	doClosePopup(getDivPopupID(id));

	var currentFlow = document.getElementsByTagName("body")[0].className;
	if(modal && !isFF) document.getElementsByTagName("body")[0].className = (isFF)?"body_noscroll_ff":"body_noscroll";

	var divName = createDivPopup_iframe(id,style);
//	$(function() {
		$("#"+divName).dialog({
			bgiframe: true,
			modal: modal,
			stack:stackable,
			closeOnEscape:false,
			autoResize:true,
			toolTip:true,
			dialogClass:"generic_popup",
			position:position
		});
//	});
	var tagDiv = document.getElementById(divName);
	if(url != null) tagDiv.innerHTML = buildIframeInner(id,style,url);
	
	if(modal && !isFF) $("#"+divName).bind('dialogclose', function(event, ui) { document.getElementsByTagName("body")[0].className = currentFlow; });
	//$("#"+divName).bind('dialogclose', function(event, ui) { $("#"+this.id).remove(); $("#"+this.id).dialog('destroy'); });
	tagDiv = null;
	return divName;
}
function changePopup_style(obj,style,position,autoreload,url,tooltip)			/*invoke using "self" from the iframe*/
{
	var id = getIdFromFrame(obj);
	
	$(window).scrollTop(0);
	var fDiv = jQuery.find("#"+id);
	if(fDiv == null || fDiv == "") return;
	style = "generic";
	if(style != null)
	{
		var currentIframe = document.getElementById(obj);
		if(currentIframe != null)
		{
			currentIframe.className = style+"_frame";
			$("#"+id).dialog("option","dialogClass",style+"_popup");
		}
	}
	if(autoreload == true || autoreload == "true")
	{
		/** REFRESH MAIN PAGE **/
		if(url == null || url == 'null') url = homeBase;	/*NOT LOGGED*/
		$("#"+id).bind('dialogbeforeclose', function(event, ui) { changeLocation(url); showBlocker(); return true; });
	}
	if(tooltip == true || tooltip == "true")
	{
		$("#"+id).dialog("option","closeText","noClose");
	}
	if(position != "fixed")
	{
		if(position != null) $("#"+id).dialog("option","position",position);
		else $("#"+id).dialog("option","position",$("#"+id).dialog("option","position"));
	}
	fDiv = null;
}	
function reloadPopup_external(obj,url,style,position)	/*invoke using "self" from the iframe*/
{
	if(url != null)
	{
		var currentIframe = document.getElementById(obj);
		if(currentIframe != null) currentIframe.src = url;
		currentIframe = null;
	}
	if(style != null) changePopup_style(obj,style,position);
}
function redirect(url)
{
	var obj = self;
	callParentFunction("reloadPopup_external('"+obj.name+"','"+style+"','"+position+"','"+autoreload+"')");
}
function showBlocker()
{
	var divName = createDivPopup_iframe("genericBlocker","blocker_box");
	$(function() {
		$("#"+divName).dialog({
			bgiframe:true,
			modal:true,
			stack:false,
			toolTip:true,
			dialogClass:"blocker_box"
		});
	});
	document.getElementsByTagName("body")[0].style.overflow = "hidden";
}
function showMessage(message,style,position,modal,toolTip,id)
{
	modal = (modal != false && modal != "false");
	toolTip = (toolTip == true || toolTip == "true");
	if(style == null) style = "message_popup";
	if(id == null) id = "message_box";
	var divName = createDivPopup_iframe(id,"error_frame");
	document.getElementById(divName).innerHTML = message;
	$(function() {
		$("#"+divName).dialog({
			bgiframe:true,
			modal:modal,
			stack:false,
			toolTip:toolTip,
			dialogClass:style,
			position:position
		});
	});
	return document.getElementById(divName);
}
function closeMessage(id)
{
	if(id == null) id = "message_box";
	closePopup(id);
}
function doClosePopup(id)
{
	var fDiv = jQuery.find("#"+id);
	if(fDiv != null && fDiv != "")
		if($("#"+id).dialog( 'isOpen' ))
		{
			$("#"+id).dialog('close');
		}
	fDiv = null;
}
function doHidePopup(id)
{
	var fDiv = jQuery.find("#"+id);
	if(fDiv != null && fDiv != "")
		if($("#"+id).dialog( 'isOpen' ))
			$("#"+id).dialog('disable');
			
	fDiv = null;
}
function closePopup(id)
{
	doClosePopup(getDivPopupID(id));
}
function getDialog(id)
{
	return $("#"+getDivPopupID(id));
}

/** FUNCTIONAL **/
function onWhatIsCapcha(objForm)
{
	openToolTip(objForm, "<div class='captcha_message'>Security<br/>Capcha Code</div>","captcha_popup","vcenter","middle",1500);
	return false;
}
function addCSSRule(selector, attributes){
	var ss = document.styleSheets[document.styleSheets.length-1];
	if(ss.insertRule) ss.insertRule(selector + '{' + attributes + '}', ss.cssRules.length);
	else if(ss.addRule) ss.addRule(selector, attributes);
}
function setPopupSize(cssName,height,width)
{
	addCSSRule(cssName,"height:"+height+"px;width:"+width+"px");
}
function onSetPopupSize(obj,cssName)
{
	callParentFunction("setPopupSize('"+cssName+"','"+obj.offsetHeight+"','"+obj.offsetWidth+"')");
}
