﻿
var regexEmail = new RegExp ("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
var regexNotNumber= new RegExp ("[^0-9]", "g");
var regexFloatEnglish= new RegExp (/^([-+]?\d+\.?\d*)$/);
var regexFloatEveryone= new RegExp (/^([-+]?\d+,?\d*)$/);
var regexPhone= new RegExp (/^((((\(\+\d{3}\)[\s\-]?)|(\+\d{3}[\s\-]?))?(\d{3})[\s\-]?(\d{3})[\s\-]?(\d{3}))|(((\(\+\d{3}\)[\s\-]?)|(\+\d{3}[\s\-]?))?(\d{3})[\s\-]?(\d{2})[\s\-]?(\d{2})[\s\-]?(\d{2})))$/);
var regexTrim= new RegExp ("^[ \\t]+|[ \\t]+$");
var regexInvalidChars= new RegExp ("<|(&#)", "igm");
var regexData= new RegExp (/^(\d\d?[/\\-]\d\d?[/\\-]\d\d\d\d)$/);

function IsValidEmail(elem) 
{
	return elem.value.match(regexEmail);
}
function IsNotValidEmail(elem) 
{
	return !IsValidEmail(elem);
}

function IsValidPhone (elem)
{
	return elem.value.replace (/[^\d]/gi, "").length >= 7;
}
function IsNotValidPhone (elem)
{
	return !IsValidPhone(elem);
}

function IsValidInt (elem)
{
	if (!elem.value.match (regexNotNumber) || elem.value.replace (regexTrim, '').length == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function IsNotValidInt (elem)
{
	return !IsValidInt (elem);
}

function IsValidFloatEnglish (elem)
{
	return elem.value.match (regexFloatEnglish) || elem.value.replace (regexTrim, '').length == 0;
}
function IsNotValidFloatEnglish (elem)
{
	return !IsValidFloatEnglish (elem);
}
function IsValidFloatEveryone (elem)
{
	return elem.value.match (regexFloatEveryone) || elem.value.replace (regexTrim, '').length == 0;
}
function IsNotValidFloatEveryone (elem)
{
	return !IsValidFloatEveryone (elem);
}

function IsValidDate (elem)
{
	if ((elem.value.match (regexData)) || elem.value.replace (regexTrim, '').length == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function IsNotValidDate (elem)
{
	return !IsValidDate (elem);
}

function HighlightNonNumbers (elem, cor)
{
	if (IsValidInt (elem))
	{
		elem.style.color = '';
	}
	else
	{
		elem.style.color = cor;
	}
}

function ChangeDisplayDivs (divToShowID, divToHideID1, divToHideID2)
{
	if(document.getElementById(divToShowID))
	{
		document.getElementById(divToShowID).style.display = '';
	}
	
	if(document.getElementById(divToHideID1))	
	{
		document.getElementById(divToHideID1).style.display = 'none';
	}
	
	if(document.getElementById(divToHideID2))	
	{
		document.getElementById(divToHideID2).style.display = 'none';
	}
}

function SetBoldStyleToMandatoryFields_Step1 ()
{
	if(document.getElementById ("labelCountry"))
	{
		document.getElementById ("labelCountry").className = "boldStyle";
	}
	if(document.getElementById ("labelState"))
	{
		document.getElementById ("labelState").className = "boldStyle";
	}
	if(document.getElementById ("labelTown"))
	{
		document.getElementById ("labelTown").className = "boldStyle";
	}
	if(document.getElementById ("labelParish"))
	{
		document.getElementById ("labelParish").className = "boldStyle";
	}
	if(document.getElementById ("labelStatus"))
	{
		document.getElementById ("labelStatus").className = "boldStyle";
	}
	if(document.getElementById ("labelCategory"))
	{
		document.getElementById ("labelCategory").className = "boldStyle";
	}
	if(document.getElementById ("labelObjective"))
	{
		document.getElementById ("labelObjective").className = "boldStyle";
	}
}

function SetBoldStyleToMandatoryFields_Login ()
{
	if(document.getElementById ("labelLogin"))
	{
		document.getElementById ("labelLogin").className = "boldStyle";
	}
	if(document.getElementById ("labelPassword"))
	{
		document.getElementById ("labelPassword").className = "boldStyle";
	}
}

function SetBoldStyleToMandatoryFields_Recover ()
{
	if(document.getElementById ("labelLoginRecover"))
	{
		document.getElementById ("labelLoginRecover").className = "boldStyle";
	}
}

function SetBoldStyleToMandatoryFields_NewUser ()
{
	if(document.getElementById ("labelRegisterLogin"))
	{
		document.getElementById ("labelRegisterLogin").className = "boldStyle";
	}
	if(document.getElementById ("labelName"))
	{
		document.getElementById ("labelName").className = "boldStyle";
	}
//	if(document.getElementById ("labelNif"))
//	{
//		document.getElementById ("labelNif").className = "boldStyle";
//	}
	if(document.getElementById ("labelCountry"))
	{
		document.getElementById ("labelCountry").className = "boldStyle";
	}
	if(document.getElementById ("labelRegisterPassword"))
	{
		document.getElementById ("labelRegisterPassword").className = "boldStyle";
	}
	if(document.getElementById ("labelConditions"))
	{
		document.getElementById ("labelConditions").className = "boldStyle";
	}
}

function SetBoldStyleToMandatoryFields_ChangePassword ()
{
	if(document.getElementById ("labelOldPassword"))
	{
		document.getElementById ("labelOldPassword").className = "boldStyle";
	}
	if(document.getElementById ("labelRegisterPassword"))
	{
		document.getElementById ("labelRegisterPassword").className = "boldStyle";
	}
	if(document.getElementById ("labelConfirmPassword"))
	{
		document.getElementById ("labelConfirmPassword").className = "boldStyle";
	}
}

function SetBoldStyleToMandatoryFields_MinimalLoginData ()
{
	if(document.getElementById ("labelRegisterLogin"))
	{
		document.getElementById ("labelRegisterLogin").className = "labelForm boldStyle";
	}
	if(document.getElementById ("labelContactEmail"))
	{
		document.getElementById ("labelContactEmail").className = "labelForm boldStyle";
	}
	if(document.getElementById ("labelName"))
	{
		document.getElementById ("labelName").className = "labelForm boldStyle";
	}
//	if(document.getElementById ("labelNif"))
//	{
//		document.getElementById ("labelNif").className = "labelForm boldStyle";
//	}
	if(document.getElementById ("labelCountry"))
	{
		document.getElementById ("labelCountry").className = "labelForm boldStyle";
	}
}

function ClearBoldStyleToMandatoryFields_MinimalLoginData ()
{
	if(document.getElementById ("labelRegisterLogin"))
	{
		document.getElementById ("labelRegisterLogin").className = "labelForm";
	}
	if(document.getElementById ("labelContactEmail"))
	{
		document.getElementById ("labelContactEmail").className = "labelForm";
	}
	if(document.getElementById ("labelName"))
	{
		document.getElementById ("labelName").className = "labelForm";
	}
	if(document.getElementById ("labelNif"))
	{
		document.getElementById ("labelNif").className = "labelForm";
	}
	if(document.getElementById ("labelCountry"))
	{
		document.getElementById ("labelCountry").className = "labelForm";
	}
}

function adjustIFrameHeight(iframeID, divID, interval)
{
	if (interval > 0)
	{
		setTimeout("adjustIFrameHeight('"+iframeID+"', '"+divID+"', 0);", interval);
		return;
	}
	if (parent.document.getElementById(iframeID) && document.getElementById(divID))
	{
		var iframe = parent.document.getElementById(iframeID);
		iframe.style.height = document.getElementById(divID).offsetHeight + 'px';
	}
}

function adjustIFrameWidth(iframeID, divID, interval)
{
    if (interval > 0)
	{
		setTimeout("adjustIFrameWidth('"+iframeID+"', '"+divID+"', 0)", interval);
		return;
	}
	if (document.getElementById(divID) && document.getElementById(divID).offsetWidth > 440)
	{
		parent.document.getElementById(iframeID).style.width = document.getElementById(divID).offsetWidth + 'px';
	}
	else if (document.getElementById(divID) && document.getElementById(divID).offsetWidth <= 440)
	{
		parent.document.getElementById(iframeID).style.width = '440px';
	}
}

function ImgOnError_GotoNextPath (elem, nextPath, errorImagePath)
{
	elem.onerror = function () { ImgOnError(elem, errorImagePath); }
	elem.src = nextPath;
}

function ImgOnError (elem, errorImagePath)
{
	elem.onerror = null;
	elem.src = errorImagePath;
}
	
function CreateAndOpenSignboardPopup (divID, imgSrc, title)
{
	var elemDiv = document.getElementById (divID);
	if (elemDiv && imgSrc)
	{
		elemDiv.innerHTML = "<img src='" + imgSrc + "' onload=\"OpenLocalPopup ('" + divID + "', '" + title + "');\" alt='' />";
	}
}

function RegisterAnaliticsAction (string)
{
	try
	{
		$(document).ready (
			function()
			{
				if (pageTracker)
				{
					pageTracker._trackPageview(string);
					//w_counter.count(string);
				}
			}
		);
	}
	catch (ex)
	{
		setTimeout ("RegisterAnaliticsAction ('" + string + "');", 1000);
	}
}