/* copyright 2007 atinder.wapsite.me Hassanpur, Budhlada Author: Atinderpal singh khalsa/SA Date: 01-june-07*/ var selpad; function hideshow(hide,show){ document.getElementById(hide).style.visibility='hidden'; document.getElementById(show).style.visibility='visible'; } function markit(obj){selpad=obj;} function ChangeLang(select){ var language = document.getElementById('lang'); var kbtype0= document.getElementById('KBType_0'); var editor= selpad; var f1=0; var f2=1; language.value=select.value; if (language.value==0){ toggleTransliteration(f1); } if (language.value==1 && kbtype0.checked){ toggleTransliteration(f2); } else toggleTransliteration(f1); editor.focus(); } function pad(myValue) { var editor= selpad; editor.focus(); if (document.selection){ var sel1 = document.selection.createRange(); var val=""; var chr; var sel3 = sel1.duplicate(); sel3.moveToElementText(editor); if(editor.value.length>0 && sel3.offsetLeft!= sel1.offsetLeft){ sel1.moveStart('character', -1); val=sel1.text + myValue; if (val.charCodeAt(0)==2623){sel1.moveStart('character', -1);val=sel1.text + myValue;} selText=formatUni(val); sel1.text = selText; } else { sel1.text= myValue;} } else { editor.value= editor.value + myValue; if(editor.value.length>1) {editor.value=formatUni(editor.value);} } var t= setTimeout('markLen()',10); } function txtEvent(evt){ var keyCode = evt.keyCode ? evt.keyCode : evt.charCode; var keyCodeChar = String.fromCharCode(keyCode).toLowerCase(); var lang= document.getElementById('lang'); var editor=selpad; var kbtype1= document.getElementById('KBType_1'); var kbtype2= document.getElementById('KBType_2'); var kbtype0= document.getElementById('KBType_0'); if (lang.value==0 || kbtype0.checked){var t= setTimeout('markLen()',10); return true;} if (kbtype2.checked){ if (evt.ctrlKey || keyCode==13 || keyCode==8 || keyCode==40 ){ var t= setTimeout('markLen()',10); return true;} } else{ if (evt.ctrlKey || keyCode==13 || keyCode==8 || keyCode==46 || keyCode==40 || keyCode==39 || keyCode==37){var t= setTimeout('markLen()',10);return true;} } if (evt.type=='keypress'){ var language = 2; if (language == 2 ){ if (evt.altKey) { } else { if (kbtype2.checked==true){ var myValue= keyMapUnicodeGurRem(keyCode); } else { var myValue= keyMapUnicodeGur(keyCode); } } } else{ var myValue=String.fromCharCode(keyCode); } editor.focus(); if (document.selection){ var sel1 = document.selection.createRange(); var val=""; var chr; var sel3 = sel1.duplicate(); sel3.moveToElementText(editor); if(editor.value.length>0 && sel3.offsetLeft!= sel1.offsetLeft){ sel1.moveStart('character', -1); val=sel1.text + myValue; if (val.charCodeAt(0)==2623){sel1.moveStart('character', -1);val=sel1.text + myValue;} selText=formatUni(val); sel1.text = selText; } else { sel1.text= myValue;} } else{ editor.value= editor.value + myValue; if(editor.value.length>1) {editor.value=formatUni(editor.value);} } var t= setTimeout('markLen()',10); return false; } } function keyMapUnicode(keyValue){ var uniValue=keyValue; switch (keyValue){ case 92: uniValue=1550; break; case 43: uniValue=1570; break; case 61: uniValue= 1572; break; case 95: uniValue= 1617; break; case 45: uniValue= 1571; break; case 41: uniValue= 40; break; case 48: uniValue= 1776; break; case 40: uniValue= 41; break; case 57: uniValue= 1785; break; case 42: uniValue= 1612; break; case 56: uniValue= 1784; break; case 38: uniValue=1620; break; case 55: uniValue= 1783; break; case 94: uniValue= 1552; break; case 54: uniValue= 1782; break; case 37: uniValue= 1610; break; case 53: uniValue= 1781; break; case 36: uniValue= 1574; break; case 52: uniValue= 1780; break; case 51: uniValue= 1779; break; case 50: uniValue= 1778; break; case 49: uniValue= 1777; break; case 126: uniValue= 1613; break; case 96: uniValue= 1611; break; case 125: uniValue= 1643; break; case 123: uniValue= 1644; break; case 80: uniValue= 1615; break; case 112: uniValue= 1662; break; case 79: uniValue= 1731; break; case 111: uniValue= 1729; break; case 73: uniValue= 1622; break; case 105: uniValue= 1740; break; case 85: uniValue= 1623; break; case 117: uniValue= 1569; break; case 89: uniValue= 1537; break; case 121: uniValue= 1746; break; case 84: uniValue= 1657; break; case 116: uniValue= 1578; break; case 82: uniValue= 1681; break; case 114: uniValue= 1585; break; case 69: uniValue= 1553; break; case 101: uniValue= 1593; break; case 87: uniValue= 65018; break; case 119: uniValue= 1608; break; case 81: uniValue= 44; break; case 113: uniValue= 1602; break; case 34: uniValue= 45; break; case 39: uniValue= 46; break; case 59: uniValue= 1563; break; case 76: uniValue= 1554; break; case 108: uniValue= 1604; break; case 75: uniValue= 1582; break; case 107: uniValue=1705; break; case 74: uniValue=1590; break; case 106: uniValue=1580; break; case 72: uniValue=1581; break; case 104: uniValue=1726; break; case 71: uniValue=1594; break; case 103: uniValue=1711; break; case 70: uniValue=1648; break; case 102: uniValue=1601; break; case 68: uniValue=1672; break; case 100: uniValue=1583; break; case 83: uniValue=1589; break; case 115: uniValue=1587; break; case 65: uniValue=1619; break; case 97: uniValue=1575; break; case 63: uniValue=1567; break; case 47: uniValue=1618; break; case 62: uniValue=1614; break; case 46: uniValue=1748; break; case 60: uniValue=1616; break; case 44: uniValue=1548; break; case 77: uniValue=1575; break; case 109: uniValue=1605; break; case 78: uniValue=1722; break; case 110: uniValue=1606; break; case 66: uniValue=1555; break; case 98: uniValue=1576; break; case 86: uniValue=1592; break; case 118: uniValue=1591; break; case 67: uniValue=1579; break; case 99: uniValue=1670; break; case 88: uniValue=1688; break; case 120: uniValue=1588; break; case 90: uniValue=1584; break; case 122: uniValue=1586; break; } return String.fromCharCode(uniValue); } function keyMapUnicodeAlt(keyValue){ var uniValue = keyValue; var found=false; switch (keyValue) { case 45: uniValue=64831; found=true; break; case 48: uniValue=64830; found=true; break; case 49: uniValue=43; found=true; break; case 50: uniValue=45; found=true; break; case 51: uniValue= 215; found=true; break; case 52: uniValue= 247; found=true; break; case 53: uniValue= 61; found=true; break; case 54: uniValue=1642; found=true; break; case 55: uniValue=1645; found=true; break; case 56: uniValue= 47; found=true; break; case 61: uniValue= 65010; found=true; break; case 94: uniValue= 1571; found=true; break; } if (found) { return String.fromCharCode(uniValue); } else{ return -1; } } function keyMapUnicodeGur(keyValue){ var uniValue=keyValue; switch (keyValue){ case 38: uniValue=2654; break; case 60: uniValue=2676; break; case 65: uniValue= 2565; break; case 66: uniValue= 2605; break; case 67: uniValue= 2587; break; case 68: uniValue= 2599; break; case 69: uniValue= 2579; break; case 70: uniValue= 2594; break; case 71: uniValue= 2584; break; case 72: return String.fromCharCode(2637,2617); break; case 73: uniValue= 2624; break; case 74: uniValue= 2589; break; case 75: uniValue= 2582; break; case 76: uniValue= 2611; break; case 77: uniValue= 2672; break; case 78: uniValue= 2562; break; case 79: uniValue= 2636; break; case 80: uniValue= 2603; break; case 81: uniValue= 2597; break; case 82: return String.fromCharCode(2637,2608); break; case 83: uniValue= 2614; break; case 84: uniValue= 2592; break; case 85: uniValue= 2626; break; case 86: uniValue= 2652; break; case 87: return String.fromCharCode(2622,2562); break; case 88: uniValue= 2607; break; case 89: uniValue= 2632; break; case 90: uniValue= 2650; break; case 91: uniValue= 2404; break; case 92: uniValue= 2590; break; case 93: return String.fromCharCode(2404,2404); break; case 94: uniValue= 2649; break; case 95: return String.fromCharCode(2637,2613); break; case 96: uniValue= 2673; break; case 97: uniValue= 2675; break; case 98: uniValue= 2604; break; case 99: uniValue= 2586; break; case 100: uniValue= 2598; break; case 101: uniValue= 2674; break; case 102: uniValue= 2593; break; case 103: uniValue= 2583; break; case 104: uniValue= 2617; break; case 105: return String.fromCharCode(8204,2623); break; case 106: uniValue= 2588; break; case 107: uniValue= 2581; break; case 108: uniValue= 2610; break; case 109: uniValue= 2606; break; case 110: uniValue= 2600; break; case 111: uniValue= 2635; break; case 112: uniValue= 2602; break; case 113: uniValue=2596; break; case 114: uniValue=2608; break; case 115: uniValue=2616; break; case 116: uniValue=2591; break; case 117: uniValue=2625; break; case 118: uniValue=2613; break; case 119: uniValue=2622; break; case 120: uniValue=2595; break; case 121: uniValue=2631; break; case 122: uniValue=2651; break; case 124: uniValue=2585; break; case 126: uniValue=2673; break; } return String.fromCharCode(uniValue); } function keyMapUnicodeGurRem(keyValue){ var uniValue=keyValue; switch (keyValue){ case 34: uniValue=2636; break; case 35: uniValue=39; break; case 36: uniValue=47; break; case 37: uniValue=215; break; case 39: uniValue=2635; break; case 42: uniValue=39; break; case 43: uniValue=93; break; case 46: uniValue=2404; break; case 47: uniValue=2631; break; case 58: uniValue=2607; break; case 59: uniValue=2616; break; case 60: uniValue=63; break; case 61: return String.fromCharCode(2632,2562); break; case 62: uniValue=2676; break; case 63: uniValue= 2632; break; case 64: uniValue= 39; break; case 65: uniValue=2562; break; case 66: uniValue= 2600; break; case 67: uniValue= 2585; break; case 68: uniValue= 2595; break; case 69: uniValue= 2597; break; case 70: uniValue= 2614; break; case 71: uniValue= 2605; break; case 72: uniValue=46; break; case 73: uniValue= 2562; break; case 74: uniValue= 2674; break; case 75: return String.fromCharCode(2622,2562); break; case 76: uniValue= 58; break; case 77: uniValue= 2589; break; case 78: uniValue= 2591; break; case 79: uniValue= 43; break; case 80: return String.fromCharCode(2637,2613); break; case 81: return String.fromCharCode(2637,2617); break; case 82: uniValue= 2590; break; case 83: uniValue= 2587; break; case 84: uniValue= 2675; break; case 85: uniValue= 2579; break; case 86: uniValue= 2652; break; case 87: return String.fromCharCode(2608,2625); break; case 88: uniValue= 2599; break; case 89: uniValue= 2594; break; case 90: uniValue= 2673; break; case 91: uniValue= 2625; break; case 92: uniValue= 2654; break; case 93: uniValue= 2649; break; case 94: uniValue= 95; break; case 95: uniValue= 2562; break; case 96: uniValue= 2673; break; case 97: uniValue= 2620; break; case 98: uniValue= 2610; break; case 99: uniValue= 2603; break; case 100: uniValue= 2598; break; case 101: uniValue= 2581; break; case 102: return String.fromCharCode(8204,2623); break; case 103: uniValue= 2602; break; case 104: uniValue= 2624; break; case 105: uniValue= 2588; break; case 106: uniValue= 2617; break; case 107: uniValue= 2622; break; case 108: uniValue= 59; break; case 109: uniValue= 2592; break; case 110: uniValue= 2565; break; case 111: uniValue= 2608; break; case 112: uniValue= 2604; break; case 113: return String.fromCharCode(2637,2608); break; case 114: uniValue=2583; break; case 115: uniValue=2596; break; case 116: uniValue=2613; break; case 117: uniValue=2586; break; case 118: uniValue=2593; break; case 119: uniValue=2606; break; case 120: uniValue=2584; break; case 121: uniValue=2582; break; case 122: uniValue=2672; break; case 123: uniValue=2626; break; case 124: uniValue=2650; break; case 125: uniValue=2651; break; case 126: return String.fromCharCode(2600,2626,2672); break; } return String.fromCharCode(uniValue); } function formatUni(Input){ var iStr = new String(Input); var oStr= new String(); var t,tmp,pre,nxt,nxt2nxt,chr; var skip=0; if (iStr){ for (t=0; t< iStr.length; t++){ if (skip==1) {skip=0; continue;} chr = iStr.charCodeAt(t); if (t > 0 && t < iStr.length){pre=iStr.charCodeAt(t-1);}else{ pre=0;} if (t < iStr.length - 1){nxt = iStr.charCodeAt(t+1);}else{ nxt=0;} if (t < iStr.length - 2){nxt2nxt = iStr.charCodeAt(t+2);}else{ nxt2nxt=0;} if (pre==8204 && chr==2623 && nxt>0){oStr=oStr.substring(0,oStr.length-1);oStr= oStr + String.fromCharCode(nxt) + String.fromCharCode(chr);skip=1;} if (pre==2623 && chr==2637 && nxt>0){if (t-1 > 0){oStr=oStr.substring(0,t-1);}else {oStr="";};oStr= oStr + String.fromCharCode(chr)+ String.fromCharCode(nxt) + String.fromCharCode(pre);skip=1;} if (chr==2582 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2649);} if (chr==2588 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2651);} if (chr==2583 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2650);} if (chr==2603 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2654);} if (chr==2610 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2611);} if (chr==2616 && nxt==2620){skip=1; oStr= oStr + String.fromCharCode(2614);} if (chr==8204 && nxt!=2623){continue;} if (skip==0) {oStr= oStr + String.fromCharCode(chr); } } oStr=formatUniLV(oStr); } return oStr; } function formatUniLV(Input){ var iStr = new String(Input); var oStr= new String(); var t,tmp,pre,nxt,chr; var skip=0; if (iStr){ for (t=0; t< iStr.length; t++){ if (skip==1) {skip=0; continue;} chr = iStr.charCodeAt(t); if (t > 0 && t < iStr.length){pre=iStr.charCodeAt(t-1);}else{ pre=0;} if (t < iStr.length - 1){nxt = iStr.charCodeAt(t+1);}else{ nxt=0;} if (chr==2675 || chr==2579){ if (nxt == 2625){ oStr= oStr + String.fromCharCode(2569); skip=1; } if (nxt == 2626){ oStr= oStr + String.fromCharCode(2570); skip=1; } if (nxt == 2635 || nxt==2636){ oStr= oStr + String.fromCharCode(2579); skip=1; } } if (chr==2565 || chr==2566 || chr==2576 || chr==2580){ if (nxt == 2622){ oStr= oStr + String.fromCharCode(2566); skip=1; } if (nxt == 2632 || nxt==2631){ oStr= oStr + String.fromCharCode(2576); skip=1; } if (nxt == 2635 || nxt==2636){ oStr= oStr + String.fromCharCode(2580); skip=1; } } if (chr==2674 || chr==2567 || chr==2568 || chr==2575){ if (nxt == 2623){ oStr= oStr + String.fromCharCode(2567); skip=1; } if (nxt == 2624){ oStr= oStr + String.fromCharCode(2568); skip=1; } if (nxt == 2631 || nxt==2632){ oStr= oStr + String.fromCharCode(2575); skip=1; } } if (skip==0) {oStr= oStr + String.fromCharCode(chr); } } } return oStr; } function showit(fn){ var s=document.getElementById("tejbottom"); if (s){s.src=fn;return false;}else{return false;} } function showHideLayerDefault(layer1,layer2){ try { if (document.getElementById(layer1).style.display == "none") { document.getElementById(layer1).style.display = ""; HideLayerDefault(layer2); } else document.getElementById(layer1).style.display = "none"; } catch(e){} } function HideLayerDefault(layer){ try { document.getElementById(layer).style.display = "none"; } catch(e){} } function init(){ var q=document.getElementById("BtnSave"); q.disabled =true; var q2=document.getElementById("Btnupload"); q2.disabled =true; var q3=document.getElementById("BtnEmail"); q3.disabled =true; var q4=document.getElementById("txtTo"); var LangOpt= document.getElementById('langOption'); var lang = document.getElementById('lang'); var editor = document.getElementById('q'); var kbtype0= document.getElementById('KBType_0'); if (q4){if (q4.value.length>0){showHideLayerDefault('email','key1');} } LangOpt.selectedIndex = lang.value; HideLayerDefault('key1'); HideLayerDefault('key2'); if (lang.value==1 && kbtype0.checked){var t2= setTimeout('roman2gur()',1);} selpad=editor; editor.focus(); var t= setTimeout('markLen()',10); } function markLen(){ var editor = document.getElementById('q'); var TxtLen=document.getElementById('Len'); var btn=document.getElementById('BtnSave'); var btn2=document.getElementById('BtnEmail'); var lbl=document.getElementById('lblMsg'); var limit=60000; var ThisLen=editor.value.length; TxtLen.value = ThisLen; if (ThisLen > limit || ThisLen<=0){ btn.disabled=true; btn2.disabled=true; if(ThisLen > limit){lbl.innerText="ਤੁਸੀਂ ਨਿਰਧਾਰਿਤ " + limit +" ਅੱਖਰਾਂ ਤੋਂ ਵੱਧ ਨਹੀਂ ਜਾ ਸਕਦੇ"} } else { btn.disabled=false; btn2.disabled=false; } }