// (C) 2005 - Equipe Rendez-Vous Russes
var User;
var DoDebug = 1;
var undefined;
var GenPicCount;

// =============================================================================
// Messages
function GetGreeting (loc, name, sex, ms)
{
	var message = "";
	
	if (loc == 'fr') {
		if (sex == 'm') message = "Monsieur " + name;
		else {
			if (ms = 'single') {
				message = "Mademoiselle " + name;
			}
			else {
				message = "Madame " + name;
			}
		}
	}
	else if (loc == 'en') {
		if (sex == 'm') {
			message = "Mr " + name;
		}
		else {
			if (ms = 'single') {
				message = "Miss " + name;
			}
			else {
				message = "Ms " + name;
			}
		}
	}
	else if (loc == 'ru') {
		if (sex == 'm') {
			message = "Monsieur " + name;
		}
		else {
			if (ms = 'single') {
				message = "Mademoiselle " + name;
			}
			else {
				message = "Madame " + name;
			}
		}
	}
	return message;
}

// =============================================================================
/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function getUtfCookie(name)
{
  var value = getCookie (name);
  // Due to php's setcookie limitation, utf cookies are escaped twice
  value = unescape (value);
  return value;
}

function setCookie (name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime( today.getTime() );
  if ( expires ) {
	expires = expires * 1000 * 60 * 60 * 24;
  }

  var expires_date = new Date( today.getTime() + (expires) );
  document.cookie = name+'='+escape( value ) +
  ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
  ( ( path ) ? ';path=' + path : '' ) +
  ( ( domain ) ? ';domain=' + domain : '' ) +
  ( ( secure ) ? ';secure' : '' );
}
 
function deleteCookie (name, path, domain) {
  if ( getCookie( name ) ) document.cookie = name + '=' +
  ( ( path ) ? ';path=' + path : '') +
  ( ( domain ) ? ';domain=' + domain : '' ) +
  ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

// ======================================================================
// Login management
//  NB: This is a demo version

function debug (x)
{
	if (DoDebug) {
		window.alert (x);
	}
}
	
function printLoginDiv (y, mode)
{
	var vis;
	//debug ('printLoginDiv ' + y + ',' + mode + ',user=' + User);
	var user = getCookie ('user');
	//debug ('cookie=' + document.cookie);
	var is_user_set = false;
	if (user != "" && user != undefined) is_user_set = true;
	if (!is_user_set && mode == 'Login' ||
		is_user_set && mode == 'User') {
		vis = "visible";
	}
	else {
		vis = "hidden";
	}
	document.write ('<div style="position:relative; visibility:' + vis + ';">');
}

function printEndDiv ()
{
	document.write ('<\/div>');
}

function printMrMme (loc)
{
	//window.alert (document.cookie);
	var user = getUtfCookie ('user');
	var rvr_sex = getCookie ('rvr_sex');
	var rvr_marital_status = getCookie ('rvr_marital_status');
	var txt = GetGreeting (loc, user, rvr_sex, rvr_marital_status)
	document.write (txt); 
}

function validateLogin (this_form)
{
	if (this_form.identifier.value == '' || this_form.password.value == '') {
		window.alert ('Please fill all the fields'); // TODO: localization
		return false;
	}
	else {
		return true;
	}
}

// ======================================================================
// Picture random generators
function getNumberedPhoto (kind, num)
{
	return "../photos/" + kind + '_' + num + ".jpg";
}
	
function getRandomPhoto (kind, maxi)
{
	var num = getRandomNumber (maxi);
	return getNumberedPhoto (kind, num);
}

function getRandomNumber (maxi)
{
	random_num = (Math.floor (Math.random () * maxi)) + 1;
	return random_num;
}

function getFormulaPhoto ()
{
	return getRandomPhoto ('photo_formula', 4);
}

function genImg (kind, maxi)
{
	var pic = getRandomPhoto (kind, maxi);
	document.write  ('<img src="' + pic + '" alt="' + pic + '">');
}

/*
function genImgRowStart (maxi)
{
	var used_array = new Array ();
	return used_array;
}

function genImgRow (kind, maxi, count, used_array)
{
	var i, j;

	if (used_array == null) {
		used_array = new Array ();
	}
	
	for (i=0; i<count; i++) {
		var used = 0;
		var n = getRandomNumber (maxi);
		while (used_array[n] == true) {
			n++;
			if (n>maxi) {
				n = 1;
			}
			used++;
			if (used==maxi) {
				for (j=1; j<=maxi; j++) {
					  used_array[j] = false;
				}
				used = 0;
			}
		}
		used_array[n] = true;
		var pic = getNumberedPhoto (kind, n);
		
		var pic = "../php/random_pic.php?num=" + count + "&max=" + maxi;
		//document.write  ('<img src="' + pic + '" alt="' + pic + '" style="border:1px solid #ffffff; ">');
		document.write  ("<p>" + pic + "</p>");
	}
}
*/

function genImgRow (kind, count, w, h)
{
	var cookie_pic_count = getCookie('rndpic');
	if (cookie_pic_count == null || cookie_pic_count == "" || cookie_pic_count == "NaN") { GenPicCount = 0; }
	else { GenPicCount = parseInt (cookie_pic_count); }
	for (i=0; i<count; i++) {
		GenPicCount = GenPicCount + 1; // GenPicCount always different to avoid pic caching inside the page
		var pic = "../php/random_pic.php?num=" + GenPicCount + '&kind=' + kind + '&w=' + w + '&h=' + h;
		var girl_url = "detail_form.php?random_num=" + GenPicCount;
		if (pic != "") {
			document.write  ("<a href='" + girl_url + "'><img src='" + pic + "'  class='LinkInContent'></a>");
		}
	}
	setCookie('rndpic', GenPicCount, 0, "/", 0, 0);
}

// ===========================================================
// Forms
function setFieldValue (form, field_name, value)
{
	var field = document.forms[form].elements[field_name];
	if (field != undefined) {
		var t;
		if (field[0] != undefined) { // array of fields
			t = field[0].type;
		}
		else {
			t = field.type;
		}
		if (t == 'radio') {
			for (var i=0; i<field.length; i++) {
				var radio = field[i];
				if (radio.value == value) {
					radio.checked = true;
					break;
				}
			}
		}
		else if (t=='text' ||t=='textarea' ||t=='hidden') {
			field.value = value;
		}
		else if (t=='password') {
			// don't fill ?
		}
	}
}

function getFieldValue (form, field_name)
{
	var field = form.elements[field_name];
	if (field != undefined) {
		var t;
		if (field[0] != undefined) { // array of fields
			t = field[0].type;
		}
		else {
			t = field.type;
		}
		if (t == 'radio') {
			for (var i=0; i<field.length; i++) {
				var radio = field[i];
				if (radio.checked) {
					$value = radio.value;
					break;
				}
			}
		}
		else if (t=='text' ||t=='textarea' ||t=='hidden'||t=='password') {
			 value = field.value;
		}
	}
	return value;
}

function setFieldRO (form, field_name)
{
	var field = document.forms[form].elements[field_name];
	if (field != undefined) {
		field.readonly = 1;
	}
}

function checkValue (form, name, pattern, message)
{
	var ok = true;
	var value = getFieldValue (form, name);
	var reg_exp = new RegExp (pattern);
	var err_field_id = 'err_' + name;
	var err_field = document.getElementById (err_field_id);
	if (err_field != undefined) {
		if (!reg_exp.test (value)) {
			ok = false;
			var x = reg_exp.test (value);
			//window.alert ('pattern: ' + reg_exp + ', value(' + value + ') ' + x + '=' + message);
			var err_children = err_field.childNodes;
			var err_text = message; // TODO: localize + parametrize ?
			if (err_field.childNodes.length > 0) {
				// The label already has some text
				err_field.firstChild.data = err_text;
			}
			else {
				var err_text_node = document.createTextNode (err_text);
				err_field.appendChild (err_text_node);
			}
		}
		else {
			while (err_field.childNodes.length > 0) {
				err_field.removeChild (err_field.childNodes[0]);
			}
		}
	}
	return ok;
}


// ================================================
// Dynamic link to the subscription pages
function genSubscriptionLink (s, txt, txt2)
{
	var subscription_page = "";
	var btn_text = txt;
	var status = getCookie ('user_status');
	if (status == undefined) status = "-";
	var user_sex = status.charAt (0);
	//alert(status + ',' + s + ',' + user_sex + ',' + txt + ',' + txt2);
	if (user_sex == 'm' || user_sex == 'w') {
		if (s != user_sex) {
			btn_text = "";
			subscription_page = "";
		}
		else {
			btn_text = txt2;
			if (s == 'w') {
				subscription_page = "SubscribeW0.html";
			}
			else {
				subscription_page = "SubscribeM0.php";
			}
			
		}
	}
	else {
		btn_text = txt;
		if (s == 'w') {
			subscription_page = "SubscribeW0.html";
		}
		else {
			subscription_page = "SubscribeM0.php";
		}
	}
	/*	
	if (s=='w' && user_sex!='m') {
		subscription_page = "SubscribeW0.html";
	}
	else if (s=='m') {
		if (status == 'mregistered') {
			subscription_page = "SubscribeM1.html";
		}
		else if (user_sex!='w') {
			subscription_page = "SubscribeM0.php";
			btn_text = txt2;
		}
	}
	*/
	//window.alert (s + "," + status + "," + subscription_page);
	//document.write ('cookie (' + user_sex + ') s(' + s + ') page(' + subscription_page + ')');
	if (subscription_page != "") {
		document.write ("<a href='" + subscription_page + "' class='LeftButtonBar'>" + btn_text + "</a>");
	}
	else {
		document.write ("<div class='LeftButtonBar'>" + btn_text + "</div>");
	}
	return false;
}

