DOM		= (document.getElementById) ? true : false;
IE		= (document.all) ? true : false;
Mac		= (navigator.appVersion.indexOf("Mac") != -1);

function ultimatumReached()
{
	alert(elapsedText);
	document.location.href = path;
}

function jsConfirm(msg){
	if (confirm(msg)){
		return true;
	}
	return false;
}

function copyValue(sourceId,targetId)
{
	var oTarget = document.getElementById(targetId);	
	var oSource = document.getElementById(sourceId);
	if(oTarget != undefined){		
		oTarget.value = oSource.value;
	}
}

function jsTestOneChecked(rdName,msg){
	var objRd = eval('document.Form1.' + rdName);
	var atLeastOneChecked = false;
	if (objRd){
		if (objRd.length){
			for (var i=0; i < objRd.length;i++){
				if (objRd[i].checked){
					atLeastOneChecked = true;
				}
			}
		
		}
		else {
			if (objRd.checked){
				atLeastOneChecked = true;
			}
		}
		if (!atLeastOneChecked){
			alert(msg);
		}
	}
	return atLeastOneChecked;
}

function jsConfirmApproval(msgNoSelection,msg){
	if (!jsAtLeastOneSelection()){
		alert(msgNoSelection);
		return false;
	}	
	if (confirm(msg)){
		return true;
	}
	return false;
}



function jsAtLeastOneSelection(frm){
	var frm = document.forms[0];
	for (var i=0 ;i < frm.elements.length;i++){
		var elem = frm.elements[i];
		if (elem.type == "checkbox"){
			if (elem.name == "itemForApproval"){
				if (elem.checked)
					return true;
			}
		}
	}
	return false;
}

function jsManageCheckbox(frm,flag,checkName){
	for (var i=0 ;i < frm.elements.length;i++){
		var elem = frm.elements[i];
		if (elem.type == "checkbox" && !elem.disabled){
			if(checkName != undefined){				
				if (elem.name == checkName){elem.checked = flag;};
			}else{elem.checked = flag;}
		}
	}
}

function openWindow(path,o)
{	
	//window.open(path,"test","width=300,height=160,menubar=0,status=0,toolbar=0,resizeable=0;");
	var frm = document.getElementById("frmLock")		
	frm.src = path
	frm.style.visibility = "visible";
	frm.style.top = (findXY(o,'y')-129) + 'px';
	frm.style.left = findXY(o,'x') + 'px';
}

function findXY(elementid,xory) {	
    var thePlacer = DOM ? document.getElementById(elementid) :
                    IE ? document.all(elementid) : document.images[elementid];
    
    if(thePlacer!=null)
    {
		retVal=getReal(xory,thePlacer);
		return retVal;
	}	
}

function getReal(xy,el){
    if((IE)||(DOM)){
       Pos=(xy=="x")?el.offsetLeft:el.offsetTop;
       if ((IE)&&(!Mac)&&(el.tagName)&&
           (el.tagName.toUpperCase()=="TABLE")&&
           (el.border)&&(el.border>0)) Pos++;
       tmpEl=el.offsetParent;      
       while(tmpEl!=null){
          Pos+=(xy=="x")?tmpEl.offsetLeft:tmpEl.offsetTop;     
   
          if ((IE)&&(!Mac)&&(tmpEl.tagName)&&
              (tmpEl.tagName.toUpperCase()=="TABLE")&&
              (tmpEl.border)&&(tmpEl.border>0)) Pos++;
          tmpEl=tmpEl.offsetParent;          
       }
    }else{
       Pos=(xy=="x")?el.x:el.y;
    }
   
    return Pos;
}
 
function closeIt(andReload)
{
	var frm = window.top.document.getElementById("frmLock")		
	frm.src = "";
	frm.style.visibility='hidden';	
	if (andReload == true){window.top.document.forms[0].submit();}
}

	// pour dropper
	var winFileView;
	function openIt(formFieldId,previewId){
		return window.open("/siteobjects/soeditor/pro/open.aspx?imagepath=/doc/&filepath=/siteobjects/soeditor/pro/&formFieldId=" + formFieldId + "&previewId=" + previewId, "Open","width=500,height=450,menubar=0,status=0,toolbar=0,resizeable=0");
	} 
	
	function openFileList(formFieldId,previewId){
		if (typeof(winFileView)=="undefined" )
 			winFileView = openIt(formFieldId,previewId);
 		else {
 			if (winFileView.closed){
 				winFileView = openIt(formFieldId,previewId);
 			}
 		}
		winFileView.focus();
	} 

	function showPreview(formFieldId,previewId){
		if ( document.getElementById(previewId) && document.getElementById(formFieldId) ){
			var oPreview = document.getElementById(previewId);
			var oInput = document.getElementById(formFieldId);
			if (oInput.value != "" ){
				oPreview.innerHTML = "<img src='" + oInput.value + "' >";
			}
		} 
	}

// pour popUp avec calendrier
var forCalControl;
var calFen;

function openCalFen(thisControl,selDate){
	calFen = window.open('/Medianamik/popUps/popUpCalendar.aspx?clientControl=' + thisControl + '&selDate=' + selDate,'cal','width=300,height=255'); 
}

function jsOpenCalendar(thisControl,selDate){
	if (calFen == null){
		openCalFen(thisControl,selDate);
	}
	else {
		if (calFen.closed)
			openCalFen(thisControl,selDate);
		else if (thisControl != forCalControl)
			openCalFen(thisControl,selDate);
		else 
			calFen.focus();
	} 
	forCalControl = thisControl;
}
var minChar = 1
var maxChar = new Number(50)


function createPageName(objTxt)
{	
	if (document.getElementById("snoPageName") == null)
		return false;
	
	var txtValue = new String(objTxt.value);
	
		
	if (txtValue.toString() != startingValue.toString()){
		var chars = new String(" 224 a 225 a 228 a 233 e 232 e 235 e 238 i 239 i 244 o 156 oe 242 o 246 o 255 y 231 c");		
		var pName = new String();
			
		rExp = /[^A-Za-z0-9]/gi
		var values = txtValue.match(rExp);		
		//nettoyage de la valeur de tout charactères spéciaux.
		if(values != undefined){
			for (i=0;i < values.length;i++){
				var lowerValue = values[i].toLowerCase();				
				var aValue =new String(" " + lowerValue.charCodeAt(0) + " ");				
				var charPos = chars.indexOf(aValue);
				if(charPos > -1){
					txtValue = txtValue.replace(values[i],chars.charAt(charPos+5));				
				}else if(values[i].charCodeAt(0) != 32){
					txtValue = txtValue.replace(values[i],'');
				}
			}
		}		
		
		if (txtValue.length > maxChar){
			//Test afin de voir si la valeur comporte des espace
			if (txtValue.indexOf(" ") > -1){
				//La valeur comporte des éspaces			
				var values = txtValue.split(" ")
				pName = values[0].toLowerCase();
				
				for(i=1;i < values.length;i++){
					if(pName.length <= maxChar && (values[i].length + pName.length) <  maxChar){
						pName = pName + values[i].toLowerCase();
					}				
				}			
			}else{
				pName = txtValue.slice(0, maxChar);					
			}
			
		}else{		
			pName = txtValue.slice(0,txtValue.length);		
			pName = pName.split(' ').join('-');
		}		
		
		pName = ensureUniqueName(pName);
		
		if (pName.toString() != startingValue.toString() && document.getElementById("snoPageName").value == ''){
			//On s'assure que le nom créé est unique			
			startingValue = pName;
			setHiddenValue(pName.toLowerCase(),"snoPageName");
			if (document.getElementById("sPageName") != null)
				document.getElementById("sPageName").value = pName.toLowerCase();			
		}
	}
}

var fileNum
var newFileName = ""
var oldFileName = ""

function ensureUniqueName(val)
{
	fileNum = 0
	var nameIsValid = false
	oldFileName = val.toLowerCase();
	newFileName = val.toLowerCase();	
	
	while(!nameIsValid)
	{
		nameIsValid = validateName(newFileName)
	}	
	
	return newFileName;
}

function validateName(val)
{
	for(i=0;i<fileNames.length;i++){	
		if(fileNames[i].toLowerCase()==val){
			fileNum = fileNum + 1;
			newFileName = oldFileName + fileNum;
			return false;
		}		
	}	
	return true;
}

function setHiddenValue(val,oId)
{		
	var hiddenPageName = document.getElementById(oId)		
	hiddenPageName.value = val;			
}


/* Calendar */
function Picker_OnSelectionChanged(picker)
{
  picker.AssociatedCalendar.SetSelectedDate(picker.GetSelectedDate());
}
function Calendar_OnSelectionChanged(calendar)
{
  calendar.AssociatedPicker.SetSelectedDate(calendar.GetSelectedDate());
}
function Button_OnClick(alignElement, calendar)
{
  if (calendar.PopUpObjectShowing)
  {
    calendar.Hide();
  }
  else
  {
    calendar.SetSelectedDate(calendar.AssociatedPicker.GetSelectedDate());
    calendar.Show(alignElement);
  }
}
function Button_OnMouseUp(calendar)
{
  if (calendar.PopUpObjectShowing)
  {
    event.cancelBubble=true;
    event.returnValue=false;
    return false;
  }
  else
  {
    return true;
  }
}


function enabler(checked,pickerId,calendarId){
	var calImg = document.getElementById('calImg_' + calendarId);
	
	if (checked){
		eval(pickerId + '.SetSelectedDate()');
		eval(calendarId + '.SetSelectedDate()');		
		calImg.style.display = 'block';
	}else{ 
		eval(pickerId + '.ClearSelectedDate()');
		eval(calendarId + '.ClearSelectedDate()');		
		calImg.style.display = 'none';
	}
}


