function removejscssfile(filename, filetype) { var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" //determine element type to create nodelist from var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" //determine corresponding attribute to test for var allsuspects = document.getElementsByTagName(targetelement) for (var i = allsuspects.length; i >= 0; i--) { //search backwards within nodelist for matching elements to remove if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1) allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild() } } function removejscssfile(filename, filetype) { var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" //determine element type to create nodelist from var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" //determine corresponding attribute to test for var allsuspects = document.getElementsByTagName(targetelement) for (var i = allsuspects.length; i >= 0; i--) { //search backwards within nodelist for matching elements to remove if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1) allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild() } } function removejscssfile(filename, filetype) { var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" //determine element type to create nodelist from var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" //determine corresponding attribute to test for var allsuspects = document.getElementsByTagName(targetelement) for (var i = allsuspects.length; i >= 0; i--) { //search backwards within nodelist for matching elements to remove if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1) allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild() } } function doTheCSS($state1, $type1, $type2) { console.log("WE are doTheCSS thescriptcss-5 with " + $state1 + " and " + $type1 + " and " + $type2); var fileref = document.createElement("link") fileref.setAttribute("rel", "stylesheet") fileref.setAttribute("type", "text/css") var fileref2 = document.createElement("link") fileref2.setAttribute("rel", "stylesheet") fileref2.setAttribute("type", "text/css") fileref2.setAttribute("href", "zoom-2.css"); var fileref3 = document.createElement("link") fileref3.setAttribute("rel", "stylesheet") fileref3.setAttribute("type", "text/css") fileref3.setAttribute("href", "current14.css"); var fileref4 = document.createElement("link") fileref4.setAttribute("rel", "stylesheet") fileref4.setAttribute("type", "text/css") fileref4.setAttribute("href", "video-js.css"); var fileref5 = document.createElement("link") fileref5.setAttribute("rel", "stylesheet") fileref5.setAttribute("type", "text/css") fileref5.setAttribute("href", "mp4-2.css"); var fileref6 = document.createElement("link") fileref6.setAttribute("rel", "stylesheet") fileref6.setAttribute("type", "text/css") fileref6.setAttribute("href", "artist2.css"); var fileref7 = document.createElement("link") fileref7.setAttribute("rel", "stylesheet") fileref7.setAttribute("type", "text/css") fileref7.setAttribute("href", "exhibit2.css"); var filerefend = document.createElement("link") filerefend.setAttribute("rel", "stylesheet") filerefend.setAttribute("type", "text/css") filerefend.setAttribute("href", "final1.css"); var thefinal = "final" + $state1 + ".css"; var tmp2 = 0; var special1 = 0; var edge = 0; var sp2 = 0; var mag2 = 0; var zoom = 0; var theartist = 0; var theexhibit = 0; // this kind of tests out this script by always adding zoom-2.css to every page. if ($type2 < 6) { console.log("TYPE 1") if ($state1 == 0) { switch ($type1) { case "C": //$.loadCSS('contemptempl1.css'); fileref.setAttribute("href", "contemptempl1.css"); console.log("Loading css C state 0"); break; case "A": // $.loadCSS('tradtempl1.css'); fileref.setAttribute("href", "tradtempl1.css"); console.log("Loading css A state 0"); break; case "R": //$.loadCSS('rockstempl1.css'); fileref.setAttribute("href", "rockstempl1.css"); console.log("Loading css R state 0"); break; case "O": //$.loadCSS('objtempl1.css'); fileref.setAttribute("href", "objtempl1.css"); console.log("Loading css O state 0"); break; case "S": console.log("IN THE SHAO state of 0"); fileref.setAttribute("href", "shaotempl1.css"); //$.loadCSS('shaotempl1.css'); console.log("Loading css S state 0"); break; case "Z": console.log("NO Z for case 0 loading shaotempl1"); fileref.setAttribute("href", "shaotempl1.css"); break; case "U": case "U5": case "U6": case "V": console.log("U for case 0 loading hw1test"); fileref.setAttribute("href", "hw1test-1.css"); break; case "1": console.log("1 for case 0 loading slidetempl12"); fileref.setAttribute("href", "slidetempl12.css"); break; default: console.log("DO NOTHING css state 0" + $type1); break; }; } if ($state1 == 1) { switch ($type1) { case "C": fileref.setAttribute("href", "contemptempl3.css"); console.log("Loading css C state 2"); break; case "Z": //$.loadCSS('zhutempl2.css'); fileref.setAttribute("href", "zhutempl2.css"); console.log("Loading css Z state 2"); break; case "A": //$.loadCSS('tradtempl2.css'); fileref.setAttribute("href", "tradtempl2.css"); console.log("Loading css A for trad state 2"); break; case "S": fileref.setAttribute("href", "shaotempl2.css"); console.log("Loading css for S shao state 2"); break; case "R": fileref.setAttribute("href", "rockstempl3.css"); console.log("Loading css for R state 2"); break; case "O": fileref.setAttribute("href", "objtempl3.css"); console.log("Loading css for O Ojbect state 2"); break; case "U": case "U5": case "U6": case "V": console.log("NO U for case 0 loading alltest.css"); // special1 = 1; fileref.setAttribute("href", "alltest.css"); break; default: console.log("DO NOTHING css state 2"); break; }; } if ($state1 == 2) { switch ($type1) { case "C": fileref.setAttribute("href", "contemptempl3.css"); console.log("Loading css C state 2"); break; case "Z": //$.loadCSS('zhutempl2.css'); fileref.setAttribute("href", "zhutempl2.css"); console.log("Loading css Z state 2"); break; case "A": //$.loadCSS('tradtempl2.css'); fileref.setAttribute("href", "tradtempl2.css"); console.log("Loading css A for trad state 2"); break; case "S": fileref.setAttribute("href", "shaotempl2.css"); console.log("Loading css for S shao state 2"); break; case "R": fileref.setAttribute("href", "rockstempl3.css"); console.log("Loading css for R state 2"); break; case "O": fileref.setAttribute("href", "objtempl3.css"); console.log("Loading css for O Ojbect state 2"); break; case "U": case "U5": case "U6": case "V": console.log("NO U for case 0 loading onlyone.css"); // special1 = 1; fileref.setAttribute("href", "onlyone.css"); break; default: console.log("DO NOTHING css state 2"); break; }; } if ($state1 == 3) { zoom = 1; switch ($type1) { case "C": fileref.setAttribute("href", "contemptempl4.css"); console.log("Loading css C state 3"); break; case "Z": //$.loadCSS('zhutempl2.css'); fileref.setAttribute("href", "zhutempl4.css"); console.log("Loading css Z and zhu state 3"); break; case "A": //$.loadCSS('tradtempl2.css'); fileref.setAttribute("href", "tradtempl4.css"); console.log("Loading css A for state 3"); break; case "S": fileref.setAttribute("href", "shaotempl4.css"); console.log("Loading css state 3 for shao"); break; case "R": fileref.setAttribute("href", "rockstempl4.css"); console.log("Loading css state 3 for R"); break; case "O": fileref.setAttribute("href", "objtempl4.css"); console.log("Loading css state 3 for O"); break; case "U": case "U5": case "U6": case "V": console.log("NO U for case 0 loading onlyonemag.css"); fileref.setAttribute("href", "onlyonemag.css"); break; default: console.log("DO NOTHING css state 2"); break; }; } else { zoom = 0; } if ($state1 == 4) { switch ($type1) { case "C": fileref.setAttribute("href", "biotempl5.css"); console.log("Loading css C state 4 contemporary bio templ5"); break; case "Z": //$.loadCSS('zhutempl2.css'); fileref.setAttribute("href", "zhutempl6.css"); console.log("Loading css state 4 and zhubio"); break; case "A": //$.loadCSS('tradtempl2.css'); fileref.setAttribute("href", "tradtempl4.css"); console.log("Loading css A for trad state 4"); break; case "S": fileref.setAttribute("href", "shaotempl6.css"); console.log("Loading css state 4 for shao"); break; case "R": fileref.setAttribute("href", "rockstempl4.css"); console.log("Loading css for R state 4"); break; case "O": fileref.setAttribute("href", "objtempl4.css"); console.log("Loading css for O state 4"); break; case "U": case "U5": case "U6": case "V": console.log(" U for case 4 loading biosp1.css"); // special1 = 1; fileref.setAttribute("href", "biosp1.css"); break; default: console.log("DO NOTHING css state 2"); break; }; } if ($state1 == 5) { switch ($type1) { case "C": fileref.setAttribute("href", "contemptemplX.css"); console.log("Loading css contemporary bio templ5 state 5"); break; case "Z": //$.loadCSS('zhutempl2.css'); fileref.setAttribute("href", "zhutempl10.css"); console.log("Loading css state 5 and zhu desc"); break; case "A": //$.loadCSS('tradtempl2.css'); fileref.setAttribute("href", "traddesctempl7.css"); console.log("Loading desc for state 5 trad"); break; case "S": fileref.setAttribute("href", "shaotempl8.css"); console.log("Loading css state 5 for shao"); break; case "R": fileref.setAttribute("href", "descrockstempl9.css"); console.log("Loading css for 5 desc rocks"); break; case "O": fileref.setAttribute("href", "descobjectstempl9.css"); console.log("Loading css for 5 desc objects"); break; case "U": case "U5": case "U6": case "V": console.log("NO U for case 5 loading current13") fileref.setAttribute("href", "current13.css"); break; default: console.log("DO NOTHING css state 2"); break; }; } if ($state1 == 6) { fileref.setAttribute("href", "gallerytempl11.css"); console.log("Loading css for 6 for gallery"); } } else { // now we are dealing with template 2 edge = 0; sp2 = 0; mag2 = 0; tmp2 = 1; console.log("TEMPLATE 2 "); if ($state1 == 0) { switch ($type1) { case "U": case "U5": case "U6": case "V": theexhibit = 1; console.log("U for case 0 loading edge-2.css"); fileref.setAttribute("href", "edge-2.css"); edge = 1; break; case "1": console.log("1 for case 0 loading slidetempl12"); fileref.setAttribute("href", "slidetempl12.css"); break; default: console.log("DO NOTHING css state 0" + $type1 + $type2); break; }; } if ($state1 == 1) { console.log("In state 1 temp 2"); switch ($type1) { case "U": case "U5": case "U6": case "V": console.log("U for case 1 loading allsp2-2.css"); fileref.setAttribute("href", "edge-2.css"); fileref4.setAttribute("href", "mp4-2.css"); fileref5.setAttribute("href", "allsp2-2.css"); edge = 1; break; default: console.log("DO NOTHING css state 0" + $type1 + $type2); break; }; } if ($state1 == 2) { console.log("In state 2 temp 2"); switch ($type1) { case "U": case "U5": case "U6": case "V": console.log("U for state 2 case U loading onlyonesp2.css"); fileref.setAttribute("href", "edge-2.css"); fileref4.setAttribute("href", "mp4-2.css"); fileref5.setAttribute("href", "onlyonesp2.css"); edge = 1; sp2 = 1; break; default: console.log("DO NOTHING css state 0" + $type1 + $type2); break; }; } if ($state1 == 3) { console.log("In state 3 temp 2"); switch ($type1) { case "U": case "U5": case "U6": case "V": console.log("U for state 2 case U loading onlyonesp2-2.css"); fileref.setAttribute("href", "edge-2.css"); fileref5.setAttribute("href", "onlyonemagsp2-2.css"); zoom = 1; edge = 1; mag2 = 1; break; default: console.log("DO NOTHING css state 0" + $type1 + $type2); break; }; } if ($state1 == 4) { console.log("In state4 temp 2"); switch ($type1) { case "U": case "U5": case "U6": case "V": theartist = 1; console.log("U for state 4 case U loading biosp2.css and artist2.css"); fileref.setAttribute("href", "edge-2.css"); fileref4.setAttribute("href", "mp4-2.css"); fileref5.setAttribute("href", "biosp2.css"); fileref6.setAttribute("href", "artist2.css"); zoom = 1; edge = 1; break; default: console.log("DO NOTHING css state 0" + $type1 + $type2); break; } } } console.log("End fixthecss " + edge + zoom + theartist + " now for other stuff"); if (zoom == 1) { document.getElementsByTagName("head")[0].appendChild(fileref2); } else { removejscssfile("zoom-2.css", "css") //remove all occurences "somestyle.css" on page } if ((edge == 1) && (sp2 == 0)) { console.log("And edge.css"); document.getElementsByTagName("head")[0].appendChild(fileref4); document.getElementsByTagName("head")[0].appendChild(fileref5); } if ((edge == 1) && (sp2 == 1)) { console.log("And edge.css sp2"); document.getElementsByTagName("head")[0].appendChild(fileref4); document.getElementsByTagName("head")[0].appendChild(fileref); document.getElementsByTagName("head")[0].appendChild(fileref5); } if (special1 == 1) { console.log("special1"); document.getElementsByTagName("head")[0].appendChild(fileref3); special1 = 0; } else { removejscssfile("current14.css", "css") //remove all occurences "somestyle.css" on page } if ((typeof fileref != "undefined") && ((sp2 != 1) && (mag2 !=1))){ console.log("And the fileref = " + fileref); document.getElementsByTagName("head")[0].appendChild(fileref); } else { //alert("NO TYPE no state no love "); } edge = sp2 = mag2 = 0; if (theartist == 1) { document.getElementsByTagName("head")[0].appendChild(fileref6); console.log("Add artist2"); theartist = 0; } else { console.log("subtract artist2"); removejscssfile("artist2.css", "css") //remove all occurences "somestyle.css" on page } if (theexhibit == 1) { document.getElementsByTagName("head")[0].appendChild(fileref7); theartist = 0; } else { removejscssfile("exhibit2.css", "css") //remove all occurences "somestyle.css" on page } if (tmp2 == 1 ) { filerefend.setAttribute("href", thefinal); console.log("Set the final " + thefinal); document.getElementsByTagName("head")[0].appendChild(filerefend); tmp2 = 0; } console.log("SCRIPT END") }