/**
 * P A R T N E R
 */
(function($) {
	// static constructs
	$.youplanet = $.youplanet || {};
	
	$.youplanet.frontend = {
		indicatorShow: function(selector) {
			$(selector).show();
		},
		indicatorHide: function(selector) {
			$(selector).hide();
		},
		elementShow: function(selector, time) {
			if(time) {
				$(selector).delay(time).show();
			}
			else {
				$(selector).show();
			}
		},
		elementHide: function(selector, time) {
			if(time) {
				$(selector).delay(time).hide();
			}
			else {
				$(selector).hide();
			}
		}
	};
}) 
(jQuery); 


/* functions */
function pleaseLogin(short_mode)
{
 
    var short = short_mode ? short_mode : false;

    if (short) {
      var pid = '#promptLoginShort';
    }
    else
    {
      var pid = '#promptLogin';
    }    
    
    var aconf = {
    	closeOnClick: false,
        closeOnEsc: true,
        close: '#promptClose',
        oneInstance: true,
        top: '20%',
        target: '.overlay',
        load: true
    };
		
    jQuery('#promptTmp').overlay(aconf).load();
}

function forceOpenPageInOverlay(ifhref)
{
  jQuery.youplanet.overlay.click(jQuery.youplanet.overlay.oconf, {url: ifhref, data: null});
}
 
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()) + ';path=/';
}

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 createJSCSSFile(fileName, fileType){
	if (fileType == "js"){ //if filename is a external JavaScript file
		var fileRef = document.createElement('script')
		fileRef.setAttribute("type", "text/javascript")
		fileRef.setAttribute("src", fileName)
	}
	else if (fileType == "css"){ //if filename is an external CSS file
		var fileRef = document.createElement("link")
		fileRef.setAttribute("rel", "stylesheet")
		fileRef.setAttribute("type", "text/css")
		fileRef.setAttribute("href", fileName)
	}
	return fileRef;
}

function addOrReplaceJSCSSFile(oldFileName, newFileName, fileType){
	 var targetElement = (fileType == "js")?"script":(fileType == "css")?"link":"none"; //determine element type to create nodelist using
	 var targetAttr = (fileType == "js")?"src":(fileType == "css")?"href":"none"; //determine corresponding attribute to test for
	 $(targetElement + "[" + targetAttr + "*=" + oldFileName + "]").remove();
	 document.getElementsByTagName("head")[0].appendChild(createJSCSSFile(newFileName, fileType))
}

function gup(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
} 
/* functions end */ 
 
var system = {
    start: function() {
      this.iAmStillAlive();
      this.attachLoginEnter();
    },
    iAmStillAlive: function(){
      setInterval("jQuery.ajax({ url: ALIVE_URL })", ALIVE_INT);
    },
    getHeaderJSON : function(xhr) 
    {
  	  var json;
  	  try { json = xhr.getResponseHeader('X-Json') }
  	  catch(e) {}

  	  if (json) {
  	    var data = eval('(' + json + ')'); // or JSON.parse or whatever you like
  	    return data
  	  }
  	},
  	noticeFromJSON: function(json) {
  		var notice = null;
  		
  		if(json && json.length) {
  			$.each(json, function(i, el) {
  				if('notice' == el[0]) {
  					notice = el[1];
  				}
  			});
  		}
  		
  		return notice;
  	},
    attachLoginEnter: function () {
      jQuery('#prompt_login_form input').keypress(function(e){
      if(e.which == 13){
       jQuery('form#prompt_login_form .submit').click();
       }
      });
    }
}

jQuery(document).ready(function(){ system.start(); }); 

