You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

452 lines
14 KiB

<?php
/*********************************************************************************
** The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*
********************************************************************************/
function get_world_clock($image_path) {
$the_clock = <<<EOQ
<style type="text/css">
<!--
.citystyle{
position:absolute;top:0px;left:0px;
}
#theClockLayer{
position:relative;height:180px;left:20px;text-align:center;
}
.handsanddotsstyle{
margin-top:10px;position:absolute;top:0px;left:0px;width:2px;height:2px;font-size:2px;background-color:#000000;
}
.facestyle{
margin-top:10px;position:absolute;top:0px;left:0px;width:15px;height:15px;text-align:center;font-family:arial,sans-serif;font-size:10px;color:#000000;
}
.datestyle{
margin-top:20px;position:absolute;top:0px;left:0px;width:100px;text-align:center;font-family:arial,sans-serif;font-size:10px;color:#000000;
}
.ampmstyle{
margin-top:23px;position:absolute;top:0px;left:0px;width:20px;text-align:center;font-family:arial,sans-serif;font-size:10px;color:#000000;
}
-->
</style>
<div id="theClockLayer">
<div id="theCities" class="citystyle">
<form action="" name="frmtimezone">
<select id="city" name="city" onchange="lcl(this.selectedIndex,this.options[0].selected)" class="select" style="width:140;position:relative;left:-13px">
<option value="0" selected>Local time</option>
<OPTION VALUE="4.30">Afghanistan</OPTION>
<OPTION VALUE="1">Algeria</OPTION>
<OPTION VALUE="-3">Argentina</OPTION>
<OPTION VALUE="9.30">Australia - Adelaide</OPTION>
<OPTION VALUE="8">Australia - Perth</OPTION>
<OPTION VALUE="10">Australia - Sydney</OPTION>
<OPTION VALUE="1">Austria</OPTION>
<OPTION VALUE="3">Bahrain</OPTION>
<OPTION VALUE="6">Bangladesh</OPTION>
<OPTION VALUE="1">Belgium</OPTION>
<OPTION VALUE="-4">Bolivia</OPTION>
<OPTION VALUE="-5">Brazil - Andes</OPTION>
<OPTION VALUE="-3">Brazil - East</OPTION>
<OPTION VALUE="-4">Brazil - West</OPTION>
<OPTION VALUE="2">Bulgaria</OPTION>
<OPTION VALUE="6.30">Burma (Myanmar)</OPTION>
<OPTION VALUE="-5">Chile</OPTION>
<OPTION VALUE="-7">Canada - Calgary</OPTION>
<OPTION VALUE="-3.30">Canada - Newfoundland</OPTION>
<OPTION VALUE="-4">Canada - Nova Scotia</OPTION>
<OPTION VALUE="-5">Canada - Toronto</OPTION>
<OPTION VALUE="-8">Canada - Vancouver</OPTION>
<OPTION VALUE="-6">Canada - Winnipeg</OPTION>
<OPTION VALUE="8">China - Mainland</OPTION>
<OPTION VALUE="8">China - Taiwan</OPTION>
<OPTION VALUE="-5">Colombia</OPTION>
<OPTION VALUE="-5">Cuba</OPTION>
<OPTION VALUE="1">Denmark</OPTION>
<OPTION VALUE="-5">Ecuador</OPTION>
<OPTION VALUE="2">Egypt</OPTION>
<OPTION VALUE="12">Fiji</OPTION>
<OPTION VALUE="2">Finland</OPTION>
<OPTION VALUE="1">France</OPTION>
<OPTION VALUE="1">Germany</OPTION>
<OPTION VALUE="0">Ghana</OPTION>
<OPTION VALUE="2">Greece</OPTION>
<OPTION VALUE="-3">Greenland</OPTION>
<OPTION VALUE="1">Hungary</OPTION>
<OPTION VALUE="5.30">India</OPTION>
<OPTION VALUE="8">Indonesia - Bali, Borneo</OPTION>
<OPTION VALUE="9">Indonesia - Irian Jaya</OPTION>
<OPTION VALUE="7">Indonesia - Sumatra, Java</OPTION>
<OPTION VALUE="3.30">Iran</OPTION>
<OPTION VALUE="3">Iraq</OPTION>
<OPTION VALUE="2">Israel</OPTION>
<OPTION VALUE="1">Italy</OPTION>
<OPTION VALUE="-5">Jamaica</OPTION>
<OPTION VALUE="9">Japan</OPTION>
<OPTION VALUE="3">Kenya</OPTION>
<OPTION VALUE="9">Korea (North & South)</OPTION>
<OPTION VALUE="3">Kuwait</OPTION>
<OPTION VALUE="1">Libya</OPTION>
<OPTION VALUE="8">Malaysia</OPTION>
<OPTION VALUE="5">Maldives</OPTION>
<OPTION VALUE="1">Mali</OPTION>
<OPTION VALUE="4">Mauritius</OPTION>
<OPTION VALUE="-6">Mexico</OPTION>
<OPTION VALUE="0">Morocco</OPTION>
<OPTION VALUE="5.45">Nepal</OPTION>
<OPTION VALUE="1">Netherlands</OPTION>
<OPTION VALUE="12">New Zealand</OPTION>
<OPTION VALUE="1">Nigeria</OPTION>
<OPTION VALUE="1">Norway</OPTION>
<OPTION VALUE="4">Oman</OPTION>
<OPTION VALUE="5">Pakistan</OPTION>
<OPTION VALUE="-5">Peru</OPTION>
<OPTION VALUE="8">Philippines</OPTION>
<OPTION VALUE="1">Poland</OPTION>
<OPTION VALUE="1">Portugal</OPTION>
<OPTION VALUE="3">Qatar</OPTION>
<OPTION VALUE="2">Romania</OPTION>
<OPTION VALUE="11">Russia - Kamchatka</OPTION>
<OPTION VALUE="3">Russia - Moscow</OPTION>
<OPTION VALUE="9">Russia - Vladivostok</OPTION>
<OPTION VALUE="4">Seychelles</OPTION>
<OPTION VALUE="3">Saudi Arabia</OPTION>
<OPTION VALUE="8">Singapore</OPTION>
<OPTION VALUE="2">South Africa</OPTION>
<OPTION VALUE="1">Spain</OPTION>
<OPTION VALUE="3">Syria</OPTION>
<OPTION VALUE="5.30">Sri Lanka</OPTION>
<OPTION VALUE="1">Sweden</OPTION>
<OPTION VALUE="1">Switzerland</OPTION>
<OPTION VALUE="7">Thailand</OPTION>
<OPTION VALUE="12">Tonga</OPTION>
<OPTION VALUE="2">Turkey</OPTION>
<OPTION VALUE="3">Ukraine</OPTION>
<OPTION VALUE="5">Uzbekistan</OPTION>
<OPTION VALUE="7">Vietnam</OPTION>
<OPTION VALUE="4">UAE</OPTION>
<OPTION VALUE="0">UK</OPTION>
<OPTION VALUE="-9">USA - Alaska</OPTION>
<OPTION VALUE="-9">USA - Arizona</OPTION>
<OPTION VALUE="-6">USA - Central</OPTION>
<OPTION VALUE="-5">USA - Eastern</OPTION>
<OPTION VALUE="-10">USA - Hawaii</OPTION>
<OPTION VALUE="-5">USA - Indiana East</OPTION>
<OPTION VALUE="-7">USA - Mountain</OPTION>
<OPTION VALUE="-8">USA - Pacific</OPTION>
<OPTION VALUE="3">Yemen</OPTION>
<OPTION VALUE="1">Yugoslavia</OPTION>
<OPTION VALUE="2">Zambia</OPTION>
<OPTION VALUE="2">Zimbabwe</OPTION>
<!--
<option value="0">GMT</option>
<option value="1">Rome</option>
<option value="2">Cairo</option>
<option value="3">Moscow</option>
<option value="3.30">Tehran</option>
<option value="5">Karachi</option>
<option value="5.30">Bombay</option>
<option value="7">Bangkok</option>
<option value="8">Hong Kong</option>
<option value="9">Tokyo</option>
<option value="9.30">Darwin</option>
<option value="10">Sydney</option>
<option value="12">Fiji</option>
<option value="-10">Hawaii</option>
<option value="-8">San Francisco</option>
<option value="-7">Arizona</option>
<option value="-5">New York</option>
<option value="-3.30">Newfoundland</option>
<option value="-3">Greenland</option>
-->
</select>
</form>
</div>
<script type="text/javascript">
<!-- World Clock (No DST, standard time only!) http://www.btinternet.com/~kurt.grigg/javascript
if (document.getElementById){
fCol='#000000'; //face/number colour.
dCol='#cccccc'; //dot colour.
hCol='#000000'; //hours colour.
mCol='#000000'; //minutes colour.
sCol='#ff0000'; //seconds colour.
cCol='#000000'; //date colour.
aCol='#999999'; //am-pm colour.
bCol='#ffffff'; //select/form background colour.
tCol='#000000'; //select/form text colour.
//Alter nothing below! Alignments will be lost!
y=87;
x=60;
h=4;
m=5;
s=6;
cf=new Array();
cd=new Array();
ch=new Array();
cm=new Array();
cs=new Array();
face="3 4 5 6 7 8 9 10 11 12 1 2";
face=face.split(" ");
n=face.length;
e=360/n;
hDims=7;
zone=0;
isItLocal=true;
ampm="";
daysInMonth=31;
todaysDate="";
var addHours;
var oddMinutes;
var getOddMinutes;
var addOddMinutes;
plusMinus=false;
var mon=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
document.write('<div id="theDate" class="datestyle" style="color:'+cCol+'">\!<\/div>');
document.write('<div id="amOrPm" class="ampmstyle" style="color:'+aCol+'">\!<\/div>');
for (i=0; i < n; i++){
document.write('<div id="theFace'+i+'" class="facestyle" style="color:'+fCol+'">'+face[i]+'<\/div>');
// if (i==0 || i==3 || i==6 || i==9)
// document.write('<div id="theFace'+i+'" class="facestyle" style="color:'+fCol+'"><img align="absmiddle" src="/crm/images/clock_face'+face[i]+'.gif"/><\/div>');
// else
// document.write('<div id="theFace'+i+'" class="facestyle" style="color:'+fCol+'"><\/div>');
cf[i]=document.getElementById("theFace"+i).style;
cf[i].top=y-6+30*1.4*Math.sin(i*e*Math.PI/180)+"px";
cf[i].left=x-6+30*1.4*Math.cos(i*e*Math.PI/180)+"px";
}
for (i=0; i < n; i++){
/*
document.write('<div id="theDots'+i+'" class="handsanddotsstyle" style="background-color:'+dCol+'"><\/div>');
cd[i]=document.getElementById("theDots"+i).style;
cd[i].top=y+30*Math.sin(i*e*Math.PI/180)+"px";
cd[i].left=x+30*Math.cos(i*e*Math.PI/180)+"px";
*/
}
for (i=0; i < h; i++){
document.write('<div id="H'+i+'" class="handsanddotsstyle" style="background-color:'+hCol+'"><\/div>');
ch[i]=document.getElementById("H"+i).style;
}
for (i=0; i < m; i++){
document.write('<div id="M'+i+'" class="handsanddotsstyle" style="background-color:'+mCol+'"><\/div>');
cm[i]=document.getElementById("M"+i).style;
}
for (i=0; i < s; i++){
document.write('<div id="S'+i+'" class="handsanddotsstyle" style="background-color:'+sCol+'"><\/div>');
cs[i]=document.getElementById("S"+i).style;
}
var dsp1=document.getElementById("amOrPm").style;
var dsp2=document.getElementById("theCities").style;
var dsp3=document.getElementById("theDate").style;
//var dsp4=document.getElementById("city").style;
var dsp5=document.getElementById("theClockLayer").style;
dsp1.top=y+"px";
dsp1.left=x-8+"px";
dsp2.top=y-80+"px";
dsp2.left=x-55+"px";
dsp3.top=y+55+"px";
dsp3.left=x-60+"px";
//dsp4.backgroundColor=bCol;
//dsp4.color=tCol;
//var currSkin="<%=skintype%>"
//var currSkin="aqua"
//dsp5.backgroundImage="url(/crm/images/"+currSkin+"/clock_bg.gif)"
dsp5.backgroundImage="url($image_path/clock_bg.gif)"
dsp5.backgroundRepeat="no-repeat"
dsp5.backgroundPosition="4px 38px"
function lcl(currIndex,localState){
//zone=z.options[z.selectedIndex].value;
//isItLocal=(z.options[0].selected)?true:false;
zone=document.frmtimezone.city.options[currIndex].value;
isItLocal=localState;
plusMinus=(zone.charAt(0) == "-")?true:false;
oddMinutes=(zone.indexOf(".") != -1)?true:false;
if (oddMinutes){
getOddMinutes=zone.substring(zone.indexOf(".")+1,zone.length)
}
addHours=(oddMinutes)?parseInt(zone.substring(0,zone.indexOf("."))):parseInt(zone)
if (plusMinus){
addOddMinutes=(oddMinutes)?parseInt(-getOddMinutes):0;
} else{
addOddMinutes=(oddMinutes)?parseInt(getOddMinutes):0;
}
set_cookie("timezone",currIndex)
}
function ClockAndAssign(){
hourAdjust=0;
dayAdjust=0;
monthAdjust=0;
now=new Date();
//ofst=now.getTimezoneOffset()/60;
secs=now.getSeconds();
sec=Math.PI*(secs-15)/30;
mins=(isItLocal)?now.getMinutes():now.getUTCMinutes();
if (oddMinutes){
mins=eval(mins+addOddMinutes);
}
min=Math.PI*(mins-15)/30;
if (mins<0){
mins+=60;hourAdjust=-1;
}
if (mins>59){
mins-=60;hourAdjust=1;
}
//hr=(isItLocal)?now.getHours()+hourAdjust:(now.getHours()+parseInt(ofst))+parseInt(zone)+hourAdjust;
hr=(isItLocal)?now.getHours()+hourAdjust:now.getUTCHours()+addHours+hourAdjust
hrs=Math.PI*(hr-3)/6+Math.PI*parseInt(now.getMinutes())/360;
/*
if (hr<0){
hr+=24;
dayAdjust=-1;
}
if (hr>23){
hr-=24;
dayAdjust=1;
}
*/
if (!isItLocal){
if (addHours<0){
if(now.getUTCHours()+parseInt(addHours)<0)
dayAdjust-=1
} else{
if(now.getUTCHours()+parseInt(addHours)>23)
dayAdjust+=1
}
}
day=now.getDate()+dayAdjust;
if (day<1){
day+=daysInMonth;
monthAdjust=-1;
}
if (day>daysInMonth){
day-=daysInMonth;
monthAdjust=1;
}
month=parseInt(now.getMonth()+1+monthAdjust);
if (month==2){
daysInMonth=28;
}
year=now.getYear();
if (year<2000){
year=year+1900;
}
leap_year=(eval(year%4)==0)?true:false;
if (leap_year&&month==2){
daysInMonth=29;
}
if (month<1){
month+=12;
year--;
}
if (month>12){
month-=12;
year++;
}
//todaysDate=day+"/"+month+"/"+year;
todaysDate=mon[month-1]+" "+day+", "+year;
if (hr<0) hr+=24;
if (hr>23) hr-=24;
ampm=(hr>11)?"PM":"AM";
for (i=0;i<s;i++){
cs[i].top=y+(i*hDims)*Math.sin(sec)+"px";
cs[i].left=x+(i*hDims)*Math.cos(sec)+"px";
}
for (i=0;i<m;i++){
cm[i].top=y+(i*hDims)*Math.sin(min)+"px";
cm[i].left=x+(i*hDims)*Math.cos(min)+"px";
}
for (i=0;i<h;i++){
ch[i].top=y+(i*hDims)*Math.sin(hrs)+"px";
ch[i].left=x+(i*hDims)*Math.cos(hrs)+"px";
}
document.getElementById("amOrPm").firstChild.data=ampm;
// if (hr.toString().length==1) hr="0"+hr
if (hr==0) hr=12
else if (hr>11) hr-=12;
if (mins.toString().length==1) mins="0"+mins;
document.getElementById("theDate").firstChild.data=todaysDate+" "+hr+":"+mins+" "+ampm;
setTimeout('ClockAndAssign()',100);
}
ClockAndAssign();
}
// Setting cookies
function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
var cookie_string = name + "=" + escape ( value );
if (exp_y) //delete_cookie(name)
{
var expires = new Date ( exp_y, exp_m, exp_d );
cookie_string += "; expires=" + expires.toGMTString();
}
if (path) cookie_string += "; path=" + escape ( path );
if (domain) cookie_string += "; domain=" + escape ( domain );
if (secure) cookie_string += "; secure";
document.cookie = cookie_string;
}
// Retrieving cookies
function get_cookie(cookie_name)
{
var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');
if (results) return (unescape(results[1]));
else return null;
}
// Delete cookies
function delete_cookie( cookie_name )
{
var cookie_date = new Date ( ); // current date & time
cookie_date.setTime ( cookie_date.getTime() - 1 );
document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
if (get_cookie("timezone")==null || get_cookie("timezone")==false || get_cookie("timezone")<0 || get_cookie("timezone")=="1") {
lcl(0,true)
} else {
lcl(get_cookie("timezone"),false)
document.frmtimezone.city.options[get_cookie("timezone")].selected=true
}
//-->
</script>
</div>
EOQ;
return $the_clock;
}
?>