
var homeBase = "";
var homeSSL = "";
var cookiesDomain;
var currentLocation = null;
var siteSection = '';
var siteOrigin = '';
var proxyID = "swfProxy";
var fbApp;
var isPopup = false;

function setConnectedDivToFailure(msg){
	callParentFunction("false", msg);
}
//FACEBOOK CALLBACK
function _getServerUrl(url)
{
	var url2 = url;
	var lastSlash = url.indexOf("/",url.indexOf("//")+2)+1;
	if(lastSlash > 0) url2 = url2.substring(0,lastSlash);
	if(url2.lastIndexOf("/") < (url2.length-1)) url2 += "/";
	return url2;
}
function getSenderUrl() {
	var parentLoc = getParentLocation();
	var parentServ = _getServerUrl(parentLoc);
	//var sUrl = (parentLoc.indexOf("https:") == 0)?homeSSL:homeBase;
	var sUrl = parentServ;
	sUrl += "proxyTunnel.html";
	return sUrl;
}

var tryCallParentFunction = 500;
function getIdFromFrame(obj)
{
	return obj.substring(0, obj.length-6);
}
function proxy_receiver(call)
{
	eval(call);
}
function proxy_error_receiver(call)
{
	setTimeout(function() { callParentFunction(call); }, tryCallParentFunction);
}
function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}
function callParentFunction(state, msg, fbKey)
{
	callParentFunction_tunnel(state, msg, fbKey);
}
function callParentFunction_tunnel(call)
{
	var loc = window.location.href+"";
	
	var parentLoc = getParentLocation();
	if((loc.indexOf("https:") == 0 && parentLoc.indexOf("https:") == 0) || (loc.indexOf("http:") == 0 && parentLoc.indexOf("http:") == 0))
	{
		try
		{
			if(window.parent != null && window.parent.proxy_receiver != null)
			{
				window.parent.proxy_receiver(call);
				return;
			}
		}
		catch(ev)
		{
		}
	}
	try
	{
		
/*		pm({
			target: window.parent,
			url: getParentLocation(),
			type:"parentReceiverMSG",
			data:{call:call}
		});*/
		if($('#tunnel_frame').length == 0) $("<div id='tunnel_frame'></div>").appendTo("body");
		var sUrl = getSenderUrl();
		sUrl += "?task="+encodeURIComponent(call);
		var sFrameID = "tunnel_frame_"+Math.floor(Math.random()*999999);
		$('#tunnel_frame').append('<iframe id="'+sFrameID+'" width="0" height="0" src="'+sUrl+'" style="visibility:hidden;display:none;" ></iframe>'); 
		return;
	}
	catch(ev)
	{
	}
	
	setTimeout(function() { callParentFunction(call); }, tryCallParentFunction);
}

/** SIZE UPDATE **/
function autoUpdateSize()
{
}
function doAutoUpdateSize()
{
	//document.stopObserving("dom:loaded", autoUpdateSize);
	var obj = document.body;
	var align = (obj.style.backgroundPosition != null && obj.style.backgroundPosition != "")?(",'"+obj.style.backgroundPosition+"'"):"";
	var height = ($("div#main_popup").length > 0 ? $("div#main_popup").height() : $(document).height());
	//callParentFunction("resizePopup('"+self.name+"',"+$(document).width()+","+$("body").height()+align+")");
	callParentFunction("resizePopup('"+self.name+"',"+$(document).width()+","+height+")");
}
function callClosePopup()
{
	autoClosePopup(self.name);
	return false;
}


function updatePopup(style,position,autoreload,url,tooltip)
{
	isPopup = true;
	var call = "changePopup_style('"+self.name+"'";
	call += (style != null)?(",'"+style+"'"):",null";
	call += (position != null)?(",'"+position+"'"):",null";
	call += (autoreload != null)?(",'"+autoreload+"'"):",null";
	call += (url != null)?(",'"+url+"'"):",null";
	call += (tooltip != null)?(",'"+tooltip+"'"):",null";
	call += ")";
	callParentFunction(call);
	doAutoUpdateSize();
	//setForm();
}

function onResizeIframe(size){
	var call = "onResizeParentIframe("+size+"";
	call += ")";
	callParentFunction(call);
}

function autoClosePopup(obj)
{
	var id = getIdFromFrame(obj);
	callParentFunction("doClosePopup('"+id+"')");
	return false;
}
function autoRedirect(url)
{
	callParentFunction("changeLocation('"+url+"')");
	return false;
}
function timerCloseFunction(timer, fnc)
{
	setTimeout(function() { fnc(); autoClosePopup(self.name); }, timer);
}
function timerRedirectFunction(timer,url)
{
	setTimeout(function() { autoRedirect(url); }, timer);
}


function detectBrowser(type)
{
	var user = navigator.userAgent+"";
	return (user.toLowerCase().indexOf(type) >= 0);
}
function changeLocation(url)
{
	if(url.indexOf("#") > 0) url = url.substring(0,url.indexOf("#"));
	var ref = window.location.href+"";
	if(ref.indexOf("#") > 0) ref = ref.substring(0,ref.indexOf("#"));

	eraseCookie("pageRefer");
	createCookie("pageRefer",window.location.href,1);

	if(detectBrowser("safari") && url == ref && window.location.reload != null)
		window.location.reload();
	else if(window.location.assign != null)
		window.location.assign(url);
	else
		window.location.href = url;
}
function printObj(obj)
{
	if(obj == null) obj = window;
	obj.focus();
	obj.print();
}
function printIFrame(name)
{
	window.frames[name].focus();
	window.frames[name].print();
}


function autoOpenPopup(popup,id)
{
	if(id != null && id != 'null' && id != '') doClosePopup(id);
	eval(popup+"()");
}
function onOpenPopup(popup,bClose)
{
	var callFnc = "";
	if(bClose) callFnc = "autoOpenPopup('"+popup+"','"+getIdFromFrame(self.name)+"');";
	else callFnc = popup+"()";
	
	callParentFunction(callFnc);
	return false;
}
function checkRemember()
{
	var user = readCookie("rememberUser");
	if(user != null)
	{
		$(".login #email").val(user);
		$(".login #remember").attr("checked",true);
	}
}

function selectRadio(id) {
	var obj = document.getElementById(id);
	obj.checked = "true";
}
function setHiddenField(id,value)
{
	$("#"+id).each(function() { $(this).val(value) });
}

/* CURRENT LOCATION **/
function getCurrentLocation()
{
	if(currentLocation != null)
	{
		createCookie("currentLocation",currentLocation,1);
	}
	else
	{
		currentLocation = getFromParam("locate");
		if(currentLocation != null)
		{
			eraseCookie("currentLocation");
			createCookie("currentLocation",currentLocation,1);
		}
		else
		{
			currentLocation = readCookie("currentLocation");
		}
	}

	return currentLocation;
}
function saveCurrentLocation(url)
{
	eraseCookie("currentLocation");
	currentLocation = $.URLEncode(url);
	createCookie("currentLocation",currentLocation,1);
}
function initCurrentLocation(str)
{
	eraseCookie("siteOrigin");
	if(str == null) str = window.location.href+"";
	saveCurrentLocation(str);
}
function changeCurrentLocationTo(from,to)
{
	var str = window.location.href+"";
	str = str.replace(from,to);
	saveCurrentLocation(str);
}
function changeToSecureLocation()
{
	changeCurrentLocationTo(homeBase,homeSSL);
}
function getParentLocation()
{
	var url = homeBase;
	if(getCurrentLocation() != null)
		url = $.URLDecode(getCurrentLocation());

	url = useOrigin(url);
	return url;
}
function getHomeBase(ss)
{
	if(ss == null) ss = "";
	if(ss != "") ss += "/";
	return useOrigin(homeBase+ss);
}

function getOrigin(origin)
{
	if(origin == "" || origin == "null")
	{
		origin = null;
	}
	if(origin != null)
	{
		createCookie("siteOrigin",origin,1);
	}
	else
	{
		siteOrigin = getFromParam("siteOrigin");
		if(siteOrigin != null)
		{
			eraseCookie("siteOrigin");
			createCookie("siteOrigin",siteOrigin,1);
		}
		else
		{
			siteOrigin = readCookie("siteOrigin");
		}
	}

	return siteOrigin;
}
function useOrigin(url)
{
	if(url != null)
	{
		var origin = getOrigin();
		if(origin != null)
		{
			if(url.indexOf("?") > 0)
				url = url.substring(0,url.indexOf("?"));
			url += "?deeplink="+origin;
		}
	}
	return url;
}



function _getParams(str)
{
	if(str == null) return null;
	var paramsAlpha = str.split(',');
	var params = new Object();
	var i = 0;
	
	for(i=0; i < paramsAlpha.length; i++)
	{
		var tempParam = paramsAlpha[i].split('=');
		params[tempParam[0]] = tempParam[1];
	}
	params['length'] = i;
	return params;
}
function getParamNamesFromUrl(str)
{
	var paramsAlpha = str.substr(str.indexOf("?")+1).split('&');
	var params = new Array();
	var newQuery = "";	
	
	for(i=0; i < paramsAlpha.length; i++)
	{
		tempParam = paramsAlpha[i].split('=');
		params.push(tempParam[0]);
	}
	return params;
}
function getParamsFromUrl(str)
{
	var paramsAlpha = str.substr(str.indexOf("?")+1).split('&');
	var params = new Array();
	var newQuery = "";	
	
	for(i=0; i < paramsAlpha.length; i++)
	{
		tempParam = paramsAlpha[i].split('=');
		params[tempParam[0]] = tempParam[1];
	}
	return params;
}
function getFromParam(param)
{
	var str = window.location.search;
	var paramsAlpha = str.substr(1).split('&');
	var params = new Array();
	var newQuery = "";	
	
	for(i=0; i < paramsAlpha.length; i++)
	{
		tempParam = paramsAlpha[i].split('=');
		params[tempParam[0]] = tempParam[1];
	}
	return params[param];
}
function getCurrentLocationParam()
{
	if(currentLocation == null) getCurrentLocation();
	return "locate="+currentLocation;
}

/** COOKIES **/
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 = "";

	var domain = (cookiesDomain && cookiesDomain != '') ? "; domain=" + cookiesDomain : "";
	document.cookie = name+"="+escape(value)+expires+domain+"; path=/";
}

function readCookie(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 null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/** Initialize Current Site Location **/
function setPopup()
{
	isPopup = true;
}
$(document).ready(function(){
	if(!isPopup) initCurrentLocation();
	getCurrentLocation();
	
	/** Start double channel **/
	if(isPopup)
	{
		pm.bind("childReceiverMSG", function(data) {
		  
		});
	}
	else
	{
		pm.bind("parentReceiverMSG", function(data) {
			proxy_receiver(data.call);
		});
	}
});


$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

function setMenuSection(section)
{
	$(document).ready(function(){
		$("#header .menu>a").removeClass("selected");
		$("#header .menu>a[href="+section+"]").addClass("selected");
		
		$("#footer .menu div>a").removeClass("selected");
		$("#footer .menu div>a[href="+section+"]").addClass("selected");
	});
}
